TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: joshuadadas en 27 de Marzo de 2016, 06:56:04
-
estoy haciendo una banda seleccionadora con un pic 18f4550 pero no soy muy bueno con la programación es que necesito que haga
1: encendido con botón
2: el motorreductor enciende y mueve la banda
3: si las cajas que corren por la banda son blancas detectadas por un sensor cny70
4: la banda se detiene por un momento y un servo motor se activa a 90 y regresa a su posición
5: se mueve de nuevo la banda
espero que me puedan ayudar ya no se ni como hacerle soy nuevo :(
esto es lo que llevo
#include <18f4550.h>
#fuses HS,NOPROTECT,NOWDT,
#use delay(crystal=20mhz)
int a=0;
int b=0;
int c=0;
int i;
void main()
{
{
if(input(pin_b0)==1);
output_high(pin_d3);
}
output_low(pin_d2);
delay_ms(2000);
while(1);
{
for(i=0;i<60;i++);
{
output_high(pin_d2);
delay_us(2000);
output_low(pin_d2);
delay_ms(20);
}
delay_ms(3000);
{
b=input(pin_b1);
if (b=0);
a==0;
for(i=0;i<60;i++)
{
output_high(pin_d2);
delay_us(400);
output_low(pin_d2);
delay_ms(20);
}
delay_ms(3000);
}
}
}
-
hola, explicame como es eso de que un motor se enciende a 90 y regresa a su posicion, saludos
-
hola, explicame como es eso de que un motor se enciende a 90 y regresa a su posicion, saludos
Un servomotor, basicamente tiene que realizar un PWM. Lo ideal que lo haga con timers.
estoy haciendo una banda seleccionadora con un pic 18f4550 pero no soy muy bueno con la programación es que necesito que haga
1: encendido con botón
2: el motorreductor enciende y mueve la banda
3: si las cajas que corren por la banda son blancas detectadas por un sensor cny70
4: la banda se detiene por un momento y un servo motor se activa a 90 y regresa a su posición
5: se mueve de nuevo la banda
espero que me puedan ayudar ya no se ni como hacerle soy nuevo :(
esto es lo que llevo
Si queres que funcione empeza a olvidarte de poner delays. Aca tenes un pseudocodigo que tendria una traduccion casi inmmediata:
Loopinfinito:
Boton START presionado?
Si: Espero 10ms
Espero que se suelte el boton
Activo ^= 1
Motorreductor = Activo
Es Activo = 1 ?
Si:
Caja Blanca detectada?
Si:
Motorreductor = 0
ServoMotor a 90º
ServoMotor a 0º
Motorreductor = 1
Ir a LoopInfinito