Learn - how to make a Line follower robot Without microcontroller DIY at home
It is a Robert that follows a line, either a black line on white surface.
IR sensor will send a HIGH digital signal ("1"). similarly when the sensor is on a black surface IR rays will be emitted and will not be reflected back which will be absorbed by the black surface, in this state the IR sensor will send LOW digital signal ("0"). Thus with these digital values 1 and 0 we can easily identify the state of the sensors
Required Components :-
1. Zero PCB Board
2. IR Infrared Obstacle Avoidance Sensor Module
3. 16 pin Ic base
4. L293d ic base
5. 60W Multi Purpose Hot Melt Glue Gun
6. 7805 voltage regulator
7. wood bit (10cm x 5cm x 2.5cm)
8. BO Motor L Type - 60 RPM
9. Red BO Motor Wheels
10. plexiglass piece (10 x 5 cm)
11. soldering wire 50gm
12. Yellow Soldering Iron
13. 10K ohm Variable Resistor
14. Resistor(100ohm, 1k, 10K) etc.
Diagram:
INPUT 1,2,3 and 4 of L293D will be thrown back to the OUTPUT 1,2,3 and 4 respectively. The INPUT 2 and 3 of L293D is connected to ground which is LOW("0") and the signal from the IR sensors are connected to INPUT 1 and 4. Hence the value of OUTPUT 2 and 3 will be constantly LOW("0") while the value of OUTPUT 1 and 4 will be HIGH("1") when the IR sensor is on the white surface and will be LOW("0") when the sensor is on black surface
Line Follower Robot using Arduino
IR sensor modules namely left sensor and right sensor. When both left and right sensor senses white then robot move forward
Learn- How to make a self balancing robot by using Arduino.In this project i'm gonna show you the easiest way to do a simple, cheap and useless two wheels self-balancing robotI explain the materials and electronics used in the project, how and where to buy or create it and i'm gonna tell you my experience and tips.
Required of Components
Arduino Mega
b6612Fng Dual Motor Driver
Bluetooth Module BLE 4.0 MPU 6050
Lipo Battery
Motor and Wheels
WHOLE KIT
Diagram:
The electronics we are going to use in the project are simply three, an arduino UNO you can use whatever arduino you have, doesn't matter if isn't arduino UNO a motor driver, in this case a L298, and finally an IMU.
/* This program was created by ScottC on 9/5/2012 to receive serial signals from a computer to turn on/off 1-9 LEDs */void setup() {
// initialize the digital pins as an output.
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
// Turn the Serial Protocol ON
Serial.begin(9600);
}
void loop() {
byte byteRead;
/* check if data has been sent from the computer: */if (Serial.available()) {
/* read the most recent byte */
byteRead = Serial.read();
//You have to subtract '0' from the read Byte to convert from text to a number.
byteRead=byteRead-'0';
//Turn off all LEDSfor(int i=2; i<11; i++){
digitalWrite(i, LOW);
}
if(byteRead>0){
//Turn on the relevant LEDsfor(int i=1; i<(byteRead+1); i++){
digitalWrite(i+1, HIGH);
}
}
}
}
//Created by ScottC on send mouse coordinates to Arduinoimport processing.serial.*;
// Global variablesint new_sX, old_sX;
int nX, nY;
Serial myPort;
// Setup the Processing Canvasvoid setup(){
size( 800, 400 );
strokeWeight( 10 );
//Open the serial port for communication with the Arduino//Make sure the COM port is correct
myPort = new Serial(this, "COM6", 9600);
myPort.bufferUntil('\n');
}
// Draw the Window on the computer screenvoid draw(){
// Fill canvas grey
background( 100 );
// Set the stroke colour to white
stroke(255);
// Draw a circle at the mouse location
ellipse( nX, nY, 10, 10 );
//Draw Line from the top of the page to the bottom of the page//in line with the mouse.
line(nX,0,nX,height);
}
// Get the new mouse location and send it to the arduinovoid mouseMoved(){
nX = mouseX;
nY = mouseY;
//map the mouse x coordinates to the LEDs on the Arduino.
new_sX=(int)map(nX,0,800,0,10);
if(new_sX==old_sX){
//do nothing
} else {
//only send values to the Arduino when the new X coordinates are different.
old_sX = new_sX;
myPort.write(""+new_sX);
}
}
To connect ground to do this use a jumper wire to connect the ground pin on the arduino to the negative rail on the breadboard this allows all the LEDs to use the ground pin on the Arduino
Step2
To insert the resistors into the breadboard space the resistors out with one leg connected to the negative rail on the breadboard
Step 3
insert the LEDs The longest pin is the positive (+) and the shortest pin is the negative(-). If it is wired the wrong way it will not operation
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(100);
{digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led2, LOW);
delay(100);}
{digitalWrite(led3, HIGH);
delay(100);
digitalWrite(led3, LOW);
delay(100);}// wait for a second
}