INHOUDSOPGAWE:

Arduino -verjaardagkoek: 4 stappe
Arduino -verjaardagkoek: 4 stappe

Video: Arduino -verjaardagkoek: 4 stappe

Video: Arduino -verjaardagkoek: 4 stappe
Video: 🇳🇱 28BYJ-48 STAPPENMOTOR MET ULN2003 DRIVER - Arduino les #14 2024, November
Anonim

In hierdie instruksies maak ek 'n baie eenvoudige en basiese arduino -projek: 'n verjaardagkoek!

'N Verjaardagkoek word op die UTFT -skerm op die arduino vertoon en 'n spreker speel die musiek "Gelukkige verjaardag".

As jy op die mikrofoon blaas, gaan die kerse af.

Stap 1: materiaal

Materiaal
Materiaal
Materiaal
Materiaal
Materiaal
Materiaal
Materiaal
Materiaal

Vir hierdie eenvoudige projek benodig u:

- 'n arduino MEGA

- 'n luidspreker of 'n gonser

- 'n mikrofoonmodule

- 'n UTFT -skerm -arduino -skild

Ek het besluit om 'n arduino MEGA -bord vir hierdie projek om twee redes te gebruik: dit het baie geheue en baie penne.

U kan nie 'n arduino UNO vir hierdie projek gebruik nie, want as die UTFT -skerm daaraan toegesluit word, word alle penne versteek (daar is nie meer vir die mikrofoon en die luidspreker beskikbaar nie), en dit het nie genoeg geheue nie (die UTFT -biblioteek is baie groot).

Stap 2: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Die luidspreker sluit die penne D40 en GND van die arduino aan.

Die mikrofoon sluit die penne GND ("G"), 5V ("+") en A10 ("A0") in.

Die UTFT -skerm sluit aan soos 'n gewone skild.

Die UTFT -skermskerm is nie ten volle versoenbaar met die arduino MEGA nie: die USB -aansluiting van die arduino -bord is te groot

Om hierdie probleem op te los, het ek die UTFT -skerm op 'n ander arduino -skild (met langer penne) ingeprop, en ek het albei die arduino ingeprop.

Stap 3: Kalibreer die mikrofoon

Kalibreer die mikrofoon
Kalibreer die mikrofoon
Kalibreer die mikrofoon
Kalibreer die mikrofoon

Om die mikrofoon te kalibreer, benodig u 'n skroewedraaier en u rekenaar.

Laai eers die volgende kode na u arduino op:

int val = 0;

ongeldige opstelling () {Serial.begin (9600); } leemte lus () {val = analogRead (10); Serial.println (val); vertraging (100); }

Gaan dan na die seriële monitor en kalibreer die mikrofoon deur die potensiometer met die skroewedraaier te draai as daar geen geluid is nie; die waarde moet ongeveer 30 ~ 40 wees.

As u op die mikrofoon blaas, moet die waarde hoër as 100 wees.

Maak seker dat die waarde kleiner as 100 is as u praat (selfs hard).

Stap 4: Die kode

Hier is die kode van die projek.

Dit wys 'n verjaardagkoek met kerse op die UTFT en speel 'Gelukkige verjaardag' met die spreker. Die koek is gemaak met reghoeke.

Hierdie program benodig die UTFT -biblioteek.

#insluit

eksterne uint8_t BigFont ; // verander hierdie waardes volgens u skermmodel 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; ongeldige opstelling () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // blou agtergrond myGLCD.setColor (200, 125, 50); // bruin koek myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // wit versiersel myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // rooi lyne myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // geel lyn myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // pienk kerse myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // vuur van die kerse myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // gelukkige verjaardagboodskap myGLCD.print ("HAPPY BIRTHDAY!", CENTRE, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // skakel die kerse myGLCD.fillCircle (130, 62, 5) af; myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // en vertoon 'gelukwensing' boodskap myGLCD.print ("GELUKWENS !!!", SENTRUM, 10); vertraging (10000); myGLCD.clrScr (); // maak skerm skoon na 10s}}

Aanbeveel: