โปรเจกต์ Doorbell สำหรับ Arduino Uno ที่ใช้ ATMEGA328P EEPROM 24C512 มีขนาด 512Kbits และสามารถจัดเก็บไฟล์ wave ขนาด 3 วินาที ที่ 22.050KHz, 8 bits, mono ได้
Arduino จะอ่าน ROM bytes ในโหมด sequential read และส่งข้อมูลแต่ละ byte ไปยัง PWM generator ด้วยอัตราประมาณ 22 KHz I2C bus ทำงานที่ 200 KHz เพื่อให้สามารถประมวลผล 22 Kbits ต่อวินาทีได้ การเปลี่ยนความถี่ของ bus จะเปลี่ยนความเร็วของเสียง
ทรานซิสเตอร์เป็นวงจร push-pull buffer สำหรับขับลำโพง สามารถใช้ตัวอื่นทดแทนได้
I2C lib ไม่มีฟังก์ชันสำหรับ sequential read ดังนั้นฉันจึงเพิ่ม routine เข้าไป
ในการโหลดไฟล์เสียงไปยัง EEPROM ให้ทำดังนี้:
- แปลงไฟล์เสียงเป็น .wav PCM 22.050KHz, 8 bits, mono
- เปลี่ยนนามสกุลไฟล์จาก wav เป็น bin
- โหลดไฟล์ bin ไปยัง EEPROM Programmer
รายละเอียดทางเทคนิคเพิ่มเติม
การแจ้งเตือนการเข้าบ้านที่เชื่อมต่อ IoT
โปรเจกต์ Doorbell อัจฉริยะนี้ให้เสียง chimes คุณภาพสูง และส่งการแจ้งเตือนระยะไกลไปยัง dashboard ของผู้ใช้ผ่าน Arduino IoT Cloud
- การซิงค์สถานะ IoT Cloud: เมื่อกดปุ่มจริง Arduino จะอัปเดต cloud variable ซึ่งจะเรียกการแจ้งเตือนในเบราว์เซอร์บนคอมพิวเตอร์ของผู้ใช้ทันที และบันทึกเหตุการณ์พร้อม timestamp ที่แม่นยำ
- การสังเคราะห์ Chime แบบ Polyphonic: (คุณสมบัติ) แทนที่จะเป็นแค่เสียง "Beep" ง่ายๆ Arduino จะเล่นชุด
.wavหรือทำนองที่สร้างขึ้นคุณภาพสูงผ่าน piezoelectric speaker หรือ DFPlayer Mini ที่เชื่อมต่ออยู่
การโต้ตอบ
- ยืนยันด้วย Arduino Web Editor: การเชื่อมต่อ WiFi ของโปรเจกต์และ logic การเชื่อมต่อ cloud ได้รับการปรับปรุงใน web editor ทำให้ได้รับประสบการณ์ "Plug-and-Play" ที่แข็งแกร่งสำหรับระบบอัตโนมัติภายในบ้าน