תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
במדריך זה אכין פרויקט ארדואינו פשוט ובסיסי ביותר: עוגת יום הולדת!
עוגת יום הולדת מוצגת על מגן מסך ה- UTFT על הארדואינו ורמקול מנגן את מוזיקת "יום הולדת שמח".
כאשר אתה נושף על המיקרופון, הנרות נכבים.
שלב 1: חומרים
לפרויקט פשוט זה תצטרך:
- MEGA ארדואינו
- רמקול או זמזם
- מודול מיקרופון
- מגן ארדואינו עם מסך UTFT
החלטתי להשתמש בלוח MEGA של arduino לפרויקט זה משתי סיבות: יש לו הרבה זיכרון ויש לו הרבה סיכות.
אינך יכול להשתמש ב- UNO arduino לפרויקט זה, מכיוון שכאשר מסך UTFT מחובר אליו כל הסיכות מוסתרות (אין יותר זמינות למיקרופון ולרמקול), ואין לו מספיק זיכרון (ספריית UTFT היא גדול מאוד).
שלב 2: חיווט
הרמקול מחבר את הפינים D40 ו- GND של הארדואינו.
המיקרופון מתחבר לפינים GND ("G"), 5V ("+") ו- A10 ("A0").
מסך UTFT מתחבר כמו מגן רגיל.
מגן המסך UTFT אינו תואם במלואו ל- arduino MEGA: תקע ה- USB של לוח הארדואינו גדול מדי
כדי לתקן את הבעיה, חיברתי את מסך ה- UTFT למגן ארדואינו אחר (עם סיכות ארוכות יותר), ואז חיברתי את שניהם לארדואינו.
שלב 3: כייל את המיקרופון
כדי לכייל את המיקרופון, תזדקק למברג והמחשב שלך.
ראשית, העלה את הקוד הבא לארדואינו שלך:
int val = 0;
הגדרת void () {Serial.begin (9600); } לולאת חלל () {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, 2, 8, 8, 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 ("HAPPY BIRTHDAY!", CENTRE, 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 שניות}}