Სარჩევი:

არდუინოს დაბადების დღის ტორტი: 4 ნაბიჯი
არდუინოს დაბადების დღის ტორტი: 4 ნაბიჯი

ვიდეო: არდუინოს დაბადების დღის ტორტი: 4 ნაბიჯი

ვიდეო: არდუინოს დაბადების დღის ტორტი: 4 ნაბიჯი
ვიდეო: Arduino - რობოტიკის სკოლა - ქუთაისის უნივერსიტეტი - #CreaLab #UNIK - დღე 2 2024, ივლისი
Anonim

ამ სასწავლო ინსტრუქციაში მე გავაკეთებ ძალიან მარტივ და ძირითად არდუინოს პროექტს: დაბადების დღის ტორტს!

დაბადების დღის ტორტი ნაჩვენებია UTFT ეკრანის ფარზე არდუინოზე და სპიკერი უკრავს "Happy birthday" მუსიკას.

როდესაც მიკროფონს აფეთქებთ, სანთლები ითიშება.

ნაბიჯი 1: მასალები

მასალები
მასალები
მასალები
მასალები
მასალები
მასალები
მასალები
მასალები

ამ მარტივი პროექტისთვის დაგჭირდებათ:

- arduino MEGA

- სპიკერი ან ზარი

- მიკროფონის მოდული

- UTFT ეკრანის არდუინოს ფარი

მე გადავწყვიტე გამოვიყენო arduino MEGA დაფა ამ პროექტისთვის ორი მიზეზის გამო: მას აქვს ბევრი მეხსიერება და აქვს ბევრი ქინძისთავები.

თქვენ არ შეგიძლიათ გამოიყენოთ arduino UNO ამ პროექტისათვის, რადგან როდესაც UTFT ეკრანი არის ჩართული მასზე ყველა ბუდე იმალება (აღარ არის ხელმისაწვდომი მიკროფონისთვის და დინამიკისთვის) და მას არ აქვს საკმარისი მეხსიერება (UTFT ბიბლიოთეკა არის ძალიან დიდი).

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა

სპიკერი აერთებს არდუინოს D40 და GND ქინძისთავებს.

მიკროფონი აერთებს ქინძისთავებს GND ("G"), 5V ("+") და A10 ("A0").

UTFT ეკრანი ჩვეულებრივ ფარს ჰგავს.

UTFT ეკრანის ფარი არ არის სრულად თავსებადი arduino MEGA– სთან: arduino დაფის USB დანამატი ძალიან დიდია

ამ პრობლემის გადასაჭრელად, მე ჩავრთე UTFT ეკრანი სხვა არდუინოს ფარზე (უფრო გრძელი ქინძისთავებით), შემდეგ ორივე ჩავრთე არდუინოზე.

ნაბიჯი 3: მიკროფონის დაკალიბრება

მიკროფონის დაკალიბრება
მიკროფონის დაკალიბრება
მიკროფონის დაკალიბრება
მიკროფონის დაკალიბრება

მიკროფონის დაკალიბრებისთვის დაგჭირდებათ ხრახნიანი მანქანა და თქვენი კომპიუტერი.

პირველ რიგში, ატვირთეთ შემდეგი კოდი თქვენს არდუინოში:

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); დაგვიანება (100); }

შემდეგ გადადით სერიულ მონიტორზე და დააკალიბრეთ მიკროფონი პოტენომეტრის შემობრუნებით ხრახნიანი ხმით, როდესაც ხმა არ არის, მნიშვნელობა უნდა იყოს დაახლოებით 30 ~ 40.

როდესაც მიკროფონს აფეთქებთ, მნიშვნელობა უნდა იყოს 100 -ზე მაღალი.

დარწმუნდით, რომ მნიშვნელობა 100 -ზე ნაკლებია საუბრისას (თუნდაც ხმამაღლა).

ნაბიჯი 4: კოდი

აქ არის პროექტის კოდი.

ის აჩვენებს დაბადების დღის ტორტს სანთლებით UTFT– ზე და უკრავს „გილოცავ დაბადების დღეს“დინამიკთან ერთად. ტორტი მზადდება მართკუთხედებით.

ეს პროგრამა მოითხოვს UTFT ბიბლიოთეკას.

#ჩართეთ

გარე 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 ("HAPPY BIRTHDAY!", CENTER, 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 წამის შემდეგ}}

გირჩევთ: