Arduino eller "naken" AVR med allt vad det innebär?
Re: Arduino eller "naken" AVR med allt vad det innebär?
Absolut, det går att använda flyttal. Jag brukar inte vara så försiktig med det. Just nu jobbar jag med en applikation där jag läser in ett analogvärde från en ADC (ej inbyggda ADC:n), filtrerar det med ett floating-mean-filter ställbart upp till 100 punkter sedan matar det genom en PID-regulator och så ut på en DAC. Och det är inget problem att få upp den i över 1kHz utan att jag optimerat något speciellt, och det är med float:ar. Det är på en Mega328.
Sedan kanske ni sett projektet där en kille bootar upp linux på en 8-bitars AVR? Det tar några timmar, men det funkar.
Sedan kanske ni sett projektet där en kille bootar upp linux på en 8-bitars AVR? Det tar några timmar, men det funkar.
Re: Arduino eller "naken" AVR med allt vad det innebär?
Problembeskrivning är en konst i sig. Och många gånger räcker det att beskriva den tänkta funktionaliteten för någon så kommer man på lösningen (ibland använder jag mina snart 80-åriga föräldrar...).
Programering är ju ofta inte bara själva kodningen, utan inkluderar oftast allt från problembeskrivning till testning av funktionen.
Kör inte så det ryker för mycket!!
Programering är ju ofta inte bara själva kodningen, utan inkluderar oftast allt från problembeskrivning till testning av funktionen.
Kör inte så det ryker för mycket!!
- ghost_rider
- Inlägg: 2211
- Blev medlem: 26 maj 2008, 21:48:15
- Ort: Genarp
Re: Arduino eller "naken" AVR med allt vad det innebär?
Jag gör precis det du vill göra.
Har en ren atmega168tqft (inga omkringliggande komponeter behövs) den programmeras mha en avrisp mkII via arduinomiljön i deras kod. Inga problem när man väl har fått rätsida på drivrutinerna :/
Har en ren atmega168tqft (inga omkringliggande komponeter behövs) den programmeras mha en avrisp mkII via arduinomiljön i deras kod. Inga problem när man väl har fått rätsida på drivrutinerna :/
Re: Arduino eller "naken" AVR med allt vad det innebär?
Jag har än inte förstått detta med Arduino, det ska vara så enkelt. Vad är det som är så svårt med atmels egna saker? Har länge använt AVR ISP MKII och AVR Studio vilket fungerar hur bra som helst. Köpte JTAGICE3 så att jag kan använda mig av 32-bit mcu också. Allt i ett.
- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Re: Arduino eller "naken" AVR med allt vad det innebär?
En stor poäng tycker jag är de färdiga biblioteken. Skriv eller leta upp en bra PWM-rutin för C, eller skriv "analogWrite(pin, value)? Läsa av en 1-wire tempsensor? Öppna det färdiga exemplet i IDE:t, klipp och klistra till din egen kod. Styra ett servo? Inkludera servo-biblioteket, ange vilken pinne servot sitter på och styr det med servo.write(position). Debugga via serieport? Skriv Serial.begin(bps) i Setup och använd serial.print och serial.read för att skriva och läsa.
Re: Arduino eller "naken" AVR med allt vad det innebär?
Javisst, men har man en gång byggt det själv så har man den färdig och vet hur det fungerar. Det är väl detta som är problemet, klippa och klistra kan alla men ingen fattar vad de egentligen gör. Ett perfekt tillfälle att lära sig hårdvara och mjukvara är att just göra det själv.
Re: Arduino eller "naken" AVR med allt vad det innebär?
Om du vill kan du "smyga över" från Arduino genom att börja med att köra dina Arduino-program i AVR-studio 6 istället för i Arduino IDE. Då kan du bekanta dig med AVR-studio utan att du behöver ta hela steget på en gång. Här är en länk som visar hur man gör: http://www.engblaze.com/tutorial-using- ... -projects/
Ett annat tips är att gå en distanskurs. Jag kan varmt rekommendera denna: http://www.umu.se/utbildning/program-ku ... ode=5EL137 En intressant kurs med en super-engagerad lärare.
Ett annat tips är att gå en distanskurs. Jag kan varmt rekommendera denna: http://www.umu.se/utbildning/program-ku ... ode=5EL137 En intressant kurs med en super-engagerad lärare.
- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Re: Arduino eller "naken" AVR med allt vad det innebär?
Jo men det är lite skillnad på vad man vill lära sig. Givetvis är ren AVR bättre om man vill skapa optimerade system och veta allt om hur de olika registren fungerar med mera. Men ibland vill man bara ha värdet från en sensor på en LCD med enklast möjliga medel, och då är Arduino bra. Man måste ju inte känna till hur motorn fungerar i detalj för att ta sig från A till B med bilen typ. Ibland är resan målet, ibland är det viktigast att komma fort fram.Adis skrev:Javisst, men har man en gång byggt det själv så har man den färdig och vet hur det fungerar. Det är väl detta som är problemet, klippa och klistra kan alla men ingen fattar vad de egentligen gör. Ett perfekt tillfälle att lära sig hårdvara och mjukvara är att just göra det själv.
Re: Arduino eller "naken" AVR med allt vad det innebär?
Det här blir väl den 10'e tråden i ordningen som för Arduino för/emot på tal.
Snart är det dags för den "stora Arduino tråden" som vi kan hänvisa till varje gång det dyker upp.
Lite fakta i kombination till min syn på saken.
Arduino hårdvara
Arduino hårdvara är för dom flesta designerna en helt vanlig referensdesign för hur man pillar dit en ATMEL propp.
Ofta är designen kompletterad med ett USB chip som medger att man kan ladda in program utan att köpa en ISP programmerare.
Det ligger (oftast) även med hårdvara som känner av om man driver kortet från USB eller extern matning och skyddar
om man av misstag matar båda vägarna. Nu generaliserar jag lite då mini varianterna saknar en del av ovan.
Hårdvaran har ISP anslutning (vilket är en viktig faktor) och den kan därför användas som en "generell" AVR hårdvara där man
kan skapa program i ASM eller C bäst man vill och ladda in. En fördel med denna hådvara är att den är populär och därför finns
billig i form av kloner och allsköns varianter. Många DIY fixar inte att löda en 2560 för hand och framförallt etsa kort med detta pinavstånd.
Då kan en MEGA hårdvara vara en billig lösning som är "Breadboard vänlig".
Det viktiga är att det finns absolut NOLL krav på att det är just Arduino kompilerad kod som körs på hårdvaran vilket är en viktig detalj i nedan slutsats.
Arduino toolchain/kompilator
Arduino programmeringsspråk är enligt min bedömning en "blandning" mellan C och Basic (jag är inte riktigt begåvad nog att påstå vad det närmast liknar).
Den har en C lik struktur men med många högnivå kommandon. Toolchain och kompilator är helt fria att nedladda och använda.
På grund av populäritet finns många librarys som gör det enkelt att kommunicera med periferi komponenter etc.
Det många missat är att man KAN pilla MCU's register direkt från Arduino, även om man måste ha BRA KOLL på vad man gör då, i och med att
en viss timer exempelvis används för "delay" kommandot så fipplar man med den kan man få oönskade konsekvenser.
Slutsats
Vi har enligt ovan en hårdvara OCH ett programmeringsspråk som i vardaglig mun BÅDA kallas Arduino.
Dom är i själva verket ganska löst kopplade när man synar det hela.
Det är fullt möjligt (och enkelt) att nyttja Arduino språket till sin helt egna design om man tycker språket är bra, och likaså lika enkelt att nyttja hårdvaran till ASM & C.
Här tycker jag vi börjar komma in på det jag menar är "Styrkan" med just Arduino.
Oavsett om man vill "kopiera kod", eller göra avancerade lösningar så kan samma investering (hårdvaran) återanvändas.
Om man på något sätt känner att Arduinospråket "begränsar" eller man vill "känna på" ASM så är det bara att köra på
med det man har.
Ofta ser man trådar som "jag vill bygga en timelaps till min kamera är Arduino bra ?".
Dessa bemöts ibland med "Nej skippa det för det är bara dyra leksaksgrejor, köp en MCU lös och lär dig allt från grunden".
Kan vi inte bara köpa att det är en fotograf som vill "komma undan billigare" än den lösning fotoaffären har ?
Och OM fotografen får blodad tand och OM han efter ett tag känner sig begränsad av Arduino språket så kan han ÄNDÅ
använda sin Arduino hårdvara för att lära sig ASM eller C.
Jag har mycket svårt att se syftet med det förakt Arduino som ibland dyker upp i trådarna.
Att en referensdesign och ett gratisspråk kan orsaka så mycket känslor bland dom som inte använder det (och ofta aldrig provat det) är för mig en gåta.
Ibland får jag känslan av att det finns en slags "avundsjuka" eller "hotbild" över att kreti och pleti helt plötsligt kan skapa roliga lösningar
som tidigare "vi hardcore entusiaster" hade monopol på.
Dom som hävdar att man inte kan göra "seriösa lösningar" med språket borde titta lite på exempelvis Aurdopilot och egna OSD osv.
Jag kommer med en dåres envishet hävda ett Arduino är ett bra Instegskoncept.
Det finns en anledning till att det är i bland världen mest populära DIY MCU koncept (om inte DET populäraste).

Snart är det dags för den "stora Arduino tråden" som vi kan hänvisa till varje gång det dyker upp.
Lite fakta i kombination till min syn på saken.
Arduino hårdvara
Arduino hårdvara är för dom flesta designerna en helt vanlig referensdesign för hur man pillar dit en ATMEL propp.
Ofta är designen kompletterad med ett USB chip som medger att man kan ladda in program utan att köpa en ISP programmerare.
Det ligger (oftast) även med hårdvara som känner av om man driver kortet från USB eller extern matning och skyddar
om man av misstag matar båda vägarna. Nu generaliserar jag lite då mini varianterna saknar en del av ovan.
Hårdvaran har ISP anslutning (vilket är en viktig faktor) och den kan därför användas som en "generell" AVR hårdvara där man
kan skapa program i ASM eller C bäst man vill och ladda in. En fördel med denna hådvara är att den är populär och därför finns
billig i form av kloner och allsköns varianter. Många DIY fixar inte att löda en 2560 för hand och framförallt etsa kort med detta pinavstånd.
Då kan en MEGA hårdvara vara en billig lösning som är "Breadboard vänlig".
Det viktiga är att det finns absolut NOLL krav på att det är just Arduino kompilerad kod som körs på hårdvaran vilket är en viktig detalj i nedan slutsats.
Arduino toolchain/kompilator
Arduino programmeringsspråk är enligt min bedömning en "blandning" mellan C och Basic (jag är inte riktigt begåvad nog att påstå vad det närmast liknar).
Den har en C lik struktur men med många högnivå kommandon. Toolchain och kompilator är helt fria att nedladda och använda.
På grund av populäritet finns många librarys som gör det enkelt att kommunicera med periferi komponenter etc.
Det många missat är att man KAN pilla MCU's register direkt från Arduino, även om man måste ha BRA KOLL på vad man gör då, i och med att
en viss timer exempelvis används för "delay" kommandot så fipplar man med den kan man få oönskade konsekvenser.
Slutsats
Vi har enligt ovan en hårdvara OCH ett programmeringsspråk som i vardaglig mun BÅDA kallas Arduino.
Dom är i själva verket ganska löst kopplade när man synar det hela.
Det är fullt möjligt (och enkelt) att nyttja Arduino språket till sin helt egna design om man tycker språket är bra, och likaså lika enkelt att nyttja hårdvaran till ASM & C.
Här tycker jag vi börjar komma in på det jag menar är "Styrkan" med just Arduino.
Oavsett om man vill "kopiera kod", eller göra avancerade lösningar så kan samma investering (hårdvaran) återanvändas.
Om man på något sätt känner att Arduinospråket "begränsar" eller man vill "känna på" ASM så är det bara att köra på
med det man har.
Ofta ser man trådar som "jag vill bygga en timelaps till min kamera är Arduino bra ?".
Dessa bemöts ibland med "Nej skippa det för det är bara dyra leksaksgrejor, köp en MCU lös och lär dig allt från grunden".
Kan vi inte bara köpa att det är en fotograf som vill "komma undan billigare" än den lösning fotoaffären har ?
Och OM fotografen får blodad tand och OM han efter ett tag känner sig begränsad av Arduino språket så kan han ÄNDÅ
använda sin Arduino hårdvara för att lära sig ASM eller C.
Jag har mycket svårt att se syftet med det förakt Arduino som ibland dyker upp i trådarna.
Att en referensdesign och ett gratisspråk kan orsaka så mycket känslor bland dom som inte använder det (och ofta aldrig provat det) är för mig en gåta.
Ibland får jag känslan av att det finns en slags "avundsjuka" eller "hotbild" över att kreti och pleti helt plötsligt kan skapa roliga lösningar
som tidigare "vi hardcore entusiaster" hade monopol på.
Dom som hävdar att man inte kan göra "seriösa lösningar" med språket borde titta lite på exempelvis Aurdopilot och egna OSD osv.
Jag kommer med en dåres envishet hävda ett Arduino är ett bra Instegskoncept.
Det finns en anledning till att det är i bland världen mest populära DIY MCU koncept (om inte DET populäraste).

