2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V tomto návode vyrobím veľmi jednoduchý a základný projekt arduino: narodeninovú tortu!
Na štítu obrazovky UTFT na arduine je zobrazená narodeninová torta a reproduktor hrá hudbu „Všetko najlepšie k narodeninám“.
Keď zapálite mikrofón, sviečky sa vypnú.
Krok 1: Materiály
Na tento jednoduchý projekt budete potrebovať:
- arduino MEGA
- reproduktor alebo bzučiak
- modul mikrofónu
- štít arduino obrazovky UTFT
Pre tento projekt som sa rozhodol použiť dosku arduino MEGA z dvoch dôvodov: má veľa pamäte a veľa pinov.
Na tento projekt nemôžete použiť arduino UNO, pretože keď je na ňom zapojená obrazovka UTFT, všetky piny sú skryté (pre mikrofón a reproduktor nie sú k dispozícii žiadne ďalšie) a nemá dostatok pamäte (knižnica UTFT je veľmi veľký).
Krok 2: Zapojenie
Reproduktor sa pripája na piny D40 a GND arduina.
Mikrofón sa pripája na kolíky GND („G“), 5V („+“) a A10 („A0“).
Obrazovka UTFT sa pripája ako bežný štít.
Štít obrazovky UTFT nie je úplne kompatibilný s arduino MEGA: konektor USB dosky arduino je príliš veľký
Aby som tento problém vyriešil, zapojil som obrazovku UTFT na iný arduino štít (s dlhšími kolíkmi), potom som zapojil oba na arduino.
Krok 3: Kalibrujte mikrofón
Na kalibráciu mikrofónu budete potrebovať skrutkovač a počítač.
Najprv si do arduina nahrajte nasledujúci kód:
int val = 0;
void setup () {Serial.begin (9600); } prázdna slučka () {val = analogRead (10); Serial.println (val); oneskorenie (100); }
Potom choďte na sériový monitor a kalibrujte mikrofón otáčaním potenciometra skrutkovačom, keď nie je žiadny zvuk, hodnota musí byť približne 30 ~ 40.
Keď fúkate do mikrofónu, hodnota musí byť vyššia ako 100.
Keď hovoríte (aj nahlas), uistite sa, že je hodnota menšia ako 100.
Krok 4: Kód
Tu je kód projektu.
Na UTFT zobrazí narodeninovú tortu so sviečkami a s reproduktorom zahrá „Happy birthday“. Torta je vyrobená z obdĺžnikov.
Tento program vyžaduje knižnicu UTFT.
#zahrnúť
externý uint8_t BigFont ; // zmeňte tieto hodnoty podľa modelu obrazovky UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melódia = {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); // modré pozadie myGLCD.setColor (200, 125, 50); // hnedý koláč myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // biela poleva myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // červené čiary myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // žltá čiara myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // ružové sviečky myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // oheň sviečok myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // správa k narodeninám myGLCD.print („HAPPY BIRTHDAY!“, CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // vypne sviečky myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // a zobrazí správu „gratulujeme“myGLCD.print („GRATULUJEME !!!“, CENTRUM, 10); oneskorenie (10 000); myGLCD.clrScr (); // vyčistenie obrazovky po 10 s}}}