Go Down

Topic: Cual seria le codigopara este ejercicio por favor  (Read 402 times) previous topic - next topic

dumx100pre

Controlar el motor reductor a través del teclado. Cuando reciba la letra A debe encender, luego en función de las letras I y D girar en un sentido o entro. Solo debe parar cuando reciba la letra S.

dumx100pre

Por favor ayuda con el codigo del siguiente ejercicio

Controlar el motor reductor a través del teclado. Cuando reciba la letra A debe encender, luego en función de las letras I y D girar en un sentido o entro. Solo debe parar cuando reciba la letra S.

victorjam

Hola y bienvenido al foro.

Te invito a que te leas las NORMAS, para que aprendas a postear correctamente el código, imagenes, errores de compilación, etc.

Además en tu caso has de saber que no hacemos los ejercicios a nadie, simplemente resolvemos problemas puntuales. Si nos dedicasemos a hacer los ejercicios de todo el mundo, nadie aprenderia y estariamos asfixiados.

Has abierto varios post, con ejercicios en varios sitios (todos diferentes). Así que me temo que el moderador te va a regañar.

dumx100pre

Controlar el motor reductor a través del teclado. Cuando reciba la letra A debe encender, luego en función de las letras I y D girar en un sentido o entro. Solo debe parar cuando reciba la letra S.

Intentop resolverlo pero ya no doy mas necesito ayuda, soy nuevo en el tema de arduino y programacion   

MI CODIGO ESTA MAL NECESITO CORREGIRLO  Y NO SE COMO 

MI SERVO MOTOR ESTA CONECTADO AL PIN 9

ME FALTA DECLARAR LAS LETRAS  a s i d



#include <Servo.h>
 
Servo servoMotor;
int option;
int PIN = 9;

void setup() {
  Serial.begin(9600);
  servoMotor.attach(9);
  servoMotor.write(0);
}
 
void loop() {

  if (Serial.available()>0){
    option=Serial.read();
   
    if(option=='A') {
    servoMotor.write(i);
    Serial.println("ENCENDIDO");
    }
 
    if(option=='I') {
  for (int i = 0; i <= 180; i++)
  {
    servoMotor.write(i);
    Serial.println("Giro de 0 a 180");
    delay(1000);
  }
  }   
     
  if(option=='D') {
  for (int i = 180; i > 0; i--)
  {
    servoMotor.write(i);
    Serial.println("Giro de 180 a 0");
    delay(1000);
  }
  }     
     
  if(option=='S') {
      servoMotor.write(i);
      Serial.println("DETENIDO");
    }
  }
}
 

ElEspanol

Controlar el motor reductor a través del teclado. Cuando reciba la letra A debe encender, luego en función de las letras I y D girar en un sentido o entro. Solo debe parar cuando reciba la letra S.
Y cual es el problema/pregunta?

dumx100pre

Y cual es el problema/pregunta?
Este es el problema 

Controlar el motor reductor a través del teclado. Cuando reciba la letra A debe encender, luego en función de las letras I y D girar en un sentido o entro. Solo debe parar cuando reciba la letra S.

y este es el codigo que intente pero estamal, necesito ayuda  , como debeira ser correctamente 

MI SERVO MOTOR ESTA CONECTADO AL PIN 9

ME FALTA DECLARAR LAS LETRAS  a s i d



#include <Servo.h>
 
Servo servoMotor;
int option;
int PIN = 9;

void setup() {
  Serial.begin(9600);
  servoMotor.attach(9);
  servoMotor.write(0);
}
 
void loop() {

  if (Serial.available()>0){
    option=Serial.read();
   
    if(option=='A') {
    servoMotor.write(i);
    Serial.println("ENCENDIDO");
    }
 
    if(option=='I') {
  for (int i = 0; i <= 180; i++)
  {
    servoMotor.write(i);
    Serial.println("Giro de 0 a 180");
    delay(1000);
  }
  }   
     
  if(option=='D') {
  for (int i = 180; i > 0; i--)
  {
    servoMotor.write(i);
    Serial.println("Giro de 180 a 0");
    delay(1000);
  }
  }     
     
  if(option=='S') {
      servoMotor.write(i);
      Serial.println("DETENIDO");
    }
  }
}
 

robertoxyz20

Me parece que esos delay no deben estar ahí todavía, a menos que quieras que giren un paso cada segundo, entonces daría media vuelta en 180*1000ms=180 segundos...
Cambia los read() por readString() a ver qué sucede.

surbyte

@dumx100pre tienes dos hilos abiertos en los que cometes faltas a las normas del foro.
Sigues respondiendo y sigues pasandote por alto las advertencias.
Otra, cosa es que no debes escribir con mayúsculas, es lo mismo que gritar.
Si estas apurado debes calmarte porque aquí nadie corre.

Lee las normas y edita los códigos usando etiquetas, quita las mayúsculas.
Vuelvo a ver otra respuesta tuya sin editar lo anterior y cierro los hilos.


Mientras te ayudo, pero si respondes y no editas, tendrás problemas.

Code: [Select]
#include <Servo.h>

Esa librería tiene ejemplos. Estúdialos.
Luego de hacerlo y mover el servo cambiando el pin que tenga por tu pin 9 o cambiando el cable al pin que use el ejemplo, tendras mejor criterio para entender que ocurre.

Code: [Select]
for (int i = 0; i <= 180; i++)
  {
    servoMotor.write(i);
    Serial.println("Giro de 0 a 180");
    delay(1000);
  }


Este porción de código le dice.. muevete desde 0 a 180 en 1grado cada 1 segundo.. o sea tarda 3 minutos en ir de un punto al otro.

Go Up