2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V tomto návodu udělám velmi jednoduchý a základní projekt arduino: narozeninový dort!
Narozeninový dort se zobrazí na štítu obrazovky UTFT na arduinu a reproduktor přehraje hudbu „Všechno nejlepší k narozeninám“.
Když zapálíte mikrofon, svíčky se vypnou.
Krok 1: Materiály
Pro tento jednoduchý projekt budete potřebovat:
- arduino MEGA
- reproduktor nebo bzučák
- modul mikrofonu
- štít arduino obrazovky UTFT
Rozhodl jsem se pro tento projekt použít desku arduino MEGA ze dvou důvodů: má spoustu paměti a má mnoho pinů.
Pro tento projekt nemůžete použít arduino UNO, protože když je na něm připojena obrazovka UTFT, všechny piny jsou skryté (pro mikrofon a reproduktor již nejsou k dispozici) a nemá dostatek paměti (knihovna UTFT je Velmi velký).
Krok 2: Zapojení
Reproduktor se zapojuje na piny D40 a GND arduina.
Mikrofon se připojuje na piny GND („G“), 5V („+“) a A10 („A0“).
Obrazovka UTFT se připojuje jako běžný štít.
Štít obrazovky UTFT není plně kompatibilní s arduino MEGA: USB konektor desky arduino je příliš velký
Abych tento problém vyřešil, připojil jsem obrazovku UTFT na jiný arduino štít (s delšími piny), pak jsem připojil oba na arduino.
Krok 3: Kalibrujte mikrofon
Ke kalibraci mikrofonu budete potřebovat šroubovák a počítač.
Nejprve do arduina nahrajte následující kód:
int val = 0;
neplatné nastavení () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); zpoždění (100); }
Poté přejděte na sériový monitor a kalibrujte mikrofon otáčením potenciometru šroubovákem, když není slyšet žádný zvuk, hodnota musí být přibližně 30 ~ 40.
Když foukáte na mikrofon, hodnota musí být vyšší než 100.
Když mluvíte (i nahlas), ujistěte se, že je hodnota menší než 100.
Krok 4: Kód
Zde je kód projektu.
Na UTFT zobrazuje narozeninový dort se svíčkami a s reproduktorem hraje „Všechno nejlepší k narozeninám“. Dort je vyroben z obdélníků.
Tento program vyžaduje knihovnu UTFT.
#zahrnout
extern uint8_t BigFont ; // změňte tyto hodnoty podle modelu obrazovky UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melodie = {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; neplatné nastavení () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // modré pozadí myGLCD.setColor (200, 125, 50); // hnědý koláč myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // bílá poleva myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // červené čáry myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // žlutá čára myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // růžové svíč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ň svíček myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // zpráva k narozeninám myGLCD.print („HAPPY BIRTHDAY!“, CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // vypne svíčky myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // a zobrazí zprávu "gratuluji" myGLCD.print ("GRATULUJEME !!!", CENTRUM, 10); zpoždění (10 000); myGLCD.clrScr (); // vymazání obrazovky po 10 s}}