Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Në këtë udhëzues, unë do të bëj një projekt arduino shumë të thjeshtë dhe themelor: një tortë ditëlindjeje!
Një tortë ditëlindjeje shfaqet në mburojën e ekranit UTFT në arduino dhe një altoparlant luan muzikën "Gëzuar ditëlindjen".
Kur fryn në mikrofon, qirinjtë fiken.
Hapi 1: Materialet
Për këtë projekt të thjeshtë, do t'ju duhet:
- një arduino MEGA
- një altoparlant ose një zile
- një modul mikrofoni
- një mburojë arduino e ekranit UTFT
Vendosa të përdor një bord arduino MEGA për këtë projekt për dy arsye: ka shumë memorie dhe ka shumë kunja.
Ju nuk mund të përdorni një arduino UNO për këtë projekt, sepse kur ekrani UTFT është i kyçur në të të gjitha kunjat janë të fshehura (nuk ka më në dispozicion për mikrofonin dhe altoparlantin), dhe nuk ka memorie të mjaftueshme (biblioteka UTFT është shume e madhe).
Hapi 2: Instalimet elektrike
Altoparlanti lidh kunjat D40 dhe GND të arduino.
Mikrofoni lidhet me kunjat GND ("G"), 5V ("+") dhe A10 ("A0").
Ekrani UTFT lidhet si një mburojë e rregullt.
Mburoja e ekranit UTFT nuk është plotësisht në përputhje me arduino MEGA: priza USB e bordit arduino është shumë e madhe
Për të rregulluar këtë problem, unë lidha ekranin UTFT në një mburojë tjetër arduino (me kunja më të gjata), pastaj i lidha të dy në arduino.
Hapi 3: Kalibroni mikrofonin
Për të kalibruar mikrofonin, do t'ju duhet një kaçavidë dhe kompjuteri juaj.
Së pari, ngarkoni kodin e mëposhtëm në arduino tuaj:
int val = 0;
void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); vonesë (100); }
Pastaj shkoni te monitori serik dhe kalibroni mikrofonin duke e kthyer potenciometrin me kaçavidën kur nuk ka zë, vlera duhet të jetë afërsisht 30 ~ 40.
Kur fryn në mikrofon, vlera duhet të jetë më e lartë se 100.
Sigurohuni që vlera të jetë më e vogël se 100 kur flisni (madje me zë të lartë).
Hapi 4: Kodi
Këtu është kodi i projektit.
Ajo shfaq një tortë ditëlindjeje me qirinj në UTFT dhe luan "Gëzuar ditëlindjen" me altoparlantin. Torta është bërë me drejtkëndëshe.
Ky program kërkon bibliotekën UTFT.
#përfshi
ekstern uint8_t BigFont ; // ndryshoni këto vlera sipas modelit të ekranit tuaj UTFT myGLCD (ITDB28, A5, A4, A3, A2); melodi int = {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 shënim Kohëzgjatjet = {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); // sfond blu myGLCD.setColor (200, 125, 50); // tortë kafe myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // krem i bardhë myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // linjat e kuqe myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // vija e verdhë myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // qirinj rozë myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // zjarri i qirinjve myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // mesazh për ditëlindjen myGLCD.print ("GAPZUAR DITIRLINDJEN!", CENTER, 200); për (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // fik qirinjtë myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // dhe shfaq mesazhin "urime" myGLCD.print ("URIME !!!", CENTER, 10); vonesë (10000); myGLCD.clrScr (); // pastro ekranin pas 10 sekondash}}