commit 5b235286754032a59fe38edc01edf32cf7b8e1f4
parent 7eda023d753f8b914d1e85ed2c873c181a2d3f84
Author: thing1 <thing1@seacrossedlovers.xyz>
Date: Tue, 4 Nov 2025 17:00:47 +0000
calibrated the servo
Diffstat:
3 files changed, 157 insertions(+), 0 deletions(-)
diff --git a/CS12020/robot/libs/util.h b/CS12020/robot/libs/util.h
@@ -0,0 +1,73 @@
+#define GREEN_LED 7
+#define YELLOW_LED 12
+#define RED_LED 13
+
+#define BUTTONA 4
+#define BUTTONB 2
+
+#define SERVOA_PIN 6
+#define SERVOB_PIN 5
+
+#define SERVOA_ZERO 96
+#define SERVOB_ZERO 96
+
+#define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
+
+Servo servoA;
+Servo servoB;
+
+void
+setupRobot() {
+ Serial.begin(9800);
+ pinMode(GREEN_LED, OUTPUT);
+ pinMode(YELLOW_LED, OUTPUT);
+ pinMode(RED_LED, OUTPUT);
+ pinMode(BUTTONA, INPUT);
+ pinMode(BUTTONB, INPUT);
+ pinMode(SERVOA_PIN, OUTPUT);
+ pinMode(SERVOB_PIN, OUTPUT);
+ servoA.attach(SERVOA_PIN);
+ servoB.attach(SERVOB_PIN);
+ servoA.write(SERVOA_ZERO);
+ servoB.write(SERVOB_ZERO);
+}
+
+void
+setLEDs(int g, int y, int r) {
+ digitalWrite(GREEN_LED, g);
+ digitalWrite(YELLOW_LED, y);
+ digitalWrite(RED_LED, r);
+}
+
+void
+waitButton(int pin, int state) {
+ while (digitalRead(pin) == state) ;
+}
+
+void
+debounce(int pin) {
+ waitButton(pin, LOW);
+ delay(20);
+ waitButton(pin, HIGH);
+ delay(20);
+}
+
+void
+SEprintf(const char *fmt, ...) {
+ static char sbuf[64] = { 0 };
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsnprintf(sbuf, 64, fmt, ap);
+ va_end(ap);
+
+ Serial.print(sbuf);
+}
+
+int
+readint() {
+ while (!Serial.available()) ;
+ int i = Serial.parseInt();
+ SEprintf("\n");
+ return i;
+}
diff --git a/CS12020/robot/servo/1.ino b/CS12020/robot/servo/1.ino
@@ -0,0 +1,11 @@
+#include <Servo.h>
+#include "util.h"
+
+void
+setup() {
+ SETUP_ROBOT();
+ servoA.write(20);
+}
+
+void
+loop() {}
diff --git a/CS12020/robot/servo/util.h b/CS12020/robot/servo/util.h
@@ -0,0 +1,73 @@
+#define GREEN_LED 7
+#define YELLOW_LED 12
+#define RED_LED 13
+
+#define BUTTONA 4
+#define BUTTONB 2
+
+#define SERVOA_PIN 6
+#define SERVOB_PIN 5
+
+#define SERVOA_ZERO 96
+#define SERVOB_ZERO 96
+
+#define SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
+
+Servo servoA;
+Servo servoB;
+
+void
+setupRobot() {
+ Serial.begin(9800);
+ pinMode(GREEN_LED, OUTPUT);
+ pinMode(YELLOW_LED, OUTPUT);
+ pinMode(RED_LED, OUTPUT);
+ pinMode(BUTTONA, INPUT);
+ pinMode(BUTTONB, INPUT);
+ pinMode(SERVOA_PIN, OUTPUT);
+ pinMode(SERVOB_PIN, OUTPUT);
+ servoA.attach(SERVOA_PIN);
+ servoB.attach(SERVOB_PIN);
+ servoA.write(SERVOA_ZERO);
+ servoB.write(SERVOB_ZERO);
+}
+
+void
+setLEDs(int g, int y, int r) {
+ digitalWrite(GREEN_LED, g);
+ digitalWrite(YELLOW_LED, y);
+ digitalWrite(RED_LED, r);
+}
+
+void
+waitButton(int pin, int state) {
+ while (digitalRead(pin) == state) ;
+}
+
+void
+debounce(int pin) {
+ waitButton(pin, LOW);
+ delay(20);
+ waitButton(pin, HIGH);
+ delay(20);
+}
+
+void
+SEprintf(const char *fmt, ...) {
+ static char sbuf[64] = { 0 };
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsnprintf(sbuf, 64, fmt, ap);
+ va_end(ap);
+
+ Serial.print(sbuf);
+}
+
+int
+readint() {
+ while (!Serial.available()) ;
+ int i = Serial.parseInt();
+ SEprintf("\n");
+ return i;
+}