Saturday, April 20, 2013

HD44780 - Custom Character Generator - The Making

A while ago, I've made a simple program which I called HD44780 Custom Character Generator, I think that now is time to share the source code and go open!

HDD44780 CCG on GitHub

Playing with BeagleBone



I've recently got my hands on a BeagleBone with the excuse of being the main brain of my RoboCar.

Little by little, it was becoming obvious that I got my hands on an awesom-full-ness world of truly powerful embedded programming.

In short, I can say, imagine that you can put your laptop on your robot instead of an Arduino!!

That is what BeagleBone does, it really is a small tiny computer which runs linux operating system, it is quite similar to the popular RaspberryPi (which I failed miserably to get).

BTW, have a look at the following comparison between (arduino-uno-vs-beaglebone-vs-raspberry-pi) [Makezine]


In this post, I want to show you how awesome and easy it is to use BeagleBone with an example of an ADC (I followed a tutorial GigaMegaBlog)

I made the following connections on Port 9 (picture is from Beagle Bone System Reference Manual)




now, you need to access the command prompt on the beaglebone, this can be done in two ways as far as I know:

1: Using BeagleBone's USB to Ethernet converter:

By default, once you plug in the BeagleBone, you will access the memory card, in Windows, you need to write click on the driver on My Computer and choose "Eject" not Remove Device Safely

After couple of minutes, the ethernet interface will be activated on IP 192.168.7.2


2: The other way is to connect your BeagleBone to your home network simply by plugging a ethernet cable to BeagleBone on one side and to your router on the other side. Depending on your network configuration an IP address will be assigned to your BeagleBone.

Ok now, after we got the IP address let us see which ports are open:

port scan (up to 3100)  reveals that following ports are open:

------------------------------------------------------------------------
PORT     STATE SERVICE

22/tcp   open  ssh

25/tcp   open  smtp

80/tcp   open  http

110/tcp  open  pop3

119/tcp  open  nntp

143/tcp  open  imap

443/tcp  open  https

465/tcp  open  smtps

563/tcp  open  snews

587/tcp  open  submission

993/tcp  open  imaps

995/tcp  open  pop3s

3000/tcp open  ppp
------------------------------------------------------------------------


what we need is really only port 22, the SSH

you can use putty with the IP address, username: root, and no password



Now we are inside BeagleBone!!!

I am not going to re-state what is nicely explained in GigaMegaBlog, rather I'll give the short form:

Inputs and Outputs and Analog Inputs are really assigned to files rather than variables like in normal microcontrollers, so the file which contains Analong Input values is located in the following folder:

/sys/devices/platform/omap/tsc

type in:

cd /sys/devices/platform/omap/tsc

cat ain1

the above code will navigate to the said directory and then will output on the screen the contents of the file "ain1"

the contents of this folder is really the analog value (12 bit resolution, 0-4096) of Analog channel 0 (yes, the index of the file is offset by 1)




playing with the pot:



AWESOME!!!! :)

I can also do it from my Android: