Go Down

Topic: Hacer que funcione un servomotor a base de encenderse un led (Read 58 times) previous topic - next topic

Ian_Bizama

Hola, soy un alumno de un taller de robotica y tenemos un problema.

Se trata de que estamos armando un simulador de cruce ferroviario y no podemos lograr que funcione el servomotor que simula la barrera. Queremos hacer que funcione al mismo tiempo que se encienda un led que funciona como semaforo pero hemos intentado de muchas maneras y aún así no podemos conseguir que funcione.

Este es el codigo que usamos:
Code: [Select]


int ledrojo=6;
int lednaranja=7;
int ledverde=8;
long distancia;
long tiempo;
int led;
void setup(){
Serial.begin(9600);
pinMode(11, OUTPUT);
pinMode(12, INPUT);
pinMode(ledrojo, OUTPUT);
pinMode(lednaranja, OUTPUT);
pinMode(ledverde, OUTPUT);
}
void loop(){
digitalWrite(11 ,LOW);
delayMicroseconds(10);
digitalWrite(11, HIGH);
delayMicroseconds(10);
tiempo=pulseIn(12, HIGH);






distancia= int(0.017*tiempo);
if (distancia>40){
led=1;
digitalWrite(lednaranja,LOW);
digitalWrite(ledrojo,LOW);
}
if (distancia<40&&distancia>20){

led=2;
digitalWrite(ledverde,LOW);
digitalWrite(ledrojo,LOW);
}
if (distancia>20){
led=3;
digitalWrite(ledverde,LOW);
digitalWrite(lednaranja,LOW);
}
switch(led){
case 1:
digitalWrite(ledverde,HIGH);
break;
case 2:
digitalWrite(lednaranja,HIGH);
break;
case 3:
digitalWrite(ledrojo,HIGH);
break;
}
delay(50);
}



Adrian_E

soy novato, pero no veo la inclucion de la libreria <servo.h>, no veo objeto creado para servo ej. Servo miservo;
no esta en el setup miservo.attach() definiendo el pin de salida y por consiguiente nada en el loop., miservo.write(valor), si es que subiste el codigo completo?

surbyte

Primero edita tu post como te indico por privado.

Segundo: has probado el servo solo? Usando alguno de los ejempos? Eso funciona si o si.
Luego lo adaptas a tu código. Se enciende led, envias el dato de que se mueva el servo.

si haces las cosas paso a paso no hay posibilidad de que no funcione.

Go Up