Sisällysluettelo:

Arduinon syntymäpäiväkakku: 4 vaihetta
Arduinon syntymäpäiväkakku: 4 vaihetta

Video: Arduinon syntymäpäiväkakku: 4 vaihetta

Video: Arduinon syntymäpäiväkakku: 4 vaihetta
Video: Monsters university vs lemon juice ice cream challenge! 🍨 #funny #shorts by Ethan Funny Family 2024, Marraskuu
Anonim

Tässä ohjeessa teen hyvin yksinkertaisen ja perustavanlaatuisen arduino -projektin: syntymäpäiväkakun!

Syntymäpäiväkakku näkyy arduinon UTFT -näytön kilvessä ja kaiutin soittaa "Hyvää syntymäpäivää" -musiikkia.

Kun puhallat mikrofoniin, kynttilät sammuvat.

Vaihe 1: Materiaalit

Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit

Tätä yksinkertaista projektia varten tarvitset:

- arduino MEGA

- kaiutin tai summeri

- mikrofonimoduuli

- UTFT -näytön arduino -suoja

Päätin käyttää arduino MEGA -levyä tähän projektiin kahdesta syystä: siinä on paljon muistia ja siinä on paljon nastoja.

Et voi käyttää arduino UNO: ta tähän projektiin, koska kun UTFT -näyttö on liitetty siihen, kaikki nastat ovat piilossa (mikrofonille ja kaiuttimelle ei ole enää käytettävissä), eikä siinä ole tarpeeksi muistia (UTFT -kirjasto on hyvin iso).

Vaihe 2: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus

Kaiutin kytketään arduinon nastoihin D40 ja GND.

Mikrofoni liitetään nastoihin GND ("G"), 5V ("+") ja A10 ("A0").

UTFT -näyttö kiinnittyy tavallisen suojan tavoin.

UTFT -näytönsuoja ei ole täysin yhteensopiva arduino MEGA: n kanssa: arduino -kortin USB -liitin on liian suuri

Tämän ongelman korjaamiseksi liitin UTFT -näytön toiseen arduino -kilpeen (pidemmillä nastoilla) ja sitten molemmat arduinoon.

Vaihe 3: Kalibroi mikrofoni

Kalibroi mikrofoni
Kalibroi mikrofoni
Kalibroi mikrofoni
Kalibroi mikrofoni

Mikrofonin kalibroimiseksi tarvitset ruuvimeisselin ja tietokoneen.

Lataa ensin seuraava koodi arduinoosi:

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analoginenLue (10); Sarja.println (val); viive (100); }

Siirry sitten sarjamonitoriin ja kalibroi mikrofoni kääntämällä potentiometriä ruuvitaltalla, kun ääntä ei kuulu, arvon on oltava noin 30 ~ 40.

Kun puhallat mikrofoniin, arvon on oltava yli 100.

Varmista, että arvo on pienempi kuin 100 puhuessasi (jopa kovalla äänellä).

Vaihe 4: Koodi

Tässä projektin koodi.

Se näyttää syntymäpäiväkakun kynttilöillä UTFT: llä ja soittaa "Hyvää syntymäpäivää" kaiuttimen kanssa. Kakku on tehty suorakulmioista.

Tämä ohjelma vaatii UTFT -kirjaston.

#sisältää

extern uint8_t BigFont ; // muuttaa näitä arvoja näytön mallisi mukaan 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); // sininen tausta myGLCD.setColor (200, 125, 50); // ruskea kakku myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // valkoinen kuorrutus myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // punaiset viivat myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // keltainen viiva myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // vaaleanpunaiset kynttilät myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // kynttilöiden tuli myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // hyvää syntymäpäivää viesti myGLCD.print ("HAPPY BIRTHDAY!", CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // sammuttaa kynttilät myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // ja näyttää onnitteluviestin myGLCD.print ("ONNEA !!!", CENTER, 10); viive (10000); myGLCD.clrScr (); // tyhjennä näyttö 10 sekunnin kuluttua}}

Suositeltava: