Përmbajtje:

Tortë e ditëlindjes Arduino: 4 hapa
Tortë e ditëlindjes Arduino: 4 hapa

Video: Tortë e ditëlindjes Arduino: 4 hapa

Video: Tortë e ditëlindjes Arduino: 4 hapa
Video: Lesson 12: Using Arduino Programming function and switch | SunFounder Robojax 2024, Korrik
Anonim

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

Materiale
Materiale
Materiale
Materiale
Materiale
Materiale
Materiale
Materiale

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

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime 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

Kalibroni mikrofonin
Kalibroni mikrofonin
Kalibroni mikrofonin
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}}

Recommended: