ATtiny85 Music Box with Crank - ATtiny85 Music Box à Manivelle -
Related projects : https://www.elektormagazine.fr/labs/a-pcb-for-four-ou-un-pcb-pour-quatre Recycle a well-known tabletop food wrapper into a hand-cranked music box. For those who follow, thank Paolina for adopting an empty salt box!? This will make him a second Tiny toy. Recyclez un emballage alimentaire de table bien connu en une boîte à musique à manivelle. Pour ceux qui suivent, remerciez Paolina d'avoir adopté une boite de sel vide !? Cela lui fera un deuxième Tiny jouet.
1 boîte de sel (salt Box) or other
1 Attiny85
1 transistor BC550
1 R de 1K.
1 buzzer
1 encodeur rotatif
Principle of the music box :
A rotary encoder
-> in rotation, we play the melody notes. Connected to PIN 2 of the ATtiny (PB3)
-> If we push on bp encoder, we change melody. Bp connected to PIN 3 of the ATtiny (PB4)
A buzzer via a 1K resistor connected to PIN 6 of the ATtiny (PB1) for tone note
As an option, two LEDs can be connected to PIN 5 and PIN 7 of the ATtiny (PB0 and PB2) rotating led state toggle.
4 melodies available in the code, it's up to you to add more....It is also possible to add notes (use only one octave).
Via #define we adjust the number of melodies, we adjust the presence of leds or not
For more see Tiny Piano on Lab.Happy holidays to all readers
vidéo here : https://youtu.be/Xl19Wz2VOZs
// FR
Powered by a 3V7 recovery battery.:
Principe de la boite à musique :
Un encodeur rotatif -> en rotation, on joue les notes de mélodies. Raccordé sur la PIN 2 de l'ATtiny (PB3)
Si on push sur bp encodeur, on change de mélodie. Bp raccordé sur PIN 3 de l'ATtiny (PB4)
Un buzzer via une résistance de 1K raccordé sur PIN 6 de l'ATtiny (PB1) qui tone les notes
En option, deux leds peuvent être raccordées sur PIN 5 et PIN 7 de l'ATtiny (PB0 et PB2)
bascule état de led en rotation.
4 mélodies disponnible dans le code, à vous d'en ajouter....
Il est aussi possible d'ajouter des notes (utilise seulement un octave).
Via #define on ajuste le nombre de mélodies, on ajuste présence de ledsou pas
Pour plus, voir Tiny Piano sur le Lab.
Bonne vacances à tous les lecteurs.
Lien vidéo https://youtu.be/Xl19Wz2VOZs
Mises à jour de l'auteur
Arduino47 il y a 11 mois
If there is no crank activity for a defined period (#define TEMPO_OFF), we enter sleep mode.
4 tones are emitted by the music box when entering sleep mode
The object is awakened by the BP push change melody.
CODE ATtiny_Manivelle_Melodie_Box_brUNO_V3
//FR
Pour éviter la mise en place d'un interrupteur marche arret, on utilise le mode sommeil de l'UC.
Si pas d'activité de la manivelle durant une période définie (#define TEMPO_OFF), on entre en mode sommeil.
4 tonalités sont émisent par la boîte à musique à l'entrée du mode sommeil
On réveil l'objet par le BP push change mélodie.
CODE ATtiny_Manivelle_Melodie_Box_brUNO_V3
Arduino47 il y a 1 an
code ->> ATtiny_Manivelle_Melodie_Box_brUNO_V2
Depending on the speed of rotation of the crank, the music is played more or less quickly via the note duration.
To do this, at the entrance of the isr, we set the time if the counter isr =0
We increment the cpt isr
When the cpt isr reaches a value
we set the time and we calculate (start time - end time)
if the value obtained is less than a fixed value, the crank is going fast, the note duration is divided by two,
otherwise, music plays at normal speed.
//FR
J'ai ajouté un mode vitesse à l'objet :
code ->> ATtiny_Manivelle_Melodie_Box_brUNO_V2
Suivant la vitesse de rotation de la manivelle, la musique est jouée plus ou moins rapidement via la durée de note.
Pour ce faire, à l'entrée de l'isr, on fixe le temps si le compteur isr =0
On incrémente le cpt isr
Lorsque le cpt isr arrive à une valeur
on fixe le temps et on calcul (temps de début - temps de fin)
si la valeur obtenue est inférieure à une valeur fixée, c'est que la manivelle va vite, on divise la durée de note par deux,
sinon, on joue la musique à la vitesse normale.
Bonnes vacances :) !