Агуулгын хүснэгт:

Arduino -ийн төрсөн өдрийн бялуу: 4 алхам
Arduino -ийн төрсөн өдрийн бялуу: 4 алхам

Видео: Arduino -ийн төрсөн өдрийн бялуу: 4 алхам

Видео: Arduino -ийн төрсөн өдрийн бялуу: 4 алхам
Видео: I WON AN APEX LEGENDS MATCH!!! # 2 2024, Арваннэгдүгээр
Anonim

Энэхүү зааварчилгаанд би маш энгийн бөгөөд энгийн arduino төсөл хийх болно: төрсөн өдрийн бялуу!

Төрсөн өдрийн бялууг arduino дээрх UTFT дэлгэцийн бамбай дээр харуулдаг бөгөөд чанга яригч "Төрсөн өдрийн мэнд" хөгжмийг тоглуулдаг.

Микрофон дээр үлээхэд лаа унтардаг.

Алхам 1: Материал

Материал
Материал
Материал
Материал
Материал
Материал
Материал
Материал

Энэхүү энгийн төслийн хувьд танд дараахь зүйлс хэрэгтэй болно.

- arduino MEGA

- чанга яригч эсвэл дуугарагч

- микрофон модуль

- UTFT дэлгэцтэй arduino бамбай

Би энэ төслийн хувьд arduino MEGA хавтанг ашиглахаар шийдсэн: санах ой ихтэй, зүү ихтэй.

Та энэ төсөлд arduino UNO ашиглах боломжгүй, учир нь UTFT дэлгэцийг залгахад бүх зүү нуугддаг (микрофон болон чанга яригч байхгүй болно), санах ой хангалтгүй (UTFT номын сан нь маш том).

Алхам 2: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас

Чанга яригч нь arduino -ийн D40 ба GND зүүг холбодог.

Микрофон нь GND ("G"), 5V ("+") ба A10 ("A0") тээглүүрт холбогддог.

UTFT дэлгэц нь ердийн бамбай шиг залгагддаг.

UTFT дэлгэцийн бамбай нь arduino MEGA -тай бүрэн нийцдэггүй: arduino хавтангийн USB залгуур хэт том байна

Энэ асуудлыг шийдэхийн тулд би UTFT дэлгэцийг өөр arduino бамбай дээр (урт зүүтэй) холбож, дараа нь хоёуланг нь arduino дээр залгасан.

Алхам 3: Микрофоныг тохируулна уу

Микрофоныг тохируулах
Микрофоныг тохируулах
Микрофоныг тохируулах
Микрофоныг тохируулах

Микрофоныг тохируулахын тулд танд халив, компьютер хэрэгтэй болно.

Нэгдүгээрт, дараах кодыг өөрийн arduino -д байршуулна уу.

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); саатал (100); }

Дараа нь цуваа монитор руу очоод дуу чимээ гарахгүй бол потенциометрийг халиваар эргүүлж микрофоныг тохируулаарай, утга нь ойролцоогоор 30 ~ 40 байх ёстой.

Микрофон дээр үлээх үед утга нь 100 -аас дээш байх ёстой.

Ярьж байхдаа (чанга дуугаар ч гэсэн) утга нь 100 -аас бага байгаа эсэхийг шалгаарай.

Алхам 4: Код

Төслийн код энд байна.

Энэ нь UTFT дээр лаатай төрсөн өдрийн бялууг харуулж, чанга яригчтай "Төрсөн өдрийн мэнд" -ийг тоглуулдаг. Бялууг тэгш өнцөгтөөр хийдэг.

Энэ програм нь UTFT номын санг шаарддаг.

#оруулах

extern uint8_t BigFont ; // эдгээр утгыг дэлгэцийн загварын UTFT myGLCD (ITDB28, A5, A4, A3, A2) дагуу өөрчлөх; int аялгуу = {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); // цэнхэр дэвсгэр myGLCD.setColor (200, 125, 50); // бор бялуу myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // цагаан мөстөлт myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // улаан шугамууд myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // шар шугам myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // ягаан лаа myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // лааны гал myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // төрсөн өдрийн мэнд хүргэе myGLCD.print ("ТӨРСӨН ӨДРИЙН МЭНД ХҮРГЭЕ!", ТӨВ, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // myGLCD.fillCircle лаа унтраадаг (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // мөн "баяр хүргэе" гэсэн мессежийг харуулна myGLCD.print ("БАЯРЛАЛАА !!!", ТӨВ, 10); саатал (10000); myGLCD.clrScr (); // 10 секундын дараа дэлгэцийг цэвэрлэ}}

Зөвлөмж болгож буй: