An Arduino-based QR-code Clock

by derte84 in Circuits > Arduino

14882 Views, 20 Favorites, 0 Comments

An Arduino-based QR-code Clock

P1020936.JPG

I got this idea for a while but I never had the chance to try it out. Friday, a workmate gave me a LCD shield for Arduino and I thought that was the right time to build a clock that comunicate the time through QR-codes. Of course, it's extremely useless (as most of the clocks nowadays).

In the video below you can see the clock booting up and loading 3 different qr-codes (3 minutes)

As all my ideas, it is first sketched on my blog and, as soon as I got time, is realized and published here.
So, if you want to have an insight on my future project have a look at genteautoreggente.com

The Hardware

arduino_uno_test.jpg
Color_LCD.jpg
In order to build a QR-clock you need: Actually you can substitute my LCD shield with wathever LCD shield you have. You will need to adapt the code using the libraries of your shield. 

The Software

In order to make the clock to work we need some software on the pc and some on the arduino. All the needed code is in the 3 zip files attached to this step.
  • On the pc a python script will check every minute the time, search in the img folder the right QR-code that represent the time and send the pixel trough the serial line.
  • If you want to change the format of the qr-codes shown you can use the bash script to re-download the images (for example I use 24h time format. You could prefer the 12h one). I use google infographic service to produce the qr-codes. It's super fast and doesn't ban my IP also after a lot of requests.
  • On the Arduino, the code will wait for data on the serial line and draw the received data on the LCD shield

Future Work

I'm planning to build a cool case for the QR-clock. I'm searching for collaborations for the design of the case and for the fabbrication (laser cutting/3d printing).

Anyone who want to help me can send me a private message. I can offer instructables badges and 'maybe' some months of pro account!