Բովանդակություն:

Arduino ծննդյան տորթ. 4 քայլ
Arduino ծննդյան տորթ. 4 քայլ

Video: Arduino ծննդյան տորթ. 4 քայլ

Video: Arduino ծննդյան տորթ. 4 քայլ
Video: Ծննդյան #տորթ/ Պատրաստում եմ շատ համեղ, բերանում հալչող տորթ/ торт для день рождения/ 2024, Նոյեմբեր
Anonim

Այս ուսանելի դասում ես կկազմեմ շատ պարզ և հիմնական arduino նախագիծ. Ծննդյան տորթ:

Արդուինոյի UTFT էկրանի վահանի վրա ցուցադրվում է ծննդյան տորթ, իսկ բարձրախոսը նվագում է «birthdayնունդդ շնորհավոր» երաժշտությունը:

Խոսափողը փչելիս մոմերն անջատվում են:

Քայլ 1: Նյութեր

Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր

Այս պարզ նախագծի համար ձեզ հարկավոր է.

- arduino MEGA

- բարձրախոս կամ ազդանշան

- խոսափողի մոդուլ

- UTFT էկրանի arduino վահան

Ես որոշեցի այս նախագծի համար օգտագործել arduino MEGA տախտակ երկու պատճառով `այն ունի շատ հիշողություն և ունի բազմաթիվ կապում:

Այս նախագծի համար դուք չեք կարող օգտագործել arduino UNO, քանի որ երբ UTFT էկրանը միացված է դրան, բոլոր կապումներն թաքնված են (խոսափողի և բարձրախոսի համար այլևս հասանելի չէ), և այն չունի բավարար հիշողություն (UTFT գրադարանը շատ մեծ).

Քայլ 2: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր

Բարձրախոսը միանում է arduino- ի D40 և GND կապում:

Խոսափողը միանում է GND («G»), 5V («+») և A10 («A0») կապում:

UTFT էկրանը միանում է սովորական վահանի նման:

UTFT էկրանի վահանը լիովին համատեղելի չէ arduino MEGA- ի հետ. Arduino տախտակի USB վարդակը չափազանց մեծ է:

Այս խնդիրը լուծելու համար ես UTFT էկրանը միացրեցի մեկ այլ arduino վահանի (ավելի երկար կապումներով), այնուհետև երկուսն էլ միացրեցի arduino- ին:

Քայլ 3: Կալիբրացրեք խոսափողը

Կալիբրացրեք խոսափողը
Կալիբրացրեք խոսափողը
Կալիբրացրեք խոսափողը
Կալիբրացրեք խոսափողը

Խոսափողը չափաբերելու համար ձեզ հարկավոր են պտուտակահան և ձեր համակարգիչը:

Նախ, ձեր arduino- ում վերբեռնեք հետևյալ ծածկագիրը.

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); ուշացում (100); }

Հետո գնացեք սերիական մոնիտոր և չափաբերեք խոսափողը ՝ պտուտակահանով պտտվող պտուտակաչափը պտտելով, երբ ձայն չկա, արժեքը պետք է լինի մոտավորապես 30 ~ 40:

Խոսափողը փչելիս արժեքը պետք է լինի 100 -ից բարձր:

Համոզվեք, որ արժեքը 100 -ից փոքր է, երբ խոսում եք (նույնիսկ բարձրաձայն):

Քայլ 4: Կոդ

Ահա նախագծի ծածկագիրը:

Այն UTFT- ի վրա ցուցադրում է մոմերով ծննդյան տորթ և բարձրախոսի հետ խաղում «birthdayնունդդ շնորհավոր»: Տորթը պատրաստվում է ուղղանկյուններով:

Այս ծրագիրը պահանջում է UTFT գրադարան:

#ներառում

extern uint8_t BigFont ; // փոխել այս արժեքները ըստ ձեր էկրանի մոդելի UTFT myGLCD (ITDB28, A5, A4, A3, A2); 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 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); // կապույտ ֆոն myGLCD.setColor (200, 125, 50); // շագանակագույն տորթ myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // սպիտակ սառույց myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // կարմիր գծեր myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // դեղին գիծ myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // վարդագույն մոմեր myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // մոմերի կրակ myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // շնորհավոր ծնունդդ myGLCD.print («APՆՈՆԴ ՇՆՈՐՀԱՎՈՐ!», ԿԵՆՏՐՈՆ, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // անջատում է myGLCD.fillCircle մոմերը (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // և ցուցադրում է «շնորհավորանքներ» հաղորդագրությունը myGLCD.print («ՇՆՈՐՀԱՎՈՐ !!!», ԿԵՆՏՐՈՆ, 10); ուշացում (10000); myGLCD.clrScr (); // մաքրել էկրանը 10 վայրկյանից հետո}}

Խորհուրդ ենք տալիս: