I've had an interest in electronics for many years but have stayed clear of microcontrollers.
The time has come to learn about them as I've got a project in mind that would be better built this way. The project involves taking a few inputs from various sensors and the outputs will operate a small pump and some shut off valves. Ultimately if all works then I might build a few more controllers for friends.
I realise that it isn't going to be a quick fix and that I'll have quite a bit to learn right from the very basics.
Arduino seems to figure in every Google search so I imagine that it might be the right place for me to start.
Am I in the right place (with Arduino) or are there better starting points for me?
If I manage to learn enough and the prototype works OK then what sort of hardware do I use in future productions?
Is there a step by step guide that will help me out?
No, there is no step by step guide, because you haven't told us anything about the sensors.
Welcome to Arduino, you have to think a bit differently than what we did with electronics, for instance when they talk about pin 1, its not the chips pin 1 , its the digital Input/Output 1 ( which can be a different physical pin on the various types of chips in the Arduino )
Read Nick Gammons sticky Arduino Forum to avoid upsetting people.
Buy the board, play around with the examples, have a look at Tronixstuff , its a great introduction, start with blinking an LED, when you have got way past that you will end up back at LEDs with multiplexed LED cubes etc.
There are a lot of very knowledgable and helpful people on the forum ( and a few "legends in their own minds" but you will soon pick them out
Before you ask anything, do a search in the forum, it often has been asked before !
As Boffin1 said, by the board and go find some of the many tutorials.
Almost anything you can imagine has been done, and is documented somewhere on he mighty Internet.
As a beginner one of the hardest things is to know what to search for. But if you have specific sensors you know you are going to use then chance are that someone else has alredy used it and documentde it.
I'd say arduino will very likely do what you want. Just go pick up an Arduino Uno, breadboard, potentiometer, resistors and leds(all of these are at radioshack if you've got one). If you are familiar with electronics I doubt you will have any trouble at all getting the idea. If you have a really clear idea of what you want you should be able to work it out pretty easily as long as you put effort first into really understanding the arduino with some basic projects.
Thanks for your replies.
I came across Arduino whilst looking for a suitable humidity sensor (SHT11) for my project. My plan initially was to build a logic circuit with a few gates etc (yea I know a bit old fashioned) and it was this sensor which got me thinking that microcontrollers are going to be a more versatile and the circuit board less complicated.
A quick internet search revealed that there is an array of microcontrollers out there with differing languages and I really want to find the microcontroller which will do the job and stick with it; learning just the one language!
I'll give it a go, buy an Arduino Uno and experiment....all looks very interesting.
You are exactly where I was 2 years ago, after years of building everything with CMOS !
Get stuck in with learning the Arduino, it is unbeleivably satisfying when you get it right, and you dont need a soldering iron to change it if you get it wrong !
Try searching the forum for examples of your project. If it's an aquarium controller or plant watering system (guessing from the OP), many people have implemented such projects - you should get some hints on where to start. Even if yours is more obscure, those projects will still likely give valuable insights.
Hi and thanks,
Before committing myself I’ve got another question (which I don't think is answered elsewhere):
Without boring you with too many details; the project I have in mind is the circulation (using a pump) of a gas in a sealed environment.
The environment is divided into 4 areas, each can be isolated by a motorised valve (or similar valve). The condition of each valve is influenced by temperature and humidity sensors in each area and also a time duration period.
The pump is switched to a timing schedule and possibly additional sensor inputs.
Is all this doable with an Arduino(s)?
Once you get a hang of programming and the general electronics that will be almost too easy, like they said id suggest following some tutorials and maybe giving yourself some smaller projects, the way I usually tackle a large project is to break it into parts and take them on individually, then at the end takig what I learned and making the whole program
you will need to learn about relays, transistors, mosfets, resistors, capacitors and ofcourse ohms law and other basics, and probably look around for the best way to control your outputs, once you know exactly what you want it'll just be a matter of searching, reading and doing
I’m OK on general electronics…for me this is all about taking that quantum leap into microcontrollers. If as you say this size of project is straight forward then no doubt I would add in some form of display output and a few user input controls…presumably that is also dooable? (after I get the hang of it all, of course!).
The project sounds eminently suitable for an arduino. The only thing to be careful about is the number of pins you need. If you choose your sensors with care, an Uno would be sufficient, but you'd need to make sure you're using at least some sensors that can share. Measuring temperatures with some DS18B20s is an example - if they cover the range you need. Similarly, common LCD panels require a lot of pins, but there are serial versions that only need two. Then there's external multiplexing hardware, or you can just throw cash at the project and use a Mega.
Or some gpio ics, for more output inputs, same with shift registers, and even an extra atmega328p, there's a dozen ways to do things, all a little different in price,speed and fuction, that's where experience comes in handy and proves daunting to beginners,
If you really wanna learn alot just keep reading and being active on this forum zlot of good situations and questionsalways come up, and you can learn from others common mistakes and know more on how to approach a future project
Thanks for all the tips and encouragement.
Looks like the journey starts here.
Heres an example ( I never learn ) of starting with a simple sketch and adding to it.
I have made a temperature / time LED display for a friend.
I combined the displays from my scoreboards, the GPS from my syncd clocks, the temp circuit and code from an earlier temp display, and some auto dimming for the new superbright LEDs.
All these things were working sketches, but when I put all the sketches together over the weekend, and connected up the diplays - everything was a mess, the displays were jumbled, the temp display was flickering, and the GPS wasnt locking on.
I wasted the whole day yesterday trying to correct the mess of a sketch, but this morning I got up and started with just a sketch for the displays, and soon sorted that out, then added the freerunning clock and fine tuned that, then added the temp part, and found that I was trying to read and display the temperature every loop, so of course it was flickering with the noise on the analog line ! So I took that down to only measuring just before it toggled over to the temperature display ( alternates with the clock ).
So in an hour , by doing it the right way, I have it ( almost ) working, I just have to sort out the autodimming values.
Some of the experienced guys here can look at a sketch and see trouble ( I can do that with a circuit diagram, but this programming is all new to me ) I had no hope of picking out the bugs in my ductaped concoction of previous sketches !
Baby steps works best for beginners !
Yea....getting a bit long in the tooth, so experience tell us that slower can be quicker in the end. I'm not in too much of a rush (at the moment!)
Uno or Mega for beginner?
Uno generally - it's cheaper to replace if you make some electrical error and damage or destroy it. If your planned project is large, needs a large number of pins, or multiple UARTs a mega may be the answer eventually. You may not have the means to tell at this stage though and having an uno around isn't a bad thing.
Baby steps works best for beginners
If you call it incremental development instead, it's a generally accepted practice whether you're a beginner or not
Very interesting guys about aquarium project seems familiar to me. We have something similar build by students for final project. I am a beginner of programming language C, so I received some suggestions to use this
excellent source to start visualize Orduino from beginning.
Hi and thanks,
Plenty to be getting on with now...all good stuff.