Съдържание:

Торта за рожден ден на Arduino: 4 стъпки
Торта за рожден ден на Arduino: 4 стъпки

Видео: Торта за рожден ден на Arduino: 4 стъпки

Видео: Торта за рожден ден на Arduino: 4 стъпки
Видео: Свидание в 16 vs 26 лет 😨😳 2024, Ноември
Anonim

В тази инструкция ще направя много прост и основен проект arduino: торта за рожден ден!

Торта за рожден ден се показва на екрана на UTFT екрана на arduino, а високоговорител възпроизвежда музиката „Честит рожден ден“.

Когато духате в микрофона, свещите се изключват.

Стъпка 1: Материали

Материали
Материали
Материали
Материали
Материали
Материали
Материали
Материали

За този прост проект ще ви трябва:

- arduino MEGA

- високоговорител или зумер

- микрофонов модул

- UTFT екран arduino щит

Реших да използвам arduino MEGA платка за този проект по две причини: има много памет и много щифтове.

Не можете да използвате arduino UNO за този проект, защото когато UTFT екранът е включен, всички пинове са скрити (няма повече достъпни за микрофона и високоговорителя) и няма достатъчно памет (библиотеката UTFT е много голям).

Стъпка 2: Окабеляване

Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации

Високоговорителят включва контакти D40 и GND на arduino.

Микрофонът се включва на щифтове GND ("G"), 5V ("+") и A10 ("A0").

UTFT екранът се включва като обикновен щит.

Екранът на UTFT екрана не е напълно съвместим с arduino MEGA: USB щепселът на платката arduino е твърде голям

За да разреша този проблем, включих 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 и пуска „Честит рожден ден“с високоговорителя. Тортата се прави с правоъгълници.

Тази програма изисква UTFT библиотека.

#включва

extern uint8_t BigFont ; // променете тези стойности според вашия модел на екрана UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melody = {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 ("ЧЕСТИТ РОЖДЕН ДЕН!", ЦЕНТЪР, 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 секунди}}

Препоръчано: