Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola, podria mover un servo a la posición de 180º de la siguiente forma?
lo programé con ccs:
// Comentarios: Hacer que el servo se mueva a la posición de 180º
#include <16f876> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT //instrucciones
#use delay (clock=20000000) //Frecuencia del reloj=20Mhz
#use fast_io(b)
//inicio del programa
void main(void)
{
set_tris_b(0xFE); //0xFE equivale a 11111110
disable_interrupts(GLOBAL);
do{
output_high(PIN_B0);
delay_us(2500);
output_low(PIN_B0);
delay_us(17500);
}while(TRUE);
}
Lo mismo como estoy empezando y tampoco tengo mucha idea, es por esto por lo cual me da error en el proteus. Y me gustaria saber si se puede mover un servo con las rutinas delay y no con el timer.Si es asi me gustaria que me mostraran un pequeño ejemplo.Gracias
**El esquema de proteus que hice es el siguiente:
Al final parece que si he conseguido ponerlo a 90º, lo que pasaba es que tenia mal configurado el proteus y no hacia bien la simulacion.
Hola mappegon, te me has adelantado, di tu que yo iba yo a echarle la culpa del error a que igual fallaba en la compilación por el include que no localizaba al pic sin la extensión .h ... jeje
Por cierto, si no me equivoco (ya nos lo confirmara alguien :-)) la función delay no esta basada en interrupciones, por lo que en caso de tenerlas habilitadas y/o hacer un programa mas complejo el delay podria demorarse mas de lo que quieres.
Un Saludo.