Re: Arduino eller "naken" AVR med allt vad det innebär?
Då är detta lönsammare:
http://store.atmel.com/PartDetail.aspx? ... escription
Stöd för en uppsjö av atmels mcu. Alla I/O finns tillgängliga. Det som behövs är en mcu, koppla in, labba, lyft ut och koppla in på kort som ska användas med alla pinnar anslutna där de ska. Visst, det kan du med arduino också. Men jag säger inte att det är dåligt. Vad är nytt med det? Innan Facebook fanns tusentals andra liknande sidor. De har helt enkelt lyckats med marknadsföringen.
http://store.atmel.com/PartDetail.aspx? ... escription
Stöd för en uppsjö av atmels mcu. Alla I/O finns tillgängliga. Det som behövs är en mcu, koppla in, labba, lyft ut och koppla in på kort som ska användas med alla pinnar anslutna där de ska. Visst, det kan du med arduino också. Men jag säger inte att det är dåligt. Vad är nytt med det? Innan Facebook fanns tusentals andra liknande sidor. De har helt enkelt lyckats med marknadsföringen.
Re: Arduino eller "naken" AVR med allt vad det innebär?
Jag skulle nog gissa att den breda användningen är en viktig del.
Det innebär att det dyker upp mycket kodexempel och librarys.
Lite som ditt Facebook exempel.
Även om man uppfann en lika "Cool" lösning som Facebook så kan det ju bli ensamt om det bara är en själv och ens polare där.
Å andra sidan finns det säkert fler kod exempel i C så teroin kanske inte håller till fullo
Samtidigt så har marknadsföringen varit super kass för Arduino
Fanns en bra film där dom som ligger bakom berättar om varför dom tog fram konceptet för den egna skolan och hur andra skolor började fråga om
dom fick nyttja det. Sedan drog det på av sig självt.
Det innebär att det dyker upp mycket kodexempel och librarys.
Lite som ditt Facebook exempel.
Även om man uppfann en lika "Cool" lösning som Facebook så kan det ju bli ensamt om det bara är en själv och ens polare där.
Å andra sidan finns det säkert fler kod exempel i C så teroin kanske inte håller till fullo

Samtidigt så har marknadsföringen varit super kass för Arduino
Fanns en bra film där dom som ligger bakom berättar om varför dom tog fram konceptet för den egna skolan och hur andra skolor började fråga om
dom fick nyttja det. Sedan drog det på av sig självt.
Re: Arduino eller "naken" AVR med allt vad det innebär?
Det är lite det jag också tänker på, vad finns inte redan skrivet i c som någon inte har laddat upp? oavsett vilken avr man väljer i princip så fungerar samma kod.
Det är nog väldigt bra för de som vill så mycket men inte klarar av allt själv där de får hjälp med alla dessa shield. Det har blivit lite som "trolla-fram-en-naken-kvinna-som-gör-allt-jag-säger-shield". Vart har den egna innovationsförmågan tagit vägen? Tar man det till en professionell nivå och själv ska göra mer avancerade saker, då står man där ->
och fattar inget.
Kalla mig för gammalmodig men: Alla kan rita av en teckning, det är ingen konst.
Det är nog väldigt bra för de som vill så mycket men inte klarar av allt själv där de får hjälp med alla dessa shield. Det har blivit lite som "trolla-fram-en-naken-kvinna-som-gör-allt-jag-säger-shield". Vart har den egna innovationsförmågan tagit vägen? Tar man det till en professionell nivå och själv ska göra mer avancerade saker, då står man där ->

