Gå til innhold

Den lille Arduino-tråden


Anbefalte innlegg

Videoannonse
Annonse

De arduino bøkene er ikke noe bra utgangspunkt om man ikke kan et døyt om programmering.

 

Arduino i seg selv er et veldig dårlig utgangspunkt for å lære seg å programmere.

 

Forslag:

- Legg arduinoen i skuffen og glem den

- Kjøp deg en god lærebok i C (evt. C++)

- Bruk læreboka og en PC for å lære deg grunnleggende (aller helst avansert da ;) ) C

- Når du føler at du har kontroll på C-en og klarer å lage egne programmer på PC som gjør det du vil, tar du frem igjen arduinoen og begynner å leke med den.

Tja det spørs vel litt på hvordan personelighet man har.

 

Mange vil syns det er kjedelig og miste motivasjonen av å bare taste inn noe text/tall og få ut igjenn et svar som eneste resultat av sin innats når det gjelder programmeringen og vil dermed miste motivasjonen og gi opp c++. Så for disse tror jeg nokk det er mye bedre å begynne med en enkel microkontroller som arduino, basic stamp, el. Da de får noe ordenklige resultater ut av programmeringen sin som f.eks at en servo beveger seg eller noen lysdioder dimmes og skifter farge, ol. Eller hvis de i tilegg f.eks lærer seg et enkelt språk for å programmere grafikk som processing eller et grafisk programmeringsspråk som LabView som de kan interface med microkontrolleren får de jo også resultatene av div sensorer, ol presentert på en grafisk måte istedenfor bare som et tall.

 

Så for mange tror jeg nokk det er best å begynne med programmering av en enkel microkontroller eller et enkelt I/O kort slik at man "får noen resultater" av programmeringen sin og ikke mister motivasjonen. Dette gjelder vel spesiellt når dette ikke er et skolefag men en fritidshobby da motivasjonen er mye viktigere. For man må holde på rimelig lenge med c++ programemring før man egenklig får noe interessangt ut av det.

Endret av flesvik
Lenke til kommentar

Nå var ikke tanken min at man skulle være ferdig utlært i C/C++ (om det er mulig) før man satte i gang med arduinoen.

 

Det jeg mener er at for å få noe nyttig ut av arduinoen så bør man ha litt basiskunnskaper om programmering. Man bør vite hva en funksjon er, hva en variabel er, hva en løkke er, etc.)

Årsaken er ganske enkelt at det (meg bekjent) ikke finnes noen arduiono-bok som tar en gjennom disse helt obligatoriske og grunnleggende skrittene på en god måte. Jeg har tre arduinobøker selv, og ingen av dem ville jeg anbefale for noen som ikke hadde noen form for erfaring med programmering.

arduino-bok-filosofien ser ut til å vœre: her har du kode som gjør dette, er ikke det kult? og her har du kode som gjør dette, enda kulere ikke sant? Og slikt lærer de aller fleste av oss lite av.

 

Tanken var heller ikke at man skulle bruke et år på å lære seg C/C++ heller. Om man f. eks. leser (og forstår) de første 7 dagene av "teach yourself c++ in 21 days", samt gjør oppgavene, og deretter starter å leke med arduinoen, så tror jeg man vil både lære fortere, forstå mer og ikke minst kunne gjøre kulere ting langt kjappere enn om man hopper rett på arduino (med eller uten bok) og tror at det skal fungere.

Endret av cyclo
Lenke til kommentar

Nå var ikke tanken min at man skulle være ferdig utlært i C/C++ (om det er mulig) før man satte i gang med arduinoen.

 

Det jeg mener er at for å få noe nyttig ut av arduinoen så bør man ha litt basiskunnskaper om programmering. Man bør vite hva en funksjon er, hva en variabel er, hva en løkke er, etc.)

Årsaken er ganske enkelt at det (meg bekjent) ikke finnes noen arduiono-bok som tar en gjennom disse helt obligatoriske og grunnleggende skrittene på en god måte. Jeg har tre arduinobøker selv, og ingen av dem ville jeg anbefale for noen som ikke hadde noen form for erfaring med programmering.

