Skip to content

Instantly share code, notes, and snippets.

@ArduLite
Created March 23, 2025 16:42
Show Gist options
  • Save ArduLite/305192ac4ec3288177b5aa9f84000a2e to your computer and use it in GitHub Desktop.
Save ArduLite/305192ac4ec3288177b5aa9f84000a2e to your computer and use it in GitHub Desktop.
#include <ArduLite.h>
// Sensors
Digital leftSensor(2, IN);
Digital rightSensor(3, IN);
// DC Motors
PWM leftMotor1(5);
PWM leftMotor2(6);
PWM rightMotor1(9);
PWM rightMotor2(10);
void moveForward(int speedValue, int delayTime) {
leftMotor1.write(speedValue);
leftMotor2.write(0);
rightMotor1.write(speedValue);
rightMotor2.write(0);
wait(delayTime);
}
void moveBackward(int speedValue, int delayTime) {
leftMotor1.write(0);
leftMotor2.write(speedValue);
rightMotor1.write(0);
rightMotor2.write(speedValue);
wait(delayTime);
}
void turnLeft(int speedValue, int delayTime) {
leftMotor1.write(0);
leftMotor2.write(0);
rightMotor1.write(speedValue);
rightMotor2.write(0);
wait(delayTime);
}
void turnRight(int speedValue, int delayTime) {
leftMotor1.write(speedValue);
leftMotor2.write(0);
rightMotor1.write(0);
rightMotor2.write(0);
wait(delayTime);
}
void stopMotor(int delayTime) {
leftMotor1.write(0);
leftMotor2.write(0);
rightMotor1.write(0);
rightMotor2.write(0);
wait(delayTime);
}
int main() {
while (1) {
int leftSensorValue = leftSensor.read();
int rightSensorValue = rightSensor.read();
if (!leftSensorValue && !rightSensorValue) {
moveForward(255, 50);
}
if (leftSensorValue && rightSensorValue) {
stopMotor(0);
}
if (!leftSensorValue && rightSensorValue) {
turnRight(255, 50);
}
if (leftSensorValue && !rightSensorValue) {
turnLeft(255, 50);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment