Show Posts
Pages: 1 ... 21 22 [23] 24 25 ... 27
331  Community / Bar Sport / Re: Arduino- when is one never enough? on: January 29, 2011, 08:08:27 pm
I bought my second Mega when I got sick of running outside to get a "lock" with my EM-406 GPS module!
With the same order I bought a Sparkfun XBee retail pack, which worked out cheaper than buying 2 XBee's, an XBee shield and an XBee explorer.

So now when I'm working on my GPS code I have my Mega + GPS + XBee outside powered with a battery and the Mega I'm working with is in here with me, it thinks it's talking directly to the EM-406!

THEN when I started working on a monitoring system for the turkey barns I bought 2 SeeedStudio Mega clones and 10 ATMEGA328P's with the Arduino bootloader, along with 4 XBee Pro modules and  breakout boards for them plus a genuine Duemilanove that I've been using to program the '328's with.

In Barn 1 there are 8 separate water lines, Barn 2 has 4 water lines, each line is going to have a SeeedStudio water flow sensor with my "Barnduino" board talking to a Mega clone over a serial link.
Each Mega clone has a Sparkfun "HUGE" serial backpack LCD display, an SHT15 temperature/humidity sensor, 4 x 24LC256 EEPROM's, a DS1307 RTC and an XBee Pro module.
I'm logging hourly temperature and humidity values, as well as the min/max values for the past 24 hours.

So far I only have one water flow sensor on a water line, as soon as I get an idea of what "normal" water usage is all the water lines will be fitted.
Depending on how well this works I may put a solenoid water valve after the flow sensor.
The whole point of this is when the <expletive censored> turkeys break something on a water line or turn a tap on, (yes they do that, many beaks make light work!) an alarm will sound and trip the solenoid valve.
It costs us a fortune in clean sawdust and my labour time when the <expletive censored> turkeys empty our 2000 litre header tank into the shed.
The water spill I catch after a few minutes is a lot easier to clean up than a spill that has been going for a few hours.

The XBee modules in the barns are talking to my genuine Mega here in the house and we can see current temperature using my TellyMate shield on an old Amiga composite monitor in the kitchen.
This saves me walking down to the barns every half hour to check the birds and leaves me with more time to code my projects.
To that end I have 4 more SeeedStudio Mega clones and a couple more XBee Pro mudules on the way.

You can never have enough Arduino's, ASUS eee netbooks, Desktop machines!
332  Topics / Device Hacking / Re: Serial communication: Xbee bridge on: January 29, 2011, 07:30:29 pm
That is easy!
You will need a MAX232 chip on each XBee module, also a 3V power supply for each module.
Once you have them wired up it will be the same as having a cable.
333  Using Arduino / Project Guidance / Re: Tablet serial to 128x64 lcd on: January 29, 2011, 04:34:22 pm
As the other guys have said get to know how to use your LCD first.
Then look at the output from the tablet by logging the data to a terminal program on your PC.
The tablet output is usually not that complex for a serial one, I managed to write a driver for a big old Wacom for my old Mac Plus in a few hours.
334  Using Arduino / Project Guidance / Re: Video and control over rf on: January 29, 2011, 04:31:13 pm
I've been experimenting with AirStream A/V modules for audio and video, at the same time as having XBee operating.
As well as Bluetooth and all the WiFi going on here, I've not noticed any video problems.
I picked up an MSI TV tuner/video dongle for $50 and I use that to digitise my received video, then I use VLC to stream video around my network.
There is no reason to have all your data going over a single RF link.
335  Using Arduino / Project Guidance / Re: Which Arduino board? on: January 29, 2011, 04:23:45 pm
I've found the Mega and the SeedStudio Mega clones to be GREAT!
4 UARTs! No messing around with software serial, more IO than you can shake a digital stick at!
For really simple stuff, I bought 10 ATMEGA 328's with the Arduino boot loader, they cost me AUS$6 + crystal + a few other components, total cost was less than AUS$20.

I was messing around with my Duemilanova for ages trying to get soft serial to work, I had a GPS module, XBee modem, serial LCD display and found it frustrating.
As soon as I got my MEGA all 3 devices just worked!

