Sida 1 av 1

Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 21:35:42
av papper
Hej ! Till att börja med är mitt mål med mikroprocessorer att kunna använda dem i praktiska sammanhang, inte att veta exakt hur allting fungerar d.v.s assembler är inget för mig. C# är det enda programmeringsspråk som jag kan någorlunda bra.

Köpte ett Pickit för ett antal månader sedan men tröttnade fort när man förväntas läsa hundrasidiga datablad för att förstå grunderna. Fick ett tips om att kika på Arduino och nu undrar jag:
  • Är det en lika hög inlärnignskurva för Arduino som PIC ?
  • Vilken hårdvara ska en Arduino nybörjare välja ?

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 21:39:06
av Lennart Aspenryd
Tack vare att det finns så mycket Arduino att leka med så går det snabbt.
Kolla in http://www.lawicel.se vad de har. Enklare kan det inte bli. Fliken till höger. Kolla sedan bloggen och kursmaterialet.

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 21:55:02
av Marta
För att göra enkla saker snabbt och lätt utan att veta vad man egentligen gör är Arduino jättebra.

Nackdelarna kommer när Du vill göra riktigt hårdvarunära saker. Då är C mera ett hinder än en hjälp jämfört med assembler. Du kan även få det svårare när det inte fungerar och Du kämpar med att förstå vad det är som händer.

Du behöver inte plöja igenom databladets samtliga sidor, så gör man inte. Läs bara om de moduler Du skall använda just nu. När det gäller PIC, läs speciellt noga i de små gråa rutorna. PIC har mycket bra datablad, försök bara inte greppa allt på en gång för det kan ingen klara av.

Det straffar sig alltid att försöka rivstarta. Även om det känns trist att ta sig över en lite högre inlärningströskel när Du är ivrig att komma igång snabbt, så kommer Du att tjäna på detta i längden. Genom att ha en god grundförståelse ser Du då såväl fel som möjligheter mycket lättare och kan snabbare få till ett effektivt och robust program.

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 22:13:39
av sodjan
> ...när man förväntas läsa hundrasidiga datablad för att förstå grunderna.

Det är ju halva nöjet. :-)

Men seriöst, vad var det som var problemet ?
Om det är en ovilja att över huvudtaget läsa teknisk
dokumentation så vet i fasen, det behövs oavsett vad
du ska göra. Snart ska du koppla någon kul krets till din
Arduino och så har den ett datablad på 20-30 sidor, hur
gör du då ?

> Är det en lika hög inlärnignskurva för Arduino som PIC ?

En mer rellevant fråga är egentligen:
"Är det en lika hög inlärningskurva för Arduino som AVR ?"
eftersom det sitter en AVR i Arduinon. Men visst, jämförelsen
är väl ungefär densamma. :-)

Nja, för att göra ett initialt "Hello World" (kallas "blink-a-LED" i
dessa sammanhang) så är det nog snabbare med en Arduino. Men
ganska snart så verkar det som Ardunio användaren kör fast just
därför att man har tagit genvägar kunskapsmässigt. Om man ska
använda processorn till något mer avancerat än att blinka med
LEDs, så behöver man kunna processorn, d.v.s du *måste* kunna
läsa och hitta i databladet, det finns inga genvägar där !

Sen så kan man ju göra så att man enbart kör färdiga projekt som
man hittar på nätet, och då behöver man ju inte kunna mer än hur
man laddar in koden i sin egen Arduino.

> Vilken hårdvara ska en Arduino nybörjare välja ?

En Arduino kanske ? (Jag kanske missförstog frågan...)
Du kanske menar vilken Arduino? Det finns visst ett mer modeller (?).
Eller tänker du på Ardionotillbehören ("shields") ?

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 22:23:30
av LHelge
Det är väl som att åka kollektivt jämfört med att köra bil.

Visst är det lättare att skaffa busskort än körkort, och vissa nöjer sig gott med att åka buss hela livet. Men det ger inte riktigt samma frihet och prestanda som att skaffa sig körkort och en bil.

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 23:03:15
av papper
sodjan skrev:
>Men seriöst, vad var det som var problemet ?
Om det är en ovilja att över huvudtaget läsa teknisk
dokumentation så vet i fasen, det behövs oavsett vad
du ska göra. Snart ska du koppla någon kul krets till din
Arduino och så har den ett datablad på 20-30 sidor, hur
gör du då ?

Problemt var att jag inte fick någon helhetsbild av hur PIC fungerar och hur hårdvaran och mjukvaran hänger ihop. Det är bara så oerhört mycket att lära sig på nytt när man går från högnivåspråk till assembler och mikroprocessor programmering. Assemblers syntax :shock:


>En mer rellevant fråga är egentligen:
"Är det en lika hög inlärningskurva för Arduino som AVR ?"
eftersom det sitter en AVR i Arduinon. Men visst, jämförelsen
är väl ungefär densamma. :-)


Varför skulle det vara en mera relevant fråga när jag aldrig har prövat AVR ?


>Sen så kan man ju göra så att man enbart kör färdiga projekt som
man hittar på nätet, och då behöver man ju inte kunna mer än hur
man laddar in koden i sin egen Arduino.


Det förstör ju hela nöjet med att koda :-)

>En Arduino kanske ? (Jag kanske missförstog frågan...)
Du kanske menar vilken Arduino? Det finns visst ett mer modeller (?).
Eller tänker du på Ardionotillbehören ("shields") ?


