One of the most basic autonomous robot you can build is a line following robot(LFR). This type of robot is run over a white surface which has an arbitrary path drawn over it by using back paint. The task of the robot is to run exactly along this painted path. You may note that the surface may also be black(or any other dark colour), in that case the path is a light colour like white. Please watch the following video for a LFR in action. Designing an LFR At minimum our LFR design require the following components. A sensor to detect the line on the surface.(It can be a simple IR Reflectance Sensor or an high end camera!). We will use a simple IR based sensor, it is cheap and easy to build and use. This article describe how to make a line sensor array. A microprocessor to run the code that takes inputs from the sensor and control the motion of robot. We will use a cheap single chip computer called an microcontroller (MCU). A popular family of microcontroller is AVR series from Atmel. A member of the popular family is ATmega8. ATmega8 is chosen because it has just the required amount of resources and is very low cost. The MCU cannot drive the motors (used to actually make […]
A PC keyboard is an old and trusted human machine interface. Most peoples are familiar with it. When a text entry is required it is the best method. If we can interface the PC keyboard with an AVR MCU we can create a whole lot of interesting applications! This tutorial will focus on our easy to use PS2 keyboard library for AVR MCU. Fig. 1 – A PC Keyboard(PS2 Type). The PS2 Keyboard Library for AVR The PS2 Keyboard library for AVR has only two functions one for initializing the library and one for reading a ASCII character from the queue. The keyboard library automatically translates the scan codes to ASCII characters and buffers them in a FIFO queue. That means even if the CPU is busy doing something else and a character arrives from the keyboard, it will be automatically buffered in a queue. After that the CPU can read the characters anytime when it is free. void InitPS2() Function to initialize the PS2 keyboard library. Internally it initialize the ps2 system and sets up the INT0 isr for handling PS data traffic. Arguments: NONE Return Value: NONE char ReadFromKbdQ(uint8_t wait) Function to read a character from the keyboard buffer. The wait parameter can be 0 or non zero. When wait is non zero the the function […]
A line follower robot, or a LFR in short, is a simple autonomous robot that optically tracks a line made on the surface of the floor. That means you have an arbitrary line drawn on the floor and the robot tracks it by moving right along it! The line is sensed using a piece of hardware called a line sensor. A line sensor can be easily made using a low cost IR Rx/Tx pair. The IR Rx emmits IR radiation and the Rx helps in receiving the waves. See the figure below for working of line sensor. Working of Line Sensor Schematic for Line Sensor. Line Sensor Schematic Actual IR Rx Tx Pair. Line Sensor Array. Actually a group of such sensor units as described above is required to make a line follower robot. We generally use 3 or 5 such sensor unit to make a line sensor array. The complete steps are described below. You need small piece of veroboard (general purpose PCB). Actual IR Rx Tx Pair. We will fit the sensor at the castor mount of the metal chassis. So we carefully mark the location we need drilling. Mark drilling location. Mark the drilling location. You can make the hole easily by using a pair of scissor. Just press and rotate. Make hole using scissor. […]
You can use this LCD Custom Char Builder Software to quickly and easily build custom characters for alphanumeric LCD modules. LCD Custom Char Maker A standard alphanumeric LCD module supports eight custom characters. So our software has view for all eight custom chars named from Char 0 to Char7. You can select any char to edit at a time. Select a char to edit … You can use your mouse to draw the character in the large green area as shown above. Holding right mouse button erases the pixel. In the example below we have drawn a "Heart" symbol for custom Char 1. Draw the char using mouse. Now we have completed drawing all the eight custom characters. Draw all 8 characters. Finally HIT Save code to get a custom_char.h file. This header file is compatible with our popular LCD interface library. You just need to copy/paste this header file in your lcd project folder. Then edit the lcd.c (part of our library) to include this file. Outputting a custom char on LCD is fairly easy! Say for example if you need to write. "I ♥ AVR" write the code like this :- LCDWriteString("I %2 AVR"); The %2 will be replaced by the custom Custom Char 2 which is defined as a heart symbol in our header file generated above. […]
We wish all our friends a very happy Bengali New Year !
Hi All, We are planning to make our Software eXtreme Burner – AVR available in your local languages! So we need translators. Those who are interested in translating the app may leave a comment here, so that we can contact you latter. How to translate? Download the message catalog file (English). It has a pair of string values named msgid and msgstr. The msgid has the original English text. You have to translate it in your local language and enter in the field msgstr. For example see the images below. Finally you can send the completed message catalog to my email id given in the catalog file itself. Download message catalog. Completed Translations Ukrainian Translation by Mr. Pavlo Kasperskyi German Translation by Håkon Spanish Translation by Breogan Slovak Translation by Alex OM3TY Czech Translation by Martin Ondrák Bengali Translation by Muhammad Hasan-uz-zaman (Hasan) Portuguese Translation by Mauro Souza Waiting for others to finish rest languages !
Hi All, I was adding support for some chips with big flash memory (like ATmega2560 etc.) in my Programmer Software eXtreme Burner – AVR. But right now I do not have any ready setup with ATmega2560 so I ask anyone of you who have got a ATmega2560 (or ATmega128) setup to please carry out a simple test. Just download the eXtreme Burner AVR 1.3 Beta. And try to flash the following hex files. Test Hex File for ATmega128 and ATmega2560. And update me the details via a comment on this page. Serial Interface. Now your USBasp can double as a USB to serial converter at NO extra cost! We now have a basic serial terminal integrated in the eXtreme Burner AVR ! The terminal can be launched from the Tool Menu. But you need a modified USBasp Firmware to use the terminal. It is available from here. USBasp Firmware with UART Support. eXtreme Burner AVR v1.3 Beta !
Wireless AV Camera Sharp IR Rangefinder Stepper Motors DPDT Switch Box 6 Leg DPDT Switch
One of the most common place where small MCUs are used is to drive big seven segment displays in public area. For example the bank token number, flight or train schedule, train coach number, production volume (in factories), current forex(in banks) or gold rates etc. Since these are public display they should be big (and bright) enough to be seen from a distance of few meters. And due to their bigger size(and high brightness) they require 12V supply for each segments. Current requirement is also high. All these call for a sophisticated circuit, since these type of circuit is very common we have developed a compact board with integrated high voltage driver circuit coupled with an AVR 8 bit CPU. High Voltage Seven Segment Display Driver Board Further information, datasheet and user manual will be available as soon as the product is offered for sale. More Images
An RTC Module or a Real Time Clock Module helps a system keep track of current time (hour, minutes and seconds). It automatically increments the time without any help from the host (microcontroller). Other benefit is that it has a backup power supply from a small coin cell that help it maintain the time in absence of power. It needs very small power in backup mode so that the coin cell last for years! One such RTC IC is DS1307. It communicates with the host using I2C serial interface. We have put all the required components in one PCB to make a neat module that we can hook up to our MCUs like PIC or AVR. After the experiment you can put the module safely in your drawer, bring it out after an year and still it will give you the correct time! DS1307 Module Schematic DS1307 Based RTC Module Schematic DS1307 Module Fabricated ! DS1307 Based RTC Module Professional DS1307 RTC module Connection with MCU The SCL line of RTC Module will be connected to SCL line of MCU similarly the SDA line will be connected to the MCU’s SDA line. The RTC Module should be powered from the microcontroller development board. Most of our boards have extra 5v output points. Please see their documentation for […]
In this tutorial we will discuss a simple PC controlled robot. The Robot PC link will be a RS232 serial line. The robot will have only five commands. Move forward (RS232 char ‘F’ or ‘f’) Move backward (RS232 char ‘B’ or ‘b’) Turn Left (RS232 char ‘L’ or ‘l’) Turn Right (RS232 char ‘R’ or ‘r’) Stop (RS232 char ‘S’ or ‘s’) To keep things as simple as possible, in this example we will use terminal software RealTerm for sending commands to the robot. Later on a dedicated software can be written on PC end to control the robot. The Robot’s Hardware The robot’s hardware will be a simple differential drive using two 200RPM DC Gear motor mounted on a HQ Metal Chassis with a front castor wheel. On the back motors we have mounted plastic wheels. More about differential drive is explained in this tutorial. Gear Motors Wheels Metal Chassis Remove motor’s nut Insert the motor Fasten the nuts again Both motors installed Front Castor wheel Installing the front castor Mounting hole for wheels screw Mounting the wheels Chassis is ready! The Electronics The robot is controlled using xBoard v2.0 which has ATmega32 as main CPU and integrated motor drivers. We have connected xBoard v2.0 with PC using […]