Val av microprocessor, RGB LED styrning
Re: Val av microprocessor, RGB LED styrning
Att hoppa på någon Java-processor verkar helkorkat i detta fall...
Re: Val av microprocessor, RGB LED styrning
Verkar lite helkorkat att ge sig på ett sånt här projekt också
och kanske korkat i så fall att börja med Java som språk om man
nu tänkt sig ett sånt här projekt?
Vill du hålla på med elektronik liknande ett sånt här projekt går du
väl en assemblerkurs/mikrodatorkurs först?
Jag ville köra lastbil och tog ett motorcykelkörkort.
och kanske korkat i så fall att börja med Java som språk om man
nu tänkt sig ett sånt här projekt?
Vill du hålla på med elektronik liknande ett sånt här projekt går du
väl en assemblerkurs/mikrodatorkurs först?
Jag ville köra lastbil och tog ett motorcykelkörkort.
Re: Val av microprocessor, RGB LED styrning
Det finns inget som helst som säger att Java utbildningen/kursen
hade något alls med detta att göra. När det gäller just Java så
är det sannolikt ingen större hjälp, men än de delar som rör
"programmering" rent generellt, utöver de Java specifika delarna.
hade något alls med detta att göra. När det gäller just Java så
är det sannolikt ingen större hjälp, men än de delar som rör
"programmering" rent generellt, utöver de Java specifika delarna.
Re: Val av microprocessor, RGB LED styrning
Hur som helst så stämmer inte meningen "men jag insåg snabbt att de inte styrs av java språk".
- Därför måste jag lära mig nytt språk.
Uppenbarligen fel om det nu avses att det inte finns processorer som går att programmera i Java.
LED styrs inte av ett språk heller.
Det blir väldigt svårt att hålla på med mer avancerade saker om man inte har grundläggande
koll på termer och liknande.
Min kompis har nyss bytt bil, hon köpte en Opel Mustang.
- Därför måste jag lära mig nytt språk.
Uppenbarligen fel om det nu avses att det inte finns processorer som går att programmera i Java.
LED styrs inte av ett språk heller.
Det blir väldigt svårt att hålla på med mer avancerade saker om man inte har grundläggande
koll på termer och liknande.
Min kompis har nyss bytt bil, hon köpte en Opel Mustang.
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Ok, visst detta kanske är ett projekt som är lite stort om man inte har gjort något liknande.
Men om man kollar på vad de andra har skrivit så har inte de låtit så överdrivet skeptiska.
Och skulle jag inte lära mig programmera detta fulländat inom den "utsatta" tiden, så länge det praktiska bitarna fungerar, så kan jag alltid
lägga ner mer tid eller utveckla detta mer efter projektets gång.
Har ni något vettigt förslag på vad man skulle kunna använda:
För att dimma alla led:sen samtidigt (inte var för sig), om man har en/ flera microprocessorer som styr dem på/ av individuellt?
Kan man ha någon typ av elektronisk dimmer som aktiveras av microprocessorn?
Men om man kollar på vad de andra har skrivit så har inte de låtit så överdrivet skeptiska.
Och skulle jag inte lära mig programmera detta fulländat inom den "utsatta" tiden, så länge det praktiska bitarna fungerar, så kan jag alltid
lägga ner mer tid eller utveckla detta mer efter projektets gång.
Har ni något vettigt förslag på vad man skulle kunna använda:
För att dimma alla led:sen samtidigt (inte var för sig), om man har en/ flera microprocessorer som styr dem på/ av individuellt?
Kan man ha någon typ av elektronisk dimmer som aktiveras av microprocessorn?
- jonnorberg
- Inlägg: 850
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
Re: Val av microprocessor, RGB LED styrning
Här har vi ju lite vilja och ett mål. Börja med att programmera 4x4 leds i en färg. Gå sedan över till RGB. Sedan skalar du upp ditt projektet. Då vet man vad man kommer att råka ut för problem när man sedan skall göra något större. Du kanske inte lyckas med 400 rgb leds med en massiv uppdateringsfrekvens. Men du kanske lyckas med att komma en bit. Sedan är det viljan som tar dig längre.
Jag som inte är någon programmeringsexpert på något vis överlämnar miljö/processor ideér till er andra. Men jag tycker att man ska labba fram sina vägar och tankar. Sedan finns det ju alltid smartare bättre sätt att lösa saker på. Men det tar du i nästa projekt.
Börja smått och förstå allt, istället för att slå med storsläggan på en gång.
Jag som inte är någon programmeringsexpert på något vis överlämnar miljö/processor ideér till er andra. Men jag tycker att man ska labba fram sina vägar och tankar. Sedan finns det ju alltid smartare bättre sätt att lösa saker på. Men det tar du i nästa projekt.
Börja smått och förstå allt, istället för att slå med storsläggan på en gång.
Re: Val av microprocessor, RGB LED styrning
En LED kan du styra/dimmra direkt från en utgång på µprocessorn, när det blir fler LEDs behöver du någon form av transistor för att kunna styra den högre strömmen som då går åt.
AVR atmega168 som tidigare föreslagits är bra, billig, gott om minne (dvs inga problem att programmera i C med flyttal och avancerade mattefunktioner om man vill det).
För att programmera den behövs exempelvis en sådan här 73-680-04
Mjukvarumiljön avr studio + c- kompilator är gratis.
AVR atmega168 som tidigare föreslagits är bra, billig, gott om minne (dvs inga problem att programmera i C med flyttal och avancerade mattefunktioner om man vill det).
För att programmera den behövs exempelvis en sådan här 73-680-04
Mjukvarumiljön avr studio + c- kompilator är gratis.
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Något jag skulle kunna tänka mig (i det stora projektet) är att individuellstyra dem så att de är i grupper om 4.
Vilket skulle resultera i 1/4 av antalet leds. (200*3)/4=150 individuellstyrning i on/off. Samt en gemensam dimmning.
Detta låter mycket lättare än 600 individuellstyrda, och individuelldimmade.
Hur många pinnar måste en processor ha för att klara detta?
Det skulle ju resultera i rader ca 12x12 eller 12x13. Om man tänker sig en kvadrat.
Vilket borde vara ca 26 pinnar? Detta borde ju gå att minska med komplitering eller vad det heter.
Någon synpunkt på detta? idéer eller förslag?
Går det och hur svårt är det att dimmra en grupp av 4 leds direkt från processorn?
Vilket skulle resultera i 1/4 av antalet leds. (200*3)/4=150 individuellstyrning i on/off. Samt en gemensam dimmning.
Detta låter mycket lättare än 600 individuellstyrda, och individuelldimmade.
Hur många pinnar måste en processor ha för att klara detta?
Det skulle ju resultera i rader ca 12x12 eller 12x13. Om man tänker sig en kvadrat.
Vilket borde vara ca 26 pinnar? Detta borde ju gå att minska med komplitering eller vad det heter.
Någon synpunkt på detta? idéer eller förslag?
Går det och hur svårt är det att dimmra en grupp av 4 leds direkt från processorn?
Re: Val av microprocessor, RGB LED styrning
Nu hänger jag inte med hur du räknar, men 200 LED till att börja med är ett ojämnt tal om vi pratar om en rektangel. Om vi istället säger 196 st RGB-LED så blir det 14 x 14 st. Om man kopplar ihop dem fyra och fyra så blir det 7 rader gånger 7 kolumner. Varje kolumn har tre färger, så det blir egentligen en matris på 7 x 21.
Detta blir 28 pinnar, om du ska styra dem direkt (via transistorer) från processorn.
Sen ska du ha pinnar för knapparna + en pinne för pwm.
Men det bör gå lika bra att köra seriell data ut, och då behöver du två utgångar för rad ( en klocka och en reset) samt tre utgångar för kolumn - data, klocka och en "latch", om du använder t.ex 3 st 74HC595 shift register (24 bitar).
Jag tror inte på att en javaprocessor skulle vara enklare för dig att börja med. Problemet kommer inte tt vara språket C (det är ju hemskt likt java, fast man får glömma klassbegreppet) , problemet är att du måste lära dig den processor du tänker använda. Om du bestämmer dig för en typ av processor som är enkel att lära sig (t.ex. 8 bitars AVR eller PIC) så föreslår jag att du gör något väldigt enkelt med en av de enklaste processorerna i den familjen - lyckas du med det har du kommit långt. Du har lärt dig mycket om:
1) processorns arbetssätt och grundläggande funktioner
2) programmeringsmiljön / kompilatorn, och språket C
3) skaffat hårdvara (en programmerare) som bör fungera även för det större projektet sedan.
4) provat att göra ett litet kretskort med en processor på (med allt som måste ingå: spänningsregulator, resetkrets, anslutning av ingång till en knapp, anslutning av utgång till en enkel lysdiod, anslutningskontakt till programmeraren)
Om du ändå ska göra ett "mini-experiment-kort" för mikroprocessor så kan du ju också prova att lägga in en RGB-led och försöka styra den. Det krävs transistorer med mera för att få det att fungera (om strömmen är högre än 20 mA)
Men jag håller med om att ditt projekt är ganska stort. Det kan bli svårt att klara på 100 timmar.
Detta blir 28 pinnar, om du ska styra dem direkt (via transistorer) från processorn.
Sen ska du ha pinnar för knapparna + en pinne för pwm.
Men det bör gå lika bra att köra seriell data ut, och då behöver du två utgångar för rad ( en klocka och en reset) samt tre utgångar för kolumn - data, klocka och en "latch", om du använder t.ex 3 st 74HC595 shift register (24 bitar).
Jag tror inte på att en javaprocessor skulle vara enklare för dig att börja med. Problemet kommer inte tt vara språket C (det är ju hemskt likt java, fast man får glömma klassbegreppet) , problemet är att du måste lära dig den processor du tänker använda. Om du bestämmer dig för en typ av processor som är enkel att lära sig (t.ex. 8 bitars AVR eller PIC) så föreslår jag att du gör något väldigt enkelt med en av de enklaste processorerna i den familjen - lyckas du med det har du kommit långt. Du har lärt dig mycket om:
1) processorns arbetssätt och grundläggande funktioner
2) programmeringsmiljön / kompilatorn, och språket C
3) skaffat hårdvara (en programmerare) som bör fungera även för det större projektet sedan.
4) provat att göra ett litet kretskort med en processor på (med allt som måste ingå: spänningsregulator, resetkrets, anslutning av ingång till en knapp, anslutning av utgång till en enkel lysdiod, anslutningskontakt till programmeraren)
Om du ändå ska göra ett "mini-experiment-kort" för mikroprocessor så kan du ju också prova att lägga in en RGB-led och försöka styra den. Det krävs transistorer med mera för att få det att fungera (om strömmen är högre än 20 mA)
Men jag håller med om att ditt projekt är ganska stort. Det kan bli svårt att klara på 100 timmar.
-
- Inlägg: 144
- Blev medlem: 8 september 2010, 14:26:12
Re: Val av microprocessor, RGB LED styrning
Borde det inte gå om jag skulle fixa ett kopplingsschema och sedan bygga ihop det hela.
Och sedan lära mig så mycket programmering som möjligt, på den resterande tiden?
För att sedan använda extra tid, antingen parallellt med projektet eller efter, för att lära mig mer och programmera resten?
Eftersom jag inte har jobbat med något liknande som microprocessorer tidigare så vet jag inte så mycket om dem.
Men vad är det man måste veta om dem för att kunna programmera dem?
Om man skulle jämföra med java, är det inte bara att man måste veta hur man ska bygga programmen och sedan några "enkla" kommandon för att öppna och stänga en strömkrets?
Eller måste man veta hur den är konstruerad och uppbyggd och sådant?
Och sedan lära mig så mycket programmering som möjligt, på den resterande tiden?
För att sedan använda extra tid, antingen parallellt med projektet eller efter, för att lära mig mer och programmera resten?
Eftersom jag inte har jobbat med något liknande som microprocessorer tidigare så vet jag inte så mycket om dem.
Men vad är det man måste veta om dem för att kunna programmera dem?
Om man skulle jämföra med java, är det inte bara att man måste veta hur man ska bygga programmen och sedan några "enkla" kommandon för att öppna och stänga en strömkrets?
Eller måste man veta hur den är konstruerad och uppbyggd och sådant?
Re: Val av microprocessor, RGB LED styrning
Det är inte så himla mycket man behöver veta, men de har ju speciella funktioner inbyggda i hårdvaran såsom timers som används vid PWM (dvs funktion lämplig för dimmning av ex. LEDs) samt hur interrupt fungerar. Supersvårt? Näe.
Ladda ner en pdf om atmega168 och läs lite om vad den kan.
Ladda ner en pdf om atmega168 och läs lite om vad den kan.
Re: Val av microprocessor, RGB LED styrning
Jovisst. På så vis kommer du garanterat att hinna med att bli "klar" med din uppgift: om du inte hinner programmera häftiga mönster etc. så kan du i alla fall programmera en enkel dimning... sätt igång!
Lite konkreta tips:
själv hade jag köpt den AVRISP programmerare som jag länkade till ovan - sen hade jag installerat WinAVR och Avrstudio4 (utvecklingsmiljö och kompilator för C specialanpassat för AVR-processorer). Sen hade jag laddat ner Kicad (kretskorts-design-program) och börjat rita på ett kretskort. (det tar lite tid att lära sig cadd-programmet, men det är det värt! Det finns bra guider på nätet)
Och så frågan då - val av processor. Eftersom jag valde en AVR-programmerare ovan får jag hålla mig till en AVR-processor.
kanske Atmega644P eller Atmega1284P borde duga? De har 64/128kbyte flashminne och 4/16 kbyte SRAM. Borde räcka till det mesta. 40 pinnars DIP (hålmonterad) eller 44-pinnars TQFP (ytmonterad med 0.8 mm mellan pinnarna) är kapslar som fungerar.
Kristall på 19.66080 MHz och 5 volt matningsspänning för högsta hastighet, samtidigt anpassad för RS232 (UART) vilket jag tycker du bör ha en anslutning för.
Lite konkreta tips:
själv hade jag köpt den AVRISP programmerare som jag länkade till ovan - sen hade jag installerat WinAVR och Avrstudio4 (utvecklingsmiljö och kompilator för C specialanpassat för AVR-processorer). Sen hade jag laddat ner Kicad (kretskorts-design-program) och börjat rita på ett kretskort. (det tar lite tid att lära sig cadd-programmet, men det är det värt! Det finns bra guider på nätet)
Och så frågan då - val av processor. Eftersom jag valde en AVR-programmerare ovan får jag hålla mig till en AVR-processor.
kanske Atmega644P eller Atmega1284P borde duga? De har 64/128kbyte flashminne och 4/16 kbyte SRAM. Borde räcka till det mesta. 40 pinnars DIP (hålmonterad) eller 44-pinnars TQFP (ytmonterad med 0.8 mm mellan pinnarna) är kapslar som fungerar.
Kristall på 19.66080 MHz och 5 volt matningsspänning för högsta hastighet, samtidigt anpassad för RS232 (UART) vilket jag tycker du bör ha en anslutning för.
Låna gärna boken Mikroprocessorteknik av Per Foyer- den beskriver generellt hur en AVR-processor fungerar, samt om assemberprogrammering.Boken är inriktad på hur programmering av mikroprocessorer går till på låg nivå. Denna typ av programmering utförs vanligen i assembler och kräver grundläggande kunskap om hårdvaran. Därför ges en introduktion i datorteknik i början av boken, bland annat beskrivs von Neumann-arkitekturen och för datorn elementära komponenter såsom CPU och minne.
Re: Val av microprocessor, RGB LED styrning
> Men vad är det man måste veta om dem för att kunna programmera dem?
Du bör kunna läsa (och förstå!) det aktuella databladet.
T.ex för den Atmega168 som nämndes tidigare i tråden:
http://www.atmel.com/dyn/products/produ ... Tmega168PA
Eller motsvarande för Atmega1284P som också har nämnts :
http://www.atmel.com/dyn/products/produ ... rt_id=4331
Kolla igenom databladet och se sen om du tycker att allt är solklart eller om det är hokuspokus.
"AVR Instruction Set" kan vara bra att ha som referens, men inget du kanske behöver streckläsa.
"AVR and AVR32 - Quick Reference Guide" ser också ut att ha bra info.
Båda finns på sidorna ovan.
Det är ju komplett omöjligt för någon av *oss* att veta hur lätt eller svårt *du* har för detta !
Att bygga med mikrokontrollers är en mindre del programmering (det brukar de flesta
fixa) och en större del elektronik/systemtänkade o.s.v. Du kan säkert i stort strukturera
upp ett typiskt "program" utifrån din Java kurs, men det är inte det som är grejen...
Beroende på hur generellt programmeringkunning du är (eller om du är helt "insnöad" på Java)
så kan din Java bagrund antingen vara till hjälp eller ett hinder.
> Eller måste man veta hur den är konstruerad och uppbyggd och sådant?
Generellt sätt, ja. Sen finns det grader av allt...
Du bör kunna läsa (och förstå!) det aktuella databladet.
T.ex för den Atmega168 som nämndes tidigare i tråden:
http://www.atmel.com/dyn/products/produ ... Tmega168PA
Eller motsvarande för Atmega1284P som också har nämnts :
http://www.atmel.com/dyn/products/produ ... rt_id=4331
Kolla igenom databladet och se sen om du tycker att allt är solklart eller om det är hokuspokus.
"AVR Instruction Set" kan vara bra att ha som referens, men inget du kanske behöver streckläsa.
"AVR and AVR32 - Quick Reference Guide" ser också ut att ha bra info.
Båda finns på sidorna ovan.
Det är ju komplett omöjligt för någon av *oss* att veta hur lätt eller svårt *du* har för detta !
Att bygga med mikrokontrollers är en mindre del programmering (det brukar de flesta
fixa) och en större del elektronik/systemtänkade o.s.v. Du kan säkert i stort strukturera
upp ett typiskt "program" utifrån din Java kurs, men det är inte det som är grejen...
Beroende på hur generellt programmeringkunning du är (eller om du är helt "insnöad" på Java)
så kan din Java bagrund antingen vara till hjälp eller ett hinder.
> Eller måste man veta hur den är konstruerad och uppbyggd och sådant?
Generellt sätt, ja. Sen finns det grader av allt...
Re: Val av microprocessor, RGB LED styrning
Java brukar ju ha färdiga klasser för allting, t.ex. I/O osv... men i C för mikrocontrollers är det oftast på en något lägre nivå.Om man skulle jämföra med java, är det inte bara att man måste veta hur man ska bygga programmen och sedan några "enkla" kommandon för att öppna och stänga en strömkrets?
Eller måste man veta hur den är konstruerad och uppbyggd och sådant?
Man importerar ett bibliotek just för den processor man vill jobba med - där definieras sedan ett antal MACRON som man använder sig av. Ett macro är egentligen bara en definition av en textsträng som fått ett namn, exempel:
Kod: Markera allt
#define ADRESS 512 // definition av ett macro
...
A = ADRESS*2; // A får här värdet 1024
Kod: Markera allt
PORTB = 55 // siffran 55 läggs ut som 8 bitars binärkod direkt på utgången, dvs 01010101
Kod: Markera allt
value = PINA; // läs in data från Port A och lägg i variabeln "value"
Jag skulle vilja säga att det inte är solklart att läsa igenom det 581 sidor tjocka databladet för Atmega1284P. För att fatta vad det handlar om så behöver du nån slags nybörjarvägledning - i form av tutorial på nätet eller i bokform etc.. Det blir alldeles för svårt annars.
Pinnarna på Atmega164,324,644 och 1284
Hittade även ett internt schema över en ATmega32. Här kan du se vad som brukar finnas i en processor: (de skiljer sig inte mycket åt, så du hittar det mesta även i de andra AVR:erna)

Re: Val av microprocessor, RGB LED styrning
> Jag skulle vilja säga att det inte är solklart att läsa igenom det 581 sidor tjocka databladet för Atmega1284P.
Jag vill säga att det vet vi inte. Det beror helt på bakgrunden. Men visst,
i det aktuella fallet så kan man gissa att det uppstår en del frågetecken.
Men det definitiva svaret på det kan nog bara en här ge...
Jag vill säga att det vet vi inte. Det beror helt på bakgrunden. Men visst,
i det aktuella fallet så kan man gissa att det uppstår en del frågetecken.
Men det definitiva svaret på det kan nog bara en här ge...
