Skip to content

Commit

Permalink
added dist assist
Browse files Browse the repository at this point in the history
  • Loading branch information
UlmerMan committed Feb 10, 2023
1 parent 8e54d77 commit 99607ab
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 15 deletions.
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ paragraph=You can use Functions to drive and to read out Sensors.
category=Device Control
architectures=*
includes=Elegoo.h
depends=Servo, IRremote
depends=Servo, IRremote
8 changes: 0 additions & 8 deletions src/Bluetooth.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
#include "Bluetooth.h"

void elegoo::delay(unsigned long time){
for(unsigned long i = 0; i < time; i++) {
getBTdec();
//getIRdec();
delay(1);
}
}

unsigned long elegoo::getBT(){
if(Serial.available()){
unsigned long val = Serial.read();
Expand Down
5 changes: 3 additions & 2 deletions src/Elegoo.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "Elegoo.h"

#include <Servo.h>

//www.elegoo.com
//2016.09.12
Expand Down Expand Up @@ -82,7 +82,8 @@ elegoo::elegoo(int version) {
pinMode(LineTeacking_Pin_Middle, INPUT);
pinMode(LineTeacking_Pin_Left, INPUT);
Servo libServo;
//libServo->attach(3);
libServo.attach(3);
IRbegin();
//IRrecv irrecv(RECV_PIN);
//irrecv->begin(RECV_PIN, LED);
}
11 changes: 8 additions & 3 deletions src/Elegoo.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef car_H
#define car_H
#ifndef elegoo_H
#define elegoo_H
#include <Arduino.h>
#include <Servo.h>

Expand Down Expand Up @@ -60,6 +60,7 @@ class elegoo
void right();
void stop();
long getDistance();
long getDistance(int angle);
void forwardT(int speed, float time);
void backT(int speed, float time);
void leftT(int speed, float time);
Expand All @@ -78,8 +79,12 @@ class elegoo
void remote();
float regler(float ist, float soll, int p_faktor);
void IRbegin();
void keepDistance();
void enableKeepDistance();
void disableKeepDistance();
void setKeepDistance(int val);
private:
Servo *libServo;
Servo *libServo;
int in1 = 0;
int in2 = 0;
int in3 = 0;
Expand Down
46 changes: 45 additions & 1 deletion src/Sensors.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#include "Sensors.h"

bool keepDistanceState = 1;
int keepDistanceValue = 10;

long elegoo::getDistance() {
digitalWrite(trig, LOW);
delayMicroseconds(5);
Expand All @@ -11,6 +14,15 @@ long elegoo::getDistance() {
return cm;
}

long elegoo::getDistance(int angle) {
libServo->write(angle);
return getDistance();
}

long elegoo::getDistanceReturn(int angle){

}

int elegoo::getLightR(){
int r = !digitalRead(10);
return r;
Expand Down Expand Up @@ -38,4 +50,36 @@ void elegoo::line(){
left();
while(elegoo::getLightL() == 0);
}
}
}

void elegoo::delay(unsigned long time){
for(unsigned long i = 0; i < time; i++) {
getBTdec();
getIRdec();
keepDistance();
delay(1);
}
}

void elegoo::keepDistance(){
if(keepDistanceState){
int distance = getDistance();
if(distance < keepDistanceValue){
stop();
}
}
}

void elegoo::enableKeepDistance(){
keepDistanceState = 1;
}

void elegoo::disableKeepDistance(){
keepDistanceState = 0;
}

void elegoo::setKeepDistance(int val){
keepDistanceValue = val;
}

//TODO delay for IRremote

0 comments on commit 99607ab

Please sign in to comment.