Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
I denne instruksen vil jeg lage et veldig enkelt og grunnleggende arduino -prosjekt: en bursdagskake!
En bursdagskake vises på UTFT -skjermen på arduinoen, og en høyttaler spiller musikken "Happy birthday".
Når du blåser på mikrofonen, slås lysene av.
Trinn 1: Materialer
For dette enkle prosjektet trenger du:
- en arduino MEGA
- en høyttaler eller en summer
- en mikrofonmodul
- et UTFT skjerm arduino skjold
Jeg bestemte meg for å bruke et arduino MEGA -kort til dette prosjektet av to grunner: det har mye minne og det har mange pinner.
Du kan ikke bruke en arduino UNO til dette prosjektet, for når UTFT -skjermen er plugget på, er alle pinnene skjult (ikke flere er tilgjengelige for mikrofonen og høyttaleren), og den har ikke nok minne (UTFT -biblioteket er veldig stor).
Trinn 2: Kabling
Høyttaleren plugger på pinne D40 og GND på arduinoen.
Mikrofonen plugges på pinnene GND ("G"), 5V ("+") og A10 ("A0").
UTFT -skjermen plugger som et vanlig skjold.
UTFT -skjermskjermen er ikke fullt kompatibel med arduino MEGA: USB -kontakten på arduino -kortet er for stor
For å fikse dette problemet, plugget jeg UTFT -skjermen på et annet arduino -skjold (med lengre pinner), deretter plugget jeg begge på arduinoen.
Trinn 3: Kalibrer mikrofonen
For å kalibrere mikrofonen trenger du en skrutrekker og datamaskinen.
Last først opp følgende kode til din arduino:
int val = 0;
ugyldig oppsett () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); forsinkelse (100); }
Gå deretter til den serielle skjermen og kalibrer mikrofonen ved å dreie potensiometeret med skrutrekkeren når det ikke er lyd, verdien må være omtrent 30 ~ 40.
Når du blåser på mikrofonen, må verdien være høyere enn 100.
Sørg for at verdien er mindre enn 100 når du snakker (til og med høyt).
Trinn 4: Koden
Her er koden til prosjektet.
Den viser en bursdagskake med stearinlys på UTFT og spiller "Gratulerer med dagen" med høyttaleren. Kaken er laget med rektangler.
Dette programmet krever UTFT -biblioteket.
#inkludere
ekstern uint8_t BigFont ; // endre disse verdiene i henhold til skjermmodellen UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melodi = {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; ugyldig oppsett () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // blå bakgrunn myGLCD.setColor (200, 125, 50); // brun kake myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // hvit glasur myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // røde linjer myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // gul linje myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // rosa lys myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // ild av lysene myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // gratulerer med dagen i meldingen myGLCD.print ("HAPPY BIRTHDAY!", CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // slår av lysene myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // og viser "gratulerer" -melding myGLCD.print ("GRATULERER !!!", SENTRUM, 10); forsinkelse (10000); myGLCD.clrScr (); // tøm skjermen etter 10 sekunder}}