arduino-bok-filosofien ser ut til å vœre: her har du kode som gjør dette, er ikke det kult? og her har du kode som gjør dette, enda kulere ikke sant? Og slikt lærer de aller fleste av oss lite av.

 

Tanken var heller ikke at man skulle bruke et år på å lære seg C/C++ heller. Om man f. eks. leser (og forstår) de første 7 dagene av "teach yourself c++ in 21 days", samt gjør oppgavene, og deretter starter å leke med arduinoen, så tror jeg man vil både lære fortere, forstå mer og ikke minst kunne gjøre kulere ting langt kjappere enn om man hopper rett på arduino (med eller uten bok) og tror at det skal fungere.

 

 

Er nok ganske tålmodig av meg, så å lese en bok før jeg starter med programeringen, og programere et par test programer før jeg begynner med arduino tror jeg også skal gå fint. Liker å lære, og har alltid sett på programering som ganske nødvendig når det kommer til data og elektronik, så for meg som driver en god del med det er vel litt programering uungåelig

Lenke til kommentar

Nå var ikke tanken min at man skulle være ferdig utlært i C/C++ (om det er mulig) før man satte i gang med arduinoen.

 

Det jeg mener er at for å få noe nyttig ut av arduinoen så bør man ha litt basiskunnskaper om programmering. Man bør vite hva en funksjon er, hva en variabel er, hva en løkke er, etc.)

Årsaken er ganske enkelt at det (meg bekjent) ikke finnes noen arduiono-bok som tar en gjennom disse helt obligatoriske og grunnleggende skrittene på en god måte. Jeg har tre arduinobøker selv, og ingen av dem ville jeg anbefale for noen som ikke hadde noen form for erfaring med programmering.

arduino-bok-filosofien ser ut til å vœre: her har du kode som gjør dette, er ikke det kult? og her har du kode som gjør dette, enda kulere ikke sant? Og slikt lærer de aller fleste av oss lite av.

 

Tanken var heller ikke at man skulle bruke et år på å lære seg C/C++ heller. Om man f. eks. leser (og forstår) de første 7 dagene av "teach yourself c++ in 21 days", samt gjør oppgavene, og deretter starter å leke med arduinoen, så tror jeg man vil både lære fortere, forstå mer og ikke minst kunne gjøre kulere ting langt kjappere enn om man hopper rett på arduino (med eller uten bok) og tror at det skal fungere.

Ja da kan jeg jo egenklig være litt mer enig, men man trenger vel ikke å kjøpe en C++ bok for dette. Basiskunnskaper får man lett av div gratis internettguider.

 

Nå har jo jeg hatt C#/C++ programmering som fag to ganger i utdannelsen min, så jeg vet jo egenklig ikke hvor lett/vanskelig det er å lære ved å gå direkte på arduino med div guider der, men jeg er ihvertfall helt sikker på at det er mye mer motiverende enn å tråle gjennom masser av kode med eneste resultat at man skriver inn og får ut igjenn text/tall.

 

Men hvis man går gjennom de læringsguider det er på arduino også slår opp på Reference hver gang det er noe man lurer på hva betyr også evt går videre til andre kilder hvis man fortsatt er usikker tror jeg nokk man kan lære rimelig bra ved å bare gå direkte på arduino. Hovedtingen er vel at man burde ha en nysgjerrighet til å finne ut hvordan koden virker og dermed finne ut hva de forskjellige deler av koden betyr/gjør, og ikke bare kopiere eksempelkoder også si weee se det funker.

 

