← Back to ratslair.com
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdvin <[email protected]>2025-05-12 14:13:51 +0200
committerEdvin <[email protected]>2025-05-12 14:13:51 +0200
commit9d6019076927017b90f04c84e3ebbe9907b64613 (patch)
tree4d59492da60f278f4978cbeceb77679ea1b7c128
parent5218e00d957035f1cd2b7d883795b0acb7ade71b (diff)
Made sure status angle is an int and made goal pairing better
-rw-r--r--arduino/arduino.ino106
-rwxr-xr-xmain.py2
2 files changed, 89 insertions, 19 deletions
diff --git a/arduino/arduino.ino b/arduino/arduino.ino
index c4c6c99..35ebe17 100644
--- a/arduino/arduino.ino
+++ b/arduino/arduino.ino
@@ -251,7 +251,7 @@ void loop() {
}
else if (digitalRead(RIR)) {
delay(50);
- analogWrite(D1, 150);
+ analogWrite(D1, 100);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
analogWrite(D4, 150);
@@ -261,13 +261,13 @@ void loop() {
delay(50);
digitalWrite(D1, LOW);
analogWrite(D2, 150);
- analogWrite(D3, 150);
+ analogWrite(D3, 100);
digitalWrite(D4, LOW);
delay(100);
}
else if (digitalRead(FRIR)) {
delay(50);
- analogWrite(D1, 255);
+ analogWrite(D1, 200);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
analogWrite(D4, 255);
@@ -277,7 +277,7 @@ void loop() {
delay(50);
digitalWrite(D1, LOW);
analogWrite(D2, 255);
- analogWrite(D3, 255);
+ analogWrite(D3, 200);
digitalWrite(D4, LOW);
delay(150);
}
@@ -291,34 +291,104 @@ void loop() {
case checkRight:
command = checkLeft;
- analogWrite(D1, 100);
- digitalWrite(D2, LOW);
- digitalWrite(D3, LOW);
- analogWrite(D4, 100);
- delay(100 + i);
+ if (digitalRead(RIR)) {
+ delay(50);
+ analogWrite(D1, 150);
+ digitalWrite(D2, LOW);
+ digitalWrite(D3, LOW);
+ analogWrite(D4, 150);
+ delay(100);
+ }
+ else if (digitalRead(LIR)) {
+ delay(50);
+ digitalWrite(D1, LOW);
+ analogWrite(D2, 150);
+ analogWrite(D3, 150);
+ digitalWrite(D4, LOW);
+ delay(100);
+ }
+ else if (digitalRead(FRIR)) {
+ delay(50);
+ analogWrite(D1, 255);
+ digitalWrite(D2, LOW);
+ digitalWrite(D3, LOW);
+ analogWrite(D4, 255);
+ delay(150);
+ }
+ else if (digitalRead(FLIR)) {
+ delay(50);
+ digitalWrite(D1, LOW);
+ analogWrite(D2, 255);
+ analogWrite(D3, 255);
+ digitalWrite(D4, LOW);
+ delay(150);
+ }
+ else {
+ analogWrite(D1, 100);
+ digitalWrite(D2, LOW);
+ digitalWrite(D3, LOW);
+ analogWrite(D4, 100);
+ delay(100 + i);
+ i += 10;
+ }
+
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
- delay(500);
+ delay(200);
- i += 10;
+
break;
case checkLeft:
command = checkRight;
- digitalWrite(D1, LOW);
- analogWrite(D2, 100);
- analogWrite(D3, 100);
- digitalWrite(D4, LOW);
- delay(100 + i);
+ if (digitalRead(RIR)) {
+ delay(50);
+ analogWrite(D1, 150);
+ digitalWrite(D2, LOW);
+ digitalWrite(D3, LOW);
+ analogWrite(D4, 150);
+ delay(100);
+ }
+ else if (digitalRead(LIR)) {
+ delay(50);
+ digitalWrite(D1, LOW);
+ analogWrite(D2, 150);
+ analogWrite(D3, 150);
+ digitalWrite(D4, LOW);
+ delay(100);
+ }
+ else if (digitalRead(FRIR)) {
+ delay(50);
+ analogWrite(D1, 255);
+ digitalWrite(D2, LOW);
+ digitalWrite(D3, LOW);
+ analogWrite(D4, 255);
+ delay(150);
+ }
+ else if (digitalRead(FLIR)) {
+ delay(50);
+ digitalWrite(D1, LOW);
+ analogWrite(D2, 255);
+ analogWrite(D3, 255);
+ digitalWrite(D4, LOW);
+ delay(150);
+ }
+ else {
+ digitalWrite(D1, LOW);
+ analogWrite(D2, 100);
+ analogWrite(D3, 100);
+ digitalWrite(D4, LOW);
+ delay(100 + i);
+ i += 10;
+ }
+
digitalWrite(D1, LOW);
digitalWrite(D2, LOW);
digitalWrite(D3, LOW);
digitalWrite(D4, LOW);
delay(500);
-
- i += 10;
break;
default:
digitalWrite(D1, LOW);
diff --git a/main.py b/main.py
index f2a84d1..75bf9ed 100755
--- a/main.py
+++ b/main.py
@@ -291,7 +291,7 @@ if bto.find("Connected") != -1:
xstatus = str(x).zfill(4)
ystatus = str(y).zfill(4)
- dirstatus = str(curDir).zfill(3)
+ dirstatus = str(int(curDir)).zfill(3)
if iteration > delay:
NANO.write(f"Current status {xstatus} {ystatus} {dirstatus}\n".encode())
iteration = 0