C++ Fokus på sproget #01

C++ Fokus på sproget #01

Intro


I OZ6HR, en lokalafdeling under EDR, har der i et godt stykke tid været adskillige, som har eksperimenteret med Arduino. Det er der mange gode grunde til, for det er et spændende og udfordrende univers at udforske. Her kan man eksperimentere med elektronik og kodning af computere på en og samme tid. Det passer rigtig godt til vores klub, der dels består af radioamatører og dels af computerentusiaster.

En dag, vi havde klubaften i OZ6HR, beklagede en af de tilstedeværende radioamatører sig over, at der var så få fra klubben, der lavede Arduino-projekter fra bunden. De fleste byggede noget op, som de havde fundet på nettet. Nogle gange kom projektet til at fungere, men når skidtet så fra tid til anden ikke ville gøre sin ting, ja så kom de fleste på spanden, fordi de ikke havde de fornødne kompetencer til at fejlfinde. MEGET frustrerende. Ikke mindst fordi netop disse gode mennesker er nogen, som kan reparere stort set alt elektronisk udstyr. Vi drøftede, hvad der kunne være årsag til skibbruddene.

Så jeg satte mig for at lave et projekt fra bunden for at undersøge, hvor vanskelighederne er.

Mit projekt er som følger:

Jeg har et værksted i et skur i haven, hvor jeg gerne vil have lidt styring på el-radiatoren. Dels skal den holde værkstedet på 5 grader om vinteren og dels vil jeg have mulighed for at skrue op for varmen, så det er dejlig varmt, når jeg skal bruge det. Styringen skal foregå fra min smartphone, forstås.

Og for nu at gøre en lang historie kort: At få temperaturfølere til at fungere og at få relæer til at klikke er pærelet for en radioamatør. Det kan klares med den ene hånd i lommen, så at sige. Problemet ligger for mig at se i manglende kompetencer i forhold til at skrive kode, – programmere. Og her er der en rigtig dårlig nyhed, for at blive god til det er ikke sådan lige….

Man skal ikke kun lære sproget at kende, man skal også lære, hvorledes man indretter og  strukturerer sit program på en hensigtsmæssig måde. Og meget mere! Og dét er en særdeles kompliceret og kompleks affære at beherske.

Men der er også en rigtig god nyhed:

Derude, på nettet, er der rigtig mange særdeles dygtige og hjælpsomme programmører, som man kan få hjælp af. Det kræver dog, at man på kvalificeret måde kan beskrive sit problem.

indsigt #01

Tillad mig at fortælle en lille historie.

En af mine rigtig gode venner er praktiserende læge. Fra tid til anden møder hun patienter, som har et meget smalt dansk, hvilket gør, at de har svært ved at forklare problemet. I de sammenhænge kan hun typisk blive mødt med:

  • Av min mave!.

Se det er noget at en udfordring, hvis man skal stille en diagnose og foreslå en behandling. Patienten behøver selvfølgelig ikke kende alle de medicinske termer, for at kunne tale med lægen. Hvis indsigten i sprog og kroppens fysiologi kunne blive hævet en anelse, så udsagnet eksempelvis lød:

  • Det gør ondt her nederst i venstre side, lige når jeg har spist.

Ja så er vi allerede bedre på vej.

Tilbage til problemet med et for lille kendskab til at skrive kode.

Min tese er, at der er mange, som med lidt hjælp til at få et indblik i programmering kunne lære at beskrive deres problem lidt mere kvalificeret, således at de kan få adgang til hjælp fra alle eksperterne derude. Derfor har vi i OZ6HR aftalt at sætte fokus på C++, som er det sprog, der bliver anvendt i Arduino. Det gør vi ved at holde nogle sessioner på klubaftener, hvor udvalgte og væsentlige aspekter af at skrive kode i C++ vil blive belyst.

Med tryk på belyst. Det er vigtigt at understrege, at det IKKE er et kursus, hvor man lærer at programmere. Har man energi til det, bør man studere sproget grundigt. (Jeg kan varmt anbefale Jumping Into C++ af Alex Allain – www.cprogramming.com).

John, OZ1QZ anbefaler “arduino programming notebook” af Brian W. Evans.

Hensigten med forløbet i klubben er, at mange flere kommer videre end til at sige:

  • Av min Arduino.

Fokus på Sproget

LinksLinksLinks
C++ #01C++ #02C++ #03
C++ #04C++ #05C++ #06
C++ #07C++ #08C++ #09
C++ #10

Leave a Reply

Your email address will not be published. Required fields are marked *