ዝርዝር ሁኔታ:

የአርዱዲኖ የልደት ኬክ 4 ደረጃዎች
የአርዱዲኖ የልደት ኬክ 4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ የልደት ኬክ 4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ የልደት ኬክ 4 ደረጃዎች
ቪዲዮ: በ30 ቀን እራስን መለወጥ Change Yourself in 30 Days 2024, ህዳር
Anonim

በዚህ አስተማሪ ውስጥ ፣ በጣም ቀላል እና መሠረታዊ የአሩዲኖ ፕሮጀክት እሠራለሁ - የልደት ቀን ኬክ!

በአርዲኖ ላይ በ UTFT ማያ ጋሻ ላይ የልደት ኬክ ይታያል እና ተናጋሪው “መልካም ልደት” ሙዚቃን ይጫወታል።

በማይክሮፎኑ ላይ ሲነፉ ሻማዎቹ ይጠፋሉ።

ደረጃ 1: ቁሳቁሶች

ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች

ለዚህ ቀላል ፕሮጀክት ፣ ያስፈልግዎታል

- አርዱዲኖ ሜጋ

- ድምጽ ማጉያ ወይም ድምጽ ማጉያ

- የማይክሮፎን ሞዱል

- የ UTFT ማያ ገጽ arduino ጋሻ

በሁለት ምክንያቶች ለዚህ ፕሮጀክት አርዱዲኖ ሜጋ ቦርድ ለመጠቀም ወሰንኩ - ብዙ ማህደረ ትውስታ አለው እና ብዙ ፒኖች አሉት።

ለዚህ ፕሮጀክት አርዱዲኖ UNO ን መጠቀም አይችሉም ፣ ምክንያቱም የ UTFT ማያ ገጽ በላዩ ላይ ሲሰካ ሁሉም ፒኖች ተደብቀዋል (ለማይክሮፎኑ እና ለድምጽ ማጉያው ከእንግዲህ አይገኝም) ፣ እና በቂ ማህደረ ትውስታ የለውም (የ UTFT ቤተ -መጽሐፍት በጣም ትልቅ).

ደረጃ 2 - ሽቦ

ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ

ተናጋሪው በአርዱዲኖዎች D40 እና GND ላይ ይሰካል።

ማይክሮፎኑ በፒዲዎች GND (“G”) ፣ 5V (“+”) እና A10 (“A0”) ላይ ይሰካል።

የ UTFT ማያ ገጽ እንደ መደበኛ ጋሻ ይሰካል።

የ UTFT ማያ መከለያ ከአርዲኖ ሜጋ ጋር ሙሉ በሙሉ ተኳሃኝ አይደለም -የአርዱዲኖ ቦርድ የዩኤስቢ መሰኪያ በጣም ትልቅ ነው።

ይህንን ችግር ለማስተካከል የ UTFT ማያ ገጹን በሌላ አርዱዲኖ ጋሻ (ከረዥም ፒኖች ጋር) ሰካሁ ፣ ከዚያ ሁለቱንም በአርዱዲኖ ላይ ሰካሁ።

ደረጃ 3 ማይክሮፎኑን ያስተካክሉ

ማይክሮፎኑን ያስተካክሉ
ማይክሮፎኑን ያስተካክሉ
ማይክሮፎኑን ያስተካክሉ
ማይክሮፎኑን ያስተካክሉ

ማይክሮፎኑን ለማስተካከል ፣ ዊንዲቨር እና ኮምፒተርዎ ያስፈልግዎታል።

በመጀመሪያ የሚከተለውን ኮድ ወደ አርዱዲኖ ይስቀሉ

int val = 0;

ባዶነት ማዋቀር () {Serial.begin (9600); } ባዶነት 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 melody = {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 ፣ 4 ፣ 2 ፣ 8 ፣ 8 ፣ 4 ፣ 4 ፣ 4 ፣ 4 ፣ 2 ፣ 8 ፣ 8 ፣ 4 ፣ 4 ፣ 4 ፣ 4 ፣ 3 ፣ 8 ፣ 8 ፣ 4 ፣ 4, 4, 2}; int val = 0; ባዶነት ማዋቀር () {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); ለ (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 (“CONGRATULATIONS !!!” ፣ CENTER ፣ 10) ያሳያል ፤ መዘግየት (10000); myGLCD.clrScr (); // ከ 10 ሰከንዶች በኋላ ግልፅ ማያ ገጽ}}

የሚመከር: