Soy completamente nuevo en el mundo de los microcontroladores PIC y la ingeniería eléctrica, así que por favor, sea fácil :)
De todos modos, logré programar mi PIC 16f627 para encender tres LED cuando se presiona el botón (botón disparador) y comenzar una secuencia de apagado (básicamente cada LED se apaga uno tras otro con un retraso de 5 segundos) cuando se presiona otro botón (botón de reinicio). He estado probando esto en un panel de experimentación / programador PIC K8048 de Velleman. Los PIN RA0 y RA2 son las entradas para los botones de activación y restablecimiento respectivamente, mientras que los pines RB0, RB1 y RB2 son los pines de salida de los LED.
Trabajar con la placa de experimentación es genial, pero quiero mover esto a un circuito real. El problema es que no tengo idea de por dónde empezar. He comprado 3 LED (3,3 voltios cada uno), algunos pulsadores y cable y he construido el siguiente circuito:
(perdón por el horrible esquema)
En el circuito que construí, primero probé si los LED funcionaban con 3 baterías AA de 1.5 voltios y funcionaron bien, así que pensé que las resistencias no serían necesarias.
Sin embargo, esto no funciona y estoy totalmente perdido. Para referencia, aquí está mi código para el PIC. Está escrito en C usando MikroC. Funciona en el panel de experimentación, así que no creo que sea un problema
void main() {
TRISB.RB0 = 0;
TRISB.RB1 = 0;
TRISB.RB2 = 0;
PORTB.RB0 = 0;
PORTB.RB1 = 0;
PORTB.RB2 = 0;
CMCON = 0x07;
TRISA = 255;
for(;;){
if(PORTA.RA0 == 1 && PORTB.RB0 == 1 && PORTB.RB1 == 1 && PORTB.RB2 == 1){
delay_ms(5000);
PORTB.RB0 = 0;
delay_ms(5000);
PORTB.RB1 = 0;
delay_ms(5000);
PORTB.RB2 = 0;
}
if(PORTA.RA2 == 1){
PORTB.RB0 = 1;
PORTB.RB1 = 1;
PORTB.RB2 = 1;
}
}
}
Cualquier ayuda sería muy apreciada. Gracias!