Bygge og programmere en radiostyrt bil :)

, , , , , , ,
Jeg tok kontakt med Deichman bibliotek på Lambertseter senter 16 september 2013 for å høre om muligheten til å holde et innholdsrikt, dog noe ambisiøst, programmeringskurs for ungdom via biblioteket. Jeg hadde tidligere vært inne på tanken om å organisere et programmeringskurs for ungdom uten at det resulterte i noe konkret. Når Lær Kidsa Koding så startet sitt engasjement, følte jeg at tiden var inne for å sette meg ned og planlegge et konkret innhold. Starten på Lambertseter Kodeklubb var dermed i gang! Det er også nylig opprettet en Facebook side for Lambertseter Kodeklubb. Alt kursmaterialet publiseres fritt på nettsiden Kodegenet.
 
Det å lære å programmere er vanskelig og innebærer at man må lære seg et tankemønster som er annerledes enn de fleste fag som læres bort på ungdomsskole nivå. Programmering er til tider frustrerende og man kommer til å gjøre feil – MANGE feil. Noen feil er enkle å se og rette opp i, andre er vanskeligere og ofte ser man ikke de mest åpenlyste feilene før man er på nippet til å røske strømkabelen ut av veggen. Oppskriften på å lære å programmere er å finne seg et prosjekt eller en oppgave man ønsker å utføre, for så å prøve seg frem og feile – helt til det ikke feiler lenger. Tro det eller ei, men slik er det faktisk også selv etter en høyere utdanning og 10 års erfaring i faget. For at frustrasjonen skal være enklere å takle, ønsket jeg at kurset skal være morsomt for deltakerne å være med på, og at de lærer å lage noe de kan ta og føle på.
 
Jeg har holdt introduksjonskurs i bruk av Raspberry Pi og enkel elektronikk på IT konferanser og hos IT selskaper som fagdager og ønsket at Raspberry Pi skulle være sentralt i programmeringskurset mitt. Både fordi Raspberry Pi er en fantastisk kul liten datamaskin, men også fordi den fungerer som en ypperlig og trygg platform for å lære seg mer om hva en datamaskin er, hva den består av og hvordan den kan brukes som en del av elektroniske produkter.
 
Til tross for sin kredittkort-størrelse er Raspberry Pi en fullverdig datamaskin kraftig nok til å kunne levere video i full HD, samtidig som den har innganger og utganger som gjør det mulig å koble og styre elektriske kretser.
 
 
Raspberry Pi
 
Planlegging av kursinnholdet
Utfordringen var å lage et kursopplegg som jeg hadde tro på at deltakerne følte var verd å bruke en lørdag hver tredje uke på mellom januar og mai. Vi satt opp 7 lørdager av 2-3 timer hver mellom januar og mai, med det ambisiøse målet om å lære en gruppe ungdom fra 12 til 16 år å bygge og programmere en radiostyrt bil som kan styres trådløst. Men i tillegg til å lære enkel programmering og elektronikk, skal vi også lære å installere et Linux basert operativsystem og bruke Linux sin kommandolinje gjennom hele kurset.
 
Selv om kommandolinjen kan virke som en veldig gammeldags måte å styre en datamaskin på, kommer man ikke bort fra at kunnskap om hvordan kommandolinjen fungerer og hvordan operativsystemet kan styres via kommandolinjen er svært viktig i IT bransjen.
 
Når jeg planla kursinnholdet forsøkte jeg å dele inn kurset i 7 seperate deler som bygger på hverandre, og hvor sluttresultatet er en fungerende radiostyrt bil som deltakerne selv i grupper har bygget, selv har koblet sammen de elektriske kretsene og programmert hvordan bilen skal styres.
 
For at innholdet skulle være lett tilgjengelig og enkelt og forstå, laget jeg en nettside, http://kodegenet.no, hvor kursinnholdet publiseres. Her forsøker jeg å forklare så detaljert og forståelig som mulig hva som skal gjøres, hvordan og hvorfor, samtidig som jeg har laget korte video segmenter for å demonstrere deler av innholdet. Det var også viktig for meg at kursinnholdet var fritt tilgjengelig på nett, slik at andre får muligheten til å følge eller bruke innholdet.
 
Som nevnt, inneholder kursmaterialet både tekst og videoer. Videoene er ment som et supplement til teksten, og forklarer innholdet på en mer “hands-on” og interaktiv måte enn teksten gjør. Under ser du et av eksemplene på en av videoene som følger med kursinnholdet. Hittil er det laget ca. 10 slike videoer, og det er planlagt flere i løpet av de siste 3 kapitlene/kursdagene.
 
[youtube=https://www.youtube.com/watch?v=8fLyjexdEbg]
 
Gjennomføringen av kursdagene
Vi startet med å sette av 2 timer til hver kursdag, men utvidet dette til 3 timer halvveis i kurset for å få mer tid til å jobbe med det vi lærte, samtidig som deltakerne fikk mer tid til å kunne spørre direkte når de stod fast eller lurte på noe.
 
Første kursdag startet med at deltakerne fikk utlevert hver sin Raspberry Pi datamaskin komplett med SD kort, strøm og nettverkskabler. Deretter fortsatte vi med på å sette opp og installere Raspian, samt til å koble Raspberry Pi datamaskinene til nettverket og koble seg til via en protokoll som heter Secure Shell (SSH).
 
En av deltakerne kobler sin Raspberry Pi til LAN nettverket

En av deltakerne kobler sin Raspberry Pi til LAN nettverket

 
Andre kursdag tok vi et dypdykk inn i Linux og kommandolinjen og lærte hvordan vi navigerer i filsystemet, oppretter mapper og filer, samt hvordan filer kan editeres via kommandolinjeverktøyet “nano”. Vi fikk også installert node.js, som er kjøremiljøet vi skal bruke for å kjøre JavaScript programmene vi skriver i løpet av de øvrige kursdagene.
Noen eksempler på elektriske kretser som ble bygget og programmert på kursdag 4

Noen eksempler på elektriske kretser som ble bygget og programmert på kursdag 4

 
Etter at vi ble kjent med Linux og kommandolinjen, benyttet vi tredje kursdag til å lære grunnleggende programmeringskonsepter som variabler, sammenlikninger og kontrollstrukturer, før vi fjerde kursdag tok frem elektriske komponenter som monstander, transistorer, ledninger, LED lys og koblingsbrett. Her lærte vi både hvordan vi kan koble elektriske kretser med Raspberry Pi som utgangspunkt, samtidig som vi lærte hvordan vi kan bruke Raspberry Pi til å programmere kretsene.
 
De siste 3 kursdagene skal vi bruke på å lære å kontrollere DC motorer, forskjellen på seriekobling og parallellkobling av komponenter, samt å bygge og programmere den radiostyrte bilen. Vi har satt av god tid til denne delen av kurset, for det er her jeg tror deltakerne vil være aller mest gjennom prøving og feiling.
 
Når vi startet kurset, var jeg litt redd for at opplegget var litt for omfattende og ambisiøst, og at vi ikke kom til å bli ferdig i løpet av 7 kursdager. Men det viser seg at deltakerne, som er mellom 12 og 15 år, har tatt til seg innholdet raskt og vi har stort sett kommet gjennom det planlagte innholdet på hver av kursdagene.
 
Jeg gleder meg til å se sluttresultatet 24. mai! 🙂
 
Prototypen til bilen

Prototypen til bilen med alle komponentene på plass 🙂

0 replies

Legg igjen et svar

Want to join the discussion?
Feel free to contribute!

Legg igjen en kommentar