Have you ever thought that most of our perception about the robot is based on the Hollywood movie! The famous 3CPO and R2D2 from Star Wars until the little cute garbage compacting robot named WALL-E; all of these machines are example of our dreams or should I say our quest to what we all think about the robot should be. Although the robot that we are going to build here is still far away from the technologies shown on those movies but at least it will give you an introductory to the robotics world. On this tutorial we will build BRAM which stand for Beginner’s Robot Autonomous Mobile, BRAM construction is designed to be easily built using some of the parts that you could easily found at home, this time we will use Microchip 8-Bits midrange PIC16F690 microcontroller as the BRAM’s brain.
Learning the assembler language is one of the essential skills that still required in the embedded system, although the major drawback using the assembler language is; its required more learning curve time compared to the higher level language but once you acquainted with one type of microcontroller family such as 8-bit 8 pins Microchip PIC 12F683 then coding with assembly language to other type of PIC microcontroller families will be much easier. I’m choosing the PIC 12F683 type because it’s one of the best 8 pins Microchip PIC microcontroller with nanoWatt technology and supporting advanced peripherals such as 8-bit/16-bit TIMER, ADC (Analog Digital Converter), PWM (Pulse Width Modulation) and Comparator with 2K word of flash.
The seven segment display is one of the most popular numeric displays used in many microcontroller applications because it’s cheap, robust and reliable. The seven segments actually consists of 8 LED (Light Emitting Diode) and it’s come with various sizes suitable for various numeric display application such as digital clock, counter, thermometer, humidity, etc. On this project we are going to show you how to drive this type of display and this time we will use the Microchip PIC16F886 microcontroller to display the room’s temperature both in Centigrade and Fahrenheit scale.
Seven Segment Display Thermometer with PIC Microcontroller - [Link]
A good power supply is an essential subject to the microcontroller’s base project; it’s like a heart that gives a life to our microcontroller. Sometimes we take it for granted the important of having an adequate power supply to our microcontroller project and this can lead to the unexpected result or behavior from the circuit. In this tutorial we will learn the principal of powering our microcontroller and how we could provide the microcontroller circuit with a good and yet simple power supply.
Powering Your Microcontroller’s Base Project – [Link]
The servo motor is widely used in model hobbyist such as airplane R/C model for moving the rudder, ailerons, elevators and acceleration control or in the car R/C model for steering and acceleration control. In this tutorial we will learn how to control the servo motor as well as the simple close loop control algorithm for this servo motor.
The servo motor basically is a high quality geared DC motor equipped with electronic circuit for controlling the DC motor rotation direction and position. Currently there are two types of servo motor available on the market, the first one is called standard servo and the other one is called continues servo; standard servo can rotate to maximum (clockwise or counterclockwise) of 120 to 180 degrees while continues servo can rotate up to 360 degrees in both direction.
Basic Servo Motor Controlling with Microchip PIC Microcontroller - [Link]
I2C (read as I Squared C) bus first introduced by Philips in 1980, because of its simplicity and flexibility the I2C bus has become one of the most important microcontroller bus system used for interfacing various IC-devices with the microcontroller. The I2C bus use only 2 bidirectional data lines for communicating with the microcontroller and the I2C protocol specification can support up to 128 devices attached to the same bus. Today many I2C IC-devices available on the market such as Serial EEPROM, I/O Expander, Real-Time Clock, Digital to Analog Converter, Analog to Digital Converter, Temperature Sensor and many more.
How to use I2C-bus on the Atmel AVR Microcontroller – [Link]
One of the advantages using the Microchip PIC microcontroller Pulse Width Modulation or PWM for short is; this PWM peripheral circuit is designed to control the DC motor using the full bridge mode PWM feature. The PWM peripheral works by supplying the correct signal to the H-Bridge DC motor circuit such as speed controlling and changing the DC motor direction. Therefore on this tutorial we will learn to use this sophisticated feature offered by Microchip PIC PWM. For those with the AVR microcontroller background this is also a good chance to learn the beauty of the different between AVR and PIC microcontroller especially in the PWM peripheral features.
H-Bridge Microchip PIC Microcontroller PWM Motor Controller – [Link]
The PIC16F690 microcontroller is one of Microchip midrange 8-bit microcontroller that has a build in 10-bit resolution of Analog to Digital Converter (ADC) peripheral. The ADC is one of the important features that enable us to digitize our analog world. Usually we use the electronic sensor to convert the analog value to the voltage level value. Some of the basic sensor such as LDR (Light Dependent Resistor) is used for measuring the light intensity or NTC (Negative Temperature Coefficient) a special resistor for measuring the temperature.
PIC Analog to Digital Converter C Programming – [Link]
Would be interesting if we could make our microcontroller to sing for us not just beeping or blinking; this project is all about using the powerful AVR ATmega168 16-bit PWM feature to produce accurate musical notes such as playing the child’s favorite Twinkle-Twinkle Little Star song or we could say beeping with style. The principal we learned here could be applied to other AVR microcontroller families that support 16-bit PWM.
AVR Twinkle Twinkle Using PWM Project – [Link]
Sometimes we need our microcontroller to interact with more human readable information. It will be better for us if we could make it display the words not just blinking the LED. Today most modern gadget such as mobile phone and PDA, use LCD (Liquid Crystal Display) for interacting with us. In this project we will learn how to use the 2×16 LCD for displaying the room’s temperature.
Actually driving the LCD hardware directly is a complex task, but luckily we don’t have to do that; in the market they have already put it together in one package the LCD display hardware and the microcontroller that control it, so our task will be easier now as we only talk to the build in microcontroller inside. The most famous on the market is the 2×16 LCD with LED backlight using Hitachi HD44780U or the equivalent microcontroller, this 80 pins microcontroller is a special dot matrix LCD driver controller with low power consumption and able to use 4-bit data or 8-bit data interface; my suggestion is to have this HD44780U datasheet near you as we walk through this project.
AVR LCD Thermometer Using ADC and PWM Project – [Link]