Not specific to your exact project, but Adafruit has a nice detailed overview of a portable Arduino datalogger:
If all your sensors are 3.3v and you don't need 5V at all, then you might just want to run a 3.3V Arduino. I just started using Sparkfun's Arduino Pro Mini
in a project. It's 3.3V so works easily with 3.7V LiPo batteries. SparkFun also makes a normal sized 3.3V Arduino Pro.
another thing worth a mention is that although the DIP version of the 328p sush as that on the Uno will probably have enough pins to all those things you want, if you get a board with the Surface mount version of the 328p you get 2 extra I/O pins on the analog side
all boards that I`v seen have a 3.3v supply on them as well, so you should be o.k there as well.
Thanks guys for your replies and great suggestions.... I will start with the breadboard approach as mentioned by terry king to see if my circuit works as intended before soldering everything. I have decided to buy Uno R3 board but I am not 100% sure if it will accomodate all the i/o s for my project. Can somebody help me with this? Also I need help selecting a data loggers which can easily mount on the Uno. Can I buy a single data logger which can write data from all the sensors in log files simultaneously? Or should I buy different data logger for each sensor? Also can you explain how data loggers work?
I have two IR sensors made by Sharp, one for long range and one for short... GP2Y0A710K0F (LR) and GP2Y0A02YK0F (SR) with analog outputs for both of them.
I havn't selected a GPS module yet but it will have one digital output.
3 axis-accelerometer (not selected) will have 3 analog or PWM outputs.
Reed switch will also have one digital or analog (not sure) output.
All of the above with the data logger shield/shields.
So do I have enough i/o if I go for Uno R3?
Also I wanted to know little bit about stacking and prototype boards, i.e. How many maximum number of boards I can stack on UNO. Is it advisable to stack them with prototypes or should I solder them? Can you suggest some baords with 3 axis accelerometers and GPS module?
Thanks again for your support and sorry for so many new questions? As I said I am a noob...
it should relatively easily accomodate all those devices and maybe have a couple spare, assuming of course that your GPS is serial out.
you have 19 pins, 6 of which can be Analog if you want.
the data logger can log all sensors on one card, you don`t need one for each
your reed is best on a Digital pin.
you would write the value of each device to the card one at a time, and keep doing that at regular intervals, i think some people use a spreadsheet to look at the data afterwards.
how they work is simply the same way that Memory works, like a digital camera stores pictures on an SD card, your SD card will store numbers instead of pictures for instance.
as for shield (board) stacking, there isn`t really a limit exactly as long as it`s mechanically stable and and you don`t run out of power to run them, no need to solder them either, in fact I can`t imagine how you would solder them if you wanted to
I think that covers a few of your concerns for now, never apologise for questions either!
thanks YT2095, that was really helpful. I have narrowed down my search of parts as it can be seen below-
I have decided to go for Maxbotix Ultrasonic Rangefinder - LV-EZ1 - EZ-1 for distance measurement. (Analog or PWM, still trying to figure out)
For 3 axis accelerometer, I am going with Triple Axis Accelerometer Breakout - ADXL335 (3 analog out)
For GPS module, I am confused between (and can't select) Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - MTK3339 chipset and Adafruit GPS logger shield kit - v1.1 with EM-406A GPS Module
I want to sync the GPS location and velocity data with the accelerometer and distance data at the same time and location, so I am not sure how to implement this and write data from all the sensor at the same time, so I will try to use just one data logger for all of them, but if I cannot than I will use the built in GPS data loggers in the above models for GPS data and use a seperate logger for the other sensors (distance, accelerometer, hall effect).
So the other data logger is here - http://www.adafruit.com/products/243
and if I use two seperate loggers I will need to time stamp the other logger (one that does not log GPS), for which I have selected http://www.adafruit.com/products/255
I will power them all up with 6 AA battery pack
I will use all of this on Arduino UNO, and for extra space I will either use a protoboard shield or a breadboard.
Can you suggest me, which one is better to use out of a GPS shield or a GPS breakoutboard for my configuration.
Also which GPS is better from the two models above for my project?
And is there any way I can log data from all the sensors in one logger in one loop? I want my data to appear closely like this (in various column, seperated by tabs for easy input in excel, GPS data already parsed from the NMEA sentences) -
Time Date Longitude Latitude Velocity X-axis Y-Axis Z-axis Distance Hall-effect
I have to set all the sensors on same update frequency for this to work-
Also, is this too much to ask to a data logger, in other words will it have out of memory issues (i.e. buffer is full)?
So many new questions for you guys. Thanks a lot for your help.
well that looks to me like you have 10 data fields there.
now it depends on the resolution of each field, for instance a 1 Byte resolution for the X or Y axis will only give you a value of 0 to 255, a 16 bit then 0 to 65535 (in decimal that is).
now simple ON/OFF values like the reed switch are just one BIT, but probably better stored as a byte for simplicity, so if we say 10x 16bit (2 bytes per sensor), then we get 20 Bytes used per logging of sensor readings, as 2 Bytes = 16 Bits.
now, 1K of memory is 1024 Bytes, we can get a good 50 logs into that, and 1 Mb ((Megabyte) 1000x more) we can get 50,000 readings.
now if you use say a 2Gb ((Gigabyte card)another 1000x more again!), then you can have 50,000,000 readings.
yeah! that`s 50 Million
now if you take one reading every second, that`s about a year and halfs worth of data! (I`m only working roughly in my head here).
so I think you`ll probably be ok there too
From what I understand (others please correct me if I'm wrong)...
* The data logging functionality of the GPS logger shield is an SD card.
* You can write any data you want, in any format, onto that SD card. I don't think the logging is automatically done by the hardware.
-> and in that case, you'd only need one SD card unit in the project - so if it's part of the GPS shield you're buying you won't need to also buy a separate data logging shield.
And because the SD card is in a regular FAT format, you can then stick that into your computer and read the data like you would read any file.
So if you write your code such that the Arduino reads all the values you need, and then writes a single line to the SD card that includes all the values, you should be in good shape.
If you write the data in text format and include some quotation marks and commas, you could have your project build a CSV file that you can then later import into a spreadsheet.
If you're adding timestamps, I'm wondering if you might need a real time clock (RTC) module. Or I suppose if you have a display (like the inexpensive 16x2 LCD), then you could allow the user to set the time. ps on that - the Arduino.cc site added a library to make it easy to run the LCD using just a few wires now.
And if you're totally new to Arduino, I recommend taking a few hours to go through a tutorial like this Oomlout one: http://www.oomlout.com/a/products/ardx/
Good luck! Sounds like you have a fun project to work on!
edit, ps: I have an Ethernet shield with SD card, and the SD card on it is accessed independently, that's what I'm basing my above assumptions on, it's not all just guessing - I only make up some of the things some of the time, really!
I am a newb to the whole Arduino world and now I want to learn and use. I will start with learning simple stuff but eventually I want to build something as explained later. I have done some soldering before and I am comfortable with it. I am planning to make a project which involves use of GPS sensor, 3 Axis accelerometer, reed switch, couple of IR sensors for distance measurement and a data logger (sd/micro-sd) to record all of the sensors data. The data will be recorded continuously when in operation. It will be portable (i.e. outdoor use and not connected to a computer when using) and will run on batteries.
First of all can Arduino do this kind of job? If yes, than can you suggest the types of boards, sensors, shields, otterbox I should buy which can rightnow help me learn building beginner arduino projects and in the end I can also make the abovementioned project. I am aware that some sensors will run on 5V while others on 3.3V which will need shifting so can you also help me choose parts which can do this? I have to (and willing to) buy all the parts together in advance as I will get reimbursed (upto certain amount) from my university. I would love to hear your expert comments as well.
Thanks for your help in advance.