สารบัญ:
วีดีโอ: Arduino Noise Machine: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ฉันพบลําโพงตัวจิ๋วขณะรื้อเครื่องพีซีเครื่องเก่า สำหรับการรีไซเคิลและคิดว่าฉันจะเห็นว่ามันฟังดูเหมือนการใช้ฟังก์ชัน Arduino Tone() ฉันเริ่มด้วยโพเทนชิออมิเตอร์ 10Ω หนึ่งตัวเพื่อควบคุมระดับเสียงและเริ่มส่งเสียง ฟังก์ชัน Tone() ใช้รูปแบบพัลส์อย่างง่าย เปิดและปิดเสียงที่ความถี่ต่างๆ ในรูปแบบคลื่นสี่เหลี่ยม ฉันมีโพเทนชิโอมิเตอร์อีกสองตัววางอยู่รอบ ๆ ดังนั้นฉันจึงเพิ่มพวกมันและใช้เพื่อควบคุมระยะเวลาของเสียง หนึ่งเพื่อควบคุมความยาวของโทนและอีกอันสำหรับควบคุมช่องว่างระหว่างโทนเสียง โดยพื้นฐานแล้วจะใช้รูปแบบคลื่นสี่เหลี่ยมอื่น แต่มีความถี่ต่ำกว่ามาก คุณสามารถทำให้เกิดสัญญาณรบกวนที่หลากหลายด้วยวงจรนี้ มันใช้งานได้ดีกับเสียง piezo เช่นกัน แต่ไม่มีการตอบสนองเสียงเบสของลำโพง
ขั้นตอนที่ 1: อะไหล่ที่คุณต้องการ
Arduino Uno
เขียงหั่นขนมและสายจัมเปอร์
1 ลำโพงขนาดเล็กหรือ Piezo buzzer
1 สวิตช์ปุ่มกด
3 10Ω โพเทนชิโอมิเตอร์
ตัวต้านทาน 1 22Ω
ตัวต้านทาน 1 10kΩ
ขั้นตอนที่ 2: สร้างวงจร
เชื่อมต่อเขียงหั่นขนมกับขา Arduino 5V และ GND วางสวิตช์ปุ่มกดที่ด้านขวาสุดหรือซ้ายสุดของเขียงหั่นขนมและเชื่อมต่อกับ 5V และกราวด์โดยใช้ตัวต้านทาน10kΩ ต่อสายไฟจากวงจรสวิตช์ไปที่ขา 2 บน Arduino ของคุณ
อีกด้านหนึ่งของเขียงหั่นขนมตั้งค่าวงจรลำโพง / เพียโซเป็น 5v และกราวด์โดยใช้ตัวต้านทาน220Ω ตัวต้านทานนี้ควบคุมกระแสซึ่งควบคุมระดับเสียง คุณสามารถลองใช้ตัวต้านทานต่างๆ ได้ที่นี่สำหรับระดับเสียงที่สูงขึ้นหรือต่ำลง
จัดเรียงโพเทนชิโอมิเตอร์ของคุณไว้ตรงกลางของเขียงหั่นขนมเพื่อให้มีพื้นที่เพียงพอสำหรับเล่นซอกับลูกบิด แต่ละหม้อจะต้องเชื่อมต่อกับ 5V และกราวด์และพินกลางบนแต่ละอันที่เชื่อมต่อกับพินอะนาล็อก A0, A1 และ A2
ขั้นตอนที่ 3: รหัส
โพเทนชิออมิเตอร์หรือหม้อเป็นตัวต้านทานปรับค่าได้ ซึ่งเมื่อเชื่อมต่อกับ Arduino จะคืนค่าระหว่าง 0 ถึง 1023 เราจะใช้ฟังก์ชัน map() เพื่อเปลี่ยนค่าเหล่านี้เพื่อให้เหมาะกับความต้องการของเราเอง ฟังก์ชัน map() รับห้าอาร์กิวเมนต์ และในกรณีของเรา เราจำเป็นต้องแมปช่วงใหม่เป็นระหว่าง 220 ถึง 2200 เพื่อสร้างเสียงที่สมเหตุสมผล
ฟังก์ชันมีลักษณะดังนี้:
แผนที่(หม้อ, 0, 1023, 220, 2200);
คุณสามารถลองเล่นกับสองค่าสุดท้ายสำหรับโทนเสียงความถี่สูงและต่ำได้ เพียงแต่ระวังอย่าให้สุนัขของคุณอารมณ์เสีย
Noise_Machine.ino
/* เครื่องเสียงที่ใช้โพเทนชิโอมิเตอร์สามตัวเชื่อมต่อกับอินพุตแบบอะนาล็อก |
และเพียโซหรือลำโพงขนาดเล็ก ปุ่มกดจะเปิดเสียงโพเทนชิโอมิเตอร์ |
ควบคุมระดับเสียงโดยใช้ฟังก์ชัน Arduino tone () และดีเลย์สองครั้ง |
ค่าที่ควบคุมความยาวของแต่ละโทนและความยาวระหว่าง |
แต่ละโทน โพเทนชิโอมิเตอร์ให้ค่าแอนะล็อกซึ่งมีการเปลี่ยนแปลง |
ใช้ฟังก์ชัน map() เป็นช่วงที่ใหญ่ขึ้นหรือเล็กลงเพื่อให้เหมาะกับคุณ |
รสนิยมทางดนตรี |
รหัสนี้เป็นสาธารณสมบัติ |
Matt Thomas 2019-04-05 |
*/ |
ปุ่มบังคับพิน = 2; // หมุดปุ่มกด 2 |
ลำโพงคงตัว = 9; // ลำโพงหรือ piezo ในพิน 9 |
int buttonState = 0; // ตัวแปรสำหรับปุ่ม |
int potZero; // และโพเทนชิโอมิเตอร์ |
int potOne; |
int potTwo; |
voidsetup() { |
โหมดพิน (9, เอาต์พุต); // พินเอาต์พุตของลำโพง / piezo |
} |
โมฆะลูป () { |
buttonState = digitalRead (ปุ่มพิน); // อ่านสถานะปุ่มกด |
potZero = analogRead (A0); //ตัวแปรสำหรับอ่านค่าอนาล็อก |
potOne = analogRead (A1); |
potTwo = analogRead (A2); |
int htz = แผนที่ (potZero, 0, 1023, 0, 8800); // แมปการอ่านแบบแอนะล็อกลงใน |
int สูง = แผนที่ (potOne, 0, 1023, 0, 100); // ช่วงตัวเลขใหม่และสร้าง |
int ต่ำ = แผนที่ (potTwo, 0, 1023, 0, 100); // ตัวแปรใหม่ |
if (buttonState == HIGH) { // หากกดปุ่ม… |
เสียง(ลำโพง, htz); //เปิดเสียง |
ล่าช้า (สูง); // ความยาวของโทน |
noTone(ลำโพง); // ปิดเสียง |
ล่าช้า (ต่ำ); // เวลาจนถึงเสียงถัดไป |
} อื่น { |
noTone(ลำโพง); // ไม่มีเสียงหากปล่อยปุ่ม |
} |
} |
ดู rawNoise_Machine.ino โฮสต์ด้วย ❤ โดย GitHub
ขั้นตอนที่ 4: จุดจบ
นั่นคือทั้งหมดที่มีให้ เล่นกับค่าต่างๆ ในโค้ด เพิ่ม pot /buttons และดูว่าคุณสามารถควบคุมอะไรได้อีก ผิดพลาดประการใดขออภัยมา ณ ที่นี้ด้วย หวังว่าจะชอบเพลงกันนะครับ
แนะนำ:
Arduino Pocket Slot Machine: 4 ขั้นตอน
Arduino Pocket Slot Machine: ฉันจะบอกตามตรงว่าโปรเจ็กต์นี้ไม่เคยเกิดขึ้นเลย ยกเว้นว่าฉันอยู่ในสถานที่ระหว่างการระบาดของโคโรนาไวรัส ฉันบังเอิญเห็นว่า Instructables กำลังจัดการประกวด "LED Strip" และ ฉันมีแถบ LED บางตัวใน
Arduino Otto Robot พร้อม State Machine: 4 ขั้นตอน
Arduino Otto Robot พร้อม State Machine: ภาพรวมโครงการในโครงการนี้ ฉันต้องการแสดงวิธีการเขียนโปรแกรม Otto Robot ซึ่งเป็นหุ่นยนต์ DIY จาก Arduino การใช้ YAKINDU Statechart Tools (ฟรีสำหรับที่ไม่ใช่เชิงพาณิชย์) เราสามารถใช้เครื่องของรัฐเพื่อสร้างแบบจำลองพฤติกรรมแบบกราฟิก
State Machine บน Arduino - สัญญาณไฟจราจรคนเดินเท้า: 6 ขั้นตอน (พร้อมรูปภาพ)
State Machine บน Arduino - สัญญาณไฟจราจรคนเดินเท้า: สวัสดี! ฉันจะแสดงวิธีตั้งโปรแกรมสัญญาณไฟจราจรสำหรับคนเดินเท้าสำหรับ Arduino ใน C ++ ด้วยเครื่องสถานะ จำกัด โดยใช้ YAKINDU Statechart Tools นี่จะแสดงให้เห็นถึงพลังของเครื่องจักรของรัฐและสามารถใช้เป็นพิมพ์เขียวสำหรับต่อไป
Arduino TFT Rainbow Noise Display: 5 ขั้นตอน
Arduino TFT Rainbow Noise Display: เราสร้างโปรเจ็กต์สายรุ้งนี้โดยใช้เทคนิค 'สัญญาณรบกวน' ต่างๆ ซึ่งสร้างเอฟเฟกต์แบบสุ่มที่มีการควบคุม โดยการเพิ่มสีสัน สามารถสร้างเอฟเฟกต์สีรุ้งได้ ใช้ Arduino Nano และจอแสดงผล OLED ขนาด 128x128 เราแสดงผลโดยใช้
Oceania Midi Controller (สำหรับ Make Noise 0-Coast และ Synths อื่นๆ): 6 ขั้นตอน (พร้อมรูปภาพ)
Oceania Midi Controller (สำหรับ Make Noise 0-Coast และ Synths อื่นๆ): ในช่วงไม่กี่ปีที่ผ่านมา ผู้ผลิตซินธิไซเซอร์จำนวนหนึ่งได้เปิดตัว "เดสก์ท็อปกึ่งโมดูลาร์" เครื่องมือ โดยทั่วไปจะใช้ฟอร์มแฟกเตอร์เดียวกันกับรูปแบบซินธิไซเซอร์แบบโมดูลาร์ของ Eurorack และส่วนใหญ่มักมีจุดประสงค์เพื่อใช้เป็น g