TALKING AND COUNTING CLOCK
Introduction: TALKING AND COUNTING CLOCK
Today, I would like to share how to build a "Talking And Counting Clock" based on Adafruit Circuit Playground Express board, which can notify the real time, temperature by voice and show hour - minute on Neopixel Led Ring 35.
Before getting started, please watch my video below:
Update version 2: This clock can notify by voice for time, temperature and show hour - minute by counting their ten and unit digit number on Neopixel Led Ring 35.
Step 1: Bill of Materials
The main components are included:
* 1pcs x Adafruit Circuit Playground Express.
Digikey: https://www.digikey.com/en/products/detail/adafrui...
Amazon: https://amzn.to/3fywFtx
* 1pcs x Speaker.
* 1pcs x DS3231 Real Time Clock Module.
* 1pcs x AMS1117 3.3V Power Supply Module.
* 1pcs x Double Side DIY PCB 7x9cm.
* 1pcs x TIP41C.
* 1pcs x Capacitor 1000uF.
* 1pcs x Resistor R1K.
* 1pcs x Female header 40P.
* 2pcs x Screw 2P female headers.
* 20pcs x Copper pillars 10mm.
* 12pcs x Copper pillars 20mm.
* 12pcs x Female power jack.
* Some bolts & nuts and led pins.
* Power supply 5V.
Step 2: Project Schematic
The schematic is shown on the picture above.
There is a built-in mini speaker on the Adafruit Circuit Playground Express board but its sound is not loud enough so I used an external speaker.
Step 3: Adafruit Circuit Playground Express Pinout
The Adafruit Circuit Playground Express Board is equipped with an ARM Cortex M0 Processor, 48MHz and it is integrated with many sensors such as:
* Motion sensor.
* Light sensor.
* Temperature sensor.
* IR receiver and transmitter.
* Sound sensor.
* Mini speaker.
* Some interactive push buttons/ slide switch and RGB Neopixel LEDs...
You can check its detail at: https://learn.adafruit.com/adafruit-circuit-playground-express.
Step 4: Drilling and Soldering Works
Firstly, after measuring and marking, I drilled 14 holes on DIY PCB corresponding to the 14 alligator-clips of Adafruit Circuit Playground Express board. And I mounted copper pillars on the drilling holes.
Then I plugged Adafruit Circuit Playground Express board on the copper pillars and did some adjustments to make sure their pads didn't touch each other.
At the PCB backside, I soldered a 6 pins female header to plug DS3231 RTC. You see the picture below, I used led pins, bent them into circles around the drilled holes and fixed them by soldering to PCB. This ensures good contact between the copper pillars and bolts.
I continued to solder the remaining components according to the schematic diagram in the previous step.
Plugging DS3231 RTC and AMS1117 on the PCB headers.
Connecting speaker to PCB control board.
Finally, I mounted speaker onto the PCB control board by some copper pillars. The PCB control board and speaker can be placed either horizontally or vertically.
Done.
Step 5: Programing
1. 134
The project code is available at my GitHub.
2. Libraries for Arduino IDE.
* Adafruit Circuit Playground by Adafruit.
* RTCLib by Adafruit.
3. Programing notes:
* To upload the program from Arduino IDE to Adafruit Circuit Playground Express board, we go to Tools ‣ Board ‣ Boards Manager ‣ Installing Adafruit SAMD Boards by Adafruit.
* To read the time from DS3231 via I2C protocal, I used RTCLib library by Adafruit. After that this time value is played by voice over the speaker. It is done by the following commands which are supported from Adafruit Circuit Playground library, for example with hour:
switch (now.twelveHour())
{
case 1: CircuitPlayground.speaker.say(spONE); break;
case 2: CircuitPlayground.speaker.say(spTWO); break;
case 3: CircuitPlayground.speaker.say(spTHREE); break;
case 4: CircuitPlayground.speaker.say(spFOUR); break;
case 5: CircuitPlayground.speaker. 158