สารบัญ:
- ขั้นตอนที่ 1: คำอธิบายการทำงาน
- ขั้นตอนที่ 2: รายการชิ้นส่วน
- ขั้นตอนที่ 3: แผนภาพการเดินสายไฟ
- ขั้นตอนที่ 4: Arduino Source Code
วีดีโอ: Arduino Metronome: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
เมื่อเรียนรู้เครื่องดนตรีใหม่ตั้งแต่ยังเป็นเด็ก มีสิ่งใหม่ๆ มากมายให้จดจ่อ การรักษาจังหวะให้เหมาะสมเป็นหนึ่งในนั้น การไม่พบเครื่องเมตรอนอมที่ใช้งานได้จริงและสะดวกหมายถึงข้อแก้ตัวที่ดีที่สุดที่จะเริ่มสร้างอีกครั้งกับลูกๆ ของฉัน ในโพสต์ Instructables นี้ คุณจะพบคำอธิบายการทำงาน รายการชิ้นส่วนพร้อมลิงก์และราคาจากเว็บช็อป แผนภาพการเดินสายไฟสำหรับการประกอบ และซอร์สโค้ด Arduino ที่สมบูรณ์
ขั้นตอนที่ 1: คำอธิบายการทำงาน
คงจะดีถ้ามีเครื่องเมตรอนอมที่มีฟังก์ชั่นต่อไปนี้เพื่อใช้ที่บ้านหรือที่โรงเรียนดนตรีอย่างสะดวก
- ฟอร์มแฟกเตอร์ขนาดกะทัดรัดเพื่อให้พอดีกับที่เล็กๆ ด้านบนหรือข้างเครื่องดนตรี
- ใช้งานแบตเตอรี่ ทนทาน และพกพาไปได้ทุกที่
- ตั้งค่าได้ง่ายแม้สำหรับเด็ก ค่า BPM แสดงเสมอ
- ปรับจังหวะต่อนาทีด้วยปุ่มหมุน สูงสุด 240 BPM
- ชั้นเชิงเสียงพร้อมการควบคุมระดับเสียง
- โหมดเงียบสำหรับการฝึกซ้อมหูฟังข้ามคืน
- การแสดงภาพสะท้อนของจังหวะ (1/4, 2/4, 3/3, 4/4, 6/8, ฯลฯ) มากถึง 8 LEDs,
- มีหรือไม่มีสำเนียงนำ พร้อมการตอบสนองด้วยภาพและเสียง
เมื่อเปิดเครื่อง โหมดเครื่องเมตรอนอมจะเริ่มที่ 60 BPM ซึ่งแสดงบนจอแสดงผลขนาดเล็ก และปล่อยให้ปรับจังหวะโดยปุ่มหมุนระหว่าง 10 ถึง 240 พิกเซลนีโอพิกเซลแสดงจังหวะในไฟ LED สีฟ้าในขณะที่เสียงกริ่งดังขึ้น การกดปุ่มจะเปลี่ยนเป็นโหมดการปรับจังหวะและไฟ LED สีเขียวจะแสดงโครงสร้างจังหวะที่ตั้งไว้ ปุ่มหมุนจะเพิ่มหรือลดโครงสร้างจังหวะ (2/2, 3/3, 4/4, 6/8 เป็นต้น) ไฟ LED ที่สูงกว่า 8 ดวง หมุนตามเข็มนาฬิกาเพิ่มเติม เน้นนำจะเปิดขึ้น และ LED แรกจะแสดงเป็นสีแดง สำเนียงชั้นนำจะมีเสียงตอบรับเช่นกัน สามารถปิดได้โดยหมุนทวนเข็มนาฬิกา การกดปุ่มจะเปลี่ยนกลับจากโหมดการปรับจังหวะเป็นโหมดเครื่องเมตรอนอม
ขั้นตอนที่ 2: รายการชิ้นส่วน
คุณจะต้องมีกรณี สามารถซื้อรูปร่างหรือขนาดใดก็ได้ แต่เรามีเคสโลหะสีดำที่สวยงามของสวิตช์ VGA แบบแมนนวลรุ่นเก่าที่ทิ้งเพื่อนไว้ ส่วนอื่นๆ ที่เหลือมีดังต่อไปนี้
- แบตเตอรี่ 9V, USD 1.50
- สายต่อแบตเตอรี่ 0, 16. USD
- Arduino Nano พร้อมหัวเข็ม USD 2.05
- Nano IO Extension Shield, USD 1, 05
- มินิสไลด์สวิตช์จ่ายไฟ 0.15 ดอลลาร์สหรัฐ
- Piezo buzzer, USD 0, 86
- Adafruit Neopixel WS2812 8 บิต 1 ดอลลาร์สหรัฐ 01
- จอแสดงผล OLED 128x64 USD 1, 53
- ตัวเข้ารหัสแบบหมุน USD 0, 50
- สายดูปองท์ F/F, USD 0, 49
ราคารวมของส่วนประกอบน้อยกว่า USD 10, -
ขั้นตอนที่ 3: แผนภาพการเดินสายไฟ
ใช้บอร์ดขยาย Nano IO เพื่อไม่ให้รบกวนการบัดกรีการเชื่อมต่อ GND และ VCC หลายจุด จำเป็นต้องมีการบัดกรีขั้นต่ำสำหรับส่วนหัวพินนาโนและสำหรับตัวเชื่อมต่อโมดูล Neopixel การใช้สายดูปองท์ช่วยให้สามารถต่อสายไฟที่เหลือได้อย่างมีเสถียรภาพดังแสดงในแผนภาพ แบตเตอรี่ 9V เชื่อมต่อกับ GND และ VIN โดยผ่านสวิตช์เลื่อนเปิด/ปิด โมดูลตัวเข้ารหัสแบบหมุนมีปุ่มสวิตช์ในตัว ซึ่งแสดงแยกต่างหากในแผนภาพเพื่อให้เข้าใจวิธีเชื่อมต่อได้ง่ายขึ้น ชิ้นส่วนโรตารี (CLK และ DT) เชื่อมต่อกับ PIN2 และ PIN3 ตามลำดับ เนื่องจากเป็นพิน NANO เพียงตัวเดียวที่สามารถจัดการอินเตอร์รัปต์ได้ Rotary GND เชื่อมต่อกับ GND PIN ของ Nano แน่นอน ปุ่มสวิตช์ในตัวเชื่อมต่อกับ PIN4 Piezo buzzer เชื่อมต่อกับ PIN5 และ GND โมดูล Adafruit Neopixel เชื่อมต่อกับ PIN7 และ VIN และ GND กับ 5V และ GND ของ Nano ตามลำดับ จอแสดงผล OLED ขนาดเล็กเชื่อมต่อกับอินเทอร์เฟซบัส I2C ซึ่งเป็น PIN A4 และ A5 สำหรับ SDA และ SDL VCC และ GND ไปที่ 5V และ GND ของ Nano แน่นอน ที่สรุปการเดินสายดูปองท์ของเรา
ขั้นตอนที่ 4: Arduino Source Code
// เมโทรนอม, สำเนียงชั้นนำ, ชั้นเชิงภาพและเสียง - 2019 Peter Csurgay
#include #include #include #include #include "TimerOne.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // รีเซ็ตพิน # (หรือ -1 หากแชร์พินรีเซ็ต Arduino) แสดงผล Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, &สายไฟ, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 32 Adafruit_NeoPixel พิกเซล = Adafruit_NeoPixel(NUMPIXELS, pin_neopixel, NEO_GRB + NEO_KHZ800); #define IDLE_11 0 #define SCLK_01 1 #define SCLK_00 2 #define SCLK_10 3 #define SDT_10 4 #define SDT_00 5 #define 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; บูลชั้นนำแทค = เท็จ; int pos = 0; int curVal = 0; int prevVal = 0; การตั้งค่าเป็นโมฆะ () { pixels.begin (); pinMode(pin_buzzer, เอาต์พุต); Timer1.initialize (1000000*60/bpm/2); Timer1.attachInterrupt (เสียงกระหึ่ม); โหมดพิน (CLK, INPUT_PULLUP); โหมดพิน (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(); } วงเป็นโมฆะ () { ถ้า (digitalRead (pin_switch) == ต่ำ) { ล่าช้า (100); ในขณะที่(digitalRead(pin_switch)==LOW); ล่าช้า (100); Timer1.detachInterrupt (); showGreenTacks(); ในขณะที่ (digitalRead (pin_switch)==HIGH) { if (curVal>prevVal) { tack+=1; if (tack>8) { if (leadingTack) แทค = 8; อื่น ๆ {leadTack = true; แทค = 1; } } } else if (curValprevVal) { bpm+=2; ถ้า (bpm>240) bpm = 240; } else if (curVal=100) display.print(" "); อื่น display.print(" "); display.print(bpm); display.display(); } โมฆะ buzztick () { ถ้า (bpmFirst == 0) { ปริมาณ int = 4; ถ้า (ชั้นนำแทค && pos==0) ปริมาณ = 8; สำหรับ (int i=0; i
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
Visual Metronome สำหรับมือกลอง: 8 ขั้นตอน
Visual Metronome for Drummers: ฉันมีเพื่อนและเพื่อนร่วมงานที่เป็นมือกลองร็อกแอนด์โรล ห้องเล็กของเขาอยู่ติดกับที่ทำงาน ดังนั้นเขาจึงเห็นและได้ยินเกี่ยวกับโครงการอิเล็กทรอนิกส์และซอฟต์แวร์ทั้งหมดของฉัน ผ่านมาปีกว่าแล้ว ฉันจำไม่ได้ด้วยซ้ำว่าทั้งหมดนี้เกิดขึ้นได้อย่างไร bu
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino
Make a Chi Running "Metronome" แทร็ก MP3: 6 ขั้นตอน (พร้อมรูปภาพ)
สร้างแทร็ก MP3 "Metronome" ของ Chi Running: ก่อนที่ฉันจะเริ่มวิ่งใน Vibram Five Fingers เมื่อปีที่แล้ว ฉันยังอ่านวิธี Chi Running ที่พัฒนาโดย Danny Dreyer เพื่อปรับสไตล์การวิ่งของฉัน ฉันรู้ได้อย่างรวดเร็วว่าเกียร์อีกชิ้นหนึ่ง เครื่องเมตรอนอม จะช่วยได้ แต่