aboutsummaryrefslogtreecommitdiff
path: root/Lesson 4 Obstacle Avoidance Car
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:33:02 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:33:02 +0200
commitba216919262d7f888bfb99debf81babe1ce88e0e (patch)
tree16c19610a7a3a77c97b99a63f6ba85d11ebde4ec /Lesson 4 Obstacle Avoidance Car
parentd80736ab6e8e3cad2f1a30c6eaba2d6883dbe967 (diff)
Move lessons to doc
Diffstat (limited to 'Lesson 4 Obstacle Avoidance Car')
-rwxr-xr-xLesson 4 Obstacle Avoidance Car/Lesson 4 Obstacle Avoidance Car.avibin21564216 -> 0 bytes
-rwxr-xr-xLesson 4 Obstacle Avoidance Car/Obstacle Avoidance Car.pdfbin853690 -> 0 bytes
-rw-r--r--Lesson 4 Obstacle Avoidance Car/Obstacle_Avoidance_Car/Obstacle_Avoidance_Car.ino185
3 files changed, 0 insertions, 185 deletions
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
--- a/Lesson 4 Obstacle Avoidance Car/Lesson 4 Obstacle Avoidance Car.avi
+++ /dev/null
Binary files 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
--- a/Lesson 4 Obstacle Avoidance Car/Obstacle Avoidance Car.pdf
+++ /dev/null
Binary files 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.h> //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);
-}
-