Og denne "arduino boka" syns jeg også forklarte godt hva de forskjellige tingene betyr og hvordan de fungerer sammtidig som man kan lære med den motivasjonen en mikrokontroller som styrer div ting gir (og denne boka bruker også f.eks processing for å presentere dataene på en mer motiverende og badre måte enn bare ved tall:

http://www.sparkfun.com/commerce/product_info.php?products_id=9415

Endret av flesvik
Lenke til kommentar

Jeg er enig med Dundersalt. Selv lærte jeg C++ først (for uendelig mange år siden) og mang en gang har jeg irritert meg over at jeg ikke lærte C først. Jeg vil påstå at det er langt lettere å lære seg C enn C++.

 

Uansett... C++ er ikke "C med et par funksjoner som C ikke har". C++ er C = en haug utvidelser. Blant annet har man objektorientering i C++, noe C ikke har. C og C++ bør på ingen som helst måte sees som samme språk, men man kan fint si at man har langt bedre grunnlag for å lære seg C++ om man først kan C.

Lenke til kommentar

Jeg er enig med Dundersalt. Selv lærte jeg C++ først (for uendelig mange år siden) og mang en gang har jeg irritert meg over at jeg ikke lærte C først. Jeg vil påstå at det er langt lettere å lære seg C enn C++.

 

Uansett... C++ er ikke "C med et par funksjoner som C ikke har". C++ er C = en haug utvidelser. Blant annet har man objektorientering i C++, noe C ikke har. C og C++ bør på ingen som helst måte sees som samme språk, men man kan fint si at man har langt bedre grunnlag for å lære seg C++ om man først kan C.

 

 

Da blir det vel en bok om C da. Takker så mye for hjelpen. Men et siste spørsmål, på arduino sin nettside står det at man programerer arduino i C/C++, bruker man begge sptråkene da ?

Lenke til kommentar

Jeg har blitt bitt av arduino-viruset.

Har vel blåst vel 20k på duppeditter og div elektronikk.

Mange planer og prosjekter gående samtidig:

 

Har alle delene og kode klare til å lage meg en segway, bare jeg får tid..

 

Har også et prosjekt underveis som går på GPRS/GSM modul for å styre diverse kontaktorer på hytta via pcen.

 

Så har jeg laget deler av et bilsystem til min gamle toyota hilux : map-sensor, EGT sensor, steppmotorer som justerer geometrien på turboen og matinga på dieselpumpa. Dato, klokkeslett, høyde over havet, fart, akselerasjon/retardasjon( noe som også kan gi et mål på hestekrefter ved gitt vekt), styring av vinsj og div elektisitet på bilen( start, alarm, stopp ++ )

 

Mulighetene er uendelige, bare man har ideen så kan man lage nesten hva som helst.

Og det meste finner man ut av bare ved å lese andre koder og slikt på arduino.cc!

 

Arduino anbefales på det sterkeste!! ..hvis du har råd :D

 

Holder forresten til i Tromsø - noen andre i disse områder som har slike interesser?

Lenke til kommentar
  • 2 uker senere...

Da har jeg fått begynt på et lite arduino prosjekt, men programeringen får vente til jeg har lest meg litt opp på det. Har laget et par krestskort til prosjektet og skal ned på en hobbybutikk å kjøpe en servo.

 

Prosjektet er da en RFID dørlås.

 

 

Edit: Hvis noen kunne tenke seg å hjelpe meg med programeringen så hadde jeg satt stor pris på det. Ta kontakt på pm.

Endret av Mr. A
Lenke til kommentar

Begynner å bli veldig irritert nå, får ikke til å laste opp program til arduinoen nå, får bare feilmeldingen

 

avrdude: stk500_getsync(): not in sync: resp=0x30

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

 

 

Noen som vet hva som er galt her ? har prøvd å google, men det ser ikke ut som noen har svaret.

 

 

Edit: Endelig etter masse timer med feilsøking fikk jeg det til.

Endret av Mr. A
Lenke til kommentar
  • 3 uker senere...

Hei! Er det noen forskjell på Adruino Duemilanove og Mega? Jeg har lest meg opp på Duemilanoven, og føler at dette er noe for meg. Men den har litt for lite IO's i forhold til det prosjektet jeg hadde lyst å jobbe med. Er forskjellen kun å velge Megaen softwaren når man skal laste opp kode? Og, kan man få tak i selve brikken til Megaen, for å embedde den i egne kretskort?

Lenke til kommentar

Hei! Er det noen forskjell på Adruino Duemilanove og Mega? Jeg har lest meg opp på Duemilanoven, og føler at dette er noe for meg. Men den har litt for lite IO's i forhold til det prosjektet jeg hadde lyst å jobbe med. Er forskjellen kun å velge Megaen softwaren når man skal laste opp kode? Og, kan man få tak i selve brikken til Megaen, for å embedde den i egne kretskort?

 

 

Mega er i grunn en duemilanove, bare at den er en del lengere, og har en del flere pinner. Den bruker samme software(IDE) som duemilanove og de andre, men du må velge rett kort under Tools - board og rett port under Tools - Serialport.

 

Du får selve brikken løs, men det er en smd (surface mount) brikke så det er litt verre å både lage kretskort til det og å lodde brikken på.

Lenke til kommentar

Arduino Mega bruker ATmega1280 prosessoren. I Arduino sammenheng så er den stort sett den samme som Arduino Duemilanove, så lenge du velger rett brett som Mr. A sier. Men om du beveger deg over i AVR-verden(som Arduino er bygget rundt) så er det greit å huske på at ATmega1280(Mega) prosessoren er ulik ATmega168/328(Duemilanove) prosessoren.

 

Om du sliter med antall innganger/utganger(som eg kjenner meg alt for godt igjen i) så kan du jo vurdere A/D konvertere og/eller multipleksing. Da bruker du tre utganger for å lese/skrive til 8-12 porter.

 

For eks 73-396-58 hos Elfa. Da har du 4 porter tilgjengelig.

Lenke til kommentar

Hei! Er det noen forskjell på Adruino Duemilanove og Mega? Jeg har lest meg opp på Duemilanoven, og føler at dette er noe for meg. Men den har litt for lite IO's i forhold til det prosjektet jeg hadde lyst å jobbe med. Er forskjellen kun å velge Megaen softwaren når man skal laste opp kode? Og, kan man få tak i selve brikken til Megaen, for å embedde den i egne kretskort?

 

 

Mega er i grunn en duemilanove, bare at den er en del lengere, og har en del flere pinner. Den bruker samme software(IDE) som duemilanove og de andre, men du må velge rett kort under Tools - board og rett port under Tools - Serialport.

 

Du får selve brikken løs, men det er en smd (surface mount) brikke så det er litt verre å både lage kretskort til det og å lodde brikken på.

 

 

Arduino Mega bruker ATmega1280 prosessoren. I Arduino sammenheng så er den stort sett den samme som Arduino Duemilanove, så lenge du velger rett brett som Mr. A sier. Men om du beveger deg over i AVR-verden(som Arduino er bygget rundt) så er det greit å huske på at ATmega1280(Mega) prosessoren er ulik ATmega168/328(Duemilanove) prosessoren.

 

Om du sliter med antall innganger/utganger(som eg kjenner meg alt for godt igjen i) så kan du jo vurdere A/D konvertere og/eller multipleksing. Da bruker du tre utganger for å lese/skrive til 8-12 porter.

 

For eks 73-396-58 hos Elfa. Da har du 4 porter tilgjengelig.

 

Takk for kjappe svar :)

 