336  Forum 2005-2010 (read only) / Bugs & Suggestions / Re: Is anyone using Forth in their Lilypad? on: October 23, 2010, 08:10:17 pm
I just downloaded amforth, I'll try using it on my Mega and tell you all how I go!

I've been using Forth (and PostScript) since the '70's!

It's a great language, some of my favourite programs were written in Forth.
The most conspicuous example is the desktop planetarium program, "Voyager"
337  Forum 2005-2010 (read only) / Syntax & Programs / Re: SD, microSD, fat, et al on: November 17, 2010, 04:06:21 pm
Thanks for that pull up tip on input pins, I was looking at the ATMega 1280 data sheet, then wondering how that translated to the Arduino language.

I'll still try and get the SD card to work, purely for the intellectual exercise, but...

After reading the docs that come with the various libraries and seeing how big they are and how much overhead is involved with using a DOS based storage medium, I had to ask myself...

Is this really worth it?

I've written code to read and write DOS files on x86 machines, in x86 assembler so I know how much hassle it is.

So I've ordered 8 24LC256 I2C EEPROM's.

For what I want to do a 1Gb SD card is over kill!
Each 24LC256 is 32K, that is a LOT of way points and data!
8 of them will give me 256K, even more way points and data!
8 x 24LC256's is still cheaper than a 1G SD card, I have an 8M SD card here some where but most of my gadgets don't like it.

Realistically if I need more than 256K of storage I'll just use one of my eee netbooks or get a Beagle Board.

This "Tricorder"/navigation aid/dog tracker thingy has an XBee module in it anyway and the code to dump data to a Processing sketch on my eee is a lot less hassle and takes up less Flash.

Thanks to every one that has made suggestions, it really has helped and as I said I'll have a go at getting the SD card to work just for the hell of it.

Live long and prosper!

Spock out  :-)

ps added a MLX90614 temperature sensor!
338  Forum 2005-2010 (read only) / Syntax & Programs / Re: SD, microSD, fat, et al on: November 16, 2010, 08:50:12 pm
I've been trying to find a schematic for the DFRobot module, with no luck.
When trying to get the SD module to work, it is the only thing on the bus, going with the KISS principle! :-)

Which SD library should I be using, I've tried all the ones I can find.

Just looked at the module with a 12x magnifier, there is a voltage regulator with decoupling caps and voltage dividers acrross the signal lines.

The regulator has a weird pin-out, but it's getting 4.80V and outputting 3.30V with no card.
Just measured it and having a card doesn't change the regulator o/p.
Checking with the AC range on the meter I can see no ripple.

The SD cards I've tried are all 1G, Sandisk, Lexar and some re-badged DSE & MTV cards.

I was considering getting a Sparkfun level shifter module, but isn't that what the voltage dividers on the module do anyway?
How do I enable the internal pull-ups?

At this point, I'm considering using an I2C memory chip or a whole bunch of static CMOS RAM with battery back up!

If I need something like one of my eee's to read the data anyway, I'm thinking it'll be less hassle to use ALL the pins on my Mega!
I mean, isn't that what they are for? :-)
339  Forum 2005-2010 (read only) / Syntax & Programs / Re: SD, microSD, fat, et al on: November 16, 2010, 02:26:46 pm
I managed to get the Spargun uSD to give me error messages after I posted last night, that was as far as I got.

It was my understanding the DFRobot SD module had the logic level issues dealt with.

One important point I'm not sure of is, are the pull up resistors needed for level shifting or termination?

After I wrestled with the SD module for a while I tried my barometer, FPU and LCD shield again, this time all together on the Duemilanove, they worked no problem!
Same goes for the barometer and FPU on the Mega.
I do find it odd I can't get the Adafruit library to compile.

