Indholdsfortegnelse:

Arduino fødselsdagskage: 4 trin
Arduino fødselsdagskage: 4 trin

Video: Arduino fødselsdagskage: 4 trin

Video: Arduino fødselsdagskage: 4 trin
Video: Flappy Bird ending 2024, Juli
Anonim

I denne instruktive vil jeg lave et meget enkelt og grundlæggende arduino -projekt: en fødselsdagskage!

En fødselsdagskage vises på UTFT -skærmen på arduinoen, og en højttaler spiller musikken "Tillykke med fødselsdagen".

Når du blæser på mikrofonen, slukkes lysene.

Trin 1: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Til dette enkle projekt skal du bruge:

- en arduino MEGA

- en højttaler eller en summer

- et mikrofonmodul

- et UTFT skærm arduino skjold

Jeg besluttede at bruge et arduino MEGA -bord til dette projekt af to grunde: det har meget hukommelse og det har mange stifter.

Du kan ikke bruge en arduino UNO til dette projekt, for når UTFT -skærmen er tilsluttet, er alle stifter skjulte (der er ikke flere tilgængelige til mikrofonen og højttaleren), og den har ikke nok hukommelse (UTFT -biblioteket er meget stor).

Trin 2: Ledningsføring

Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger

Højttaleren tilsluttes stifterne D40 og GND på arduinoen.

Mikrofonen tilsluttes ben GND ("G"), 5V ("+") og A10 ("A0").

UTFT -skærmen tilsluttes som et almindeligt skjold.

UTFT -skærmskærmen er ikke fuldt ud kompatibel med arduino MEGA: USB -stikket på arduino -kortet er for stort

For at løse dette problem tilsluttede jeg UTFT -skærmen til et andet arduino -skjold (med længere stifter), derefter sluttede jeg begge til arduinoen.

Trin 3: Kalibrer mikrofonen

Kalibrer mikrofonen
Kalibrer mikrofonen
Kalibrer mikrofonen
Kalibrer mikrofonen

For at kalibrere mikrofonen skal du bruge en skruetrækker og din computer.

Upload først følgende kode til din arduino:

int val = 0;

ugyldig opsætning () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); forsinkelse (100); }

Gå derefter til den serielle skærm og kalibrer mikrofonen ved at dreje potentiometeret med skruetrækkeren, når der ikke er nogen lyd, værdien skal være cirka 30 ~ 40.

Når du blæser på mikrofonen, skal værdien være højere end 100.

Sørg for, at værdien er mindre end 100, når du taler (endda højt).

Trin 4: Koden

Her er projektets kode.

Den viser en fødselsdagskage med stearinlys på UTFT og spiller "Tillykke med fødselsdagen" med højttaleren. Kagen er lavet med rektangler.

Dette program kræver UTFT -biblioteket.

#omfatte

ekstern uint8_t BigFont ; // ændre disse værdier i henhold til din skærmmodel UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melodi = {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; ugyldig opsætning () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // blå baggrund myGLCD.setColor (200, 125, 50); // brun kage myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // hvid glasur myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // røde linjer myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // gul linje myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // lyserøde stearinlys myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // brand af stearinlysene myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // tillykke med fødselsdagen myGLCD.print ("HAPPY FIRDAG!", CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // slukker lysene myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // og viser meddelelsen "tillykke" myGLCD.print ("TILLYKKE !!!", CENTER, 10); forsinkelse (10000); myGLCD.clrScr (); // ryd skærmen efter 10 sekunder}}

Anbefalede: