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.
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.
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.
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");
}
}
}
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.
Y cual es el problema/pregunta?
ElEspanol:
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");
}
}
}
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.
@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.
#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.
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.