Tracked some car trips today, worked awesome. It showed my position to within a few feet.
Some things on my to do list for the GPS:
-More frequent GPS updates. At highway speed the waypoints are too far apart and it looks like I'm going off the road. I have a lot of delays, like 5sec, to make the LCD readable. I only have a 2x8 LCD on the unit, and i have to switch from lat/lon, speed/course, time/altitude. That loop takes 5 seconds and meanwhile the GPS is waiting. I think i will add code to log more often
-I think i need a push switch to scroll between the three possible readouts. The constantly switching display is kinda hard to monitor anyway.
-Put the speed column ahead of altitiude in the log file. gpsvisualizer wants to color my route for altitude, not for speed.
Hobby blog about tech tips I've picked up, projects I'm working on, or links to useful information and cool stuff. I'm an Electrical Engineer and professional Analog IC designer for 25 years playing in my spare time. Arduino, hacking consumer electronics, video game hardware, satellite TV, PC building, Android apps, appliance repairs and whatever else that interests me.
Search This Blog
Tuesday, September 21, 2010
GPS battery and Monoprice.com for cable
I used this rechargeable battery to power the Arduino GPS.
Duracell Instant USB Charger with Lithium ion battery / includes universal cable with USB and mini USB
It worked well, i haven't seen how long it lasts, but it has a USB plug that can connect to the Arduino and it charges from a PC USB or wall charger. It was a bit expensive but it seemed like such a nice solution for portable power, rather than burning through 9V batteries.
Monoprice.com is a crazy cheap place to buy cables. I needed a short USB cable to connect the Arduino to the rechargeable battery with a USB plug. The USB cables at best buy were $25.00 and up! At Target they were $15. At monoprice the cables were $0.84 plus $2.24 to ship. I got a cord to charge my cell phone while I was at it. All for $4.24.
Monday, September 20, 2010
Arduino GPS - data logger added
Woot!
I got the data logger shield from adafruit. A nice kit
http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243
It was 19.50, which if you count the parts and proto board, i think it is a good deal. It would have cost me more to buy separately and it looks professional and fits right on top of the Arduino.
The sdfat library i mentioned in an earlier post worked first try after i soldered up the board. I was able to run their data logging example first try on an SD card. Pop it in the computer and the file is there. Totally awesome.
I pasted my gps code from the ebay SIRF3 tinygps library (in an earlier post) together with the sdfat data logger code. I made it only record data when it had a GPS fix that was >0ms and <2000ms to filter out no signal cases that were filling the file with zeros. A little messing with the header that gps visualizer wants on top the file. http://www.gpsvisualizer.com and i was good to go. Sitting at the kitchen table it logged data just fine.
Tossed on a small LCD 8x2 display i got off EBAY so i could tell what it was doing. Between the SD card, GPS and LCD the pins are maxed out on the Arduino.
I used a USB cigarette lighter plug and a USB cable and took it in the car with me. I drove on some errands. The GPS showed all zeros, no signal. boo!!!!! Held it up through the sunroof. Still NADA. Frustration mounted. Tried again the next day driving to work. Nothing. AAAAARRRGH. Is the GPS signal that weak?
Brought it back inside, plugged the USB into my computer. Bingo! signal! Working great again. Walked out to the car.. still working fine. Sat in the car with the Arduino and GPS powered from the laptop USB on battery power. Works great. Here is a picture of my walk to the car, from gps visualizer.
So the problem was the power, either the current or the voltage supplied by the cheapo USB cigarette plug is too low for the GPS to get signal. OK tomorrow we run with the 9V adapter and my inverter! Banzai!
I got the data logger shield from adafruit. A nice kit
http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243
It was 19.50, which if you count the parts and proto board, i think it is a good deal. It would have cost me more to buy separately and it looks professional and fits right on top of the Arduino.
The sdfat library i mentioned in an earlier post worked first try after i soldered up the board. I was able to run their data logging example first try on an SD card. Pop it in the computer and the file is there. Totally awesome.
I pasted my gps code from the ebay SIRF3 tinygps library (in an earlier post) together with the sdfat data logger code. I made it only record data when it had a GPS fix that was >0ms and <2000ms to filter out no signal cases that were filling the file with zeros. A little messing with the header that gps visualizer wants on top the file. http://www.gpsvisualizer.com and i was good to go. Sitting at the kitchen table it logged data just fine.
Tossed on a small LCD 8x2 display i got off EBAY so i could tell what it was doing. Between the SD card, GPS and LCD the pins are maxed out on the Arduino.
I used a USB cigarette lighter plug and a USB cable and took it in the car with me. I drove on some errands. The GPS showed all zeros, no signal. boo!!!!! Held it up through the sunroof. Still NADA. Frustration mounted. Tried again the next day driving to work. Nothing. AAAAARRRGH. Is the GPS signal that weak?
Brought it back inside, plugged the USB into my computer. Bingo! signal! Working great again. Walked out to the car.. still working fine. Sat in the car with the Arduino and GPS powered from the laptop USB on battery power. Works great. Here is a picture of my walk to the car, from gps visualizer.
So the problem was the power, either the current or the voltage supplied by the cheapo USB cigarette plug is too low for the GPS to get signal. OK tomorrow we run with the 9V adapter and my inverter! Banzai!
Got the Gamecube working
So finally the slotted screwdriver from Amazon came and i cracked open the gamecube.
I simultaneously experimented with another gamecube we had lying around that the laser wore out on, and it would frequently freeze or fail to see disks.
The gamecube i was attempting to fix you could see the laser light up red, move in and out, but the platter never spun. I thought initially it was the motor. I tried the other gamecube, and it would begin spinning the platter right after the laser lit up and moved around.
I found some surprises inside the gamecube. The black platter floats on some rubber grommets. You can pop it off by pushing in some clips next to each grommet. THen you can see the platter motor and laser underneath, but they are tethered by wires. The laser flex cable pops out of the connector if you slide back the clamp. The motor is hard wired soldered to the board. The laser motor is also soldered to the board by two wires.
So it is impossible to just swap out the motor.
If you take out about 16 screws on the shiny metal cover under the black platter, you can pop off the whole platter assembly and circuit board, they simply plug into one connector.
I decided to take the laser from one game cube, and the platter/circuit board from another and put them together. As i said, the laser can be disconnected and removed by a couple screws. I put it all back together and there was another surprise! The combined assembly of parts i thought would all work, didn't. The laser lit up and moved in and out, but the platter never started spinning!!. This is the same motor that worked a few minutes ago. So i realized that the laser was really bad. So bad it didn't even see the disk, worse than the guinea pig broken gamecube that at least saw the disk.
So I realized I had two gamecubes with broken lasers, and no spare parts. Doh!
I went to ebay, searched for gamecube replacement laser. I found many in the 10 to $15 range, from US sellers. Watch out for stuff shipped from China, the quality can be spotty and you are unlikely to get much customer support. I think it is worth the couple bucks extra to buy domestic.
Got the laser, popped it in, and Voila! The platter spins now. The motor was never bad. So if you are repairing a gamecube, ebay is your best friend. Buy the screwdriver, buy the laser, pop off the platter and don't remove all the screws, no point.
I simultaneously experimented with another gamecube we had lying around that the laser wore out on, and it would frequently freeze or fail to see disks.
The gamecube i was attempting to fix you could see the laser light up red, move in and out, but the platter never spun. I thought initially it was the motor. I tried the other gamecube, and it would begin spinning the platter right after the laser lit up and moved around.
I found some surprises inside the gamecube. The black platter floats on some rubber grommets. You can pop it off by pushing in some clips next to each grommet. THen you can see the platter motor and laser underneath, but they are tethered by wires. The laser flex cable pops out of the connector if you slide back the clamp. The motor is hard wired soldered to the board. The laser motor is also soldered to the board by two wires.
So it is impossible to just swap out the motor.
If you take out about 16 screws on the shiny metal cover under the black platter, you can pop off the whole platter assembly and circuit board, they simply plug into one connector.
I decided to take the laser from one game cube, and the platter/circuit board from another and put them together. As i said, the laser can be disconnected and removed by a couple screws. I put it all back together and there was another surprise! The combined assembly of parts i thought would all work, didn't. The laser lit up and moved in and out, but the platter never started spinning!!. This is the same motor that worked a few minutes ago. So i realized that the laser was really bad. So bad it didn't even see the disk, worse than the guinea pig broken gamecube that at least saw the disk.
So I realized I had two gamecubes with broken lasers, and no spare parts. Doh!
I went to ebay, searched for gamecube replacement laser. I found many in the 10 to $15 range, from US sellers. Watch out for stuff shipped from China, the quality can be spotty and you are unlikely to get much customer support. I think it is worth the couple bucks extra to buy domestic.
Got the laser, popped it in, and Voila! The platter spins now. The motor was never bad. So if you are repairing a gamecube, ebay is your best friend. Buy the screwdriver, buy the laser, pop off the platter and don't remove all the screws, no point.
Monday, September 13, 2010
PCB
ExpressPCB was recommended by a friend. They have free software and make the boards fast. No DRC/LVS for the software.
Sunday, September 12, 2010
Fixing a GameCube
My daughter's friend's Gamecube wont spin the disk anymore.
Went to crack it open, and it has the oddest security screws you will ever see.
Bought this, but none of the tools fit. Doh! 15 bucks gone.
http://www.amazon.com/gp/product/B0018D88ZW/ref=oss_product
Then bought this for 3.95
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=310242191765&ssPageName=STRK:MEWNX:IT#ht_1641wt_1025
I'll let you know how the repairs go when it comes.
Went to crack it open, and it has the oddest security screws you will ever see.
Bought this, but none of the tools fit. Doh! 15 bucks gone.
http://www.amazon.com/gp/product/B0018D88ZW/ref=oss_product
Silverhill "Best Of" Tool Kit, with Tools for Nintendo Products and Microsoft Xbox Products
Then bought this for 3.95
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=310242191765&ssPageName=STRK:MEWNX:IT#ht_1641wt_1025
4.5 mm NINTENDO SNES NES N 64 SECURITY GAME BIT TOOL |
I'll let you know how the repairs go when it comes.
Arduino Ethernet Clock Code
// Code to run an internet enabled digital clock
// gets data off the web and parses it
// Tom Wilson 9/2010
// Hardware is an Arduino D, Ethernet shield, and a big 20x4 LCD
#include <Ethernet.h>
// Borrowed code from a couple blogs....
// DHCP support
// Author: Jordan Terrell - blog.jordanterrell.com
//http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-04.aspx
#include "Dhcp.h"
//Code to parse and scrape out the data you want
//http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1231812230
#include <LiquidCrystal.h>
// Include description files for other libraries used (if any)
#include <string.h>
// Define Constants
// Max string length may have to be adjusted depending on data to be extracted
#define MAX_STRING_LEN 21
// Setup vars
char tagStr[MAX_STRING_LEN] = "";
char dataStr[MAX_STRING_LEN] = "";
char tmpStr[MAX_STRING_LEN] = "";
char endTag[3] = {'<', '/', '\0'};
int len;
int line_num = 0;
int j = 0;
// Flags to differentiate XML tags from document elements (ie. data)
boolean tagFlag = false;
boolean dataFlag = false;
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 6 , 5, 4, 3, 2);
boolean ipAcquired = false;
byte mac[] = { 0xDE, 0xAD, 0xDE, 0xED, 0xBE, 0xEF };
//byte ip[] = { 192, 168, 1, 113 }; for non dhcp
//byte server[] = { 72, 14, 204, 99 }; // Google
//byte server[] = { 76, 13, 115, 78 }; // yahooapis
byte server[] = { 199, 211, 133, 239 }; // tycho.usno.navy.mil
Client client(server, 80);
void setup()
{
Serial.begin(9600);
lcd.begin(20, 4);
//backlight on pin 8
pinMode(8, OUTPUT);
digitalWrite(8, LOW);
// some router may require a delay before it will route network packets
// add a delay if needed:
Serial.println("delaying...");
delay(5000);
Serial.println("getting ip...");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("getting ip address...");
int result = Dhcp.beginWithDHCP(mac);
if(result == 1)
{
ipAcquired = true;
digitalWrite(8, HIGH);
byte buffer[6];
Serial.println("ip acquired...");
lcd.clear();
Dhcp.getMacAddress(buffer);
Serial.print("mac address: ");
printArray(&Serial, ":", buffer, 6, 16);
Dhcp.getLocalIp(buffer);
Serial.print("ip address: ");
printArray(&Serial, ".", buffer, 4, 10);
//print the ip address to screen
lcd.setCursor(0,0);
lcd.print("IP Address obtained");
lcd.setCursor(0,1);
lcd.print(buffer[0],DEC);
lcd.setCursor(3,1);
lcd.print(".");
lcd.setCursor(4,1);
lcd.print(buffer[1],DEC);
lcd.setCursor(7,1);
lcd.print(".");
lcd.setCursor(8,1);
lcd.print(buffer[2],DEC);
lcd.setCursor(11,1);
lcd.print(".");
lcd.setCursor(12,1);
lcd.print(buffer[3],DEC);
Dhcp.getSubnetMask(buffer);
Serial.print("subnet mask: ");
printArray(&Serial, ".", buffer, 4, 10);
//print the ip address to screen
lcd.setCursor(0,2);
lcd.print(buffer[0],DEC);
lcd.setCursor(3,2);
lcd.print(".");
lcd.setCursor(4,2);
lcd.print(buffer[1],DEC);
lcd.setCursor(7,2);
lcd.print(".");
lcd.setCursor(8,2);
lcd.print(buffer[2],DEC);
lcd.setCursor(11,2);
lcd.print(".");
lcd.setCursor(12,2);
lcd.print(buffer[3],DEC);
Dhcp.getGatewayIp(buffer);
Serial.print("gateway ip: ");
printArray(&Serial, ".", buffer, 4, 10);
Dhcp.getDhcpServerIp(buffer);
Serial.print("dhcp server ip: ");
printArray(&Serial, ".", buffer, 4, 10);
//print the ip address to screen
lcd.setCursor(0,3);
lcd.print(buffer[0],DEC);
lcd.setCursor(3,3);
lcd.print(".");
lcd.setCursor(4,3);
lcd.print(buffer[1],DEC);
lcd.setCursor(7,3);
lcd.print(".");
lcd.setCursor(8,3);
lcd.print(buffer[2],DEC);
lcd.setCursor(11,3);
lcd.print(".");
lcd.setCursor(12,3);
lcd.print(buffer[3],DEC);
Dhcp.getDnsServerIp(buffer);
Serial.print("dns server ip: ");
printArray(&Serial, ".", buffer, 4, 10);
delay(5000);
/*
Serial.println("connecting...");
if (client.connect()) {
Serial.println("connected");
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
} else {
Serial.println("connection failed");
}
*/
}
else {
Serial.println("unable to acquire ip address...");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("unable to acquire ip address");
}
delay(1000);
Serial.println("connecting...");
lcd.setCursor(0,0);
lcd.print("Connecting... ");
if (client.connect()) {
Serial.println("connected");
digitalWrite(8, HIGH);
lcd.clear();
delay(2000);
client.println("GET /cgi-bin/timer.pl HTTP/1.0"); //get military time
client.println();
} else {
Serial.println("connection failed");
digitalWrite(8, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Connection Failed ");
}
}
void loop()
{
line_num = 0;
delay(1000);
Serial.println("connecting...");
while (client.available()) {
serialEvent();
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
Serial.print("client.status = ");
Serial.println(client.status(),DEC);
client.stop();
Serial.println("connecting...");
delay(2000);
if (client.connect()) {
digitalWrite(8, HIGH);
Serial.println("connected");
client.println("GET /cgi-bin/timer.pl HTTP/1.0"); //get military time
client.println();
} else {
digitalWrite(8, LOW);
Serial.println("connection failed");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Connection Failed ");
}
}
}
// Process each char from web
void serialEvent() {
// Read a char
char inChar = client.read();
//Serial.print(".");
if (inChar == '<') {
addChar(inChar, tmpStr);
tagFlag = true;
dataFlag = false;
} else if (inChar == '>') {
addChar(inChar, tmpStr);
if (tagFlag) {
strncpy(tagStr, tmpStr, strlen(tmpStr)+1);
}
// Clear tmp
clearStr(tmpStr);
tagFlag = false;
dataFlag = true;
} else if (inChar != 10) {
if (tagFlag) {
// Add tag char to string
addChar(inChar, tmpStr);
// Check for </XML> end tag, ignore it
if ( tagFlag && strcmp(tmpStr, endTag) == 0 ) {
clearStr(tmpStr);
tagFlag = false;
dataFlag = false;
}
}
if (dataFlag) {
// Add data char to string
addChar(inChar, dataStr);
}
}
// If a LF, process the line
if (inChar == 10 ) {
/*
Serial.print("tagStr: ");
Serial.println(tagStr);
Serial.print("dataStr: ");
Serial.println(dataStr);
*/
// Find specific tags and print data
if (matchTag("<BR>")) {
Serial.print(line_num);
Serial.print(dataStr);
Serial.println("");
//lcd.setCursor(0,line_num);
//lcd.print(dataStr);
if ((line_num > 0) & (line_num < 5)) {
lcd.setCursor(0,line_num-1);
lcd.print(dataStr);
} else {
//line_num = 0;
}
line_num = line_num + 1;
//if (line_num >4) line_num = 0;
}
// Clear all strings
clearStr(tmpStr);
clearStr(tagStr);
clearStr(dataStr);
// Clear Flags
tagFlag = false;
dataFlag = false;
}
}
/////////////////////
// Other Functions //
/////////////////////
// Function to clear a string
void clearStr (char* str) {
int len = strlen(str);
for (int c = 0; c < len; c++) {
str[c] = 0;
}
}
//Function to add a char to a string and check its length
void addChar (char ch, char* str) {
char *tagMsg = "<TRUNCATED_TAG>";
char *dataMsg = "-TRUNCATED_DATA-";
// Check the max size of the string to make sure it doesn't grow too
// big. If string is beyond MAX_STRING_LEN assume it is unimportant
// and replace it with a warning message.
if (strlen(str) > MAX_STRING_LEN - 2) {
if (tagFlag) {
clearStr(tagStr);
strcpy(tagStr,tagMsg);
}
if (dataFlag) {
// clearStr(dataStr);
// strcpy(dataStr,dataMsg); just stop instead of killing the string
}
// Clear the temp buffer and flags to stop current processing
clearStr(tmpStr);
tagFlag = false;
dataFlag = false;
} else {
// Add char to string
if ((ch != '.') & (ch != ',')) str[strlen(str)] = ch;
}
}
// Function to check the current tag for a specific string
boolean matchTag (char* searchTag) {
if ( strcmp(tagStr, searchTag) == 0 ) {
return true;
} else {
return false;
}
}
void printArray(Print *output, char* delimeter, byte* data, int len, int base)
{
char buf[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
for(int i = 0; i < len; i++)
{
if(i != 0)
output->print(delimeter);
output->print(itoa(data[i], buf, base));
}
output->println();
}
Places to buy Arduino stuff
Hacktronics
http://www.hacktronics.com/
Stuff comes really fast. I bought originally through Amazon. Got all my arduinos through them so far.
Sparkfun
http://www.sparkfun.com/commerce/categories.php
Haven't bought anything from them yet, but they have a lot of stuff.
Adafruit
http://www.adafruit.com/
Super chip proto shields. Bought a couple, waiting to see how fast them come.
Digikey
http://www.digikey.com/
Defacto parts site. Stuff comes fast. Gotta pay a shipping charge, so best to combine into larger orders. You have to know what you want, our creep through a catalog. They have so much stuff that you can't find whachamacalits. Gotta know the name.
Bought all my LCD displays, protoboards, connectors, etc from here
BatchPCB
Haven't tried them yet, but this is how to make your own boards.
http://batchpcb.com/index.php/Products
And of course Amazon.com shouldn't be forgotten. Stuff comes fast, and you have some guarantee to back it up.
Ebay is worth looking at. Watch out for all the Chinese Arduinos and ethernet boards, etc. See my other post. Never got those to work. Plus i feel a little better sending my money to Italy to the Arduino developers by buying an authentic Arduino. You will never see you money again if the Chinese ones don't work. However you can get parts here from other hobbists. Dont be afraid, Ebay is reliable.
http://www.hacktronics.com/
Stuff comes really fast. I bought originally through Amazon. Got all my arduinos through them so far.
Sparkfun
http://www.sparkfun.com/commerce/categories.php
Haven't bought anything from them yet, but they have a lot of stuff.
Adafruit
http://www.adafruit.com/
Super chip proto shields. Bought a couple, waiting to see how fast them come.
Digikey
http://www.digikey.com/
Defacto parts site. Stuff comes fast. Gotta pay a shipping charge, so best to combine into larger orders. You have to know what you want, our creep through a catalog. They have so much stuff that you can't find whachamacalits. Gotta know the name.
Bought all my LCD displays, protoboards, connectors, etc from here
BatchPCB
Haven't tried them yet, but this is how to make your own boards.
http://batchpcb.com/index.php/Products
And of course Amazon.com shouldn't be forgotten. Stuff comes fast, and you have some guarantee to back it up.
Ebay is worth looking at. Watch out for all the Chinese Arduinos and ethernet boards, etc. See my other post. Never got those to work. Plus i feel a little better sending my money to Italy to the Arduino developers by buying an authentic Arduino. You will never see you money again if the Chinese ones don't work. However you can get parts here from other hobbists. Dont be afraid, Ebay is reliable.
Arduino GPS working too!
Ordered a GPS module off Ebay for $30 plus shipping
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=250686123796&ssPageName=STRK:MEWAX:IT#ht_500wt_896
It came with a tutorial wiring diagram.
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=250686123796&ssPageName=STRK:MEWAX:IT#ht_500wt_896
It came with a tutorial wiring diagram.
http://www.fileden.com/files/2010/8/21/2948335/GPS_Arduino_Tutorial.zip
I hooked it up to the Arduino, and strapped on an LCD. Loaded the tutorial. After about 15 secs of 0.000 0.000 data started pouring out. Wow!
That was easy. Less than an hour.
SInce then i've gone through the software and have the LCD outputing time , data, speed, course, as well as the GPS data.
Now what?? I think I will make a GPS logger. Something like a teen tracker, that writes the data to an SD card. The onboard EEPROM is 512 bytes, too small to do anything with.
I decided to order a data logging shield from adafruit for 19.50.
A protoboard and connectors would cost me that much, and it comes with an SD card slot.
The SD card writer i made earlier is a bit of a kluge, and the one on adafruit seems like a good deal. I got my sd card writer to work though the SPI interface, but only the arduino can read it. I want to be able to take the files to a PC.
The sdfat libraries look like they will do the trick to log the data.
I found a cool website that will plot the gps data to a map, showing the whole route.
Got the arduino ethernet shield working
Ordered an ethernet shield from ebay, and it was shipped from Hong Kong. It cost 9.95 plus another 9.95 to ship. I got it in about a week. I was kinda shocked it came so fast. Plugged it in and the lights flashed. Tried the ethernet client and server apps, neither would work. Fooled with my router, trying to see what IP address was assigned to it. It never showed up on the DHCP table in the router. I decided it was busted.
Eventually I gave up and ordered for $39
http://www.hacktronics.com/Arduino/Arduino-Ethernet-Shield/flypage.tpl.html
I bought it through Amazon, but now i see it is out of stock. It had an SD card slot and was much nicer than the chinese one i bought. My router saw it immediately, and after changing the IP address to the one my router showed in the DHCP table, and changing the server to google for me. This is done by
using cmd in the run box and opening a terminal window. type ping www.google.com and you will get back the local IP address for google. Uploaded to the arduino and ba da bing, data started pouring back.
I found that someone had developed a DHCP version of the ethernet library, that worked perfectly
http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-04.aspx
This was awesome. You download and replace the Arduino libraries. I had trouble at first getting it to find an IP address, until i notice the line that said some routers need a delay to work, and a delay statement commented out. I uncommented it, and bingo. The IP address was obtained at home , and also at work where we have a typical big company network monstrosity.
I used this and the tycho navy time site, and the yahoo stock download pages to write an app to pull some data down and made a little desk clock with an LCD display. Within the weekend of getting the ethernet shield, my little toy was done!
Eventually I gave up and ordered for $39
http://www.hacktronics.com/Arduino/Arduino-Ethernet-Shield/flypage.tpl.html
I bought it through Amazon, but now i see it is out of stock. It had an SD card slot and was much nicer than the chinese one i bought. My router saw it immediately, and after changing the IP address to the one my router showed in the DHCP table, and changing the server to google for me. This is done by
using cmd in the run box and opening a terminal window. type ping www.google.com and you will get back the local IP address for google. Uploaded to the arduino and ba da bing, data started pouring back.
I found that someone had developed a DHCP version of the ethernet library, that worked perfectly
http://blog.jordanterrell.com/post/Arduino-DHCP-Library-Version-04.aspx
This was awesome. You download and replace the Arduino libraries. I had trouble at first getting it to find an IP address, until i notice the line that said some routers need a delay to work, and a delay statement commented out. I uncommented it, and bingo. The IP address was obtained at home , and also at work where we have a typical big company network monstrosity.
I used this and the tycho navy time site, and the yahoo stock download pages to write an app to pull some data down and made a little desk clock with an LCD display. Within the weekend of getting the ethernet shield, my little toy was done!
Subscribe to:
Posts (Atom)