Menade vilken Arduino hårdvara som lämpar sig för nybörjare

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 23:13:16
av Icecap
I grova drag är mikroprocessorer ganska lika. Det finns såklart prestandaskillnader osv. men den största skillnad är ofta i programmerings-verktyget och hur enkelt det är att använda.

Sedan är det nästviktigaste en fråga om hur bra (lättlästa) databladen är och där är Microchip bland de bästa...

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 23:24:51
av Lennart Aspenryd
Det är märkligt hur svårt det kan va!
Kör igång! Ring till Tyringe och beställ vad du vill ha!
Jag betalar, om du inte är nöjd, så skickar du skiten till mig igen! Annars behåller du guldgrejorna!
Men det viktigaste är inte att lägga tid på hypotetiska frågor, utan att handfast köra grejorna.

Som med språk, vilket är bäst? Det man kan, och mottagaren förstår.
PM om hur, säger Lasp, som är trött på alla utvikningar från det handfasta! ;-)

Re: Arduino enklare än PIC programmering ?

Postat: 1 juli 2012, 23:57:51
av sneaky
papper skrev: Problemt var att jag inte fick någon helhetsbild av hur PIC fungerar och hur hårdvaran och mjukvaran hänger ihop. Det är bara så oerhört mycket att lära sig på nytt när man går från högnivåspråk till assembler och mikroprocessor programmering. Assemblers syntax :shock:
Bara för att klargöra. Du vet att du inte MÅSTE använda assembler för att leka med PIC va? Du kan även köra med C om du vill och då hamnar du genast betydligt närmare din tidigare C#-kunskap. Ja, det är en hög tröskel att ta sig över när man börjar leka med micros (mycket efteresom man inte har en visuell feedback på samma sätt som i PC-världen) men när man väl tar det första steget utan att ramla i backen och får den där härliga "det funkar!"-känslan i magen så blir det snabbt mycket roligare :)

Re: Arduino enklare än PIC programmering ?

Postat: 2 juli 2012, 00:39:32
av sodjan
> Problemt var att jag inte fick någon helhetsbild av hur PIC fungerar...

OK, till *det* är databladet fel källa. Det beskriver hur *en* visst specifik
processormodell fungerar, inte hur det hela fungerar rent generellt. Det finns
det andra tutorials och annat introduktionsmaterial hos (t.ex) Microchip som
man kan hämta.

Sen finns det en uppsjö "tutorials" där ute på nätet, mycket av det är
dock av tvivelaktig kvalitet

> Det är bara så oerhört mycket att lära sig på nytt när man går från högnivåspråk
> till [...] mikroprocessor programmering.

Jo, och där är skillnaden mellan PIC och Arduino nog mindre än du tror. Assembler
eller C betyder också mindre. Kan/vill du inte läsa databladen så är det inget som
C på något sätt kan kompensera för.

> Det förstör ju hela nöjet med att koda...

Ja, där har du det första nybörjarfelet, att tro att det bara är att "koda". :-)
Microkontrollers (oavsett om det är "PIC", "AVR" eller "Arduino") är mycket mer
hårdvara och traditionell elektronik än vad dina C-sharp övningar har kommit i
kontakt med. Att "koda" kan ibland vara den lilla/enkla biten... :-)

> Menade vilken Arduino hårdvara som lämpar sig för nybörjare.

OK. Jag har inte full koll på det, men jag trodde att de alla i princip var anpassade för
nybörjare. Skiljer det inte mest på antalet I/O pinnar o.s.v. ? Aja, andra kan det bättre. :-)

Re: Arduino enklare än PIC programmering ?

Postat: 2 juli 2012, 00:49:26
av adent
Tänkte bara klargöra följande:

PIC: En familj små processorer.
AVR: En annan familj små processorer.

Arduino: en plattform byggd på en AVR, men med lite speciella utvecklingsverktyg (förenklade).

Finns ett gäng olika Arduinosar. Fördelen är att det finns mycket tillbehör och mycket färdiga bibliotek för massa rolig hårdvara. Det är också betydligt enklare att komma igång med. Men som många påpekar kommer man förr eller senare köra fast för att man inte riktigt vet vad som händer under skalet. Men hellre tuta och köra och be om hjälp då än att bara strunta i det imho.

Grundkonceptet i en AVR eller PIC är i alla fall att du i regel inte har ett operativsystem, du har en main-loop och Interrupt. Läs gärna lite om hur interrupt fungerar, du klarar dig långt utan dem, men de är himla bra sen.

Lycka till!

MVH: Mikael

Re: Arduino enklare än PIC programmering ?

Postat: 2 juli 2012, 05:19:38
av Icecap
Och det har ju visat sig ett antal gångar tidigare att ett kunnande inom C#/C++ faktisk är en nackdel inom vissa delar av mikroprocessorvärlden. Problemet ligger oftast i att det inte finns ett OS och i att hantera interrupt.

Med mikroprocessorer har varje program en sorts eget OS inbyggd och utan en viss förståelse av hårdvaran brukar det bli ganska besvärligt, det är ju programmören som måste bygga detta "OS".

Tänk det som att utveckla Linux utan att känna till hårdvaran: drivrutinerna kan bli ganska besvärliga att få till men när de väl fungerar kan det i stort kvitta exakt vilken processor som används.

Om sedan hårdvaran består av PIC, AVR, ARM eller någon annan processorfamilj har ringe betydelse, problemen är i stort de samma.