Skummet over muxing på arduino-forumet, ser ut til at det skal gå greit.

 

Men man trenger ikke å ta noen kompileringshensyn i koden om man bruker ATMega328 eller ATMega1280 - og samme kode kan brukes på begge(så fremst pin-nummerene/PWM stemmer)?

 

I såfall går jeg for en Arduino Mega nå, så kan jeg i ettertid flytte prosjektet over til en ATMega328-chip, med å skrive om koden for muxing :)

54 IO's burde jo holde for en stund :D

Lenke til kommentar

En arduino Nano kunne jo være artig å prøve seg med. Det er jo en arduino duemilanove bare mye mindre, og den kan loddes på kretskort uten noen modifikasjoner. Den har jo også alt av brikker som FTDI brikken som arduinoen kommuniserer med, og alt av strøm regulator kretsene

Lenke til kommentar
  • 4 uker senere...

Siden jeg nylig oppgraderte de fleste komponentene i PC-en min har jeg dessverre ikke fått somlet meg til å skaffe Arduino enda. Men jeg har så vidt begynt å programmere Parallax Boe-Bot via PBASIC på skolen, så jeg håper Arduino ikke er alt for annerledes.

 

Jeg er jo ganske bestemt på å skaffe meg Arduino så fort som mulig, men lurer på et par ting...

 

Burde jeg velge ProtoShield fra Adafruit eller Sparkfun?

 

Har noen av dere erfaring med Arduino Blutooth? I så fall, hvordan er den å bruke sammenlignet med vanlig Duemilanove?

Endret av Meh.
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...