From e908d59cba6b4f4999eef3133c0d3e0ea8416005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phillip=20K=C3=BChne?= Date: Sat, 18 May 2019 22:57:05 +0200 Subject: [PATCH] Remove display stuff, fix motor direction, add builds to .gitignore --- .gitignore | 1 + src/main.cpp | 132 +++++++++++++++++++++++---------------------------- 2 files changed, 61 insertions(+), 72 deletions(-) diff --git a/.gitignore b/.gitignore index 6c69f4c..bbc0cd3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .pioenvs .piolibdeps +*a.out.* \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 1ed37ce..45ad182 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,23 +1,12 @@ #include #include -//// Adafruit Display -#include -#include -#include -#include - #define OLED_RESET 4 -Adafruit_SSD1306 display(OLED_RESET); #define NUMFLAKES 10 #define XPOS 0 #define YPOS 1 #define DELTAY 2 -#if (SSD1306_LCDHEIGHT != 64) -#error("Height incorrect, please fix Adafruit_SSD1306.h!"); -#endif - const int PIN_ENA = 0; const int PIN_ENB = 1; const int PIN_IN1 = 3; @@ -31,33 +20,6 @@ Ultrasonic ultrasonic(A2,A3); int distance = 21; -// put your setup code here, to run once: - -void setup() { - Serial.begin(9600); - pinMode(PIN_ENA,OUTPUT); - pinMode(PIN_ENB, OUTPUT); - pinMode(PIN_IN1, OUTPUT); - pinMode(PIN_IN2, OUTPUT); - pinMode(PIN_IN3, OUTPUT); - pinMode(PIN_IN4, OUTPUT); - pinMode(SERVO_PIN, OUTPUT); - digitalWrite(PIN_ENA, HIGH); - digitalWrite(PIN_ENB, HIGH); - - // Display Initialisieren - display.begin(SSD1306_SWITCHCAPVCC, 0x3C); - display.clearDisplay(); - display.setTextSize(2); - display.setTextColor(WHITE); - display.setCursor(0,0); - display.println("2WD China Bots"); - //display.setTextSize(3); - display.println("HTWK-"); - display.setTextSize(2); - display.println("Leipzig"); - display.display(); -} /** * @param leftMotor -255 bis 255, Stärke * @param rightMotor -255 bis 255, Stärke @@ -65,11 +27,11 @@ void setup() { void setMotors(int leftMotor, int rightMotor) { if (rightMotor>=0) { - analogWrite(PIN_IN2, rightMotor); - digitalWrite(PIN_IN1, LOW); + analogWrite(PIN_IN1, rightMotor); + digitalWrite(PIN_IN2, LOW); } else { - analogWrite(PIN_IN2, rightMotor); - digitalWrite(PIN_IN1, HIGH); + analogWrite(PIN_IN1, rightMotor); + digitalWrite(PIN_IN2, HIGH); } if (leftMotor>=0) @@ -127,21 +89,47 @@ int lookRight(){ return ultrasonic.distanceRead(); } +void test(){ + enableHigh(); + setMotors(255, 255); + delay(2000); + stopMotors(); +} + +// put your setup code here, to run once: + +void setup() { + Serial.begin(9600); + pinMode(PIN_ENA,OUTPUT); + pinMode(PIN_ENB, OUTPUT); + pinMode(PIN_IN1, OUTPUT); + pinMode(PIN_IN2, OUTPUT); + pinMode(PIN_IN3, OUTPUT); + pinMode(PIN_IN4, OUTPUT); + pinMode(SERVO_PIN, OUTPUT); + digitalWrite(PIN_ENA, HIGH); + digitalWrite(PIN_ENB, HIGH); + + // Display Initialisieren + test(); + + +} void loop() { enableHigh(); setServo(90); distance = ultrasonic.distanceRead(); - display.clearDisplay(); - display.setTextSize(2); - display.setTextColor(WHITE); - display.setCursor(0,0); - display.println("Abstand: "); - display.setTextSize(3); - display.print(distance); - display.setTextSize(2); - display.println(" cm"); - display.display(); + + + + + + + + + + Serial.println(distance); if (distance<30 && distance>0) { setMotors(0, 0); @@ -149,16 +137,16 @@ void loop() { setServo(90); while(distance<50) { distance = ultrasonic.distanceRead(); - display.clearDisplay(); - display.setTextSize(2); - display.setTextColor(WHITE); - display.setCursor(0,0); - display.println("Abstand (turning left): "); - display.setTextSize(3); - display.print(distance); - display.setTextSize(2); - display.println(" cm"); - display.display(); + + + + + + + + + + Serial.println("Turning left: "); Serial.println(distance); setMotors(-120,0); @@ -169,16 +157,16 @@ void loop() { setServo(90); while(distance<50) { distance = ultrasonic.distanceRead(); - display.clearDisplay(); - display.setTextSize(2); - display.setTextColor(WHITE); - display.setCursor(0,0); - display.println("Abstand (turning right): "); - display.setTextSize(3); - display.print(distance); - display.setTextSize(2); - display.println(" cm"); - display.display(); + + + + + + + + + + Serial.println("Turning right: "); Serial.println(distance); setMotors(0,-120);