โปรเจกต์ Doorbell
การใช้ EEPROM เป็น sound source
การใช้ EEPROM เป็น sound source
โปรเจกต์กระดิ่งประตูสำหรับ 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 ให้ทำดังนี้:
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้