Har satt sammen en forsøks plate med atmega8 og 10 stk RGB LED.
Tanken er å bruke den til å vise tresifred tallverdi ( simulere analog )
Videoen her kan kalles en kuleramme, der de blå angir enere, rød tiere, grønn hudre.
http://www.youtube.com/watch?v=Sf8OTzWyBzs
Komponentene er loddet på ett ferdig borret print, der det er baner som går over tre hull i slengnen. Resten av forbidelsene tar små ledningsender seg av.
Koden er av den svært enkle sorten
Hver LEDene har felles anode, disse går til hver sin utgang på kretsen ( LED1 til LED 8 går til PORT D0 ti PORT D7, LED 9 og 10 til B0 og B1).
Alle andre ben på ledene er samlet til en felles for hver farge.
Lysstyrken på hver av fargene kan endres fra programmet. ¨
Tanken er å bruke den til å vise tresifred tallverdi ( simulere analog )
Videoen her kan kalles en kuleramme, der de blå angir enere, rød tiere, grønn hudre.
http://www.youtube.com/watch?v=Sf8OTzWyBzs
Komponentene er loddet på ett ferdig borret print, der det er baner som går over tre hull i slengnen. Resten av forbidelsene tar små ledningsender seg av.
Koden er av den svært enkle sorten
Kode
#define F_CPU 16000000 //Klokkefrekvens #include <avr/io.h> #include <util/delay.h> //Header for _delay_ms() #include <math.h> int tell = 0; int tell1 = 0; int tell2 = 0; int tell3 = 0; int tell4 = 0; int lpd[]={1,2,4,8,16,32,64,128,0,0}; int lpb[]={0,0,0,0,0,0,0,0,1,2}; int farge = 0; int fp[]={24,40,48}; int main(){ DDRD = 0xFF; DDRC = 0xFF; //Sett alle pinner på PORT* til utganger DDRB = 0xFF; PORTD = 0xFF; PORTC = 0xFF; PORTB = 0xFF; while(1){ tell1 = 0; while(tell1<10){ tell2 = 0; while(tell2<10){ tell3=0; while(tell3<10){ tell4=0; while(tell4<50){ PORTD = lpd[(tell1)]; PORTC = 40; PORTB = lpb[(tell1)]; _delay_us(30); PORTD = lpd[(tell2)]; PORTC = 24; PORTB = lpb[(tell2)]; _delay_us(4); PORTD = lpd[(tell3)]; PORTC = 48; PORTB = lpb[(tell3)]; _delay_us(1); tell4++; } tell3++; } tell2++; } tell1++; } } }
Alle andre ben på ledene er samlet til en felles for hver farge.
Lysstyrken på hver av fargene kan endres fra programmet. ¨