This was a lot easier than I had imagined. I followed the Ladyada LCD tutorial and her xBee tutorial. I used the code she provided a long with the liquidcrystal library example sketch which you can find under Arduino 0022 File>Examples> LiquidCrystal>HelloWorld. To this point I can type on my computer in terminal and it will show up on the bright blue display. The connection is wireless between 2 xBees. The xBee connected to the computer used and FTDI cable and an adafruit xBee adapter. The computer just has terminal running using this tutorial. (If you want to connect to your xBee using a terminal on a Mac here’s how.) The second xBee is pictured to the right.
It’s code time… I’ve been cutting and pasting code together trying to get everything to work at the same time. I’m using a em-406a GPS on the Adafruit GPS shield. I have 2 photogates that need to use the attachinterupt() function. The only digital pins that are setup on the Arduino UNO for attacheinterupt() are 2 and 3. The GPS shield uses digital 2 and 3 for GPS communication using NewSoftSerial. So I tried moving the GPS to other pins, 8 and 9 worked. Now pins 2 and 3 are free for my photogates.
I have to paddlewheel setup on the stern and plugged into the arduino UNO. I’m getting consistent analog readings of; 20-30 for OFF and 700-900 for ON. The digital cutoff point is around 400. If I take it outside ambient UV light will cause the OFF readings to jump up to 200-300 so I’ll need to build a cowling to go over the whole apparatus to block out ambient light. I used the RPM photogate code available here to test the sensor’s digital readings.
After 3 months of building I now have a sailboat. The mask is about 5ft high and the boat is 3ft long. It should be a great platform to test my electronics. It is radio controlled with 2 channels, for rudder and sail position. The sails can be pulled in or let out so that you can sail from close hauled to directly down wind just like a full sized sailboat.