Hi there! My name is Anthony and I only recently became aware of Arduino when our local Radio Shacks went out of business. The Arduino Basic Kit was part of a last chance package purchase. To be honest, I had no idea what Arduino was at that time. Even now, I'm only beginning to understand the Arduino device itself and it's possible project applications. Only problem is that there are so many devices and possible combinations for functionality, that I seem to end up more confused when trying to figure out what I need.
Anyway, I believe the project would be related to remote automation. I need an ability to remotely activate/deactivate a complex network of relays and a real time gps tracker. The relays themselves are simply on/off functional. The remote end of the project I'm focusing on Cellular and Text, rather than internet or wifi. And, I need it to be able to communicate the relays response and status upon receipt of command to execute function.
So far, the project has just been a hodgepodge of different devices used as the trigger for one relay controlled function or another. But, if I understand Aduino correctly, I'm looking to replace multiple trigger devices with a couple inexpensive Arduino boards and a simple 'IF'-'THEN' type strings of code.
My question is if there is 1 board capable code, sms/gprs/gps, receive/send communication and relay control? Or, do I need to buy a base board and multiple shields for each desired function? And, if so, which boards are known to flawlessly interact with each other?
Arduino is a hobby system with many shields to do different things. Usually the shields will have one task and you would need multiple shields to do what you want.
Thanks for the reply. Understand Arduino is a hobby based development platform. I've been into car audio & security as a hobby for about 30 years now, which is what my project is being developed for. I've never been able to do it commercially or for a living because I'm too critical of the results. It's only been in the last year or so that I've developed an interest in computer applications for automobiles and started working at interfacing the different systems. My project now is focused on the security end. Prior to the discovery of Arduino, I've basically been building off the Viper SmartStart system. My goal is to come up with device that is able to be used as an inexpensive add-on to any alarm system with a positive trigger output. Or, even as a standalone. The mechanical end of the device is extremely simple, nothing more than a bunch of SPST 12volt relays, anything that can be used as a real time tracker and anything that provides the ability to communicate via a SIMM Card. Everything networked together via relay placement & a + 12volt current. My hope is that the ability to use code string programming to determine when and why a function executes, will cut the need for at least 2/3 of the mechanical relays currently needed to activate/deactivate such functions.
Anyway, the best as I can determine, I'm looking at the need for the Uno base to use for the programming sketch and computer interfacing, a gsm shield for SIMM Communication, a gps shield for real time tracking abilities and at least 1 motor shield for relay control. Is that correct? Or, is there a shield that has several of the same abilities combined on a single board to minimize the hardware requirements? While I've taken the time to go over what's shown about each product on the Arduino home site, when I get to amazon and start looking for what I think I need, there's just so much other stuff available that's not mentioned by Arduino... And, as I start looking in to those things I start to see talk about incompatibility issues and so forth. I'm just not advanced enough yet in the programming end of things to take the blind trial & error approach and accurately distinguish the difference between multiple shield program or hardware issues.
That said, back to the original question. Can you confirm that what I think I need in the way of an Arduino Board & related shields is correct; and, advise on which boards or versions are best known to interact with each other? Or, if I need something else & which are best? In looking at the arduino products, it looks like a lot of the board/shields functionality overlap. It's a little confusing trying distinguish what can be done directly to each board and what requires another board to access functionality.
Bigant247:
It's a little confusing trying distinguish what can be done directly to each board and what requires another board to access functionality.
I agree its confusing. There is a large number of shields and unless someone has tried the exact combination you are thinking of and for a similar application it will be impossible to give you a definitive answer.
Personally I have avoided using shields because their designer will have predetermined which Arduino I/O pins are needed and I might wish to use some of those pins for something else. (And shields are expensive - but, obviously convenient).
I see no reason why an Arduino can't do what you want. I suggest you get yourself an Uno and start learning how to use it. That way you will acquire a lot of information that will help you to understand how to meet your requirements. All computer projects are a collection of small pieces joined together. Don't approach your project as a single entity.
The Uno is great for development. Stack a couple of shields and start banging away.
It's not good as a production system. The shields are not positively restrained against vibration and they are even difficult to screw down in an enclosure. You would not want to let more than one or two customers drive away with a stack of shields.
The real genius of the Arduino system is you aren't limited to the original playpen. Once you have developed your idea, it is very easy to design a custom PCB with exactly the same chips on it. Even the software can be identical on an Uno+shields and a professional PCB. For complex stuff like the power supply, the Arduino, GPS, GSM and whatever, you can solder pre-built modules onto your main PCB. You don't need to do the complex soldering yourself. All the professional designers I know use modules in this way.
The answer is yes to your original post. Depending on which arduino you have you should be able to run it all from a single Arduino. There are inexpensive relays in the market place. I just saw a 16 channel 12 volt relay on ebay for less than $20 USD.
Using these on the arduino, you first set the state of the digital pin to high, then set that pin to be an output. These relays are activated when the pin goes low (Ground). Until the pin is set to be an output the pin has high impedance. Each relay will require an output pin from the arduino.
I'm still waiting for my SIM modules and they should be here any day. They do GSM or GPRS but require a sim card subscribed to work. If your current service provider is CDMA you will have to find another.
X-Bee has a line of RF transceivers that work for some distance.
NRF24L01+ is another modular approach to local RF communication.
There are many GPS solutions out there too.
The arduino Mega and Due are good choices. Lots of I/O and 4 serial ports. The mega is 5 volt and the due is 3.3 volt. The Due has no EEProm for permanent data storage.
Thanks for everyone's replies. Yes, I do have an Uno. And, my original thought was to simply use the UNO to directly control a relay board via the I/O pins. But, then as I started getting in to understanding the working of Arduino and saw that different boards required different voltages, I figured need a servo controller or motor shield to control the relays with the required 12 volts so I could adjust the voltage needed for the other shields with the Uno or maybe some kind of adjustable power regulation shield.
I guess my biggest confusion is if I attach a shield to an UNO board, dose the UNO board then act as if it was originally built with whatever feature I have just added; or, do I first have to write some kind of device communication/interaction code to get it acknowledge the additional functionality before I can introduce a sketch to actually define how that function is to be used?
And, yes, you're correct MorganS, I wouldn't want anyone to drive away with a stack of shields. This is no where near anything I'd consider for commercial use. In fact, I don't work in any aspect of the automotive field. I'm just a paralegal working down in the dungeon of the records department of law firm. This project is all just a hobby of mine because I'm pretty much a, 'If you want it done right, do it yourself!' type of guy. I thought Arduino sounded like an easy fix all for having to combine a bunch of different devices (Still do in the end) until I realized that I would first have to learn a lot more about Arduino, before I could effectively use it's applications with my project.
Believe it or not, this all started with a light sensor being placed in the console of my car so it could detect when my cell phone screen lit up with an incoming call and lit up 3 led's on the dash board. My wife used to get pissed when I didn't answer her calls because I had the music up... After the car was stolen twice, I used that same light sensor with a cheap cell phone to provide the cops with the gps location of my car & the thieves. Then once the cops were in position to apprehend them, secured the windows, doors and killed the power to the engine... Making the third theft the last theft. Word gets around, no one's ever touched my car again.
Skipping most of the discussion, be aware that stacking shields may have issues if the shields happen to use some of the same interface pins. The libraries may have conflicts.
Bigant247:
I guess my biggest confusion is if I attach a shield to an UNO board, dose the UNO board then act as if it was originally built with whatever feature I have just added; or, do I first have to write some kind of device communication/interaction code to get it acknowledge the additional functionality before I can introduce a sketch to actually define how that function is to be used?
No communication / interaction code required to acknowledge. For more complex boards, you can use libraries. For a relay board, you just wire it up (e.g. control for relay 1 to pin 3, e.g. control for relay 2 to pin 4, etc) and 'simply' write the relevant code; writing a pin high (or low) will activate the relay, writing the opposite value will de-activate the relay.
As zoomkat indicated, be aware that certain libraries might conflict (e.g. both using the same timer can cause problems) and if two shields use the same pins you might have to cut a pin and wire it differently. It's the big disadvantage of shields as they are currently available; boards don't rely on the pinout of the Arduino and can be wired as needed.
The Uno is a development system; for the final product, you might want to opt for a different Arduino with the same functionality (not sure which one it is) where you can solder the wires or fit proper connectors on.