Operating the Clock

There are 4 different ways that you can control the clock: infrared, BLE, touch controls, and serial monitor debugging. We will describe how each of these controls work and then explain how to use them. The methods of configuring the time and setting the options all work the same regardless of which kind of controls you use. Each control method has 7 options: up arrow, down arrow, right arrow, left arrow, set up, play, and reset.

Infrared Controls

For now we are assuming you are using the recommended Adafruit Mini Remote control. The software is already configured to use that kind of remote. If you are be using a different infrared remote, you will need to configure the software and recompile it to handle the particular IR protocol and code values for your remote. See the section on Advanced Configuration for details on how to do this. The image below shows the remote. The arrow buttons and "SETUP" buttons are obvious. The "PLAY" function is the "play/pause" red button at the top center. The reset button is the curved arrow button just above "3". Pressing any other button is ignored.

BLE Connect

You can use the Adafruit Bluefruit LE Connect app to connect your clock. You can download it from the iOS App Store or for Android from the Play Store. Complete details on this app can be found at this learning guide for the iOS version. The Android version works virtually the same.

When you open the app you will see a list of Bluetooth capable devices in your vicinity as shown below. Tap on the "Connect" next to "NeoPixel-Clock"  as shown in the screen grab below.

When you have successfully connected, the clock should speak "BLE connected". You will then see the screen shown below. Tap on the "Controller" option third item from the bottom.

Then you should tap on the "Control Pad" option second from the bottom as shown below.

The control pad looks like the screen grab shown below. Obviously the arrow keys are used. Button 1 is "Setup". Button 2 is "Play". Button 3 is "Reset". The fourth button is not used.

If you disconnect your device from the clock you will hear "BLE disconnected" spoken.

Touch Controls

We have only implemented 4 buttons for the touch control. They are Setup, Right Arrow, Up Arrow, and Down Arrow. You may have to calibrate these controls as described in the Advanced Configuration section of this tutorial.

Serial Monitor Debugging Controls

If you recompile and upload the program using debugging mode you can open your serial monitor on your Arduino IDE and type commands into it to control the clock. Of course it must be connected to your computer and not operated off of an independent power supply.

Open up the program in the Arduino IDE and online and change it to read

#define MY_DEBUG 1

Open your serial monitor and compile and upload the program. For every spoken feedback that the clock generates you also see a text version of those words appear on your monitor. You can type in a character into the serial monitor and press enter to control the clock. The commands are as follows: "U", "D", "R", and "L" for the arrow keys Up, Down, Right, and Left respectively. Use "S" for Setup and "P" for Play. Use "T" for Reset.

You can string commands together so for example you can type "RRRRR" and then press enter in the serial monitor to send the right arrow command five times.

Setting the Time

The arrow keys are used to set the time on the clock. The left and right arrows change the hours. The up and down arrows change the minutes. As you press these keys, the display on the clock will change and there will be audio feedback. There is no left arrow key when using touch controls so you may have to press the right arrow up to 23 times to set the hours. There is no Play or Reset functions available when using touch controls.

The Play button causes the clock to speak the current time. It will also play an animation on the NeoPixel display if you have animations enabled. It will also play music if you have music playback enabled.

The Reset button causes the seconds to reset to 59 seconds. You can use this to precisely synchronize the clock. We chose to have it reset to 59 seconds so that if you want to demonstrate the various features of the clock you could for example set it to 3:59 PM and then hit the reset. One second later it would click over to 4:00 PM and would perform chimes, animation, and music playback.

Here is a YouTube video that demonstrates how to set the time on the clock, demonstrates various features, and demonstrates the setup menu which is described on the next page.

This guide was first published on Jul 30, 2018. It was last updated on Jul 30, 2018. This page (Operating the Clock) was last updated on Apr 16, 2019.