Hembyggd tredubbel 7-segmentsdisplay
Postat: 12 juli 2010, 17:29:34
Detta är ett halvlitet mellanprojekt som legat och grott ett tag och nu slagit rot och visar sin första blomknopp. Tanken är att det skall bli någon form av termometer eller liknande, mest för att motivera mig att bygga och löda ihop 105 lysdioder.
Först en liten bild på skapelsen:

Som ni inte ser men läser just nu är det gemensam anod (GA eller CA på engelska)
Lysdioderna kommer från Electrokit.
Så ett kopplingsschema för testuppkopplingen:

Länk till:Stor bild
Eftersom varje segment består av 5 lysdioder ger det ett spänningsfall på ~11V (5*2,15) så räcker ju inte 5V-matningen och på grund av multiplexingen behöver jag styra både anod och katod. Vad göra??
3 st TC428 fixade jobbet. Inhandlade från http://www.jescab.se. För att styra katoderna använder jag 2N7000.
Eftersom jag var lite osäker på funktionen så kopplade jag upp allt på ett kopplingsdäck:

Än så länge har jag bara testat att allt fungerar och alla lysdioder lyser och TC428 fungerade precis som jag förstod det från databladet.
Som ni ser är koden långt ifrån optimerad på något sätt eftersom funktion är viktigare än optimeringsgrad. För er som inte är så hemma i C så räknar koden upp från 0 till 9 på segment 1 (längst till höger), sedan samma sak med segment 2 (mitten) och till sist 0-9 på segment 3 (längst till vänster). Sedan upprepas detta tills strömmen bryts.
Lite bildbevis på hur den ser ut "in action" kommer när kamerabatteriet och omgivande ljus så tillåter.
Återkommer med uppdateringar allt eftersom.
Funderingar, idéer eller frågor är välkomna.
Först en liten bild på skapelsen:

Som ni inte ser men läser just nu är det gemensam anod (GA eller CA på engelska)
Lysdioderna kommer från Electrokit.
Så ett kopplingsschema för testuppkopplingen:

Länk till:Stor bild
Eftersom varje segment består av 5 lysdioder ger det ett spänningsfall på ~11V (5*2,15) så räcker ju inte 5V-matningen och på grund av multiplexingen behöver jag styra både anod och katod. Vad göra??
3 st TC428 fixade jobbet. Inhandlade från http://www.jescab.se. För att styra katoderna använder jag 2N7000.
Eftersom jag var lite osäker på funktionen så kopplade jag upp allt på ett kopplingsdäck:

Än så länge har jag bara testat att allt fungerar och alla lysdioder lyser och TC428 fungerade precis som jag förstod det från databladet.

Kod: Markera allt
#include <util/delay.h>
#include <avr/io.h>
short int number_codes[10] = {63, 6, 91, 79, 102, 109, 125, 7, 127, 103};
short int ii;
int main(void)
{
DDRD=0xFF;
PORTD=0x00;
DDRB=0x07;
PORTB=0x00;
while(1)
{
PORTB=0x1;
for(ii=0;ii<=9;ii++)
{
PORTD=number_codes[ii];
_delay_ms(250);_delay_ms(250);_delay_ms(250);_delay_ms(250);
}
PORTB=0x2;
for(ii=0;ii<=9;ii++)
{
PORTD=number_codes[ii];
_delay_ms(250);_delay_ms(250);_delay_ms(250);_delay_ms(250);
}
PORTB=0x4;
for(ii=0;ii<=9;ii++)
{
PORTD=number_codes[ii];
_delay_ms(250);_delay_ms(250);_delay_ms(250);_delay_ms(250);
}
}
}
Lite bildbevis på hur den ser ut "in action" kommer när kamerabatteriet och omgivande ljus så tillåter.
Återkommer med uppdateringar allt eftersom.
Funderingar, idéer eller frågor är välkomna.
