For this week’s assignment I decided to create a device for the user to set the amount of time that they want to spend in certain task and then be able to track the progress of the time elapsed and improve their productivity. This clock is based on the Pomodoro methodology that states that the brain focuses better in short periods of time with timed rest periods.
The original idea was to use a neopixel ring in order to light up the LEDs according to the rotation of the encoder and allow the user to press the button in order to start the timer. I started by sketching the basic functionalities and understanding how to divide the time in the circle. I decided to do a 60 minute timer with a 12 LED ring, which meant that each light would express 5 minutes.
The next phase was to assemble all the components separately. I have never used encoder nor neopixels which was a big challenge, however I wanted to use this opportunity to learn how to connect them and how to make them work according to the time.
I was able to light up the LED according to the movement of the encoder in the correct portions of time, and also set a time when the user clicks the button according to the LED that are on and the numbers in the enclosure.
The desired user interaction was to be able to tun off the lights according to the time elapsed however this was not possible for me to finish for this assignment. I would like to finalize the logic and refine the code so that it could work properly and give the user a visual and maybe audible indication with a buzzer on when the time has passed.
This project was a very interesting experience because I learnt how to implement many different technologies in one same project without having experience using them. It definitely challenged me to start understanding the code more in depth and also to understand the examples that I found online and be able to code my own version with the functionalities that I wanted for my design.
The last step was to build an enclosure, which I decided to do with white cardboard. I laser cut the wholes for both the encoder and the neo pixels and I covered them with a diffuser in order to make the LED look less bright and contribute to the aesthetics of the clock.
The final result is a productivity clock that lights up the LED according to the user selection and displays on the screen the amount of time that is selected, the timer is capable of keeping track of the time that has passed and the minutes are displaying also in the console.