Arduino vs. andra utvecklingsmiljöer

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Arduino vs. andra utvecklingsmiljöer

Inlägg av cjonash »

Nu har jag i ett antal olika trådar följt vad som nästan kan benämnas ett krig mellan å ena sidan Arduino användare och å andra sidan en grupp som verkar anse att det är något som motsvarar det som katter brukar släpa in. Jag kan inte låta bli att förundras lite över de kraftiga känslor som ämnet verkar riva upp hos båda sidor, delvis därför att jag själv använder såväl Arduino som andra utvecklingsmiljöer och tycker att alla fyller sin funktion. Till sist kände jag att jag inte kunde vara passiv längre. Jag är inte så naiv att jag tror att jag kan få stopp på "kriget", men jag hoppas att kunna få lite vettiga synpunkter och inte bara pajkastning...

Till att börja med tycks det ju finnas en diskussion om exakt vad Arduino är. Själv anser jag att begreppet Arduino skall tolkas som utvecklingsmiljön - dvs antingen mjukvaran (IDE) eller hårdvaran i form av labbkorten eller båda delarna tillsammans. En ensam ATmega, med eller utan bootloader, är ingen Arduino i sig själv.

Om man tittar på IDE mjukvaran, så visst finns det brister i den - men det gör det i alla andra IDE program som jag använt också. Men det går relativt snabbt att komma igång med Arduino programmeringen, inte minst då det följer med många exempelprogram och det finns en uppsjö av bibliotek och exempel att hämta hem från Internet. På vilket sätt skulle det här vara sämre än andra IDE för ATmega, PIC eller valfri annan processor? Att språket är en modifierad variant av C borde ju heller inte vara ett problem - antingen så kan man C från början och då lär man inte ha några större problem att hantera skillnaderna, eller också (som jag, som i grunden är en Delphi programmerare) så har man inte programmerat i C tidigare och har kanske heller inte (återigen som jag) någon tanke på att börja med det i andra sammanhang och då spelar skillnaderna heller ingen roll. På vilket sätt skulle det vara sämre att programmera en ATmega i Arduino-C än att programmera en PIC i pascal?

När det gäller hårdvaran så ser jag inte varför Arduino skulle vara sämre än någon annan labb-miljö? Jag har tidigare använt olika labbkort för PIC, men en fördel (som jag ser det) med Arduino är alla de färdiga shields som finns att köpa. Under en utvecklingsprocess är det rätt skönt att kunna fokusera på mjukvara och hårdvara separat. Är det en riktig produkt man bygger så gör man ju ändå ett eget kort i slutändan - men på vägen dit är det ju bra om man kan använda färdiga byggstenar.

Till sist är det då den ofta kritiserade bootloadern. En av de första sakerna jag letade rätt på när jag höll på med PIC var en bootloader. Jag ser gärna att det finns en möjlighet att uppdatera mjukvaran i mina produkter ute på fältet, utan att behöva ha en programmerare med sig. Och vill man inte ha den så kan man ju alltid köra utan... Det är ju dessutom inte helt ovanligt att kommersiella produkter har just en bootloader (t.ex. de allra flesta moderkort i våra PC), på vilket sätt är Arduinons bootloader sämre?

Jag har det sista året byggt ett antal projekt med ATmega programmerad med Arduino IDE (och med bootloader) på egna kort. Utvecklingen har oftast gjorts på orginalhårdvaran, innan det riktiga kortet designats. Jag har också använt "riktiga" Arduino kort i färdiga produkter, i de fall det varit enklast. Om man ska tro det som skrivs i vissa inlägg här så skulle det innebära att jag är en oprofessionell utvecklare, men den bilden delar inte jag själv. Dessa produkter och program används dagligen (ibland 24/7) av mig, mina kollegor och våra kunder. Resultatet kan ses av i bland miljontals tv-tittare och varken mina kunder eller jag (som i grunden är tv-producent och inte programmerare) skulle acceptera lösningar som inte håller måttet.

Eller har jag helt missat något med Arduinon, som gör att jag borde lämna plattformen och ägna mig åt att lära mig något annat istället?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av jesse »

Jo, så är det väl, antar jag. :)

Själv har jag aldrig provat Arduino av två enkla orsaker:

1) när jag skulle börja med microkontrollers så kände jag inte till Arduino - jag valde mellan PIC och AVR och AVR vann eftersom det var de som lyckades leverera en enkel tutorial som jag kunde förstå (Det finns säkert för PIC också , men jag hittade inte något då)
2) När jag väl börjat med AVR och Atmel Studio har det aldrig funnits något behov för Arduino.
Användarvisningsbild
carpelux
Inlägg: 1955
Blev medlem: 13 oktober 2007, 12:33:33
Ort: Varnhem

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av carpelux »

Arduino är inte hårdvara eller mjukvara utan det är ett helt koncept. Ett koncept som omfattar hårdvaran med utvecklingskort bestyckar med ATmegaprocessor, bootloader, mjukvaran med IDE och det programmeringsspråk som används samt den standardiserade layout som korten har vilket gör att det finns en uppsjö tillbehörskort (shields) att köpa. Detta tillsammans gör det relativt enkelt att komma igång och steget från att blinka en lysdiod till att få ihop något som faktiskt kan vara användbart är inte så stort.

Genom att utvecklingsmiljön tar hand om en massa grundläggande förutsättningar och döljer dessa för användaren slipper man ägna tid åt att lära sig en massa detaljer för den variant av Atmega som sitter i kortet. Detta, plus att det finns en massa kodsnuttar att hämta hem gör att det går snabbt att komma framåt. Det ser jag som en av de stora fördelarna med konceptet. Jag tror att det är det som retar en hel del av belackarna, att vilken noob som helst kan komma och påstå att de kan programmera en MCU fast de inte egentligen har en aning om vad som försiggår.

Det som är en stor fördel (att utvecklingsmiljön döljer en massa grundläggande detaljer) är ju samtidigt en av de stora nackdelarna. Man har inte samma kontroll över vad som händer i detalj och får inte optimalt effektiv kod vare sig när det gäller prestanda eller kodstorlek. Man ser ibland uttalande av naiva nybörjare om att Arduino skall ersätta ditten eller datten, det visar bara på hur lite den som uttalar sig om det egentligen förstår. Men vad spelar det för roll, de lär sig med tiden. Skulle det vara så att man kommit till den gräns där utvecklingsmiljön begränsar är det ju inte värre än att man går över till en "riktig" utvecklingsmiljö, t.ex. Atmega Studio.

I mina ögon är Arduino bra, det är ett snabbt sätt att komma igång utan att behöva investera en massa tid i att grotta ner sig i detaljer. Det finns en stor kunskapsbas på nätet att söka i och framför allt är det roligt!
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Al_Bundy »

Arduino är framtiden. Arduino är inte bara en "leksak" som folk brukar kalla det för. Det är ett professionellt verktyg som blir ratat av PIC/AVRstudio programmerare för att det är just Arduino. Arduino må se ut som en leksak, men man kan göra minst lika mycket så som PIC och klassisk AVR programmering.
Om några år så kommer Arduino vara ute på arbetsmarknaden då det är enklare att utveckla med Arduino än AVRstudio/PIC programmering. Tid är pengar!

Det är vi unga som ska leda framtiden. :tumupp:
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Lennart Aspenryd »

Bra inlägg.
Någon måste säga ifrån när dessa forumtalibaner enbart ser fyrkantiga hjul.
Utbildning och referensmaterial är bland de viktigaste för att lyfta ett språk eller en hårdvara.
Ibland känner jag för att sluta här pga talibaner som bara framhäver sitt eget.
Men vi vet var deras sign är!

Jag var glad när jsg lärde en mig motsvsrigheten till broadminded!
Narrowminded som med skygglappar.
Men det är som smalspår, lättare att vicka omkull.
Användarvisningsbild
AndLi
Inlägg: 18271
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av AndLi »

Problemet om du tar upp pengaspåret är inlåsningen du gör till Atmels µC. Du tappar direkt en mycket viktig förhandlingspunkt mot leverantörerna om de vet att du är inlåst till deras µC. Rätt skriven C kod är lätt att porta över till nästan varenda µC tillverkares egna µC familj och passande C kompilator.

Visst är det inte aktuellt vid småserier, men när besparingar på 10-20cent per enhet överstiger utvecklingskostnaden med råge, då börjar andra regler gälla.

Och mitt första fungerande µC baserade bygge var på en BasicStamp2 (http://www.hth.com/) 90 talets Arduino :)
Användarvisningsbild
Icecap
Inlägg: 26645
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Icecap »

Jupp, skygglappar... Och när framtidens hopp inte fattar hur det fungerar med t.ex. bootloader kan man ju se att det är en riktig bra framtid...

Men visst, det är alltid ungdomerna som kommer att ta över och de gamla som fasas ut, det kommer att hända er också.

Men jag får nog göra er besvikna: Arduino kommer aldrig att bli industristandard! ATmega är helt enkelt för slö och dyr, det finns mycket bättre alternativ.

Men så är det när ni har skygglappar på, ni ser inte verkligheten.
Användarvisningsbild
ensten
EF Sponsor
Inlägg: 3759
Blev medlem: 19 oktober 2004, 15:55:20
Ort: Hudiksvall

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av ensten »

Al_Bundy skrev:
Det är vi unga som ska leda framtiden. :tumupp:
Ja, bevare mig väl! :mrgreen:
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av MicaelKarlsson »

Al_Bundy skrev:Om några år så kommer Arduino vara ute på arbetsmarknaden då det är enklare att utveckla med Arduino än AVRstudio/PIC programmering. Tid är pengar!
Är det enklare med Arduino? På vilket sätt?
För mig är det enklare att utveckla på AVR-plattform än att gå över till Arduino eftersom tid är pengar.
Det är vi unga som ska leda framtiden. :tumupp:
Nädu gosse lille, det är vi gamla gubbar som skall mala ner er vilja och fasa in er på den rätta vägen! :mrgreen:
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46954
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av TomasL »

Det är möjligt att Arduino är framtiden, dock enbart för hobbyister, inga andra.
Och varför, tja för långsam, för dyr, låst hårdvara osv.
Det tar inte längre tid att utveckla i MPLAB än något motsvarande, förmodligen går det dessutom snabbare, eftersom man inte är låst till Arduinons begränsningar.

Bootloader, kan vara bra om man skall programmera i fält, annars är det väl inga direkta fördelar, snarare tvärtom.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av blueint »

Vad som är effektivt beror på vilken kunskapsnivå man är på och vilka begränsningar som är hanterbara i projektet.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46954
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av TomasL »

När det gäller Professionell utveckling, får man väl ändå utgå ifrån att de som jobbar med utveckling vet vad de håller på med.
Hobby-utveckling är en helt annan sak.
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7226
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av psynoise »

Al_Bundy skrev:Tid är pengar!
Inom de branscher där utvecklingen måste gå snabbt används mer och mer autogenerad kod. Där är Simulink ett vanligt verktyg och den vägen kommer säkerligen utvecklas mer i framtiden. För att öka tillförlitligheten är standardiserad kod viktigt och inom bilindustrin simuleras flera programvaror mot varandra genom Autosar.

Eftersom programvara tenderar till att bli mer och mer komplex behövs avancerade utvecklingsverktyg. Jag tror utvecklingen likt mönsterkortdesign bidrar till mer komplicerade verktyg istället för enklare.

Att Arduino skulle få genomslag inom tillverkningsindustrin ser jag som högst orimligt. Sedan har jag inget emot DIY-kulturen som snarare ökar teknikintresset. Ända nackdelen är väl att många är mer resultatinriktade än teknikintresserade vilket hämnar personlig utveckling inför större projekt.
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av cjonash »

TomasL skrev:Det är möjligt att Arduino är framtiden, dock enbart för hobbyister, inga andra.
TomasL skrev:När det gäller Professionell utveckling, får man väl ändå utgå ifrån att de som jobbar med utveckling vet vad de håller på med.
Hobby-utveckling är en helt annan sak.
TomasL, ska jag tolka dessa två inlägg som att jag inte är professionell utvecklare då? Eller har jag missförstått dig?

AndLi skrev:Visst är det inte aktuellt vid småserier, men när besparingar på 10-20cent per enhet överstiger utvecklingskostnaden med råge, då börjar andra regler gälla..
Nu är det väl en rätt så stor andel på det här forumet som både professionellt och på hobbynivå jobbar med utveckling där kanske enbart en eller ett fåtal enheter skall tillverkas. Så det är väl inte ett argument för eller emot valet av kontroller för ett specifikt projekt? Jag skulle heller inte välja en ATmega om jag skulle serietillverka i större volymer, lika lite som jag skulle beställa mikrokontrollers med fabriksprogrammerade ROM till prototypserier.

TomasL skrev:Bootloader, kan vara bra om man skall programmera i fält, annars är det väl inga direkta fördelar, snarare tvärtom.
Utan att veta hur det fungerar i din bransch, så kan jag i alla fall säga att i min så är det mer regel än undantag att produkter kan programmeras med ny firmware av användarna själva. Och då pratar vi om serietillverkade enheter från t.ex. Sony, Panasonic m.fl. leverantörer som nog måste kallas professionella.

Al_Bundy skrev:Arduino är framtiden. Arduino är inte bara en "leksak" som folk brukar kalla det för. Det är ett professionellt verktyg som blir ratat av PIC/AVRstudio programmerare för att det är just Arduino. Arduino må se ut som en leksak, men man kan göra minst lika mycket så som PIC och klassisk AVR programmering.
Om några år så kommer Arduino vara ute på arbetsmarknaden då det är enklare att utveckla med Arduino än AVRstudio/PIC programmering. Tid är pengar!
Nej, Arduino är inte bara en leksak. Men jag skulle heller inte påstå att det är framtiden - i form av att den skulle ersätta de andra utvecklingsmiljöerna som du nämner. Däremot tror jag den kommer leva parallellt med dessa. Ute i verkligheten (på arbeten) vågar jag, till trots vad en del andra här hävdar, påstå att Arduinon redan är - jag känner till flera företag som använt plattformen för såväl prototyper som för färdiga produkter i enstaka exemplar eller små serier. Och som tjänat ganska mycket pengar på det, om man nu skall se det som ett tecken på professionalitet.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Al_Bundy »

Lasp skrev:Bra inlägg.
Tackar. :)
Skriv svar