← Back to ratslair.com
aboutsummaryrefslogtreecommitdiff
path: root/arduino
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 /arduino
parent5218e00d957035f1cd2b7d883795b0acb7ade71b (diff)
Made sure status angle is an int and made goal pairing better
Diffstat (limited to 'arduino')
-rw-r--r--arduino/arduino.ino106
1 files changed, 88 insertions, 18 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);