Kalla mig för gammalmodig men: Alla kan rita av en teckning, det är ingen konst.
Re: Arduino eller "naken" AVR med allt vad det innebär?
> Alla kan rita av en teckning, det är ingen konst.
Många nöjer sig med det och varför inte?
Så länge som Arduino HW/SW kombinationen faktiskt fungerar
och "räcker till" så är det ju faktiskt inget fel med den. Och det
är ingen speciellt unikt eller nyskapande i varken hårdvaran eller
utvecklingshjälpmedlen, det är den täta integrationen av hård-
och mjukvara som är själva grejen med Arduino. *Ett* paket från
*en* leverantör med all support på *en* hemsida. Svårslaget...
> vad finns inte redan skrivet i c som någon inte har laddat upp?
Exakt, det är det som är problemet. Att hitta i träsket "out there".
Ardunio kom med ett svar på det.
Sen så har medaljen självklart alltid en baksida, i detta fall är det
när Arduinios runtime miljö börjar komma lite ivägen, så att säga.
T.ex som det nämndes att vissa standard funktioner använder
resurser (t.ex timers) som inte är helt uppenbara. Men det får
man ta och på vägen dit har man kanske hunnit göra den
del kul också...
Många nöjer sig med det och varför inte?
Så länge som Arduino HW/SW kombinationen faktiskt fungerar
och "räcker till" så är det ju faktiskt inget fel med den. Och det
är ingen speciellt unikt eller nyskapande i varken hårdvaran eller
utvecklingshjälpmedlen, det är den täta integrationen av hård-
och mjukvara som är själva grejen med Arduino. *Ett* paket från
*en* leverantör med all support på *en* hemsida. Svårslaget...
> vad finns inte redan skrivet i c som någon inte har laddat upp?
Exakt, det är det som är problemet. Att hitta i träsket "out there".
Ardunio kom med ett svar på det.
Sen så har medaljen självklart alltid en baksida, i detta fall är det
när Arduinios runtime miljö börjar komma lite ivägen, så att säga.
T.ex som det nämndes att vissa standard funktioner använder
resurser (t.ex timers) som inte är helt uppenbara. Men det får
man ta och på vägen dit har man kanske hunnit göra den
del kul också...

- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Re: Arduino eller "naken" AVR med allt vad det innebär?
Det är mycket enklare att hitta kodexempel och projekt tycker jag. Kanske helt enkelt för att man inte får lika många träffar när man söker efter "arduino" som när man söker efter "c".
Re: Arduino eller "naken" AVR med allt vad det innebär?
Dessutom så är det blandad kvalité på avr c projekt på nätet.