Orodha ya maudhui:

Keki ya kuzaliwa ya Arduino: Hatua 4
Keki ya kuzaliwa ya Arduino: Hatua 4

Video: Keki ya kuzaliwa ya Arduino: Hatua 4

Video: Keki ya kuzaliwa ya Arduino: Hatua 4
Video: Mambo 3 Ya Kufanya Leo Ili Uondoe Stress Maishani Mwako 2024, Novemba
Anonim

Katika hii inayoweza kufundishwa, nitafanya mradi rahisi na wa msingi wa arduino: keki ya siku ya kuzaliwa!

Keki ya kuzaliwa huonyeshwa kwenye ngao ya skrini ya UTFT kwenye arduino na spika hucheza muziki wa "Furaha ya kuzaliwa".

Unapopiga kipaza sauti, mishumaa huzima.

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

Kwa mradi huu rahisi, utahitaji:

- MEGA ya arduino

- mzungumzaji au buzzer

- moduli ya kipaza sauti

- ngao ya skrini ya arduino ya UTFT

Niliamua kutumia bodi ya MEGA arduino kwa mradi huu kwa sababu mbili: ina kumbukumbu nyingi na ina pini nyingi.

Huwezi kutumia arduino UNO kwa mradi huu, kwa sababu wakati skrini ya UTFT imechomekwa juu yake pini zote zimefichwa (hakuna tena zinazopatikana kwa kipaza sauti na spika), na haina kumbukumbu ya kutosha (maktaba ya UTFT ni kubwa sana).

Hatua ya 2: Wiring

Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring

Spika huziba pini D40 na GND ya arduino.

Kipaza sauti huziba kwenye pini za GND ("G"), 5V ("+") na A10 ("A0").

Skrini ya UTFT huziba kama ngao ya kawaida.

Kinga ya skrini ya UTFT haiendani kabisa na MEGA ya arduino: kuziba USB ya bodi ya arduino ni kubwa sana

Ili kurekebisha shida hii, nilifunga skrini ya UTFT kwenye ngao nyingine ya arduino (na pini ndefu), kisha nikaunganisha zote kwenye arduino.

Hatua ya 3: Sawazisha Sauti ya Sauti

Sawazisha Sauti ya Sauti
Sawazisha Sauti ya Sauti
Sawazisha Sauti ya Sauti
Sawazisha Sauti ya Sauti

Ili kusawazisha kipaza sauti, utahitaji bisibisi na kompyuta yako.

Kwanza, pakia nambari ifuatayo kwa arduino yako:

int val = 0;

kuanzisha batili () {Serial.begin (9600); } kitanzi batili () {val = analogSoma (10); Serial.println (val); kuchelewesha (100); }

Kisha nenda kwa mfuatiliaji wa serial na usuluhishe kipaza sauti kwa kugeuza potentiometer na bisibisi wakati hakuna sauti, thamani lazima iwe takriban 30 ~ 40.

Unapopiga kipaza sauti, thamani lazima iwe juu kuliko 100.

Hakikisha thamani ni ndogo kuliko 100 wakati unazungumza (hata kwa sauti kubwa).

Hatua ya 4: Kanuni

Hapa kuna nambari ya mradi.

Inaonyesha keki ya siku ya kuzaliwa na mishumaa kwenye UTFT na ina "Happy birthday" na spika. Keki imetengenezwa na mstatili.

Programu hii inahitaji maktaba ya UTFT.

# pamoja

nje uint8_t BigFont ; // badilisha maadili haya kulingana na kielelezo chako cha skrini UTFT myGLCD (ITDB28, A5, A4, A3, A2); nyimbo ya ndani = {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}; maelezo mafupiDurations = {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; kuanzisha batili () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // asili ya bluu myGLCD.setColor (200, 125, 50); // keki ya kahawia myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // icing nyeupe myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // mistari nyekundu myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // laini ya manjano myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // mishumaa ya rangi ya waridi myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // moto wa mishumaa myGLCD.fillCircle (130, 62, 5); myGLCD.jaza Mzunguko (160, 62, 5); myGLCD.jaza Mzunguko (190, 62, 5); myGLCD.setColor (0, 255, 0); // ujumbe wa kuzaliwa wa furaha myGLCD.print ("HAPPY BIRTHDAY!", KITUO, 200); kwa (int thisNote = 0; hii Note 100) {myGLCD.setColor (20, 200, 150); // huzima mishumaa myGLCD.fillCircle (130, 62, 5); myGLCD.jaza Mzunguko (160, 62, 5); myGLCD.jaza Mzunguko (190, 62, 5); myGLCD.setColor (255, 255, 255); // na inaonyesha "pongezi" ujumbe myGLCD.print ("HONGERA SANA !!!", KITUO, 10); kuchelewesha (10000); myGLCD.clrScr (); // wazi skrini baada ya miaka 10}}

Ilipendekeza: