Servomotor y modulo de reconocimiento de voz V3

hola necesito mover dos servomotores con un modulo de reconocimiento de voz V3 en arduino , ya tengo el código y ya entrené el micrófono pero no hace nada con los servomotores , cualquier ayuda la agradecería mucho gracias.`

#include <SoftwareSerial.h>
#include <Servo.h>
#include "VoiceRecognitionV3.h"

SoftwareSerial voiceSerial(3, 2); // RX, TX para el módulo de voz

Servo servoX;
Servo servoY;

const int servoXPin = 9;
const int servoYPin = 10;

int angleX = 90;
int angleY = 90;

void setup() {
  Serial.begin(115200);
  voiceSerial.begin(115200);
  
  servoX.attach(servoXPin);
  servoY.attach(servoYPin);
  
  servoX.write(angleX);
  servoY.write(angleY);

  // Mensaje de inicio
  Serial.println("Sistema de laberinto de bolas controlado por voz iniciado.");
}

void loop() {
  if (voiceSerial.available() > 0) {
    int command = voiceSerial.read();
    
    switch (command) {
      case 1: // "derecha"
        angleX = constrain(angleX + 10, 0, 180);
        servoX.write(angleX);
        Serial.println("Derecha");
        break;
      case 2: // "izquierda"
        angleX = constrain(angleX - 10, 0, 180);
        servoX.write(angleX);
        Serial.println("Izquierda");
        break;
      case 3: // "al frente"
        angleY = constrain(angleY - 10, 0, 180);
        servoY.write(angleY);
        Serial.println("Al frente");
        break;
      case 4: // "atrás"
        angleY = constrain(angleY + 10, 0, 180);
        servoY.write(angleY);
        Serial.println("Atrás");
        break;
      case 5: // "al centro"
        angleX = 90;
        angleY = 90;
        servoX.write(angleX);
        servoY.write(angleY);
        Serial.println("Al centro");
        break;
      default:
        Serial.println("Comando no reconocido");
        break;
    }
  }
  
  delay(100);
}`

Su publicacion se MUEVE a su ubicacion actual ya que es mas adecuada.

gracias perdón por el error

Te funcionan los Serial.println() como se espera?

Los comandos son 1; 2; 3, etc. ó '1', '2', '3', etc. ?
Tu switch() supone que recibes caracteres con código 1; 2; 3... y no caracteres numéricos con código 49; 50; 51, etc.. (Revisa una tabla ASCII)

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.