Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
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
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
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}}