Thursday, May 27, 2010

Ozymandias Monitor

The TellyMate shield by Batsocks in the UK inspired me in so many ways. The shield allows video output to a TV using serial communication, so hooking it up to the Arduino is a no-brainer. Awesome 1980 video game fonts come stock with the TellyMate. Then it came to me-- what if I hook this board up to the internet? It would be an awesome blend of antique analog displays and the web connected world of the 21st century. The older TV I could find the better.

The TellyMate and EthernetShield were ordered and arrived three days later.

Within a day the shields are connected to the Arduino and I am making simple server connections to Google and outputting raw HTML to the free TV I aquired the other day. Keep in mind this is not my full time job so one day means the one or two hours I have free to mess around with my toys.

The shields stacked: my Arduino, EthernetShield, and TellyMateHTML output of Google to my antique Sharp 14"

The ethernetShield and/or Ethernet.h libary do not support DNS or DHCP so there is some hard coding needed to connect the board to your network and the internet. First of all, I found an unused IP address from the router's DHCP table and assigned it to the board. The MAC address I used from the example sketch:


//An unused IP address as found in the DHCP table
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 1 };

//gateway = router ip address
//subnet = netmask
byte gateway[] = { 192, 168, 1, 254 };
byte subnet[] = { 255, 255, 255, 0 };

// server
byte server[] = { 66, 102, 11, 104 }; // Google

Client client(server, 80);

void setup()
Ethernet.begin(mac, ip, gateway, subnet);


The gateway[] array input to begin( ) is the IP address of the router, and similary the subnet[ ] array is the subnet mask address of the router. You can get Google's IP address by pinging it from your command prompt in Windows. Arduino sketch code here. Once I get tired of hard coding IP address I will probably try out the Arduino Ethernet Libraries that support DNS and DHCP with the EthernetShield/Ethernet Library.

1 comment:

Anonymous said...

Great work man! A good suggestion for one of my next experiment!