תוכן עניינים:
וִידֵאוֹ: פעמון דלת ארדואינו: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
היום, אני אראה לך כיצד להכין פעמון דלת באמצעות ארדואינו. פעמון דלת זה מנגן מנגינה אקראית מספריית שירים. אתה יכול להתאים אישית את פעמון הדלת שלך ולהוסיף עוד שירים. התקן אותו מחוץ לחדר השינה, הכיתה, המשרד או אפילו דלת הכניסה שלך!
אספקה:
- Arduino Uno (רוב הסוגים האחרים יעשו זאת)
- מחשב עם Arduino IDE לתכנות
- כבל USB-A ל- USB-B לתכנות Arduino
- לוח לחם
- 4x חוטי מגשר
- כפתור לחיצה או מתג אחר
- נגד 10 קאוהם
- זמזם פסיבי (כלומר רמקול פיזואלקטרי)
-
להתקנה קבועה:
- ספק כוח 9V DC או סוללת 9V להנעת Arduino
- 2x חוטים ארוכים לכפתור חיווט מחוץ לדלת
שלב 1: התקנת חומרה
ראשית, נתקין את החומרה. נתחיל בזמזם הפסיבי (כלומר רמקול). אנו רוצים לחבר את הקצה החיובי של הבאזר הפאסיבי (המסומן בסימן "+") לסיכה דיגיטלית 8 על הארדואינו. נחבר את הקצה השני של זמזם הפאסיזה לקרקע.
לאחר מכן, נתקין את לחצן הפעמון לדלת. נשתמש בנגד הנעה חיצוני של 10 kOhm למתג, כך שאין מתח צף או מצב לא יציב בכניסה לארדואינו. על ידי שימוש בנגד הנפתח, ה- Arduino קורא את המתח כ- 0V כאשר הכפתור אינו נלחץ ו- 5V בעת לחיצה על הכפתור. למידע נוסף על נגדי pullup או pulldown, אתה יכול לקרוא מאמר זה:
נחבר צד אחד של לחצן ה- 5V. הצד השני של כפתור החיבור יתחבר לקרקע באמצעות נגד הנעה של 10 קאוהם. זכור: כפתורי לחיצה מחוברים אופקית פנימית. הם מחוברים אנכית רק כאשר לוחצים עליהם. מידע נוסף ניתן במאמר זה:
שלב 2: התקנת תוכנה
כל הקוד מצורף. להלן התיאורים של כל אחת מהפונקציות עם תמונות של הקוד.
להכין:
בפונקציית ההתקנה (), אנו רוצים להגדיר את הסיכות הדיגיטליות לכפתור ולרמקול שלנו. אנו רוצים להגדיר את סיכה 2 ככניסה לכפתור שלנו, ואנו רוצים להגדיר את סיכה 8 כפלט לרמקול שלנו.
אנו רוצים גם "לזרע" את מחולל המספרים האקראיים שלנו לבחירה אקראית של מנגינה כאשר מישהו מצלצל בפעמון הדלת שלנו. זריעת מחולל המספרים האקראיים פירושה הזנת קלט אקראי. אנו נזרע את מחולל המספרים האקראיים שלנו עם ערך המתח על הכניסה האנלוגית 0. מכיוון ששום דבר אינו מחובר לכניסה זו, יהיה על פין זה מתח "אקראי" משתנה המספק למחולל המספרים האקראיים שלנו ערכים רבים ושונים. זה מבטיח שיהיה לנו סדר אחר של בחירת שירים לפעמון הדלת שלנו. למידע נוסף על הפונקציה אקראית () Arduino, עבור לכאן:
#כלול "pitches.h"
#include "songs.h" #define BUTTON_PIN 2 #define SPEAKER_PIN 8/ * function set up */void setup () {// אפשר קלט/פלט סיכות pinMode (BUTTON_PIN, INPUT); pinMode (SPEAKER_PIN, OUTPUT); // פונקציית random seed () כך שנוכל לקבל סדר אחר randomSeed (analogRead (0)); }
לוּלָאָה:
בפונקציית הלופ (), נבדוק כל הזמן אם נלחץ על הכפתור (סיכה דיגיטלית 2 גבוהה). אם הסיכה גבוהה, אנו ממתינים 50 אלפיות השנייה ובודקים שוב כדי לוודא שהיא עדיין גבוהה. זה מבטיח ללחוץ על הלחצן וזה לא היה רעש תועה על סיכת הכניסה הדיגיטלית וגרם לחיוב כוזב.
לאחר שאישרנו כי לחצו על הכפתור, אנו משתמשים במחולל המספרים האקראי שלנו כדי לבחור אחד מחמשת השירים באמצעות הצהרת מתג. הנתונים עבור שירים אלה מאוחסנים ב- "songs.h" ומידע המגרש מאוחסן ב- "pitches.h". ברגע שאנו בוחרים שיר, אנו מעבירים את המידע הזה לפונקציה play_song ().
/ * הפונקציה main while loop */
לולאת void () {// בדוק אם נלחץ על הלחצן אם (digitalRead (BUTTON_PIN) == HIGH) {// עיכוב של 50 אלפיות השנייה כדי לוודא שהוא עדיין נלחץ // ימנע כל עיכוב קריאה שגויה (50); if (digitalRead (BUTTON_PIN) == HIGH) {// בחר באקראי שיר int song_choice = אקראי (5); // בחר איזה שיר להפעיל (song_choice) {case 0: play_song (haircutLength, haircut, haircutDurations, haircutTempo); לשבור; מקרה 1: play_song (marioLength, mario, marioDurations, marioTempo); לשבור; מקרה 2: play_song (miiLength, mii, miiDurations, miiTempo); לשבור; מקרה 3: play_song (hpLength, hp, hpDurations, hpTempo); לשבור; מקרה 4: play_song (takeonmeLength, takeonme, takeonmeDurations, takeonmeTempo); לשבור; ברירת מחדל: play_song (miiLength, mii, miiDurations, miiTempo); לשבור; }}}}
לנגן שיר:
play_song () לוקח 4 ארגומנטים: מספר שלם של תווים בשיר, מערך שלם של המגרשים במנגינה, מערך שלם של משך הזמן וקצב שלם של השיר המסוים. עליך לציין כל אחד מהם עבור כל שיר שאתה רוצה לנגן. למידע נוסף על אופן השימוש בפונקציות הטון של Arduino, תוכל לעיין במדריך זה: https://www.arduino.cc/en/Tutorial/ToneMelody. הוספתי קצת פונקציונליות על גבי מדריך זה להערות מנוקדות. אם ערך במערך משך ההערה הוא שלילי, פירוש הדבר שהוא פתק מנוקד (האורך גדול פי 1.5).
/ * מנגן את השיר */
void play_song (int num_notes, int melody , int noteDurations , int tempo) {// עברו והשמעו את כל התווים עבור (int i = 0; i 0) {duration = tempo / noteDurations ; } // אם מדובר במספר שלילי, פירושו הערה מנוקדת // מגדילה את משך הזמן לחצי עבור תווים מנוקדים אחרת אם (noteDurations <0) {duration = tempo / abs (noteDurations ) * 1.5; } צליל (SPEAKER_PIN, לחן , משך הזמן); // כדי להבחין בין ההערות, הגדר זמן מינימלי ביניהן. // נראה כי משך השטר + 30% פועל היטב: int pauseBetweenNotes = משך * 1.30; עיכוב (pauseBetweenNotes); // עצור את נגינת הטון: noTone (SPEAKER_PIN); }}
דוגמה לשירים. H:
להלן דוגמא לאחד השירים ב"שירים.ה ". ההערות הן פקודות מאקרו המוגדרות ב- "pitches.h". המספרים תואמים את תדרי התווים בהרץ (הרץ). משך התווים מוגדר כ: 1 = תו שלם, 2 = תו חצי, 4 = תו רבע, 8 = תו שמינית, -4 = תו רבע מנוקד וכו 'האורך הוא מספר התווים הכולל בשיר. הקצב הוא מפריד למהירות השיר (מספר גבוה יותר פירושו קצב איטי יותר). יהיה עליך לשחק עם המספר הזה עד שתקבל קצב שאתה אוהב.
/* הארי פוטר */
int hp = {NOTE_D4, NOTE_G4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_D5, NOTE_C5, NOTE_A4, NOTE_G4, NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_GS4, NOTE_D4}; int hpDurations = {4, -4, 8, 4, 2, 4, -2, -2, -4, 8, 4, 2, 4, 1}; int hpLength = 14; int hpTempo = 1050;
שלב 3: שינויים
הוסיפו עוד שירים! עקוב אחר הפורמט המוצג ב- "songs.h" והשתמש במדריך לעזרה: https://www.arduino.cc/en/Tutorial/ToneMelody. עבור כל שיר חדש שאתה מוסיף, זכור להוסיף מקרה חדש להצהרת המתג ולהגדיל את המספר המרבי שניתן לייצר על ידי הפונקציה האקראית () שלך. קידוד שמח!
שלב 4: פרויקטים נוספים
לפרויקטים נוספים, בקר בדפים שלי:
- https://dargen.io/
- https://github.com/mjdargen
- https://www.instructables.com/member/mjdargen/
מוּמלָץ:
Nest Hello - פעמון פעמון עם שנאי משולב בבריטניה (220-240V AC - 16V AC): 7 שלבים (עם תמונות)
Nest Hello - פעמון פעמון עם שנאי משולב בבריטניה (220-240V AC - 16V AC): רציתי להתקין פעמון דלת של Nest Hello, זרם הפועל על 16V -24V AC (הערה: עדכון תוכנה בשנת 2019 שינה את אירופה טווח גרסאות ל- 12V-24V AC). פעמוני הפעמון הסטנדרטיים עם שנאים משולבים הזמינים בבריטניה ב
פעמון דלת מותאם אישית המופעל באמצעות פעמון: 6 שלבים
פעמון דלת מותאם אישית המופעל בפעמון: שלום! שמי ג'סטין, אני ג'וניור בתיכון, ומדריך זה יראה לך כיצד להכין פעמון דלת המופעל כאשר מישהו דורך על מחצלת הדלת שלך, והוא יכול להיות כל מנגינה או שיר שתרצה! מכיוון שמחצלת הדלת מפעילה את הדלת
פעמון דלת ללא מגע DIY ללא ארדואינו !: 7 שלבים
פעמון דלת ללא מגע DIY ללא ארדואינו !: מתגי פעמון הדלת הם אחד הדברים שהאנשים הכי נוגעים בהם. ומכיוון שמגפת COVID -19 הופכת לנושא רציני, שמירה על היגיינה טובה הפכה בראש סדר העדיפויות בימים אלה. אז בהנחיה זו אראה לכם דרך פשוטה
פעמון דלת וירוס הקורונה של ארדואינו: 6 שלבים
פעמון דלת וירוס הקורונה בארדואינו: בשל התפרצות הקורונה העולמית, אני רוצה ליצור פעמון שאינך צריך ללחוץ לאותות בפנים שאתה כאן והם חייבים לפתוח את הדלת. הדבר הזה יכול לגרום לך להידבק בנגיף על ידי נגיעה בפעמון הדלת של אנשים אחרים
פעמון דלת ארדואינו: 5 שלבים
פעמון דלת ארדואינו: אספקה -2 לוחות לחם-זמזם-חוטי מגשר -2 arduino/genuino עם כבלי חשמל-משדר RF ומכשיר לחיצה על כפתור -100 אוהם