Soy completamente nuevo en el mundo de los microcontroladores PIC y la ingeniería eléctrica, así que ve con calma :)
De todos modos, logré programar mi PIC 16f627 para encender tres LED cuando se presiona el botón (disparador) y comenzar una secuencia de apagado (básicamente cada LED se apaga uno tras otro con un retraso de 5 segundos en el medio) cuando se presiona otro botón presionado (botón de reinicio). He estado probando esto en una placa de experimentación / programador K8048 PIC de Velleman. Los PIN RA0 y RA2 son las entradas para los botones de activación y reinicio respectivamente, mientras que los pines RB0, RB1 y RB2 son los pines de salida para 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 por dónde empezar. Compré 3 LED (3,3 voltios cada uno), algunos botones y cable y construí el siguiente circuito:
(Perdón por el horrendo esquema)
En el circuito que construí, probé por primera vez para ver si los LED funcionarían con 3 baterías AA de 1.5 voltios y funcionaron bien, así que pensé que los resistencias no serían necesarios.
Sin embargo, esto no funciona y estoy totalmente perdido. Como referencia, aquí está mi código para el PIC. Está escrito en C usando MikroC. Funciona en el tablero 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!