1
Fork 0

servo support

This commit is contained in:
Andy Killorin 2024-11-20 14:23:43 -05:00
parent 4faf4986cf
commit 4e555f195f
Signed by: ank
GPG key ID: 23F9463ECB67FE8C
3 changed files with 30 additions and 0 deletions

View file

@ -95,6 +95,29 @@ void Robot::HandleKeyCode(int16_t keyCode)
case ENTER_SAVE:
chassis.SetTwist(0, 0);
break;
case REWIND:
servo.setTargetPos(keyString.toInt());
Serial.println(keyString);
keyString = "";
break;
case NUM_1:
case NUM_2:
case NUM_3:
keyString += (char)(keyCode + 33);
break;
case NUM_4:
case NUM_5:
case NUM_6:
keyString += (char)(keyCode + 32);
break;
case NUM_7:
case NUM_8:
case NUM_9:
keyString += (char)(keyCode + 31);
break;
case NUM_0_10:
keyString += '0';
break;
}
}

View file

@ -23,6 +23,8 @@ void Robot::InitializeRobot(void)
// The line sensor elements default to INPUTs, but we'll initialize anyways, for completeness
lineSensor.Initialize();
servo.attach();
}
void Robot::EnterIdleState(void)
@ -303,6 +305,8 @@ void Robot::RobotLoop(void)
* and asynchronous events (IR presses, distance readings, etc.).
*/
servo.update();
/**
* Handle any IR remote keypresses.
*/

View file

@ -3,6 +3,7 @@
#include <LineSensor.h>
#include <LSM6.h>
#include <openmv.h>
#include <servo32u4.h>
static float apriltag_Kp = 0.043; // rads per second per pixel
static float lining_kP2 = 0.67;
@ -51,6 +52,8 @@ protected:
/* Line sensor */
LineSensor lineSensor;
Servo32U4Pin5 servo;
/* To add later: rangefinder, camera, etc.*/
uint16_t distanceTolerance = 65; //for width of tag
#define CENTER_THRESHOLD 10