Thursday, August 29, 2013

Our first project - The serial display

The Purpose of Bumbling Electron

I decided to create this blog to document my journey through making useful devices using micro-controllers. My rational is that other people will benefit from my mistakes as I fail my way to success.

I will build projects that span multiple blog entries. At first I am going to write a blog entry when ever I finish some work on a project. I might have one or more projects on-going at any time. If warranted I'll post on some regular schedule.

My First Project

My first project is a 2 line by 16 character LCD display that connects and is powered via USB. This can be used to display status information about the computer or even help in displaying debugging information while developing software. If you want to get creative you could easily write a script that pulls weather information from the world wide web and displays the current temperature, humidity and other weather related information. Getting excited?

When attached to the computer, the display will appear as a serial device. I am using Linux but you could develop under Windows or Apple OS. If you have an android device with a host USB adaptor you can use that.

Choice of language includes the ubiquitous Windows BAT file, Python, JavaScript; basically any language that can write to the serial port. What you write is up to you. Controlling the output will depend on certain ASCII codes that are non-displayable characters. These are interpreted by the display as commands. For example, ASCII code zero (0) will cause the display to clear and the cursor to position itself at the beginning of the first line. An ASCII code of one (1) will allow you to position the cursor to any position on the two lines of the display. The next two ASCII codes following the ASCII one will be the line (0 or 1) and the column (0 to 15).  Other codes will allow you to scroll left or right, turn the back light on and off, blank the display or even reboot the device.

I am also thinking on adding a piezo electric beeper to allow the ASCII bell character (8) to sound a beep. That way you can signal an event audibly.

I look forward to building the LCD display and sharing it with you.

Wee Willy Wonderful