TALKING AND COUNTING CLOCK

by tuenhidiy in Circuits > Clocks

3247 Views, 13 Favorites, 0 Comments

TALKING AND COUNTING CLOCK

OK_2.jpg
IMG_1649.jpg
IMG_1673.jpg

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.

Bill of Materials

BOM.jpg

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

Project Schematic

Talking_Clock_Schematic_bb.jpg

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.

Adafruit Circuit Playground Express Pinout

Circuit_playground_Adafruit_Circuit_Playground_Express_Pinout.png

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.

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.

Programing

1. The project code is available at my GitHub.

2. Libraries for Arduino IDE.

3. Programing notes:

  • To upload the program from Arduino IDE to Adafruit Circuit Playground Express board, we go to ToolsBoard 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.say(spFIVE); break;
        case 6: CircuitPlayground.speaker.say(spSIX); break;
        case 7: CircuitPlayground.speaker.say(spSEVEN); break;
        case 8: CircuitPlayground.speaker.say(spEIGHT); break;
        case 9: CircuitPlayground.speaker.say(spNINE); break;
        case 10: CircuitPlayground.speaker.say(spTEN); break;
        case 11: CircuitPlayground.speaker.say(spELEVEN); break;
        case 12: CircuitPlayground.speaker.say(spTWELVE); break;
      }  
  • I referenced to Talkie project which included speech library for Arduino and I used speech data for this project.
  • The "Talking Clock" can notify by voice for time, temperature and light level. Detail is as follows:

- When the left button is pressed, the time & temperature are notified.

- When the right button is pressed, the light level is notified.

  • Microsoft Excel software helped me write Arduino program in this project, specifically for "switch...case" statements. Actually, we can use a concise programming way to convert time to voice but I like this style because Excel did it for me.

Finish

20210602_143003.jpg
IMG_1649.jpg
HORIZON.jpg
IMG_1355.jpg
FINISH13.jpg

The Adafruit Circuit Playground Express is a wearable or portable device and in this case if it is equipped with a small battery and small speaker (but should be audible enough) I think it can help the visually impaired.

Thank you for reading my work!!!