Taula de continguts:

Pastís d'aniversari Arduino: 4 passos
Pastís d'aniversari Arduino: 4 passos

Vídeo: Pastís d'aniversari Arduino: 4 passos

Vídeo: Pastís d'aniversari Arduino: 4 passos
Vídeo: Мальчик или девочка? 👩‍👧‍👦 #гендерпати #торт 2024, De novembre
Anonim

En aquest instructiu, faré un projecte d’arduino molt senzill i bàsic: un pastís d’aniversari.

Es mostra un pastís d’aniversari a l’escut de la pantalla UTFT de l’arduino i un altaveu reprodueix la música "Happy birthday".

Quan bufeu al micròfon, les espelmes s’apaguen.

Pas 1: materials

Materials
Materials
Materials
Materials
Materials
Materials
Materials
Materials

Per a aquest senzill projecte, necessitareu:

- un arduino MEGA

- un altaveu o un timbre

- un mòdul de micròfon

- Un escut arduino de pantalla UTFT

Vaig decidir utilitzar una placa arduino MEGA per aquest projecte per dos motius: té molta memòria i té molts pins.

No podeu utilitzar un arduino UNO per a aquest projecte, perquè quan hi ha connectada la pantalla UTFT hi ha tots els pins amagats (no hi ha més disponibles per al micròfon i l’altaveu) i no té prou memòria (la biblioteca UTFT és molt gran).

Pas 2: cablejat

Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat

L'altaveu es connecta als pins D40 i GND de l'arduino.

El micròfon es connecta als pins GND ("G"), 5V ("+") i A10 ("A0").

La pantalla UTFT es connecta com un escut normal.

El blindatge de la pantalla UTFT no és totalment compatible amb l'arduino MEGA: el connector USB de la placa arduino és massa gran

Per solucionar aquest problema, vaig connectar la pantalla UTFT a un altre blindatge arduino (amb pins més llargs), i després vaig connectar tots dos a l’arduino.

Pas 3: calibreu el micròfon

Calibre el micròfon
Calibre el micròfon
Calibre el micròfon
Calibre el micròfon

Per calibrar el micròfon, necessitareu un tornavís i l’ordinador.

Primer, pengeu el codi següent al vostre arduino:

int val = 0;

configuració nul·la () {Serial.begin (9600); } bucle buit () {val = analogRead (10); Serial.println (val); retard (100); }

A continuació, aneu al monitor sèrie i calibreu el micròfon girant el potenciòmetre amb el tornavís quan no hi hagi so, el valor ha de ser aproximadament de 30 a 40.

Quan bufeu al micròfon, el valor ha de ser superior a 100.

Assegureu-vos que el valor sigui inferior a 100 quan parleu (fins i tot fort).

Pas 4: el codi

Aquí teniu el codi del projecte.

Mostra un pastís d'aniversari amb espelmes a l'UTFT i reprodueix "Feliç aniversari" amb l'altaveu. El pastís es fa amb rectangles.

Aquest programa requereix la biblioteca UTFT.

#incloure

extern uint8_t BigFont ; // canvieu aquests valors segons el vostre model de pantalla UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melodia = {196, 196, 220, 196, 262, 247, 196, 196, 220, 196, 294, 262, 196, 196, 392, 330, 262, 247, 220, 349, 349, 330, 262, 294, 262}; int noteDurations = {8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 4, 3, 8, 8, 4, 4, 4, 2}; int val = 0; void setup () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // fons blau myGLCD.setColor (200, 125, 50); // pastís marró myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // glaça blanca myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // línies vermelles myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // línia groga myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // espelmes roses myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // foc de les espelmes myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // missatge d'aniversari feliç myGLCD.print ("HAPPY BIRTHDAY!", CENTRE, 200); per a (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // apaga les espelmes myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // i mostra el missatge "felicitacions" myGLCD.print ("ENHORABONA !!!", CENTRE, 10); retard (10000); myGLCD.clrScr (); // esborra la pantalla després de 10 segons}}

Recomanat: