Kazalo:

Arduino rojstnodnevna torta: 4 koraki
Arduino rojstnodnevna torta: 4 koraki

Video: Arduino rojstnodnevna torta: 4 koraki

Video: Arduino rojstnodnevna torta: 4 koraki
Video: Riley’s 5th birthday cake. Knight Rider KITT Arduino ATtiny project 2024, Julij
Anonim

V tem navodilu bom naredil zelo preprost in osnovni projekt arduino: rojstnodnevno torto!

Rojstnodnevna torta je prikazana na zaslonu UTFT na arduinu, zvočnik pa predvaja glasbo "Happy birthday".

Ko pihate v mikrofon, se sveče ugasnejo.

1. korak: Materiali

Materiali
Materiali
Materiali
Materiali
Materiali
Materiali
Materiali
Materiali

Za ta preprost projekt boste potrebovali:

- arduino MEGA

- zvočnik ali zvočni signal

- mikrofonski modul

- arduino ščit za zaslon UTFT

Odločil sem se, da bom za ta projekt uporabil arduino MEGA ploščo iz dveh razlogov: ima veliko pomnilnika in ima veliko zatičev.

Za ta projekt ne morete uporabiti arduino UNO, ker ko je zaslon UTFT priključen, so vsi zatiči skriti (za mikrofon in zvočnik ni več na voljo) in nima dovolj pomnilnika (knjižnica UTFT je zelo velik).

2. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Zvočnik se priključi na nožici D40 in GND arduina.

Mikrofon se priključi na nožice GND ("G"), 5V ("+") in A10 ("A0").

Zaslon UTFT se priklopi kot običajen ščit.

Zaščita zaslona UTFT ni popolnoma združljiva z arduino MEGA: vtič USB na plošči arduino je prevelik

Če želite odpraviti to težavo, sem zaslon UTFT priključil na drug arduino ščit (z daljšimi zatiči), nato pa sem oboje priključil na arduino.

3. korak: Umerite mikrofon

Umerite mikrofon
Umerite mikrofon
Umerite mikrofon
Umerite mikrofon

Za umerjanje mikrofona potrebujete izvijač in računalnik.

Najprej naložite naslednjo kodo v svoj arduino:

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); zamuda (100); }

Nato pojdite na serijski monitor in kalibrirajte mikrofon tako, da z izvijačem zavrtite potenciometer, če ni zvoka, vrednost mora biti približno 30 ~ 40.

Ko pišete v mikrofon, mora biti vrednost višja od 100.

Ko govorite (tudi glasno), se prepričajte, da je vrednost manjša od 100.

4. korak: Koda

Tukaj je koda projekta.

Na UTFT prikazuje rojstnodnevno torto s svečami in z zvočnikom predvaja "Srečen rojstni dan". Torta je narejena iz pravokotnikov.

Ta program zahteva knjižnico UTFT.

#vključi

zunanji uint8_t BigFont ; // spremenite te vrednosti glede na model zaslona UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melodija = {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); // modro ozadje myGLCD.setColor (200, 125, 50); // rjava torta myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // bela glazura myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // rdeče črte myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // rumena črta myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // roza sveče myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // ogenj sveč myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // sporočilo o rojstnem dnevu myGLCD.print ("HAPPY BIRTHDAY!", CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // izklopi sveče myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // in prikaže sporočilo "čestitke" myGLCD.print ("ČESTITAMO !!!", CENTER, 10); zamuda (10000); myGLCD.clrScr (); // po 10 sekundah počisti zaslon}}

Priporočena: