Satura rādītājs:

Arduino dzimšanas dienas kūka: 4 soļi
Arduino dzimšanas dienas kūka: 4 soļi

Video: Arduino dzimšanas dienas kūka: 4 soļi

Video: Arduino dzimšanas dienas kūka: 4 soļi
Video: НА СКОРУЮ РУКУ и БЕЗ ДУХОВКИ 🍰 Творожный торт с мандаринами 🍊 Очень нежно и вкусно! 2024, Novembris
Anonim

Šajā pamācībā es izveidošu ļoti vienkāršu un vienkāršu arduino projektu: dzimšanas dienas torte!

Arduino UTFT ekrāna ekrānā tiek parādīta dzimšanas dienas kūka, un skaļrunis atskaņo mūziku "Daudz laimes dzimšanas dienā".

Pūšot uz mikrofonu, sveces izslēdzas.

1. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli

Šim vienkāršajam projektam jums būs nepieciešams:

- arduino MEGA

- skaļrunis vai skaņas signāls

- mikrofona modulis

- UTFT ekrāna arduino vairogs

Es nolēmu šim projektam izmantot arduino MEGA dēli divu iemeslu dēļ: tai ir daudz atmiņas un daudz tapu.

Šim projektam nevar izmantot arduino UNO, jo, kad tam ir pievienots UTFT ekrāns, visas tapas ir paslēptas (vairāk nav pieejamas mikrofonam un skaļrunim), un tai nav pietiekami daudz atmiņas (UTFT bibliotēka ir ļoti liels).

2. solis: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Skaļrunis tiek pievienots arduino tapām D40 un GND.

Mikrofons ir pievienots GND ("G"), 5V ("+") un A10 ("A0") tapām.

UTFT ekrāns ir aizbāzts kā parasts vairogs.

UTFT ekrāna vairogs nav pilnībā saderīgs ar arduino MEGA: arduino plates USB spraudnis ir pārāk liels

Lai atrisinātu šo problēmu, es pievienoju UTFT ekrānu citam arduino vairogam (ar garākām tapām), pēc tam pievienoju abus arduino.

3. darbība: kalibrējiet mikrofonu

Kalibrējiet mikrofonu
Kalibrējiet mikrofonu
Kalibrējiet mikrofonu
Kalibrējiet mikrofonu

Lai kalibrētu mikrofonu, jums būs nepieciešams skrūvgriezis un dators.

Vispirms augšupielādējiet šādu kodu savā arduino:

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); kavēšanās (100); }

Pēc tam dodieties uz seriālo monitoru un kalibrējiet mikrofonu, pagriežot potenciometru ar skrūvgriezi, ja nav skaņas, vērtībai jābūt aptuveni 30 ~ 40.

Pūšot uz mikrofonu, vērtībai jābūt lielākai par 100.

Pārliecinieties, vai runājot (pat skaļi) vērtība ir mazāka par 100.

4. solis: kods

Šeit ir projekta kods.

Tajā UTFT tiek parādīta dzimšanas dienas kūka ar svecēm un ar skaļruni tiek atskaņota “Daudz laimes dzimšanas dienā”. Kūka ir veidota ar taisnstūriem.

Šai programmai ir nepieciešama UTFT bibliotēka.

#iekļaut

extern uint8_t BigFont ; // mainīt šīs vērtības atbilstoši ekrāna modelim 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); // zils fons myGLCD.setColor (200, 125, 50); // brūnā kūka myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // balts apledojums myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // sarkanās līnijas myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // dzeltenā līnija myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // rozā sveces myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // sveču uguns myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // daudz laimes dzimšanas dienā ziņa myGLCD.print ("HAPPY BIRTHDAY!", CENTRS, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // izslēdz sveces myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // un parāda "apsveikuma" ziņojumu myGLCD.print ("APSVEICU !!!", CENTRS, 10); kavēšanās (10000); myGLCD.clrScr (); // notīrīt ekrānu pēc 10 sekundēm}}

Ieteicams: