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).
