Val av microprocessor, RGB LED styrning
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Nu har jag fixat en enkel film.
Kvaliteten är inte 100 då kameran gör lite som den vill (som skakningar och lustiga ljusjusteringar. Men man ska i alla fall kunna se vad de föreställer.
Här är den: http://www.youtube.com/watch?v=yrNqQHxjUQI
Kvaliteten är inte 100 då kameran gör lite som den vill (som skakningar och lustiga ljusjusteringar. Men man ska i alla fall kunna se vad de föreställer.
Här är den: http://www.youtube.com/watch?v=yrNqQHxjUQI
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Har nu lött dit knapparna. Dock bara med 2 av deras 4 pinnar, men det borde fungera, då de har två pinnar av varje sort.
Tänkte skriva lite kod och testa om det fungerar, men vet inte riktigt hur jag ska initiera.
Har studerat lite och kommit fram till att knapparna ligger på PB3, PB4 och PB5.
Vad är en lämplig initiering för knappar?
Ber om ursäkt att jag glömt bort detta sedan tidigare...
Kom på en sak.
Behöver man initiera dem? om man inte vill ge dem namn?
Ska testa att döpa PB till KNAPPAR och testa.
Det borde kunna fungera?
och använda
För att läsa av.
Tänkte skriva lite kod och testa om det fungerar, men vet inte riktigt hur jag ska initiera.
Har studerat lite och kommit fram till att knapparna ligger på PB3, PB4 och PB5.
Vad är en lämplig initiering för knappar?
Ber om ursäkt att jag glömt bort detta sedan tidigare...
Kom på en sak.
Behöver man initiera dem? om man inte vill ge dem namn?
Ska testa att döpa PB till KNAPPAR och testa.
Det borde kunna fungera?
och använda
Kod: Markera allt
if ((PINA & (1<<PA3)) == 0) { ... //knapp vid PORTA.3 nedtryckt ... }
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
... Det fungerar inte....
Inga erors, men det som if-satserna gör körs utan knapptryck...
Testade även med att sätta == 1 i stället, men då lyser de inte varken med eller utan knapptryck...
Måste man löda alla fyra benen på knapparna?
Eller är koden fel?
Tillägg:
Har testat diverse olika nu, samt letat runt på internet.
Men ingen tyck fungera.
Nu har jag:
#defina KNAPPAR PORTB
DDRB = 0b00000000; //Blir dess ingångar eller utgångar?? Jag tycker de borde vara in gångar.
+deverse versioner av if-satser...
Inga erors, men det som if-satserna gör körs utan knapptryck...
Kod: Markera allt
if ((PINA & (1<<PA3)) == 0) { ... //knapp vid PORTA.3 nedtryckt ... }
Måste man löda alla fyra benen på knapparna?
Eller är koden fel?
Tillägg:
Har testat diverse olika nu, samt letat runt på internet.
Men ingen tyck fungera.
Nu har jag:
#defina KNAPPAR PORTB
DDRB = 0b00000000; //Blir dess ingångar eller utgångar?? Jag tycker de borde vara in gångar.
+deverse versioner av if-satser...
Re: Val av microprocessor, RGB LED styrning
"det som if-satserna gör körs utan knapptryck..." beror på att du inte har någon spänning på ingången. Det är alltid 0 volt oberoende om du trycker på knappen eller inte. Du behöver ha ett motstånd till +5V. Det kan fixas med intern pull-up.
Knapparna måste initieras på så vis att du måste dels kolla att pinnarna är programmerade som ingångar, dels se till att det finns interna pull-upp på dessa pinnar eftersom dina knappar inte har extern pull-up.
Eftersom din PORTB antagligen används till annat än bara knappar så ver jag ju inte exakt vilka pinnar som ska vara in och utgångar, men i början av main har du säkert en rad där det står t.ex. DDRB = xxxx; Kolla att bitarna 3,4 och 5 är nollor (= ingångar). t.ex ska det stå DDRB = 0bxx000xxx; där x = 0 eller 1 beroende på vad dessa pinnar ska vara.
För att aktivera intern pull-upp måste PORTB bitar 3,4 och5 sättas till etta. Det görs i början av main med PORTB |= 0b00111000; // sätt bit 3,4,5.
Vad som komme att hända nu är att när du håller ner en knapp t.ex. 1 sekund, så utförs koden i if-satsen varje gång du kommer till if-satsen. Jag vet inte hur ofta det är, men är det 100ggr/sekund kommer det att utföras 100 gånger och är det en gång varannan sekund så kanske den missar att du tryckt ner knappen. Lösningen är att du måste kolla först om knappen varit icke-nedtryckt förra gången du kom till if-satsen! Om det stämmer kan du kolla om knappen denna gången är nedtryckt. DÅ utförs uppgiften. Sedan kan kanppen vara intryckt hur länge som helst utan att programmet reagerar. Först när den släppts upp och tryckts ner igen ska den reagera igen.
Nu ska jag kolla filmen!
Knapparna måste initieras på så vis att du måste dels kolla att pinnarna är programmerade som ingångar, dels se till att det finns interna pull-upp på dessa pinnar eftersom dina knappar inte har extern pull-up.
Eftersom din PORTB antagligen används till annat än bara knappar så ver jag ju inte exakt vilka pinnar som ska vara in och utgångar, men i början av main har du säkert en rad där det står t.ex. DDRB = xxxx; Kolla att bitarna 3,4 och 5 är nollor (= ingångar). t.ex ska det stå DDRB = 0bxx000xxx; där x = 0 eller 1 beroende på vad dessa pinnar ska vara.
För att aktivera intern pull-upp måste PORTB bitar 3,4 och5 sättas till etta. Det görs i början av main med PORTB |= 0b00111000; // sätt bit 3,4,5.
Vad som komme att hända nu är att när du håller ner en knapp t.ex. 1 sekund, så utförs koden i if-satsen varje gång du kommer till if-satsen. Jag vet inte hur ofta det är, men är det 100ggr/sekund kommer det att utföras 100 gånger och är det en gång varannan sekund så kanske den missar att du tryckt ner knappen. Lösningen är att du måste kolla först om knappen varit icke-nedtryckt förra gången du kom till if-satsen! Om det stämmer kan du kolla om knappen denna gången är nedtryckt. DÅ utförs uppgiften. Sedan kan kanppen vara intryckt hur länge som helst utan att programmet reagerar. Först när den släppts upp och tryckts ner igen ska den reagera igen.
Nu ska jag kolla filmen!

Re: Val av microprocessor, RGB LED styrning
(kollat filmen nu)
Måste säga att det blev riktigt snyggt. Jag trodde faktiskt inte det skulle bli så bra med så få pixlar (6x8)... kul.
Du har väl sett Craft av Linus Åkesson? Gjord med en AVR ATmega... med assembler. Även musiken görs med samma processor.
Måste säga att det blev riktigt snyggt. Jag trodde faktiskt inte det skulle bli så bra med så få pixlar (6x8)... kul.
Du har väl sett Craft av Linus Åkesson? Gjord med en AVR ATmega... med assembler. Även musiken görs med samma processor.
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Det där var häftigt 
Är det inte tidskrävande att göra så komplicerade mönster?
Har dock inte lyckats med mina knappar, trots din fina hjälp som borde få det att fungera....
Kan du ge något tips, eller möjligen skriva en kort kod snutt med det jag behöver för knapparna?

Är det inte tidskrävande att göra så komplicerade mönster?
Har dock inte lyckats med mina knappar, trots din fina hjälp som borde få det att fungera....
Kan du ge något tips, eller möjligen skriva en kort kod snutt med det jag behöver för knapparna?
Re: Val av microprocessor, RGB LED styrning
Beskriv först vad du har gjort med knapparna.
Vad det är för knappar och hur det är kopplat/kodat.
Vad det är för knappar och hur det är kopplat/kodat.
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
De är kopplade enligt schemat på förra sidan. (Mellan tidigare nämnda pinnar och spänningskälla (från det runtom varande kopparn)).
Det är ytmonterade knappar med en knapp i mitten, som fjädrar upp när man släpper den.
Nu när jag testar så kör jag knappavläsningen i en while(1) sats i main, för att få det att fungera. Det borde inte vara beroende av någon annan kodning.
Det är ytmonterade knappar med en knapp i mitten, som fjädrar upp när man släpper den.
Nu när jag testar så kör jag knappavläsningen i en while(1) sats i main, för att få det att fungera. Det borde inte vara beroende av någon annan kodning.
Re: Val av microprocessor, RGB LED styrning
Sodjan: enligt ett tidigare postat schema är knapparna anslutna direkt till PB3,4 och 5 och GND. Inga mostånd till VCC..
Däremot ska det ju vara PINB och inte PINA eftersom dina knappar sitter på PORTB
Jag skulle då aldrig lyckas göra något sådant.... Jag fattar inte alls hur han har lyckats med en så liten processor. Det har säkert tagit massor av tid att göra !dragon9226 skrev:Det där var häftigt
Är det inte tidskrävande att göra så komplicerade mönster?
==1 kan inte vara rätt i alla fall. (PINA & (1<<PA3)) kan bara anta två värden: antingen 0 eller 8. Men == 0 SKA fungera.Inga erors, men det som if-satserna gör körs utan knapptryck...Testade även med att sätta == 1 i stället, men då lyser de inte varken med eller utan knapptryck...Kod: Markera allt
if ((PINA & (1<<PA3)) == 0) { ... //knapp vid PORTA.3 nedtryckt ... }
Däremot ska det ju vara PINB och inte PINA eftersom dina knappar sitter på PORTB
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Sorry, kopierade den från tidigare, då jag inte ändrat den..
Däremot ska det ju vara PINB och inte PINA eftersom dina knappar sitter på PORTB
Re: Val av microprocessor, RGB LED styrning
Vilket "schema" ? Jag hittar bara en PDF med mönsterkortslayut (Swp139 rev0.pdf [73.2 KiB]).
Och där ser det mycket märkligt ut. Är det ett dubbelsidigt kort ? Hur som helst,
något schema kan jag inte hitta.
> enligt ett tidigare postat schema är knapparna anslutna direkt till PB3,4 och 5 och GND. Inga mostånd till VCC..
Jag kan som sagt enbart hitta en mönsterkortslayout.
Och där ser knapparna inte ut att vara kopplade någonstans alls.
Om det inte finns något jordplan som inte syns...
OK, hittade ett schema på sidan "13 av 20" (knappast "förra sidan").
Där är knapparna kopplade till jord, men det ser inte ut så på mönsterkortet.
Och där ser det mycket märkligt ut. Är det ett dubbelsidigt kort ? Hur som helst,
något schema kan jag inte hitta.
> enligt ett tidigare postat schema är knapparna anslutna direkt till PB3,4 och 5 och GND. Inga mostånd till VCC..
Jag kan som sagt enbart hitta en mönsterkortslayout.
Och där ser knapparna inte ut att vara kopplade någonstans alls.
Om det inte finns något jordplan som inte syns...
OK, hittade ett schema på sidan "13 av 20" (knappast "förra sidan").
Där är knapparna kopplade till jord, men det ser inte ut så på mönsterkortet.
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Beklagar namnfelet. Menade mönsterkortet.
Kortet är som du säger dubbelsidigt.
Kortet är som du säger dubbelsidigt.
Re: Val av microprocessor, RGB LED styrning
OK. Men av mönsterkortet framgår det inte hur det är kopplat.
Man kanske att de små dottarna bredvid knapparna är genomföringar
till ett jordplan. Hur som helst, det finns inga externa pullups så då måste
du ha något internt i processorn. Lite upprepning av vad Jesse skrev...
Man kanske att de små dottarna bredvid knapparna är genomföringar
till ett jordplan. Hur som helst, det finns inga externa pullups så då måste
du ha något internt i processorn. Lite upprepning av vad Jesse skrev...

-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Ok, då har vi kommit fram till det.
Men Mitt problem nu är att jag har försökt att skriva så som Jesse skrev, men inte fått fram något resultat....
Men Mitt problem nu är att jag har försökt att skriva så som Jesse skrev, men inte fått fram något resultat....
Re: Val av microprocessor, RGB LED styrning
Och vårat problem är att vi inte vet (säkert) hur du faktiskt skrev... 
Bara hur du *säger* att du skrev, vilket sannolikt inte stämmer
eftersom det inte fungerar...

Bara hur du *säger* att du skrev, vilket sannolikt inte stämmer
eftersom det inte fungerar...