Remove display stuff, fix motor direction, add builds to .gitignore

This commit is contained in:
Phillip Kühne 2019-05-18 22:57:05 +02:00
parent 7e67dcb0a0
commit e908d59cba
2 changed files with 61 additions and 72 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
.pioenvs .pioenvs
.piolibdeps .piolibdeps
*a.out.*

View File

@ -1,23 +1,12 @@
#include <Arduino.h> #include <Arduino.h>
#include <Ultrasonic.h> #include <Ultrasonic.h>
//// Adafruit Display
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4 #define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10 #define NUMFLAKES 10
#define XPOS 0 #define XPOS 0
#define YPOS 1 #define YPOS 1
#define DELTAY 2 #define DELTAY 2
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
const int PIN_ENA = 0; const int PIN_ENA = 0;
const int PIN_ENB = 1; const int PIN_ENB = 1;
const int PIN_IN1 = 3; const int PIN_IN1 = 3;
@ -31,33 +20,6 @@ Ultrasonic ultrasonic(A2,A3);
int distance = 21; 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 leftMotor -255 bis 255, Stärke
* @param rightMotor -255 bis 255, Stärke * @param rightMotor -255 bis 255, Stärke
@ -65,11 +27,11 @@ void setup() {
void setMotors(int leftMotor, int rightMotor) { void setMotors(int leftMotor, int rightMotor) {
if (rightMotor>=0) if (rightMotor>=0)
{ {
analogWrite(PIN_IN2, rightMotor); analogWrite(PIN_IN1, rightMotor);
digitalWrite(PIN_IN1, LOW); digitalWrite(PIN_IN2, LOW);
} else { } else {
analogWrite(PIN_IN2, rightMotor); analogWrite(PIN_IN1, rightMotor);
digitalWrite(PIN_IN1, HIGH); digitalWrite(PIN_IN2, HIGH);
} }
if (leftMotor>=0) if (leftMotor>=0)
@ -127,21 +89,47 @@ int lookRight(){
return ultrasonic.distanceRead(); 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() { void loop() {
enableHigh(); enableHigh();
setServo(90); setServo(90);
distance = ultrasonic.distanceRead(); 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); Serial.println(distance);
if (distance<30 && distance>0) { if (distance<30 && distance>0) {
setMotors(0, 0); setMotors(0, 0);
@ -149,16 +137,16 @@ void loop() {
setServo(90); setServo(90);
while(distance<50) { while(distance<50) {
distance = ultrasonic.distanceRead(); 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("Turning left: ");
Serial.println(distance); Serial.println(distance);
setMotors(-120,0); setMotors(-120,0);
@ -169,16 +157,16 @@ void loop() {
setServo(90); setServo(90);
while(distance<50) { while(distance<50) {
distance = ultrasonic.distanceRead(); 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("Turning right: ");
Serial.println(distance); Serial.println(distance);
setMotors(0,-120); setMotors(0,-120);