From 3a304bf61040fc20cac38c8e35d7f69d52856b0b Mon Sep 17 00:00:00 2001 From: Oleg Subbotin Date: Fri, 21 Feb 2025 21:22:43 -0500 Subject: [PATCH] Update voice_controlled_robot_car_v1.ino Set motor pins mode, order functions for correct compilations, add comments. --- .../voice_controlled_robot_car_v1.ino | 83 +++++++++++-------- 1 file changed, 47 insertions(+), 36 deletions(-) diff --git a/Software/Activities/Voice Controlled Robot Car/voice-controlled-robot-car-arduino/voice_controlled_robot_car_v1.ino b/Software/Activities/Voice Controlled Robot Car/voice-controlled-robot-car-arduino/voice_controlled_robot_car_v1.ino index db9b8e4..2e482d4 100644 --- a/Software/Activities/Voice Controlled Robot Car/voice-controlled-robot-car-arduino/voice_controlled_robot_car_v1.ino +++ b/Software/Activities/Voice Controlled Robot Car/voice-controlled-robot-car-arduino/voice_controlled_robot_car_v1.ino @@ -1,51 +1,62 @@ +#include + +// Define control pins for the motors +#define MOTOR1 21 +#define MOTOR2 22 + +// Setup motor pins as outputs void setup() { + pinMode(MOTOR1, OUTPUT); + pinMode(MOTOR2, OUTPUT); Serial1.begin(9600); } -void loop() { - if (Serial1.available() > 0) { - - char sread = Serial1.read(); - Serial.println(sread); - - if (sread == 'f') { - Forward(); - } else if(sread == 'r'){ - Right(); - } else if(sread == 'l'){ - Left(); - } else if(sread == 's'){ - Stop(); - } - } -} - -void Forward(){ - digitalWrite(21,HIGH); - digitalWrite(22,HIGH); +// Implement primitive move sequences +void Forward() { + digitalWrite(MOTOR1,HIGH); + digitalWrite(MOTOR1,HIGH); delay(1000); - digitalWrite(21,LOW); - digitalWrite(22,LOW); + digitalWrite(MOTOR1,LOW); + digitalWrite(MOTOR2,LOW); } -void Left(){ - digitalWrite(21,LOW); - digitalWrite(22,HIGH); +void Left() { + digitalWrite(MOTOR1,LOW); + digitalWrite(MOTOR2,HIGH); delay(500); - digitalWrite(21,LOW); - digitalWrite(22,LOW); + digitalWrite(MOTOR1,LOW); + digitalWrite(MOTOR2,LOW); } -void Right(){ - digitalWrite(21,HIGH); - digitalWrite(22,LOW); +void Right() { + digitalWrite(MOTOR1,HIGH); + digitalWrite(MOTOR2,LOW); delay(500); - digitalWrite(21,LOW); - digitalWrite(22,LOW); + digitalWrite(MOTOR1,LOW); + digitalWrite(MOTOR2,LOW); } -void Stop(){ - digitalWrite(21,LOW); - digitalWrite(22,LOW); +void Stop() { + digitalWrite(MOTOR1,LOW); + digitalWrite(MOTOR2,LOW); delay(1000); } + +// Read commands from the serial +void loop() { + if (Serial1.available() > 0) { + + char command = Serial1.read(); + Serial.println(command); + + if (command == 'f') { + Forward(); + } else if(command == 'r') { + Right(); + } else if(command == 'l') { + Left(); + } else if(command == 's') { + Stop(); + } + } +}