กลับไปหน้ารวมไฟล์
doorbell-aac88c-en.md

A doorbell project for Arduino Uno with ATMEGA328P device. The EEPROM 24C512 is 512Kbits and it can store up to 3 seconds wave file of 22.050KHz, 8 bits, mono.

The Arduino reads the ROM bytes in a sequential read mode and stream each byte to the PWM generator at a rate of about 22 KHz. The I2C bus works at 200 KHz for the purpose of managing to process 22 Kbits per second. Changing the bus frequency changes the speed of the sound.

The transistors are a push-pull buffer for driving the speaker, any replacement can be used.

The I2C lib doesn't have a function for sequential read, so I added a routine.

To load sound file to the eeprom do this:

  • Convert sound file to .wav PCM 22.050KHz, 8 bits, mono
  • Change the file name extension from wav to bin.
  • Load the bin file to the EEPROM Programmer.

EXPANDED TECHNICAL DETAILS

IoT-Connected Home Entry Alert

This smart doorbell project provides a high-fidelity chimes and sends a remote alert to the user's dashboard via the Arduino IoT Cloud.

  • IoT Cloud State-Sync: When the physical button is pressed, the Arduino updates a cloud variable. This instantly triggers a browser notification on the user's computer and logs the event with a precise timestamp.
  • Polyphonic Chime Synthesis: (Features) Instead of a simple "Beep," the Arduino plays a set of HQ .wav or generated melodies via a piezoelectric speaker or a linked DFPlayer Mini.

Interaction

  • Verified with Arduino Web Editor: The project's WiFi connection and cloud-handshake logic were refined in the web editor, providing a robust "Plug-and-Play" experience for home automation.

ข้อมูล Frontmatter ดั้งเดิม

title: "Doorbell"
description: "Using EEPROM as a sound source."
author: "moty"
category: "Audio & Sound"
tags:
  - "audio"
  - "smart appliances"
  - "toys"
views: 23496
likes: 26
price: 1
difficulty: "Easy"
components:
  - "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"
tools: []
apps: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/fcfacaf6-aa63-49e2-a356-101ac85d48cd.ino"
  - "https://projects.arduinocontent.cc/fcfacaf6-aa63-49e2-a356-101ac85d48cd.ino"
documentationLinks: []
passwordHash: "c12de15efd0da4afa777c7ebd558d280b2444a02250bc5cce48b4498251d06c6"
encryptedPayload: "U2FsdGVkX1+8O38HN7jYcWWIjM+P15JJWxyU1dRhrGWiofmqSc63SN9HvztHnuKqhwL0Kxtj4dpKfL7l/zMtgsv577UH6IQMW6U8rFufZWkxMYVAs+LR9vb/vqMbKDmjfcmTCaMzIc6fh+tOvGJrG5uxYHJZ5RmTmhxCU8PtLLqaTtbwhoM2+/F18DoSXtHGidZZlAKb5tCsGIbdHUlvxJD9KiYs6Dbm9be1QArSbOo="
seoDescription: "Create a Doorbell using EEPROM as a sound source. Learn to store and play audio directly from Arduino memory."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/doorbell-8a2e65_cover.jpg"
lang: "en"