4WD Smart Robot Car
If you have this car, you will be able to avoid obstacles and follow the necessary lines to reach your destination and protect the distances
Components and supplies
1
Dual H-Bridge motor drivers L298
1
Custom PCB
2
Obstacle Avoidance Sensor
1
Ultrasonic Sensor - HC-SR04 (Generic)
1
HC-05 Bluetooth Module
1
Arduino UNO
1
Li-Ion Battery 1000mAh
2
Line Tracking Sensor
Tools and machines
1
Soldering iron (generic)
1
3D Printer (generic)
Project description
Code
btcontrol.ino
arduino
1const int motorA1 = 6; // L298N'in IN3 Girii 2 const int motorA2 = 7; // L298N'in IN1 Girii 3 const int motorB1 = 8; // L298N'in IN2 Girii 4 const int motorB2 = 9; // L298N'in IN4 Girii 5 6 7 int i=0; //Dngler iin atanan rastgele bir deiken 8 int j=0; //Dngler iin atanan rastgele bir deiken 9 int state; //Bluetooth cihazndan gelecek sinyalin deikeni 10 int vSpeed=255; // Standart Hz, 0-255 aras bir deer alabilir 11 12void setup() { 13 // Pinlerimizi belirleyelim 14 pinMode(motorA1, OUTPUT); 15 pinMode(motorA2, OUTPUT); 16 pinMode(motorB1, OUTPUT); 17 pinMode(motorB2, OUTPUT); 18 pinMode(5, OUTPUT); 19 pinMode(10, OUTPUT); 20 pinMode(2, OUTPUT); 21 pinMode(3, OUTPUT); 22 pinMode(4, OUTPUT); 23 // 9600 baud hznda bir seri port aalm 24 Serial.begin(9600); 25} 26 27void loop() { 28 digitalWrite(5,HIGH); 29 digitalWrite(10,HIGH); 30 31 /*Bluetooth balants koptuunda veya kesildiinde arabay durdur. 32 (Aktif etmek iin alt satrn "//" larn kaldrn.)*/ 33// if(digitalRead(BTState)==LOW) { state='S'; } 34 35 //Gelen veriyi 'state' deikenine kaydet 36 if(Serial.available() > 0){ 37 state = Serial.read(); 38 } 39 40 /* Uygulamadan ayarlanabilen 4 hz seviyesi.(Deerler 0-255 arasnda olmal)*/ 41 if (state == '0'){ 42 vSpeed=0;} 43 else if (state == '1'){ 44 vSpeed=100;} 45 else if (state == '2'){ 46 vSpeed=180;} 47 else if (state == '3'){ 48 vSpeed=200;} 49 else if (state == '4'){ 50 vSpeed=255;} 51 52 /***********************leri****************************/ 53 //Gelen veri 'F' ise araba ileri gider. 54 if (state == 'F') { 55 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); 56 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); 57 digitalWrite(2,LOW); 58 digitalWrite(3,LOW); 59 digitalWrite(4,HIGH); 60 61 } 62 /**********************leri SA************************/ 63 //Gelen veri 'G' ise araba ileri sol(apraz) gider. 64 else if (state == 'I') { 65 analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0); 66 analogWrite(motorB1, 100); analogWrite(motorB2, 0); 67 digitalWrite(2,HIGH); 68 digitalWrite(4,LOW); 69 } 70 /**********************leri SOL************************/ 71 //Gelen veri 'I' ise araba ileri sa(apraz) gider. 72 else if (state == 'G') { 73 analogWrite(motorA1, 100); analogWrite(motorA2, 0); 74 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); 75 digitalWrite(3,HIGH); 76 digitalWrite(4,LOW); 77 } 78 /***********************Geri****************************/ 79 //Gelen veri 'B' ise araba geri gider. 80 else if (state == 'B') { 81 analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); 82 analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); 83 } 84 /**********************Geri Sol************************/ 85 //Gelen veri 'H' ise araba geri sol(apraz) gider 86 else if (state == 'H') { 87 analogWrite(motorA1, 0); analogWrite(motorA2, 100); 88 analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); 89 } 90 /**********************Geri Sa************************/ 91 //Gelen veri 'J' ise araba geri sa(apraz) gider 92 else if (state == 'J') { 93 analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); 94 analogWrite(motorB1, 0); analogWrite(motorB2, 100); 95 digitalWrite(2,HIGH); 96 digitalWrite(4,LOW); 97 } 98 /***************************Sol*****************************/ 99 //Gelen veri 'L' ise araba sola gider. 100 else if (state == 'L') { 101 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150); 102 analogWrite(motorB1, 0); analogWrite(motorB2, 0); 103 digitalWrite(3,HIGH); 104 digitalWrite(4,LOW); 105 } 106 /***************************Sa*****************************/ 107 //Gelen veri 'R' ise araba saa gider 108 else if (state == 'R') { 109 analogWrite(motorA1, 0); analogWrite(motorA2, 0); 110 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150); 111 digitalWrite(2,HIGH); 112 digitalWrite(4,LOW); 113 } 114 115 /************************Stop*****************************/ 116 //Gelen veri 'S' ise arabay durdur. 117 else if (state == 'S'){ 118 analogWrite(motorA1, 0); analogWrite(motorA2, 0); 119 analogWrite(motorB1, 0); analogWrite(motorB2, 0); 120 digitalWrite(4,LOW); 121 } 122} 123
line_tracking.ino
arduino
1#define echoPin A0 //Ultrasonik sensrn echo pini Arduino'nun 12.pinine 2#define 3 trigPin A1 //Ultrasonik sensrn trig pini Arduino'nun 13.pinine tanmland. 4 5#define 6 MotorR1 8 7#define MotorR2 9 8#define MotorRE 10 // Motor pinlerini tanmlyoruz. 9#define 10 MotorL1 6 11#define MotorL2 7 12#define MotorLE 5 13 14 15byte timer=0; 16long 17 sure, uzaklik; //sre ve uzaklk diye iki deiken tanmlyoruz. 18 19void setup() { 20 21 22 23 // ultrasonik sensr Trig pininden ses dalgalar gnderdii iin OUTPUT (k), 24 // 25 bu dalgalar Echo pini ile geri ald iin INPUT (Giri) olarak tanmlanr. 26 pinMode(echoPin, 27 INPUT); 28 pinMode(trigPin, OUTPUT); 29 30 pinMode(MotorL1, OUTPUT); 31 pinMode(MotorL2, 32 OUTPUT); 33 pinMode(MotorLE, OUTPUT); //Motorlarmz k olarak tanmlyoruz. 34 pinMode(MotorR1, 35 OUTPUT); 36 pinMode(MotorR2, OUTPUT); 37 pinMode(MotorRE, OUTPUT); 38 pinMode(11, 39 INPUT); 40 pinMode(12, INPUT); 41 42 pinMode(4, OUTPUT); 43 Serial.begin(9600); 44 45} 46 47void 48 loop() { 49 50 51 52 if(digitalRead(11)==1 && digitalRead(12)==0) 53 { 54 55 sag(); // ileri git 56 digitalWrite(4,LOW); 57 } 58 if(digitalRead(11)==0&& 59 digitalRead(12)==1) 60 { 61 sol(); // ileri git 62 digitalWrite(4,LOW); 63 64 } 65 if(digitalRead(11)==1 && digitalRead(12)==1) 66 { 67 ileri(); // ileri 68 git 69 digitalWrite(4,LOW); 70 } 71 if(digitalRead(11)==0 && digitalRead(12)==0) 72 73 { 74 timer++; 75 if (timer<100) 76 { 77 sol(); // ileri git 78 79 digitalWrite(4,LOW); 80 timer=0; 81 } 82 83 } 84 85} 86 87 88 89void 90 ileri(){ // Robotun ileri ynde hareketi iin fonksiyon tanmlyoruz. 91 92 digitalWrite(MotorR1, 93 HIGH); // Sa motorun ileri hareketi aktif 94 digitalWrite(MotorR2, LOW); // Sa 95 motorun geri hareketi pasif 96 analogWrite(MotorRE, 100); // Sa motorun hz 150 97 98 99 digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif 100 digitalWrite(MotorL2, 101 LOW); // Sol motorun geri hareketi pasif 102 analogWrite(MotorLE, 100); // Sol 103 motorun hz 150 104 105 106} 107 108 109void sag(){ // Robotun saa dnme hareketi 110 iin fonksiyon tanmlyoruz. 111 112 digitalWrite(MotorR1, HIGH); // Sa motorun ileri 113 hareketi aktif 114 digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif 115 116 analogWrite(MotorRE, 0); // Sa motorun hz 0 (Motor duruyor) 117 118 digitalWrite(MotorL1, 119 HIGH); // Sol motorun ileri hareketi aktif 120 digitalWrite(MotorL2, LOW); // Sol 121 motorun geri hareketi pasif 122 analogWrite(MotorLE, 100); // Sol motorun hz 150 123 124 125 126} 127 128void sol(){ // Robotun saa dnme hareketi iin fonksiyon tanmlyoruz. 129 130 131 digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif 132 digitalWrite(MotorR2, 133 LOW); // Sa motorun geri hareketi pasif 134 analogWrite(MotorRE, 100); // Sa motorun 135 hz 0 (Motor duruyor) 136 137 digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi 138 aktif 139 digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi pasif 140 analogWrite(MotorLE, 141 0); // Sol motorun hz 150 142 143 144} 145 146 147void geri(){ // Robotun geri 148 ynde hareketi iin fonksiyon tanmlyoruz. 149 150 digitalWrite(MotorR1, LOW); // 151 Sa motorun ileri hareketi pasif 152 digitalWrite(MotorR2, HIGH); // Sa motorun 153 geri hareketi aktif 154 analogWrite(MotorRE, 150); // Sa motorun hz 150 155 156 157 digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif 158 digitalWrite(MotorL2, 159 HIGH); // Sol motorun geri hareketi aktif 160 analogWrite(MotorLE, 150); // Sol 161 motorun hz 150 162 163} 164void dur(){ // Robotun ileri ynde hareketi iin fonksiyon 165 tanmlyoruz. 166 167 digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif 168 169 digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif 170 analogWrite(MotorRE, 171 0); // Sa motorun hz 150 172 173 digitalWrite(MotorL1, HIGH); // Sol motorun ileri 174 hareketi aktif 175 digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif 176 177 analogWrite(MotorLE, 0); // Sol motorun hz 150 178} 179
btcontrol.ino
arduino
1const int motorA1 = 6; // L298N'in IN3 Girii 2 const int motorA2 = 7; // L298N'in IN1 Girii 3 const int motorB1 = 8; // L298N'in IN2 Girii 4 const int motorB2 = 9; // L298N'in IN4 Girii 5 6 7 int i=0; //Dngler iin atanan rastgele bir deiken 8 int j=0; //Dngler iin atanan rastgele bir deiken 9 int state; //Bluetooth cihazndan gelecek sinyalin deikeni 10 int vSpeed=255; // Standart Hz, 0-255 aras bir deer alabilir 11 12void setup() { 13 // Pinlerimizi belirleyelim 14 pinMode(motorA1, OUTPUT); 15 pinMode(motorA2, OUTPUT); 16 pinMode(motorB1, OUTPUT); 17 pinMode(motorB2, OUTPUT); 18 pinMode(5, OUTPUT); 19 pinMode(10, OUTPUT); 20 pinMode(2, OUTPUT); 21 pinMode(3, OUTPUT); 22 pinMode(4, OUTPUT); 23 // 9600 baud hznda bir seri port aalm 24 Serial.begin(9600); 25} 26 27void loop() { 28 digitalWrite(5,HIGH); 29 digitalWrite(10,HIGH); 30 31 /*Bluetooth balants koptuunda veya kesildiinde arabay durdur. 32 (Aktif etmek iin alt satrn "//" larn kaldrn.)*/ 33// if(digitalRead(BTState)==LOW) { state='S'; } 34 35 //Gelen veriyi 'state' deikenine kaydet 36 if(Serial.available() > 0){ 37 state = Serial.read(); 38 } 39 40 /* Uygulamadan ayarlanabilen 4 hz seviyesi.(Deerler 0-255 arasnda olmal)*/ 41 if (state == '0'){ 42 vSpeed=0;} 43 else if (state == '1'){ 44 vSpeed=100;} 45 else if (state == '2'){ 46 vSpeed=180;} 47 else if (state == '3'){ 48 vSpeed=200;} 49 else if (state == '4'){ 50 vSpeed=255;} 51 52 /***********************leri****************************/ 53 //Gelen veri 'F' ise araba ileri gider. 54 if (state == 'F') { 55 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); 56 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); 57 digitalWrite(2,LOW); 58 digitalWrite(3,LOW); 59 digitalWrite(4,HIGH); 60 61 } 62 /**********************leri SA************************/ 63 //Gelen veri 'G' ise araba ileri sol(apraz) gider. 64 else if (state == 'I') { 65 analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0); 66 analogWrite(motorB1, 100); analogWrite(motorB2, 0); 67 digitalWrite(2,HIGH); 68 digitalWrite(4,LOW); 69 } 70 /**********************leri SOL************************/ 71 //Gelen veri 'I' ise araba ileri sa(apraz) gider. 72 else if (state == 'G') { 73 analogWrite(motorA1, 100); analogWrite(motorA2, 0); 74 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); 75 digitalWrite(3,HIGH); 76 digitalWrite(4,LOW); 77 } 78 /***********************Geri****************************/ 79 //Gelen veri 'B' ise araba geri gider. 80 else if (state == 'B') { 81 analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); 82 analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); 83 } 84 /**********************Geri Sol************************/ 85 //Gelen veri 'H' ise araba geri sol(apraz) gider 86 else if (state == 'H') { 87 analogWrite(motorA1, 0); analogWrite(motorA2, 100); 88 analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); 89 } 90 /**********************Geri Sa************************/ 91 //Gelen veri 'J' ise araba geri sa(apraz) gider 92 else if (state == 'J') { 93 analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); 94 analogWrite(motorB1, 0); analogWrite(motorB2, 100); 95 digitalWrite(2,HIGH); 96 digitalWrite(4,LOW); 97 } 98 /***************************Sol*****************************/ 99 //Gelen veri 'L' ise araba sola gider. 100 else if (state == 'L') { 101 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150); 102 analogWrite(motorB1, 0); analogWrite(motorB2, 0); 103 digitalWrite(3,HIGH); 104 digitalWrite(4,LOW); 105 } 106 /***************************Sa*****************************/ 107 //Gelen veri 'R' ise araba saa gider 108 else if (state == 'R') { 109 analogWrite(motorA1, 0); analogWrite(motorA2, 0); 110 analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150); 111 digitalWrite(2,HIGH); 112 digitalWrite(4,LOW); 113 } 114 115 /************************Stop*****************************/ 116 //Gelen veri 'S' ise arabay durdur. 117 else if (state == 'S'){ 118 analogWrite(motorA1, 0); analogWrite(motorA2, 0); 119 analogWrite(motorB1, 0); analogWrite(motorB2, 0); 120 digitalWrite(4,LOW); 121 } 122} 123
obstacle_avoiding.ino
arduino
1#include <Arduino.h> 2#include <Wire.h> 3#include <SoftwareSerial.h> 4 5 6double angle_rad = PI/180.0; 7double angle_deg = 180.0/PI; 8void sol(); 9void ileri(); 10void saga(); 11void geri(); 12double uzaklik; 13float getDistance(int trig,int echo){ 14 pinMode(trig,OUTPUT); 15 digitalWrite(trig,LOW); 16 delayMicroseconds(2); 17 digitalWrite(trig,HIGH); 18 delayMicroseconds(10); 19 digitalWrite(trig,LOW); 20 pinMode(echo, INPUT); 21 return pulseIn(echo,HIGH,30000)/58.0; 22} 23 24 25void sol() 26{ 27 analogWrite(5,150); 28 29 digitalWrite(6,0); 30 31 digitalWrite(7,1); 32 33 digitalWrite(8,1); 34 35 digitalWrite(9,0); 36 37 analogWrite(10,150); 38 39} 40 41void ileri() 42{ 43 analogWrite(5,100); 44 45 digitalWrite(6,1); 46 47 digitalWrite(7,0); 48 49 digitalWrite(8,1); 50 51 digitalWrite(9,0); 52 53 analogWrite(10,100); 54 55} 56 57void saga() 58{ 59 analogWrite(5,100); 60 61 digitalWrite(6,1); 62 63 digitalWrite(7,0); 64 65 digitalWrite(8,0); 66 67 digitalWrite(9,1); 68 69 analogWrite(10,100); 70 71} 72 73void geri() 74{ 75 analogWrite(5,100); 76 77 digitalWrite(6,0); 78 79 digitalWrite(7,1); 80 81 digitalWrite(8,0); 82 83 digitalWrite(9,1); 84 85 analogWrite(10,100); 86 87} 88 89 90void setup(){ 91 92 pinMode(5,OUTPUT); 93 pinMode(6,OUTPUT); 94 pinMode(7,OUTPUT); 95 pinMode(8,OUTPUT); 96 pinMode(9,OUTPUT); 97 pinMode(10,OUTPUT); 98 pinMode(4,OUTPUT); 99 pinMode(16,INPUT); 100 pinMode(17,INPUT); 101 pinMode(2,OUTPUT); 102 pinMode(3,OUTPUT); 103} 104 105void loop(){ 106 107 uzaklik = getDistance(15,14); 108 digitalWrite(4,1); 109 if((((digitalRead(16))==(1))) && ((((digitalRead(17))==(1))) && ((uzaklik) > (20)))){ 110 ileri(); 111 digitalWrite(2,0); 112 digitalWrite(3,0); 113 digitalWrite(4,0); 114 } 115 if((((digitalRead(17))==(1))) && (((uzaklik) > (20)) && (((digitalRead(16))==(0))))){ 116 sol(); 117 digitalWrite(3,1); 118 } 119 if((((digitalRead(17))==(1))) && (((20) > (uzaklik)) && (((digitalRead(16))==(1))))){ 120 geri(); 121 _delay(0.25); 122 saga(); 123 digitalWrite(2,1); 124 _delay(0.15); 125 } 126 if((((digitalRead(17))==(1))) && (((uzaklik) > (20)) && (((digitalRead(16))==(0))))){ 127 sol(); 128 digitalWrite(3,1); 129 } 130 if((((digitalRead(17))==(0))) && (((uzaklik) > (20)) && (((digitalRead(16))==(1))))){ 131 saga(); 132 digitalWrite(2,1); 133 } 134 if((((digitalRead(17))==(0))) && (((uzaklik) > (20)) && (((digitalRead(16))==(0))))){ 135 ileri(); 136 digitalWrite(2,0); 137 digitalWrite(3,0); 138 digitalWrite(4,0); 139 } 140 if((((digitalRead(17))==(0))) && (((20) > (uzaklik)) && (((digitalRead(16))==(1))))){ 141 saga(); 142 digitalWrite(2,1); 143 } 144 if((((digitalRead(17))==(0))) && (((20) > (uzaklik)) && (((digitalRead(16))==(0))))){ 145 geri(); 146 _delay(0.25); 147 saga(); 148 digitalWrite(2,1); 149 _delay(0.15); 150 } 151 152 _loop(); 153} 154 155void _delay(float seconds){ 156 long endTime = millis() + seconds * 1000; 157 while(millis() < endTime)_loop(); 158} 159 160void _loop(){ 161 162} 163 164
line_tracking.ino
arduino
1#define echoPin A0 //Ultrasonik sensrn echo pini Arduino'nun 12.pinine 2#define trigPin A1 //Ultrasonik sensrn trig pini Arduino'nun 13.pinine tanmland. 3 4#define MotorR1 8 5#define MotorR2 9 6#define MotorRE 10 // Motor pinlerini tanmlyoruz. 7#define MotorL1 6 8#define MotorL2 7 9#define MotorLE 5 10 11 12byte timer=0; 13long sure, uzaklik; //sre ve uzaklk diye iki deiken tanmlyoruz. 14 15void setup() { 16 17 18 // ultrasonik sensr Trig pininden ses dalgalar gnderdii iin OUTPUT (k), 19 // bu dalgalar Echo pini ile geri ald iin INPUT (Giri) olarak tanmlanr. 20 pinMode(echoPin, INPUT); 21 pinMode(trigPin, OUTPUT); 22 23 pinMode(MotorL1, OUTPUT); 24 pinMode(MotorL2, OUTPUT); 25 pinMode(MotorLE, OUTPUT); //Motorlarmz k olarak tanmlyoruz. 26 pinMode(MotorR1, OUTPUT); 27 pinMode(MotorR2, OUTPUT); 28 pinMode(MotorRE, OUTPUT); 29 pinMode(11, INPUT); 30 pinMode(12, INPUT); 31 32 pinMode(4, OUTPUT); 33 Serial.begin(9600); 34 35} 36 37void loop() { 38 39 40 41 if(digitalRead(11)==1 && digitalRead(12)==0) 42 { 43 sag(); // ileri git 44 digitalWrite(4,LOW); 45 } 46 if(digitalRead(11)==0&& digitalRead(12)==1) 47 { 48 sol(); // ileri git 49 digitalWrite(4,LOW); 50 } 51 if(digitalRead(11)==1 && digitalRead(12)==1) 52 { 53 ileri(); // ileri git 54 digitalWrite(4,LOW); 55 } 56 if(digitalRead(11)==0 && digitalRead(12)==0) 57 { 58 timer++; 59 if (timer<100) 60 { 61 sol(); // ileri git 62 digitalWrite(4,LOW); 63 timer=0; 64 } 65 66 } 67 68} 69 70 71 72void ileri(){ // Robotun ileri ynde hareketi iin fonksiyon tanmlyoruz. 73 74 digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif 75 digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif 76 analogWrite(MotorRE, 100); // Sa motorun hz 150 77 78 digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif 79 digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif 80 analogWrite(MotorLE, 100); // Sol motorun hz 150 81 82 83} 84 85 86void sag(){ // Robotun saa dnme hareketi iin fonksiyon tanmlyoruz. 87 88 digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif 89 digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif 90 analogWrite(MotorRE, 0); // Sa motorun hz 0 (Motor duruyor) 91 92 digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif 93 digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif 94 analogWrite(MotorLE, 100); // Sol motorun hz 150 95 96 97} 98 99void sol(){ // Robotun saa dnme hareketi iin fonksiyon tanmlyoruz. 100 101 digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif 102 digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif 103 analogWrite(MotorRE, 100); // Sa motorun hz 0 (Motor duruyor) 104 105 digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi aktif 106 digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi pasif 107 analogWrite(MotorLE, 0); // Sol motorun hz 150 108 109 110} 111 112 113void geri(){ // Robotun geri ynde hareketi iin fonksiyon tanmlyoruz. 114 115 digitalWrite(MotorR1, LOW); // Sa motorun ileri hareketi pasif 116 digitalWrite(MotorR2, HIGH); // Sa motorun geri hareketi aktif 117 analogWrite(MotorRE, 150); // Sa motorun hz 150 118 119 digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif 120 digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif 121 analogWrite(MotorLE, 150); // Sol motorun hz 150 122 123} 124void dur(){ // Robotun ileri ynde hareketi iin fonksiyon tanmlyoruz. 125 126 digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif 127 digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif 128 analogWrite(MotorRE, 0); // Sa motorun hz 150 129 130 digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif 131 digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif 132 analogWrite(MotorLE, 0); // Sol motorun hz 150 133} 134
Downloadable files
b2ot_(1)_CUyhyycUXq.pdf
b2ot_(1)_CUyhyycUXq.pdf
b2ot_(1)_CUyhyycUXq.pdf
b2ot_(1)_CUyhyycUXq.pdf
Comments
Only logged in users can leave comments