Nixie Counter (2): APIs and Parts
The first thing I did was go on eBay and buy twelve cheap Nixie IN-12A tubes. They don’t have the decimal point like the IN-12B but I don’t need it.
Then I watched Dave’s EEVBlog videos again quite a few times and I was able to screen capture his schematics for the electronic layout. The whole system relies on a Wemos D1 mini. This is a micro controller with built-in WiFi than can be programmed using the Arduino software on you computer. To actually switch on the Nixies which require 160V Dave found some really cheap shift registers called TPIC6B595 that can handle the high voltages.
Next I bought a high voltage power supply on eBay. It was a set containing a little PCB, all the components and a manual. I had some breadboards and jumper wires still lying around at home.
While I waited for all the goodie to arrive I fired up the Arduino software on my laptop and began programming the Wemos D1 mini. The sad thing was that I couldn’t find the code that Dave had written for his own project so I was stuck having to come up with my own code. I am NOT good at this so it took me quite a while to understand what I had to do. And I’m still not done yet. But I have made some really good progress.
My research involved getting to know the SoundCloud API and learning how to get to the numbers that I need through it. Since there’s no way to ask for the total play count of a given user, I had to parse an answer that is in the JSON format that holds a huge list of all of a user’s tracks including descriptions, keywords and everything else. I had to find the number of plays for every single track in this huge mess of characters. To do this with Arduino, I installed the famous Arduino JSON library and looked at the example code they provide with it. It took me a while to figure out that the SRAM memory of the tiny micro controller I use is way too small to hold that entire string. So I failed searching or parsing the string for the entries I needed.
My brother came up with an idea for a solution to this: write a PHP script for your WordPress server, then you give it the SoundCloud user ID and your own secret API ID key handle and it returns the total number of plays! Yay! For a big server computer the parsing of a huge JSON string is no problem. And the tiny answer that it gives can be parsed by the Arduino running on the Wemos D1 mini.
The Arduino sketch I have so far logs into my WiFi, reads the answer that my PHP script gives and prints it on the serial monitor. I am sooo happy!
Download Arduino sketch here to look at it!
As soon as my shift registers arrived, I started to place them on my breadboards. I don’t want to connect the hight voltage yet and that’s why my next step will be using LEDs instead of all the segments of the tubes to try out if my software works. Since my software is not finished yet, I stopped putting stuff together on the breadboard so I can focus on getting the numbers out of the computer chip into the real world!