หน้าแรก ดูโปรเจกต์ทั้งหมด
Hard

โปรเจกต์ Doorbell

การใช้ EEPROM เป็น sound source

โปรเจกต์ Doorbell

รายการอุปกรณ์และเครื่องมือ

1x Pushbutton switch 12mm
-
1x General Purpose Transistor NPN
-
1x Arduino UNO
-
1x Speaker: 0.25W, 8 ohms
-
1x 24C512
-
2x Resistor 2.21k ohm
-
1x Capacitor 22 µF
-
1x General Purpose Transistor PNP
-

รายละเอียดและวิธีทำ

โปรเจกต์กระดิ่งประตูสำหรับ Arduino Uno พร้อมอุปกรณ์ ATMEGA328P โดย EEPROM 24C512 มีความจุ 512Kbits และสามารถจัดเก็บไฟล์ wave ขนาด 22.050KHz, 8 bits, mono ได้นานสูงสุด 3 วินาที

Arduino จะอ่าน ROM bytes ในโหมด sequential read และ stream แต่ละ byte ไปยัง PWM generator ที่อัตราประมาณ 22 KHz โดย I2C bus จะทำงานที่ 200 KHz เพื่อให้สามารถประมวลผลได้ 22 Kbits ต่อวินาที การเปลี่ยนความถี่ของ bus จะส่งผลให้ความเร็วของเสียงเปลี่ยนไป

Transistors ทำหน้าที่เป็น push-pull buffer สำหรับขับ speaker สามารถใช้รุ่นอื่นแทนกันได้

เนื่องจาก I2C lib ไม่มี function สำหรับ sequential read ผมจึงได้เพิ่ม routine เข้าไป

วิธีการ load ไฟล์เสียงลงใน EEPROM ให้ทำดังนี้:

  • แปลงไฟล์เสียงเป็น .wav PCM 22.050KHz, 8 bits, mono
  • เปลี่ยนนามสกุลไฟล์จาก wav เป็น bin
  • Load ไฟล์ bin ลงใน EEPROM Programmer

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: doorbell-8a2e65
1 บาท
PromptPay QR Code