Spock out...
340  Forum 2005-2010 (read only) / Syntax & Programs / SD, microSD, fat, et al on: November 16, 2010, 06:54:22 am
Has anyone gotten SD or uSD card access to work with the Mega?
I just tried a Sparkfun SD shield on my Duemilanove and no luck.
I've also tried a DFRobot Arduino SD Data log module on my Mega and not a squeek!
The Sparkfun examples compile but didn't work with either configuration, uSd shield on my Duemilanove or the DFRobot module on my Mega.
I've remapped the SS,MOSI, MISO and SCK pins on the Mega to 53, 51, 50,and 52 respectively.
It's not an SPI issue, as I've gotten my MPL115A1 barometer and uMFPU-V3 floating point co-processor to work (cool chip by the way)

I'm building a "tricorder"/navigation device thingy.
I want to log way points, temperature, humidity, altitude, speed, distance covered.
So far I have my HMC6352, RTC1307, GPS, one of those HUGE 160x128 LCD screens Sparkfun sell and a groovy custom keyboard I designed and built.
I am also adding an XBee module to communicate with a cut down version of the main unit that will be attached to my dogs.
The "satellite" units will just have a GPS, Mega and XBee module.
All of this stuff is working, except the damn SD card!

Can anyone help?

What am I doing wrong?

If all alse fails I'll go for a Processing scetch running on my eee 701 logging data.
All of that
341  Forum 2005-2010 (read only) / Troubleshooting / Re: Sparkfun GPS shield not playing nice on a Mega on: August 28, 2010, 01:26:25 pm
OK, desoldered the links, ran a jumper pair from the GPS shiel to Pins 14 & 15, works a treat!
I would still like to see the software serial work, I might get my VT132 out and try "plain text"

Here is Aaron Wiese's Code with my Mega mod

  Aaron Weiss
  SparkFun Electronics
  Example GPS Parser based off of TinyGPS examples.
  Parses NMEA sentences from an EM406 running at 4800bps into readable
  values for latitude, longitude, elevation, date, time, course, and
  For the SparkFun GPS Shield. Make sure the switch is set to DLINE.
  Once you get your longitude and latitude you can paste your
  coordinates from the terminal window into Google Maps. Here is the
  link for SparkFun's location.,+-105.20997
  Uses the NewSoftSerial library for serial communication with your GPS,
  so connect your GPS TX and RX pin to any digital pin on the Arduino,
  just be sure to define which pins you are using on the Arduino to
  communicate with the GPS module.

// In order for this sketch to work, you will need to download
// NewSoftSerial and TinyGPS libraries from and put them
// into the hardware->libraries folder in your ardiuno directory.
// Here are the lines of code that point to those libraries.
// 28/08/2010
// I could not get the NewSoftSerial Drivers to work
// on my Arduino Mega with the Sparkfun GPS shield.
// I desoldered the 2 jumpers, then jumpered the GPS's Rx to Pin 14, Tx to Pin 15
// This is UART3
// As PaulS pointed out, why use soft serial on a board with 4 UART's?
#include <TinyGPS.h>

//Set this value equal to the baud rate of your GPS
#define GPSBAUD 4800

// Create an instance of the TinyGPS object
TinyGPS gps;

// This is where you declare prototypes for the functions that will be
// using the TinyGPS library.
void getgps(TinyGPS &gps);

// In the setup function, you need to initialize two serial ports; the
// standard hardware serial port (Serial()) to communicate with your
// terminal program and another hardware serial port (Serial3()) for your
// GPS.

void setup()
  // This is the serial rate for your terminal program. It must be this
  // fast because we need to print everything before a new sentence
  // comes in. If you slow it down, the messages might not be valid and
  // you will likely get checksum errors.
  //Sets baud rate of your GPS
  Serial.println("GPS Shield QuickStart Example Sketch v12.u");
  Serial.println("       ...waiting for lock...           ");

// This is the main loop of the code. All it does is check for data on
// the RX pin of the ardiuno, makes sure the data is valid NMEA sentences,
// then jumps to the getgps() function.
void loop()
  while(Serial3.available())     // While there is data on the RX pin...
      int c =;    // load the data into a variable...
      if(gps.encode(c))      // if there is a new valid sentence...
        getgps(gps);         // then grab the data.

