Sou completamente novo no mundo dos microcontroladores PIC e da engenharia elétrica, por isso, vá com calma :)
De qualquer forma, consegui programar meu PIC 16f627 para ligar três LEDs quando o botão (botão gatilho) é pressionado e iniciar uma sequência de desligamento (basicamente cada LED desliga um após o outro com um atraso de 5 segundos no meio) quando outro botão é pressionado. pressionado (botão de reset). Tenho testado isso no quadro de programadores / experimentações P80 K8048 da Velleman. Os PINs RA0 e RA2 são as entradas dos botões de acionamento e redefinição, respectivamente, enquanto os pinos RB0, RB1 e RB2 são os pinos de saída dos LEDs.
Trabalhar com o painel de experimentação é ótimo, mas eu quero mudar isso para um circuito real. O problema é que não tenho idéia por onde começar. Comprei 3 LEDs (3,3 Volts cada), alguns botões e fios e construí o seguinte circuito:
(desculpe pelo esquema horrendo)
No circuito que construí, testei pela primeira vez para ver se os LEDs funcionariam com 3 pilhas AA de 1,5 volts e funcionaram bem, então imaginei que resistores não seriam necessários.
Isso não funciona, no entanto, e estou totalmente perdido. Para referência, aqui está o meu código para o PIC. É escrito em C usando MikroC. Funciona no painel de experimentação, então não acho que seja um 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;
}
}
}
Qualquer ajuda seria muito apreciada. Obrigado!