Crea tu propio velocímetro - Parte 2

Esta parte es bien rápida si es que ya has programado en C antes, de lo contrario te haría bien leer este tutorial primero. El programa que ocupo para programar microcontroladores AVR es el MikroC, y el programador que ocupo es el USBtinyISP (es bien popular dentro del mundillo DIY), pero tu eres libre de ocupar el programador que más te acomode.

Entonces lo importante es que elijamos 8 pines para poder controlar nuestros 74ls48. Yo elegí PD6, PB0, PB1 y PB2 para un chip y PA0, PD2, PD3 y PD4 para el otro. Además elegí PB3 para recibir el estado del sensor hall.

Entonces, recapitulando tenemos 2 chips 74ls48, llamaremos a uno 74ls48-1 y a otro 74ls48-2. El wiring es como el que se muestra en la "imagen 2"


Imagen 2: Wiring chip AVR + 74ls48x2 + (display 7 segmentos)x2


El código en MikroC es el siguiente


// PD6 -> va al pin A del 74ls48-1
// PB0 -> va al pin B del 74ls48-1
// PB1 -> va al pin C del 74ls48-1
// PB2 -> va al pin D del 74ls48-1
// PA0 -> va al pin A del 74ls48-2
// PD2 -> va al pin B del 74ls48-2
// PD3 -> va al pin C del 74ls48-2
// PD4 -> va al pin D del 74ls48-2


DDRB.B1=1;     // 1 define el pin como output
DDRB.B2=1;
DDRB.B0=1;
DDRD.B6=1;
DDRD.B2=1;
DDRD.B3=1;
DDRD.B4=1;
DDRA.B0=1;

main{

while(1){

PORTB.B0 = 0
PORTB.B1 = 0
PORTB.B2 = 0
PORTB.D6 = 0

PORTB.A0 = 1
PORTB.D2 = 0
PORTB.D3 = 0
PORTB.D4 = 0


   }
}



Y debería resultar algo como se muestra acá