תוכן עניינים:
וִידֵאוֹ: מטרונום ארדואינו: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
כאשר לומדים כלי נגינה חדש כילד, יש כל כך הרבה דברים חדשים שממשיכים להתמקד בהם. שמירה על קצב בקצב הנכון היא אחת מהן. אי מציאת מטרונום שלם ונוח מבחינה תפקודית פירושה התירוץ הטוב ביותר להתחיל לבנות שוב עם הילדים שלי. בפוסט זה ניתן למצוא את התיאור הפונקציונאלי, רשימת החלקים עם קישורים ומחירים של חנות האינטרנט, תרשים חיווט להרכבה וקוד מקור מלא של Arduino.
שלב 1: תיאור פונקציונלי
יהיה נחמד שיהיה לכם מכשיר מטרונום עם הפונקציות הבאות לשימוש בו בבית או בבית הספר למוסיקה בנוחות.
- גורם צורה קומפקטי שיתאים למקומות קטנים על גבי או ליד כלי נגינה,
- מופעל באמצעות סוללה, חזק ונייד לנשיאה,
- הגדרה קלה אפילו לילדים, ערך BPM תמיד מוצג,
- פעימות מתכווננות לדקה בעזרת כפתור סיבובית, עד 240 BPM
- טקט נשמע עם שליטה על עוצמת הקול,
- מצב שקט לתרגול אוזניות בן לילה,
- משוב חזותי של פעימות (1/4, 2/4, 3/3, 4/4, 6/8 וכו ') עד 8 נוריות LED,
- עם או בלי מבטא מוביל, עם משוב חזותי ונשמע.
הפעלת מצב המטרונום תתחיל ב -60 BPM המוצגת בתצוגה הקטנה ותאפשר לכוון את הקצב על ידי כפתור הסיבוב בין 10 ל -240. Neopixels מציגים את הפעימה בנורות LED כחולות בזמן שהזמזם מתקתק. לחיצה על הכפתור תעבור למצב התאמת פעימות ונורות נוריות ירוקות יציינו את מבנה הקצב המוגדר. ידית סיבוב תגדיל או תקטין את מבנה הקצב (2/2, 3/3, 4/4, 6/8 וכו '). מעל 8 נוריות LED, עוד סיבוב עם כיוון השעון, מבטא מוביל יופעל, והנורית הראשונה תסמן זאת באדום. למבטא המוביל יהיה גם משוב קולי. ניתן לכבות אותו על ידי סיבוב נגד כיוון השעון. לחיצה על הכפתור תחזור ממצב התאמת פעימות למצב מטרונום.
שלב 2: רשימת חלקים
תזדקק למארז. אפשר לקנות כל צורה או גודל, אבל היה לנו מארז מתכת שחור נחמד של מתג VGA ידני ישן שנפטר מחבר. שאר החלקים מפורטים להלן.
- סוללה 9V, 1.50 דולר
- כבל מחבר סוללה, 0 דולר ארה"ב, 16
- Arduino Nano עם כותרות סיכות, 2.05 דולר
- מגן הארכה Nano IO, 1 דולר ארה"ב, 05
- מתג מיני שקופיות לחשמל, 0.15 דולר
- זמזם פיז'ו, 0, 86 דולר
- Adafruit Neopixel WS2812 8-bit, 1 דולר ארה"ב, 01
- תצוגת OLED 128x64, 1 דולר ארה"ב, 53
- מקודד רוטרי, 0, 50 דולר
- כבלי Dupont F/F, USD 0, 49
המחיר הכולל של הרכיבים נמוך מ- 10 $, -
שלב 3: תרשים חיווט
השתמש בלוח הארכה של Nano IO על מנת לא להתעסק בהלחמה של חיבורי GND ו- VCC מרובים. יהיה צורך בהלחמה מינימלית לכותרות ה- pin Nano ולמחברי המודולים של Neopixel. שימוש בחוטי Dupont מאפשר חיבורים יציבים לשאר החיווט כפי שמוצג בתרשים. סוללת 9V מחוברת ל- GND ו- VIN, האחרונה דרך מתג המחוון להפעלה. למודול המקודד הסיבובי יש לחצן מתג משולב, שמוצג בנפרד בתרשים להבנה קלה יותר כיצד לחבר אותם. החלק הרוטרי (CLK ו- DT) מחובר ל- PIN2 ול- PIN3 בהתאמה, מכיוון שאלו סיכות ה- NANO היחידות המסוגלות להפריע לטיפול. רוטרי GND מחובר כמובן ל- PIN ה- GND של ננו. כפתור המתג המשולב מחובר ל- PIN4. זמזם Piezo מחובר ל- PIN5 ו- GND. מודול Adafruit Neopixel מחובר ל- PIN7 ו- VIN ו- GND שלו ל- 5V ו- GND של Nano בהתאמה. צג OLED קטן מחובר לממשק האוטובוסים I2C, שהוא PIN A4 ו- A5 עבור SDA ו- SDL. VCC ו- GND עוברים ל- 5V ו- GND של ננו כמובן. בכך מסתיים חיווט הדופונט שלנו.
שלב 4: קוד המקור של Arduino
// מטרונום, מבטא מוביל, טאקט חזותי ונשמע - פיטר צ'סורגיי 2019
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // אפס סיכה #(או -1 אם משתפים סיכת איפוס Arduino) Adafruit_SSD1306 תצוגה (SCREEN_WIDH, SCREEN_ & Wire, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 32 Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, pin_neopixel, NEO_GRB + NEO_KHZ800); #הגדר IDLE_11 0 #הגדר SCLK_01 1 #הגדר SCLK_00 2 #הגדר SCLK_10 3 #הגדר SDT_10 4 #הגדר SDT_00 5 #הגדר SDT_01 6 int state = IDLE_11; #define CLK 2 #define DT 3 #define pin_switch 4 #define pin_buzzer 5 int bpm = 60; int bpmFirst = 0; // LED דולק בהתחלה, כבוי בשאר … int tack = 4; bool leadingTack = false; int pos = 0; int curVal = 0; int prevVal = 0; הגדרת void () {pixels.begin (); pinMode (pin_buzzer, OUTPUT); טיימר 1. התחל (1000000*60/דקה/2); Timer1.attachInterrupt (buzztick); pinMode (CLK, INPUT_PULLUP); pinMode (DT, INPUT_PULLUP); pinMode (pin_switch, INPUT_PULLUP); attachInterrupt (digitalPinToInterrupt (CLK), rotaryCLK, CHANGE); attachInterrupt (digitalPinToInterrupt (DT), rotaryDT, CHANGE); if (! display.begin (SSD1306_SWITCHCAPVCC, 0x3C)) {// כתובת 0x3D עבור 128x64 עבור (;;); // אל תמשיכו, לולאה לנצח} display.clearDisplay (); display.display (); } לולאת void () {if (digitalRead (pin_switch) == LOW) {עיכוב (100); while (digitalRead (pin_switch) == LOW); עיכוב (100); Timer1.detachInterrupt (); showGreenTacks (); while (digitalRead (pin_switch) == HIGH) {if (curVal> prevVal) {tack+= 1; if (tack> 8) {if (leadingTack) tack = 8; אחרת {leadingTack = true; tack = 1; }}} אחרת אם (curValprevVal) {bpm+= 2; אם (bpm> 240) bpm = 240; } אחרת אם (curVal = 100) display.print (""); אחר display.print (""); display.print (bpm); display.display (); } vozztick void () {if (bpmFirst == 0) {int volume = 4; אם (leadingTack && pos == 0) נפח = 8; עבור (int i = 0; i
מוּמלָץ:
מטרונום סרוו, ניתן לתכנות למהירויות שונות: 3 שלבים
מטרונום סרוו, הניתן לתכנות למהירויות שונות: הכינו מטרונום משלכם. כל מה שאתה צריך הוא ערכת המתנע של Arduino Mega 2560 ומחשב תואם
מטרונום 555 טיימר: 3 שלבים
מטרונום 555 טיימר: מטרונום הוא מכשיר המפיק קליק קולי או צליל אחר במרווח קבוע שיכול להיות מוגדר על ידי המשתמש, בדרך כלל בפעימות לדקה (BPM). מוזיקאים משתמשים במכשיר לתרגול נגינה לפי דופק רגיל. (Https://en.wikipedia.org/w
מטרונום מבוסס מיקרו-בקר: 5 שלבים
מטרונום מבוסס מיקרו-בקר: מטרונום הוא מכשיר תזמון המשמש מוזיקאים כדי לעקוב אחר פעימות בשירים ולפתח תחושה של תזמון בקרב מתחילים הלומדים כלי חדש. זה עוזר לשמור על תחושת הקצב החשובה במוזיקה. מטרונום זה כולל
מטרונום חזותי למתופפים: 8 שלבים
מטרונום ויזואלי למתופפים: יש לי חבר ועמית לעבודה שהוא מתופף רוקנרול. התא שלו ליד שלי בעבודה ולכן הוא רואה ושומע על כל פרויקטי האלקטרוניקה והתוכנה שלי. עברה יותר משנה אז אני אפילו לא זוכר איך כל זה קרה
555 טיימר מטרונום - שמע וויזואלי: 8 שלבים (עם תמונות)
555 טיימר מטרונום - אודיו וויזואלי: הבן שלי התחיל לאחרונה לנגן את האוקוללה וחשבתי שמטרונום יעזור בתזמון שלו. כיצרנית, הבנתי שאוכל להדביק לעצמי די בקלות עם טיימר 555 (מה אתה לא יכול להכין עם אחד …) לאחר חיפוש קטן ב- w