Some time ago I came across a post in the EeeUser forum alerting me to a cheap (£7.50) unit which was aimed at alerting drivers to speed cameras, however it also happens to provide a stream of standard NMEA data on a serial line. If you wish to obtain these units now they are readily available from ebay for under £10 .
Having followed the instructions that came with the unit (including no mention of direct GPS functionality) and installed the provided software in windows xp I got nowhere, so I tried it on linux. The device is actually a serial device and the cable which is included is in fact not a conventional USB, cable despite having a USB-A and USB-B plug at either end, it is an FTDI usb-serial adaptor which has linux kernel support. I then found it was possible to connect to it at 4800 baud using putty or cutecom or whatever your favorite terminal happens to be and standard NMEA data is displayed.
On closer examination of the cable the USB-A end can be split apart to reveal a simple Serial to TTL converter based in the PL2302 chip, this allowed me to find drivers (available here http://www.prolific.com.tw/eng/downloads.asp?ID=24) for all versions of windows and receive GPS data over serial in the same method as with Linux.
This means that the cable could easily be used for any 5V TTL applications required and also that the GPS unit would be ideal for interfacing with an arduino or similar system as the points for connection can be easily seen on the circuit board:
I’ve finally got together all the pieces together to transform the mess of wires from my breadboard version of my twitterpop project into a nice reusable shield for my arduino. It’s only basic containing two 595 shift registers, and 8×8 common anode LED matrix and a few resistors but it does an admirable job. PCB designs and eagle files can be found on the twitterpop page. Thanks to the people at BatchPCB for doing a nice job on my PCB.
I’ve been waiting for a week or so to assemble this as I decided to order a fancy new Weller WS81 soldering iron to use rather than my aging 12W Weller 2012 which I’ve had for about 10 years, never has soldering been such a pleasure!
And in action (note the fancy base provided by oomlout):
The hardware for the system discussed in my previous post consists of an arduino, arduino ethernet shield, 2x 595 shift registers and one 8×8 common anode LED Matrix from china via ebay. Basically the arduino requests the page containing the current popularity metric and then adds it to an array containing the states of the currently lit LEDs which is then pumped out to the shift registers to update the display. The circuit lights the correct LEDs.
The circuit design is based on a design featured on the arduino playground for lighting 8 LEDs but was slight adapted to deal with the matrix. The schematic can be found here.
I have also attempted to form this into a new arduino shield so I can reuse the LED matrix circuit quickly for other projects, a PCB is currently with BatchPCB
Recently I’ve been working on a popularity meter which searches twitter and displays a bar graph of the popularity of the search term on an LED Matrix driven by an Arduino. It currently relies on a PHP script on my webserver to do the actual twitter search and the arduino reads the page via ethernet and then displays the number on it bar graph.
The PHP script searches twitter receiving the results as a JSON feed and counting the results, this is just a basic script I threw together and is still very much work in progress as if there are more than ten results the arduino gets a bit confused. This is an abbreviated version of my code which is still functional.
This searches for replies to my posts and displays in a number in a minimal html page.
The arduino then reads this page every time its main loop is executed and adds a new bar to the LED bar graph using the following code and using the TimerOne library. The full sketch can be downloaded here.
More information about the hardware will be included in a later blog post.
After struggling to get a bash script to send data from curl correctly to my arduino over serial I resorted to windows and found that communication over serial can be quickly achieved using the Powershell (the new cmd). I naively assumed it would be easier in linux than windows however the Powershell does seem to be quite a match for bash. I achieved what had taken me hours in Linux in about 10 minutes. The following example code shows the connection to the arduino and how to send data to any serial device This can of course be formed into a more sophisticated script or just run line by line:
$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one #opens serial port - adjust parameters accordingly
$port.open() #opens serial connection
$port.Write("Hello World") #writes your content to the serial connection
$port.Close() #closes serial connection
If you are not sure of the name of your serial ports then you can list them in the powershell:
While I’ve been experimenting with circuits and ardunio stuff recently I’ve been looking for a simple solution for converting a schematic to a breadboard/stripboard design, I’ve explored a few options like stripboard magic and eagle and non seem to be ideal however today I came across a new project via twitter.
“Fritzing is an open-source initiative to support designers, artists, researchers and hobbyists to take the step from physical prototyping to actual product”
It allows the user to create circuits in a simple drag and drop environment on a 3D breadboard complete with arduino template, it can then convert this design into a schematic or etchable pcb and vice versa. It is still very much in development but from my initial playing looks like a very promising project.
Today I started the first stage in what may become online collaborative synth music performance system, I built a very basic synthesizer.
My design is based on one kindly posted on hackaday which I built on stripboard (very badly). It produces a simple square wave using a hex inverter IC and a capacitor and resistor, the hackaday article also details how to build in an LFO and other bits and pieces however I’ve saved for the next version which intend to package in a nice box al la amazing rolo.
I have often noted people having difficultly locating reasonably priced parts for this type of project online, all parts for this project were sourced in the UK from http://www.bitsbox.co.uk who I found to provide exemplary service for a very good price, especially if you order only a small number of items.
The next version will have more controls and in parallel to this I’ve just received an arduino, this will be used with a digital potentiometer to control the synth parameters in the first instance via a GUI probably written in java or processing and then eventually PHP.
After buying an arduino and some 8×8 LED matrices I really needed a project to make good use of them. At a similar time I also had become a bit addicted to twitter and had been reading up on the API with the intention of doing something cool with it,somehow these ideas all got rolled into one to give a twitter popularity meter. The system uses a PHP script to search twitter for a predefined term, #tag or @reply and then presents the result of this as a webpage with number of results. The page is then read by an arduino with associated Ethernet shield and displayed on a bar graph format on the LED matrix.