From ba216919262d7f888bfb99debf81babe1ce88e0e Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 26 Aug 2017 20:33:02 +0200 Subject: Move lessons to doc --- .../Lesson 4 Obstacle Avoidance Car.avi | Bin 21564216 -> 0 bytes .../Obstacle Avoidance Car.pdf | Bin 853690 -> 0 bytes .../Obstacle_Avoidance_Car.ino | 185 --------------------- 3 files changed, 185 deletions(-) delete mode 100755 Lesson 4 Obstacle Avoidance Car/Lesson 4 Obstacle Avoidance Car.avi delete mode 100755 Lesson 4 Obstacle Avoidance Car/Obstacle Avoidance Car.pdf delete mode 100644 Lesson 4 Obstacle Avoidance Car/Obstacle_Avoidance_Car/Obstacle_Avoidance_Car.ino (limited to 'Lesson 4 Obstacle Avoidance Car') diff --git a/Lesson 4 Obstacle Avoidance Car/Lesson 4 Obstacle Avoidance Car.avi b/Lesson 4 Obstacle Avoidance Car/Lesson 4 Obstacle Avoidance Car.avi deleted file mode 100755 index 71ef5b1..0000000 Binary files a/Lesson 4 Obstacle Avoidance Car/Lesson 4 Obstacle Avoidance Car.avi and /dev/null differ diff --git a/Lesson 4 Obstacle Avoidance Car/Obstacle Avoidance Car.pdf b/Lesson 4 Obstacle Avoidance Car/Obstacle Avoidance Car.pdf deleted file mode 100755 index 25b20a5..0000000 Binary files a/Lesson 4 Obstacle Avoidance Car/Obstacle Avoidance Car.pdf and /dev/null differ diff --git a/Lesson 4 Obstacle Avoidance Car/Obstacle_Avoidance_Car/Obstacle_Avoidance_Car.ino b/Lesson 4 Obstacle Avoidance Car/Obstacle_Avoidance_Car/Obstacle_Avoidance_Car.ino deleted file mode 100644 index c76feea..0000000 --- a/Lesson 4 Obstacle Avoidance Car/Obstacle_Avoidance_Car/Obstacle_Avoidance_Car.ino +++ /dev/null @@ -1,185 +0,0 @@ -//www.elegoo.com -//2016.09.12 - -#define send 1 - -#include //servo library -Servo myservo; // create servo object to control servo - -int Echo = A1; -int Trig = A0; - -int ENA = 10; -int in1 = 9; -int in2 = 8; - -int in3 = 7; -int in4 = 6; -int ENB = 5; - -int ABS = 130; - -int dist = 50; - -int rightDistance = 0, leftDistance = 0, middleDistance = 0; - -void _mForward() -{ - analogWrite(ENA, ABS); - analogWrite(ENB, ABS); - - digitalWrite(in1, LOW); - digitalWrite(in2, HIGH); - - digitalWrite(in3, LOW); - digitalWrite(in4, HIGH); - - Serial.println("go forward!"); -} - -void _mBack() -{ - analogWrite(ENA, ABS); - analogWrite(ENB, ABS); - - digitalWrite(in1, HIGH); - digitalWrite(in2, LOW); - - digitalWrite(in3, HIGH); - digitalWrite(in4, LOW); - - Serial.println("go back!"); -} - -void _mleft() -{ - analogWrite(ENA, ABS); - analogWrite(ENB, ABS); - - digitalWrite(in1, LOW); - digitalWrite(in2, HIGH); - - digitalWrite(in3, HIGH); - digitalWrite(in4, LOW); - - Serial.println("go left!"); -} - -void _mright() -{ - analogWrite(ENA, ABS); - analogWrite(ENB, ABS); - - digitalWrite(in1, HIGH); - digitalWrite(in2, LOW); - - digitalWrite(in3, LOW); - digitalWrite(in4, HIGH); - - Serial.println("go right!"); -} - -void _mStop() -{ - digitalWrite(ENA, LOW); - digitalWrite(ENB, LOW); - - Serial.println("Stop!"); -} -/*Ultrasonic distance measurement Sub function*/ -int Distance_test() -{ - digitalWrite(Trig, LOW); - delayMicroseconds(2); - digitalWrite(Trig, HIGH); - - delayMicroseconds(20); - digitalWrite(Trig, LOW); - - float Fdistance = pulseIn(Echo, HIGH); - Fdistance = Fdistance / 58; // cm - - return (int)Fdistance; -} - -void setup() -{ - myservo.attach(3); // attach servo on pin 3 to servo object - Serial.begin(9600); - - pinMode(Echo, INPUT); - pinMode(Trig, OUTPUT); - - pinMode(in1, OUTPUT); - pinMode(in2, OUTPUT); - pinMode(in3, OUTPUT); - pinMode(in4, OUTPUT); - - pinMode(ENA, OUTPUT); - pinMode(ENB, OUTPUT); - - _mStop(); -} - -void -loop() -{ - myservo.write(90);//setservo position according to scaled value - delay(500); - - middleDistance = Distance_test(); - -#ifdef send - Serial.print("middleDistance="); - Serial.println(middleDistance); -#endif - - if (middleDistance > dist) { - _mForward(); - return; - } - - _mStop(); - delay(500); - myservo.write(5); - - delay(1000); - rightDistance = Distance_test(); - -#ifdef send - Serial.print("rightDistance="); - Serial.println(rightDistance); -#endif - - delay(500); - myservo.write(90); - - delay(1000); - myservo.write(180); - - delay(1000); - leftDistance = Distance_test(); - -#ifdef send - Serial.print("leftDistance="); - Serial.println(leftDistance); -#endif - - delay(500); - myservo.write(90); - - delay(1000); - - if (rightDistance > leftDistance) { - _mright(); - } - if (rightDistance < leftDistance) { - _mleft(); - } - if ((rightDistance <= dist) || (leftDistance <= dist)) { - _mBack(); - } - - delay(180); -} - -- cgit v1.2.3