Mundarija:

Arduino tug'ilgan keki: 4 qadam
Arduino tug'ilgan keki: 4 qadam

Video: Arduino tug'ilgan keki: 4 qadam

Video: Arduino tug'ilgan keki: 4 qadam
Video: It Became Unliveable! ~ Abandoned Home Of The Spenser's In The USA 2024, Noyabr
Anonim

Bu ko'rsatmada men juda oddiy va oddiy arduino loyihasini tayyorlayman: tug'ilgan kungi tort!

Tug'ilgan kun keki arduino -dagi UTFT ekranida ko'rsatiladi va karnay "Tug'ilgan kuning bilan" musiqasini ijro etadi.

Mikrofonni urganingizda, shamlar o'chadi.

1 -qadam: materiallar

Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar

Ushbu oddiy loyiha uchun sizga kerak bo'ladi:

- MEGA arduino

- karnay yoki ovozli signal

- mikrofon moduli

- UTFT ekranli arduino qalqoni

Men ikkita sababga ko'ra ushbu loyiha uchun arduino MEGA kartasini ishlatishga qaror qildim: uning xotirasi juda ko'p va pinlari ko'p.

Siz bu loyiha uchun arduino UNO -dan foydalana olmaysiz, chunki UTFT ekrani ulanganida, barcha pinlar yashiringan (mikrofon va karnayda boshqa mavjud emas) va xotirasi etarli emas (UTFT kutubxonasi juda katta).

2 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Karnay D40 va GND pinlarini arduino -ga ulaydi.

Mikrofon GND ("G"), 5V ("+") va A10 ("A0") pinlariga ulanadi.

UTFT ekrani oddiy qalqon kabi ulanadi.

UTFT ekran qalqoni arduino MEGA bilan to'liq mos kelmaydi: arduino kartasining USB vilkasi juda katta

Ushbu muammoni hal qilish uchun men UTFT ekranini boshqa arduino qalqoniga (uzunroq pinli), keyin ikkalasini arduino -ga uladim.

3 -qadam: Mikrofonni sozlang

Mikrofonni sozlang
Mikrofonni sozlang
Mikrofonni sozlang
Mikrofonni sozlang

Mikrofonni sozlash uchun sizga tornavida va kompyuter kerak bo'ladi.

Birinchidan, arduino -ga quyidagi kodni yuklang:

int val = 0;

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

Keyin ketma -ket monitorga o'ting va tovush bo'lmasa, potentsiometrni tornavida bilan burab mikrofonni sozlang, qiymat taxminan 30 ~ 40 bo'lishi kerak.

Mikrofonni urganingizda, qiymat 100 dan yuqori bo'lishi kerak.

Gapirganda (hatto baland ovozda) qiymat 100 dan kichik ekanligiga ishonch hosil qiling.

4 -qadam: Kod

Mana loyihaning kodi.

UTFTda sham qo'yilgan tug'ilgan kungi tort ko'rsatiladi va karnay bilan "Tug'ilgan kuning bilan" o'ynaydi. Kek to'rtburchaklar yordamida tayyorlanadi.

Bu dastur UTFT kutubxonasini talab qiladi.

#qo'shing

extern uint8_t BigFont ; // UTFT myGLCD (ITDB28, A5, A4, A3, A2) ekran modeliga muvofiq bu qiymatlarni o'zgartiring; int ohang = {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); // ko'k fon myGLCD.setColor (200, 125, 50); // jigarrang pirog myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // oq muzlash myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // qizil chiziqlar myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // sariq chiziq myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // pushti shamlar myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // shamlar olovi myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // tug'ilgan kuningiz bilan tabriklash myGLCD.print ("TUG'ILGAN MUBORAK!", MARKAZI, 200); uchun (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // myGLCD.fillCircle shamlarini o'chiradi (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // va "tabriklar" xabarini ko'rsatadi myGLCD.print ("TABRIKLAR !!!", MARKAZI, 10); kechikish (10000); myGLCD.clrScr (); // 10 soniyadan keyin ekranni tozalash}}

Tavsiya: