Microcontrollers are such semiconductor devices that act like a computer and can run any hardware level program written into it.
You can program an microcontroller to glow a LED whenever switch S1 is pressed and dim it when switch S2 is pressed, etc. But working capability of microcontrollers is not limited to just this. Microcontrollers have flash memory for program, it has memory(RAM), internal eeprom memory for storing data, etc.
Nowadays microcontrollers support USB, ADC(This enables analog input to microcontrollers), PWM(This enables analog output from microcontrollers), RTC(Real time clock), etc.
There are microcontrollers from many popular brands, but among hobbyists and ECE students, the most commonly used ones are PIC family, 8051 family and AVR family. There’s a lots of quarrel on which is better, but as my personal opinion, AVR is the best way to learn microcontrollers.
You need knowledge about either Assembly, or C programming language to write program for these microcontrollers. From 8’th standard CBSE and ICSE board has introduced C and it’s preceedor C++ in syllabi. Learning C is not much difficult. So, I’ll be showing projects and programs created through C language in my microcontroller projects.
- Can I program anything and make it do the job?
- Yes, but limited to the capabilities of the microcontroller.
- Is this too costly device?
- No, Generally you’ll get these from 50-100Rupees.
- Can I tell it to cook omelette for me?
- Probably no, unless you use robotics along with microcontroller.
What do you need?
- Microcontroller programmer, this is used to download programs from PC to microcontroller via serial, parallel or USB.
- Blank, or even used microcontroller.
- C compiler for microcontroller, like MPLAB for PIC or AVRstudio for AVR.
- A development board containing all surrounding components meeting the minimum requirements to run a microcontroller. You can plug surrounding peripherals into a breadboard or even can make one development board using veroboard.
Got something interesting to say ? Just leave a comment ! Happy journey with Microcontrollers ahead 🙂