2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Selles juhendis teen ma väga lihtsa ja elementaarse arduino projekti: sünnipäevatort!
Arduino UTFT ekraanikilbil kuvatakse sünnipäevatort ja kõlar mängib muusikat "Palju õnne sünnipäevaks".
Kui puhute mikrofoni, lülitatakse küünlad välja.
Samm: materjalid
Selle lihtsa projekti jaoks vajate:
- arduino MEGA
- kõlar või helisignaal
- mikrofoni moodul
- UTFT ekraaniga arduino kilp
Otsustasin selle projekti jaoks kasutada arduino MEGA tahvlit kahel põhjusel: sellel on palju mälu ja sellel on palju nööpnõelu.
Selle projekti jaoks ei saa kasutada arduino UNO -d, sest kui UTFT -ekraan on selle külge ühendatud, on kõik nööpnõelad peidetud (enam pole mikrofoni ja kõlari jaoks saadaval) ning sellel pole piisavalt mälu (UTFT -teek on väga suur).
2. samm: juhtmestik
Kõlar ühendatakse arduino tihvtidega D40 ja GND.
Mikrofon ühendatakse tihvtide GND ("G"), 5V ("+") ja A10 ("A0") külge.
UTFT ekraan ühendub nagu tavaline kilp.
UTFT ekraanikilp ei ühildu täielikult arduino MEGA -ga: arduino plaadi USB -pistik on liiga suur
Selle probleemi lahendamiseks ühendasin UTFT ekraani teise arduino kilbiga (pikemate tihvtidega), seejärel ühendasin mõlemad arduinoga.
Samm: kalibreerige mikrofon
Mikrofoni kalibreerimiseks vajate kruvikeerajat ja arvutit.
Esmalt laadige oma arduino alla järgmine kood:
int val = 0;
void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Seeria.println (val); viivitus (100); }
Seejärel minge jadamonitori juurde ja kalibreerige mikrofon, keerates potentsiomeetrit kruvikeerajaga, kui heli ei kostu, väärtus peab olema umbes 30 ~ 40.
Mikrofonile puhudes peab väärtus olema suurem kui 100.
Veenduge, et kõne ajal (isegi valjusti) on väärtus väiksem kui 100.
4. samm: kood
Siin on projekti kood.
See kuvab UTFT -l küünladega sünnipäevatordi ja esitab kõlariga "Palju õnne sünnipäevaks". Kook on valmistatud ristkülikutega.
See programm nõuab UTFT teeki.
#kaasake
extern uint8_t BigFont ; // muutke neid väärtusi vastavalt oma ekraanimudelile UTFT myGLCD (ITDB28, A5, A4, A3, A2); int meloodia = {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); // sinine taust myGLCD.setColor (200, 125, 50); // pruun kook myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // valge glasuur myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // punased jooned myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // kollane joon myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // roosad küünlad myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // küünlate tuli myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // palju õnne sünnipäevaks sõnum myGLCD.print ("HAPPY BIRTHDAY!", CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // lülitab küünlad välja myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // ja kuvab "õnnitlused" sõnumi myGLCD.print ("PALJU ÕNNE !!!", CENTER, 10); viivitus (10000); myGLCD.clrScr (); // tühjenda ekraan 10 sekundi pärast}}