Friday, May 28, 2010

Mushroom Farm Day 23

At Bunnings (the Home Depot of Australia) Joyce and I made an investment into a mushroom-farm-in-a-box. If we can get two kilograms of mushrooms from this we will break even.

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.

Arduino and SerLCD 2.5

Hooking up the Sparkfun SerLCD was a breeze, transmission over the Arduino's RX pin resulted in text printing to the serial module. I am using the SerLCD module connected to a GDM1602K Basic 16x2 Character LCD - White on Black 5V.

Using the SparkFunSerLcd Arduino library also made things easier-- this library allows use of Software Serial, allowing serial tranmission over any of the digital i/o pins. Apparently uploading to the Arduino whilst pluggin in to the SerLCD on the RX pin can cause corruption of the SerLCD module memories.

Hello Serial!