// The getgps function will get and print the values we want.
void getgps(TinyGPS &gps)
  // To get all of the data into varialbes that you can use in your code,
  // all you need to do is define variables and query the object for the
  // data. To see the complete list of functions see keywords.txt file in
  // the TinyGPS and NewSoftSerial libs.
  // Define the variables that will be used
  float latitude, longitude;
  // Then call this function
  gps.f_get_position(&latitude, &longitude);
  // You can now print variables latitude and longitude
  Serial.print("Lat/Long: ");
  Serial.print(", ");
  // Same goes for date and time
  int year;
  byte month, day, hour, minute, second, hundredths;
  // Print data and time
  Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/");
  Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
  Serial.print("  Time: "); Serial.print(hour, DEC); Serial.print(":");
  Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC);
  Serial.print("."); Serial.println(hundredths, DEC);
  //Since month, day, hour, minute, second, and hundr
  // Here you can print the altitude and course values directly since
  // there is only one value for the function
  Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());  
  // Same goes for course
  Serial.print("Course (degrees): "); Serial.println(gps.f_course());
  // And same goes for speed
  Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
  // Here you can print statistics on the sentences.
  unsigned long chars;
  unsigned short sentences, failed_checksum;
  gps.stats(&chars, &sentences, &failed_checksum);
  //Serial.print("Failed Checksums: ");Serial.print(failed_checksum);
  //Serial.println(); Serial.println();

This works really well, I'll do the same mod with my XBee shield on Uart 2.
342  Forum 2005-2010 (read only) / Troubleshooting / Re: Sparkfun GPS shield not playing nice on a Mega on: August 28, 2010, 11:53:50 am
I'm just trying to get the GPS talking.
As to how it's wired?!
It's a sparkfun gps shield, on an Arduino Mega!

I'd say it was definitely the soft serial, I've now gotten data from the gps, going in through uart1 or 0,
I think I will use uart 3 on pins 14 & 15.

I would still like to see the softserial work though, using my mega embedded in a project is expensive overkill.

But taa anyway...
343  Forum 2005-2010 (read only) / Troubleshooting / Sparkfun GPS shield not playing nice on a Mega on: August 28, 2010, 10:27:07 am
Has anyone had success getting the Sparkfun GPS Shield to work on a Mega?
At all?

I can't get a squeek out of any of the demo programmes on my Mega.
Are there known issues with Mega compatability?
I've heard about the Ethernet shield having issues.

I'm using the TinyGPS and NewSoftSerial libraries.
Neither the Sparkfun quick start demo or the TinyGPS demo display out put from the GPS.
I see the start up message, but I think I'm having issues with the software serial connection to the Mega.

The UART/dlink switch on the GPS shield is in the dlink position.
softserial is set up like this

#define RXPIN 3
#define TXPIN 2
#define GPSBAUD 4800


GPS Shield QuickStart Example Sketch v12
       ...waiting for lock...          

I get diddly.

The NewSoftSerial and TinyGPS don't have much documentation.

Any idea's?
My only option now is to get the storage CRO out of storage.
344  Forum 2005-2010 (read only) / Interfacing / Re: VHS Data storage on: January 24, 2011, 01:05:31 am
VCR tape back up doesn't use black & white pixels, it works by writing PCM encoded data.
When you are thinking video streams in terms of data, think a 7Mbit/second data pipe.
You can do the same thing with a video sender.
Plus with an A/V sender you also get 1 or 2 - 9600 baud data channels as well.
Just remember to keep signal levels @ 1V peak to peak.

345  Forum 2005-2010 (read only) / Interfacing / Re: VHS Data storage on: January 24, 2011, 12:09:51 am
If you want to go the audio cassete way, the best method is bi-phase data encoding, which is what the "Kansas City" standard was all about.
Basically the clock and data are combined into a single serial stream.
This makes it a lot more tolerant to things like tape  stretching and the effects of "wow and flutter".

I'll have to dig out my old note from "back in the day".
This is the second time where I've talked about biphase encoding/decoding.
For low bandwith comms or data storage it's a really easy, reliable technique.
Pages: 1 ... 21 22 [23] 24 25 ... 27