„Arduino“gimtadienio tortas: 4 žingsniai
„Arduino“gimtadienio tortas: 4 žingsniai
Anonim

Šioje pamokoje aš padarysiu labai paprastą ir pagrindinį arduino projektą: gimtadienio tortą!

Gimtadienio tortas rodomas ant arduino UTFT ekrano skydo, o garsiakalbis groja muziką „Su gimtadieniu“.

Kai pučiate mikrofoną, žvakės užgęsta.

1 žingsnis: medžiagos

Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos

Šiam paprastam projektui jums reikės:

- arduino MEGA

- garsiakalbis arba garsinis signalas

- mikrofono modulis

- UTFT ekrano arduino skydas

Šiam projektui nusprendžiau naudoti „arduino MEGA“plokštę dėl dviejų priežasčių: ji turi daug atminties ir turi daug kaiščių.

Šiam projektui negalite naudoti „arduino UNO“, nes kai prie jo prijungtas UTFT ekranas, visi smeigtukai yra paslėpti (mikrofonui ir garsiakalbiui daugiau nėra), o atminties nepakanka (UTFT biblioteka yra labai didelis).

2 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Garsiakalbis prijungiamas prie arduino kaiščių D40 ir GND.

Mikrofonas prijungiamas prie GND ("G"), 5V ("+") ir A10 ("A0") kaiščių.

UTFT ekranas jungiasi kaip įprastas skydas.

UTFT ekrano skydas nėra visiškai suderinamas su arduino MEGA: arduino plokštės USB kištukas yra per didelis

Norėdami išspręsti šią problemą, prijungiau UTFT ekraną prie kito „arduino“skydo (su ilgesniais kaiščiais), tada prijungiau abu prie „arduino“.

3 žingsnis: Kalibruokite mikrofoną

Kalibruokite mikrofoną
Kalibruokite mikrofoną
Kalibruokite mikrofoną
Kalibruokite mikrofoną

Norėdami sukalibruoti mikrofoną, jums reikės atsuktuvo ir kompiuterio.

Pirmiausia į „arduino“įkelkite šį kodą:

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); vėlavimas (100); }

Tada eikite į nuoseklųjį monitorių ir kalibruokite mikrofoną, sukdami potenciometrą atsuktuvu, kai nėra garso, vertė turi būti maždaug 30-40.

Kai pučiate mikrofoną, vertė turi būti didesnė nei 100.

Kai kalbate (net garsiai), įsitikinkite, kad vertė yra mažesnė nei 100.

4 žingsnis: Kodas

Čia yra projekto kodas.

Jame UTFT rodomas gimtadienio tortas su žvakėmis ir su garsiakalbiu groja „Su gimtadieniu“. Tortas pagamintas iš stačiakampių.

Šiai programai reikalinga UTFT biblioteka.

#įtraukti

extern uint8_t BigFont ; // keisti šias reikšmes pagal savo ekrano modelį UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melodija = {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); // mėlynas fonas myGLCD.setColor (200, 125, 50); // rudas pyragas myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // balta glazūra myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // raudonos linijos myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // geltona linija myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // rožinės žvakės myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // žvakių ugnis myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // su gimtadieniu žinutė myGLCD.print ("LAIMINGO GIMTADIENIO!", CENTRAS, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // išjungia žvakes myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // ir parodo pranešimą „sveikinu“myGLCD.print („SVEIKINAME !!!“, CENTRAS, 10); vėlavimas (10000); myGLCD.clrScr (); // išvalyti ekraną po 10 sekundžių}}

Rekomenduojamas: