søndag den 18. marts 2012

Programmering og den virkelige verden

Jeg er optaget af hvordan elever kan få en grundlæggende forståelse af moderne elektronik og hvordan elektronik, programmering og vores hverdag bliver mere og mere integreret.


Det intelligente hjem

Eleverne kan sagtens være med på en samtale om hvilke intelligente funktioner der allerede findes i vores hjem og hvilke vi kunne tænke os og måske forestiller os kommer i  meget nær fremtid. Her kan komme interessante bud på intelligente kaffemaskiner, køleskabe, brødristere, vækkeure, støvsugere, lys, varme m.m.. Hvis de også skal have en forståelse for hvordan den fysiske verden kan kommunikere med den trådløse og informationsbårne teknologi vi oplever i computer og smartphone, må de have fingrene i den moderne elektronik.


I moderne elektronik er en microcontroller svær at slippe udenom. Den fungerer som "hjernen" der kan modtage signaler fra forskellige følere, fx: temperatur, lysstyrke, afstand, lufttryk, orientering, kompas, gps og programmeres til at reagere på disse signaler. Reaktionerne kan være at styre en motor, lys, alarm m.m.

Med udbygning kan microcontrolleren "tale" med en pc og sende eller modtage oplysninger trådløst. Senest er det blevet muligt at lave den samme kobling til smartphones.


Android robot med Arduino microcontroller (Instructables.com)
Et eksempel på spændende integration mellem den fysiske verden, microcontrollere og smartphones kan fx være at lave en simpel robotplatform med larvefødder, der egentlig blot kan køre frem og tilbage og dreje, men som hvis den udstyres med et smartphone pludselig bliver en avanceret intelligent robot med trådløs kommunikation, gps, kompas, kamera og hurtig cpu.

Lego Mindstorms rummer disse muligheder og er derfor en vej at gå. Se mere på MINDSTORMS side. 

En anden mulighed er udviklerplatforme fra microcontrollerfirmaer. Jeg er for kort tid siden blevet opmærksom på microcontrollere fra Arduino. Disse vinder mere og mere udbredelse i undervisningen rundt om i verden. En stor gruppe mennesker har taget disse controllere til sig fordi de forholdsvis let lader sig programmere og interagere med så mange forskellige ydre følere, motorer m.m.

Jeg har derfor sat mig for at undersøge om Arduino'en er den microcontroller vi skal satse på at indkøbe til undervisningen. Jeg har endnu kun arbejdet ganske kort tid med den, men synes det ser lovende ud. En af mine elever har fået lov til at lege med den og lavede en simpel "tænd lyset når det bliver mørkt udenfor". Fint lille projekt, der sagtens kan udføres med traditionelle komponenter, men som altså her var koblet med en programmering af en microcontroller. Eleven skulle altså omsætte en tanke om at "hvis lysstyrken udenfor når under en bestemt grænseværdi, skal lyset indenfor tænde, og hvis grænseværdien igen kommer over grænseværdien skal lyset slukke igen", til et program i Arduinoen.

Herunder er et af mine første forsøg med det forholdsvis billige udviklerboard: Arduino Uno. 


Koden til denne lille servostyring ses på billedet herunder. I videoen er Arduino Uno'en koblet til pc via usb-kabel. I dette tilfælde er det blot for at få strøm den vej. Selve styringen af servoen foregår altså alene i microcontrolleren. At arbejde med servo'er eller stepper-motorer kan bruges til styring af robotarme, tegne-maskiner og 3d-printere.



Ingen kommentarer:

Send en kommentar