
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12


โดย IanCummingติดตามเพิ่มเติมโดยผู้เขียน:





เกี่ยวกับ: ฉันชอบทำสิ่งของต่างๆ ตั้งแต่จรวดไปจนถึงอุปกรณ์อิเล็กทรอนิกส์ ข้อมูลเพิ่มเติมเกี่ยวกับเอียนคัมมิง »
ยินดีต้อนรับทุกคน
ใกล้ถึงช่วงเทศกาลแล้ว ร้านค้าจำนวนมากเริ่มตกแต่งตามเทศกาล ฉันคิดว่าถึงเวลาที่เหมาะสมแล้วที่จะสร้างไฟประดับประดาด้วยเสียงเพลง!
ขั้นตอนที่ 1: อะไหล่ที่ใช้

ฉันจะใช้สิ่งต่อไปนี้:
- ไฟ LED 12 ดวง
- 12 ตัวต้านทานจำกัดกระแส
- 1 ULN 2803 อาร์เรย์ทรานซิสเตอร์ดาร์ลิงตัน
- สายจัมเปอร์บางสาย
- ลำโพง Piezo
- เขียงหั่นขนมและ
- Arduino
- ในการสร้างสตริงของไฟนางฟ้า ฉันใช้สายไฟ 5 เส้นจากสายเคเบิลอีเทอร์เน็ต
ขั้นตอนที่ 2: รหัส
//GLOBAL VARS int barTime = 1200; // 8/8 = 1,000ms ไบต์ nrLEDS = 4; // 4 ไฟ LED ฐาน คุณสามารถเพิ่มไฟ LED แบบไบต์คู่จำนวนมากได้ = {3, 4, 5, 6}; ลำโพงไบต์ = 11; รูปแบบไบต์ความยาว = 64; // รูปแบบ ความยาว ไบต์ songLength = 51; เพลงไบต์ const = { // Jingle Bells Data 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8 }; // โครงสร้างเป็นหมายเลขหมายเหตุแล้ว // NoteLength ในรูปแบบไบต์ const ของ 8 = { //ข้อมูลรูปแบบ 0b0001, 0b0010, 0b0100, 0b1000, // บิตสอดคล้องกับ Leds ในอาร์เรย์ 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0001,011, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0001,011, 0b 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0101, 001100, 001100 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, };
ก่อนอื่นฉันประกาศตัวแปรของฉัน สิ่งที่น่าสนใจคือเพลงและรูปแบบ
- เพลงเก็บทำนอง; ในกรณีนี้คือระฆังกริ๊ง
- รูปแบบจะเก็บตำแหน่งเปิดและปิดเป็นบิตของค่าในอาร์เรย์
ฟังก์ชั่นที่กำหนดเอง
// ฟังก์ชัน int noteToHz (หมายเหตุ int) { // แปลงหมายเหตุ Nr. เป็นความถี่ลอยความถี่ = 440 * (pow(1.059463094359, note-21)); // -21 ให้คุณทราบ 1 ที่ C3 (ฉันคิดว่า) return int(freq); // ผลลัพธ์มีความแม่นยำถึง 1hz } void lightLEDs (byte PORT_X) {// สถานะของ LED ควบคุมสำหรับ (int q = 0;q
สองฟังก์ชันที่ฉันมีจะทำดังต่อไปนี้:
- คำนวณความถี่ของฟังก์ชันโทนในลูป
- เปิดหรือปิด LED ขึ้นอยู่กับค่าที่ส่งไปยังฟังก์ชัน
ตั้งค่าฟังก์ชั่น
การตั้งค่าเป็นโมฆะ () {// ตั้งค่า OUTPUT พิน pinMode (ลำโพง, OUTPUT); สำหรับ(int t = 0; t < nrLEDS; t++){ pinMode(leds[t], OUTPUT); } }
ในฟังก์ชันการตั้งค่า ฉันตั้งค่าพินที่ต้องการเป็น OUTPUT
ฟังก์ชันวนรอบ
วงเป็นโมฆะ () (// วงเพลงสำหรับ (int t = 0; t < songLength; t ++) (// โน้ต, ความยาวและการเล่นทำนอง int note = noteToHz (เพลง [t * 2]); ความยาว int = ((เพลง[(t * 2)+1] * barTime) / 8); น้ำเสียง(ลำโพง, โน้ต, ความยาว - 50); // ไฟกระพริบ! lightLEDs (รูปแบบ [t % patternLength]); ล่าช้า(ความยาว); } // Silence Loop int randomSilence = สุ่ม (1000, 5000); สำหรับ (int t = 0;t
ฉันมี 2 ลูปในฟังก์ชัน Main Loop วงเพลงและวงเงียบ
ลูปเพลงจะอ่านข้อมูลจากอาร์เรย์เพลง เล่นโน้ตโดยใช้ฟังก์ชันโทน
วงเพลงจะ
- อ่านข้อมูลจากอาร์เรย์เพลง
- เล่นโน้ตโดยใช้ฟังก์ชั่นโทนแล้ว
- เปิดไฟ LED อาร์เรย์รูปแบบการอ่าน
ในวงความเงียบ
มีเพียง LED เท่านั้นที่ติดสว่าง
เสียบ Arduino และอัปโหลดรหัส (แล้วถอดปลั๊ก)
ขั้นตอนที่ 3: การเริ่มวงจร




ฉันจะเริ่มด้วยสายไฟ
- ฉันใช้สายไฟจากสายเคเบิลอีเทอร์เน็ตและบัดกรี LED 3 ดวงขนานกันสี่ครั้ง ตรวจสอบให้แน่ใจว่าได้เว้นระยะห่างของ LED ให้เท่ากันมากกว่า 2 เมตร
- ฉันบัดกรีแอโนดของแต่ละอันนำไปสู่ลวดเส้นเดียว
- จากนั้นแคโทดของ LED แต่ละตัวถึง 4 สายแยกกัน ด้วยตัวต้านทานแน่นอน
- ฉันทำขั้นตอนนี้ซ้ำ 3 ครั้งเพื่อให้ได้สายไฟ LED 12 ดวงและใส่หมุดส่วนหัวที่ปลายสายไฟทั้ง 5 เส้น
เชื่อมต่อราง Positive และ Ground เข้ากับเขียงหั่นขนม
ขั้นตอนที่ 4: ULN2803



วางชิป ULN2308 ลงบนเขียงหั่นขนม
ULN2308 เป็นชิปอาร์เรย์ทรานซิสเตอร์ จากแผ่นข้อมูลที่ฉันเห็น
- พิน 1 นั้นเป็นอินพุตที่เปลี่ยนพิน 18 "ON"
- พิน 2 เปิด 17 เป็นต้น
- พิน 9 เป็นกราวด์
- ต่อพิน 9 ของชิปเข้ากับรางกราวด์
- ต่อรางขั้วบวกกับแถบเทอร์มินัลหนึ่งแถบเหนือพิน 18 (คุณจะเห็นสาเหตุในหนึ่งนาที)
- เชื่อมต่อพิน 1 ของชิปกับพิน 3 ของ Arduino
- 2 ไป 4
- 3 ของชิปไปที่ 5 และ
- 4 ไปที่พิน 6 ของ Arduino
- วางสาย LED ลงบนเขียงหั่นขนม เมื่อต่อสายแอโนดทั่วไปเข้ากับแถบที่ต่อกับไฟ 5 โวลต์ หมุดไฟแฟรี่ที่เหลือควรไปที่พิน 18, 17, 16 และ 15 ของชิป
ขั้นตอนที่ 5: การเพิ่มเสียง

- เชื่อมต่อ Piezo Speaker ระหว่างแถบขั้วต่อ 2 เส้น
- เชื่อมต่อขั้วลบขององค์ประกอบ Piezo กับกราวด์และ
- ปลายอีกด้านของลำโพงเพื่อปักหมุด 11
ขั้นตอนที่ 6: บทสรุป


ฉันมีสายไฟที่จะสุ่มเล่นกระดิ่งกริ๊งเพื่อเตือนฉันว่าช่วงนี้เป็นช่วงเทศกาล
แนะนำ:
Fairy Light Battery Saver: 8 ขั้นตอน (พร้อมรูปภาพ)

Fairy Light Battery Saver: แบตเตอรี่ CR2032 นั้นยอดเยี่ยม แต่ใช้งานได้ไม่นานเท่าที่เราต้องการเมื่อขับ LED "Fairy Light" สตริงต่างๆ ในช่วงเทศกาลวันหยุดที่นี่ ฉันตัดสินใจแก้ไขสายไฟ 20 เส้นสองสามเส้นเพื่อไม่ให้แบตเตอรี USB หมด ฉันค้นหาทางออนไลน์และฉ
Creative Switch Fairy Tree: 23 ขั้นตอน (พร้อมรูปภาพ)

Creative Switch Fairy Tree: ฉันจะแสดงให้คุณเห็นถึงวิธีการสร้างต้นไม้นางฟ้าเรืองแสงนี้ สวิตช์คือนางฟ้าเอง และไฟจะเปิดขึ้นหากเธออยู่ในจุดของเธอ และปิดอีกครั้งหากเธอถูกย้าย เคล็ดลับ: แสงส่องไม่ชัดเจนในแสง ดังนั้นให้เปิดสวิตช์ในที่ที่
DIY Musical Doorbell: 7 ขั้นตอน (พร้อมรูปภาพ)

DIY Musical Doorbell: เรียนรู้วิธีทำกระดิ่งดนตรีแบบง่ายๆ โดยใช้ IC กำเนิดเมโลดี้ UM66T เครื่องสร้าง Melody จะเล่น Für Elise ของ Beethoven เมื่อถูกกระตุ้นเนื่องจากใช้ UM66T-19L มี IC เวอร์ชันต่างๆ กัน ซึ่งแต่ละรุ่นได้รับการกำหนดค่าให้เล่นต่างกัน
The Magic Musical Clock: 8 ขั้นตอน (พร้อมรูปภาพ)

The Magic Musical Clock: เราทุกคนรักนาฬิกาดนตรี เสียงทำให้เราฝันถึงความรู้สึกที่ดีที่จะไขลานและปล่อยให้มันเล่นเสียงดีๆ มีเว็บไซต์ที่มีความมหัศจรรย์ทางกลไกมากมายที่ทำให้ฉันฝันได้ แต่นาฬิกาดนตรีมีราคาแพงและไม่ยืดหยุ่นมาก
DIY Musical Xmas Lights สำหรับผู้เริ่มต้นด้วย Raspberry Pi: 12 ขั้นตอน (พร้อมรูปภาพ)

DIY Musical Xmas Lights สำหรับผู้เริ่มต้นด้วย Raspberry Pi: วันนี้ฉันจะทำตามขั้นตอนต่างๆ เพื่อใช้ Raspberry Pi เพื่อให้ไฟคริสต์มาสของคุณกระพริบพร้อมเสียงเพลง ด้วยวัสดุพิเศษเพียงไม่กี่เหรียญ ฉันจะแนะนำคุณเกี่ยวกับการแปลงไฟคริสต์มาสปกติของคุณให้เป็นการแสดงแสงสีทั้งบ้าน เป้าหมายที่เขา