Obsah:

Narozeninový dort Arduino: 4 kroky
Narozeninový dort Arduino: 4 kroky

Video: Narozeninový dort Arduino: 4 kroky

Video: Narozeninový dort Arduino: 4 kroky
Video: Recept na nadýchaný piškotový dort – perfektní dort!| Chutný TV 2024, Listopad
Anonim

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

Materiály
Materiály
Materiály
Materiály
Materiály
Materiály
Materiály
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í

Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení
Elektrické vedení

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

Kalibrujte mikrofon
Kalibrujte mikrofon
Kalibrujte mikrofon
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}}

Doporučuje: