Taula de continguts:
- Pas 1: components necessaris:
- Pas 2: Creació del circuit
- Pas 3: Funcions del metrònom
- Pas 4: Descripció
Vídeo: Metrònom basat en microcontrolador: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Un metrònom és un dispositiu de cronometratge utilitzat pels músics per fer un seguiment dels ritmes de les cançons i desenvolupar una sensació de sincronització entre els principiants que aprenen un nou instrument. Ajuda a mantenir un sentit del ritme crucial en la música.
Aquest metrònom construït aquí es pot utilitzar per establir el nombre de pulsacions per barra i els pulsacions per minut. Un cop introduïdes aquestes dades de configuració, emet un so segons les dades acompanyades de la il·luminació adequada mitjançant LED. Les dades de configuració es mostren en una pantalla LCD.
Pas 1: components necessaris:
·
- Microcontrolador Atmega8A
- · Pantalla LCD de 16 * 2
- · Piezo Buzzer
- · LED (verd, vermell)
- · Resistències (220e, 330e, 1k, 5,6k)
- · Polsadors (2 * anti-bloqueig, 1 * bloqueig)
- · Bateria de 3V CR2032 Coin Cell (* 2)
- Suport de bateria de monedes (* 2)
- · Connector de 6 pines Relimate (polaritzat)
Pas 2: Creació del circuit
Feu les connexions del circuit tal com es mostra a la imatge en una placa base i soldeu les connexions correctament
Pas 3: Funcions del metrònom
La interfície del metrònom està ocupada principalment per la pantalla lcd. A sobre hi ha el microcontrolador 8A situat centralment amb els LED i el brunzidor a la dreta. Els tres commutadors i el connector Relimate es col·loquen a la part superior.
Tot el projecte només funciona amb dues bateries de cèl·lules de moneda (en sèrie @ 6V 220mAh) amb un temps d’execució estimat de 20 dies a 1 mes (no contínuament). Per tant, és moderadament eficient en energia i té un requisit actual de 3-5 mA.
L'interruptor autoblocant està situat a l'extrem esquerre i és el botó ON / OFF. El botó del centre és el botó Configuració i el botó de la dreta s’utilitza per canviar els valors de ppm i pulsacions (per barra).
Quan es prem l’interruptor ON / OFF, el lcd s’encén i mostra el valor de batecs per barra. Espera durant 3 segons perquè l'usuari canviï el valor després del qual pren el valor resultant com a entrada. Aquest valor oscil·la entre 1/4, 2/4, 3/4, 4/4.
A continuació, mostra les pulsacions per minut (bpm) i torna a esperar 3 segons perquè l'usuari modifiqui el valor després del qual estableix el valor particular. Aquest temps d'espera de 3 segons es calibrarà després que l'usuari modifiqui un valor. Els valors de ppm poden variar de 30 a 240. Si premeu el botó Configuració durant la configuració de ppm, es restablirà el seu valor a 30 ppm, cosa que és útil per reduir la quantitat de clics als botons. Els valors de ppm són múltiples de 5.
Un cop finalitzada la configuració, la llum de fons lcd s’apaga per estalviar bateria. El timbre emet un so per cada pulsació i els LED parpellegen alternadament per cada pulsació. Per canviar els valors, es prem el botó Configuració. En fer-ho, la llum de fons lcd s’encén i apareixerà l’indicació de batec tal com s’ha esmentat abans amb el mateix procediment després.
El microcontrolador Atmega8A consta de 500 bytes d’EEPROM, cosa que significa que s’introdueixen els valors de batecs i bpm, fins i tot després d’apagar el metrònom. Per tant, tornar-lo a engegar, fa que es reprengui amb les mateixes dades que s’havien introduït abans.
El connector Relimate és en realitat una capçalera SPI que es pot utilitzar per a dos propòsits. Es pot utilitzar per reprogramar el microcontrolador Atmega8A per actualitzar el firmware i afegir noves funcions al metrònom. En segon lloc, també es pot utilitzar una font d'alimentació externa per alimentar el metrònom per als usuaris més exigents. Però aquesta font d'alimentació no pot superar els 5,5 volts i substitueix l'interruptor ON / OFF. Per motius de seguretat, aquest interruptor HA d’estar apagat perquè el subministrament extern no es quedi curt amb les bateries incorporades.
Pas 4: Descripció
Aquest projecte es realitza mitjançant el microcontrolador Atmel Atmega8A que es programa mitjançant l'IDE Arduino mitjançant un Arduino Uno / Mega / Nano utilitzat com a programador ISP.
Aquest microcontrolador és una versió amb menys característiques de l’Atmel Atmega328p que s’utilitza àmpliament a l’Arduino Uno. L'Atmega8A consta de memòria programable de 8 KB amb RAM de 1 KB. És un microcontrolador de 8 bits que funciona a la mateixa freqüència que el 328p, és a dir, 16Mhz.
En aquest projecte, com que el consum actual és un aspecte important, s’ha reduït la freqüència del rellotge i s’utilitza l’oscil·lador intern d’1 Mhz. Això redueix considerablement el requisit actual a uns 3,5 mA @ 3,3V i 5mA @ 4,5V.
L’IDE Arduino no té la facilitat per programar aquest microcontrolador. Per tant, es va instal·lar un paquet "Minicore" (plugin) per executar el 8A amb el seu oscil·lador intern mitjançant un carregador d'arrencada Optiboot. Es va notar que la necessitat d'energia del projecte augmentava amb l'augment de la tensió. Per tant, per a una utilització òptima de l'energia, el microcontrolador estava configurat per funcionar a 1 MHz amb una sola bateria de moneda de 3V amb només 3,5 mA. Però es va observar que el lcd no funcionava correctament a una tensió tan baixa. Per tant, es va aplicar la decisió d'utilitzar dues bateries de monedes en sèrie per augmentar el voltatge a 6V. Però això significava que el consum actual augmentava fins als 15 mA, cosa que suposava un enorme inconvenient, ja que la durada de la bateria seria molt pobra. També va superar el límit de voltatge segur de 5,5 V del microcontrolador 8A.
Per tant, es va connectar una resistència de 330 ohm en sèrie amb la font d'alimentació de 6V per eliminar aquest problema. La resistència provoca bàsicament una caiguda de tensió sobre si mateixa per reduir el nivell de voltatge dins de 5,5 V per executar el microcontrolador amb seguretat. A més, es va triar el valor de 330 tenint en compte diversos factors:
- · L’objectiu era fer funcionar el 8A a una tensió el més baixa possible per estalviar energia.
- · Es va observar que el lcd deixava de funcionar per sota de 3,2 V tot i que el microcontrolador encara funcionava
- · Aquest valor de 330 garanteix que les caigudes de tensió als extrems siguin exactes per fer un ús complet de les bateries de monedes.
- · Quan les cèl·lules de la moneda estaven al màxim, el voltatge era d’uns 6,3 V, i el 8A rebia un voltatge efectiu de 4,6 - 4,7 V (@ 5mA). I quan les bateries estaven gairebé assecades, el voltatge rondava els 4 V amb el 8A i el lcd rebia el voltatge suficient, és a dir, 3,2 V per funcionar correctament. (@ 3,5 mA)
- · Per sota del nivell de 4v de les bateries, eren efectivament inútils sense que quedés suc per alimentar res. La caiguda de tensió a la resistència varia durant tot el temps, ja que el consum de corrent del microcontrolador 8A i del lcd es redueix amb una tensió reductora que ajuda essencialment a augmentar la durada de la bateria.
La pantalla LCD de 16 * 2 es va programar mitjançant la biblioteca LiquidCrystal integrada de l'IDE Arduino. Utilitza 6 pins de dades del microcontrolador 8A. A més, es va controlar la seva brillantor i contrast mitjançant dos pins de dades. Es va fer de manera que no s’utilitzés cap component addicional, és a dir, un potenciòmetre. En canvi, la funció PWM del pin de dades D9 es va utilitzar per ajustar el contrast de la pantalla. També calia que la llum de fons lcd estigués apagada quan no fos necessària, de manera que això no hauria estat possible sense fer servir un pin de dades per alimentar-lo. Es va utilitzar una resistència de 220 ohm per limitar el corrent a través del LED de llum de fons.
El Buzzer i els LED també es van connectar als pins de dades del 8A (un per a cadascun). Es va utilitzar una resistència de 5,6 k ohm per limitar el corrent a través del LED vermell, mentre que es va utilitzar un 1 k ohm per al verd. Els valors de la resistència s’han escollit adquirint un punt dolç entre la brillantor i el consum actual.
El botó ON / OFF no està connectat a un pin de dades i és simplement un commutador que commuta el projecte. Un dels seus terminals es connecta a la resistència de 330 ohms mentre que l’altre es connecta als pins Vcc del lcd i del 8A. Els altres dos botons estan connectats a pins de dades que s’interrompen internament per subministrar tensió mitjançant el programari. Això és necessari per al funcionament dels interruptors.
A més, el pin de dades, al qual es connecta el botó Configuració, és un pin d'interrupció de maquinari. La seva rutina de servei d'interrupció (ISR) s'activa a l'IDE Arduino. Això vol dir que, quan l'usuari vol executar el menú de configuració, el 8A suspèn la seva operació actual de funcionar com a metrònom i executa l'ISR que bàsicament activa el menú Configuració. En cas contrari, l'usuari no podria accedir al menú Configuració.
L'opció EEPROM esmentada anteriorment assegura que les dades introduïdes romanin emmagatzemades fins i tot després que la placa estigui apagada. I la capçalera SPI consta de 6 pins: Vcc, Gnd, MOSI, MISO, SCK, RST. Això forma part del protocol SPI i, com s'ha esmentat anteriorment, es pot utilitzar un programador ISP per programar de nou el 8A per afegir noves funcions o qualsevol altra cosa. El pin Vcc està aïllat del terminal positiu de la bateria i, per tant, el metrònom proporciona l'opció d'utilitzar una font d'alimentació externa tenint en compte les restriccions esmentades anteriorment.
Tot el projecte es va construir en un Veroboard soldant els components individuals i les connexions adequades segons el diagrama del circuit.
Recomanat:
Com rebre dades del microcontrolador basat en STM32 al PC: 5 passos
Com rebre dades des del microcontrolador basat en STM32 a l'ordinador: aquí en aquest tutorial hem transmès dades des del microcontrolador a l'ordinador mitjançant un dels UART de STM32l100 mcu
Termòmetre infraroig sense contacte basat en Arduino - Termòmetre basat en IR mitjançant Arduino: 4 passos
Termòmetre infraroig sense contacte basat en Arduino | Termòmetre basat en IR que utilitza Arduino: Hola nois, en aquest instructable farem un termòmetre sense contacte amb arduino, ja que de vegades la temperatura del líquid / sòlid és massa alta o baixa a la temperatura i és difícil fer-hi contacte i llegir-ne temperatura llavors en aquell escenari
Generador de música basat en el temps (generador de midi basat en ESP8266): 4 passos (amb imatges)
Generador de música basat en el temps (generador de midi basat en ESP8266): Hola, avui explicaré com fer el vostre propi generador de música basat en el temps. Es basa en un ESP8266, que és com un Arduino, i respon a la temperatura, a la pluja i intensitat lumínica. No espereu que faci cançons senceres o progrés d’acords
Braç robòtic basat en microcontrolador PIC: 6 passos (amb imatges)
Braç robòtic basat en microcontroladors PIC: des de la línia de muntatge de les indústries de fabricació d’automòbils fins als robots de telesurgia a l’espai, Robotic Arms es troba a tot arreu. Els mecanismes d'aquests robots són similars a un humà que es pot programar per a funcions similars i augmentar
Com fer un robot controlat per mòbil Basat en DTMF - Sense microcontrolador i programació - Control des de qualsevol lloc del món - RoboGeeks: 15 passos
Com fer un robot controlat per mòbil Basat en DTMF | Sense microcontrolador i programació | Control des de qualsevol lloc del món | RoboGeeks: Voleu fabricar un robot que es pugui controlar des de qualsevol part del món, Lets do It