Project:Arduino

Uit basis
Versie door Eelco (overleg | bijdragen) op 13 okt 2016 om 14:39
Naar navigatie springen Naar zoeken springen

Arduino: achtergronden

Cross-development

Je ontwikkelt de software voor een Arduino niet op de Arduino zelf, maar op een andere computer (cross compilation, cross development). Dit maakt direct duidelijk dat het programma volledig autonoom uitgevoerd wordt: er is geen "lifeline" naar de gebruiker of zijn omgeving.

Directe besturing van de Arduino: Firmata

Je kunt in het begin ook gebruik maken van een programma dat de inputs en outputs van de Arduino bestuurt vanuit een PC, zoals de Firmata bibliotheek.

Physical computing

  • Arduino is een voorbeeld van physical computing: computers in interactie met hun fysieke omgeving. Computers worden in embedded systems (tv's, auto's, vliegtuigen, printers, koelkasten, wasmachines e.d.) gebruikt voor het aansturen van de machinerie, en voor het interface daarvan met de buitenwereld, in het bijzonder met de gebruiker. In het internet of things worden "dingen" die vaak gewoonlijk geen besturing of elektriciteit gebruiken (stoelen, deuren, dijken, bomen) door middel van computers met sensoren verbonden in het internet. Dit geeft een enorme uitbreiding in het het aantal mogelijkheden van interactie, en in de aard van deze interactie.
  • Het aantal soorten "physical computing systemen" dat je met de Arduino-programmeeromgeving (IDE) neemt sterk toe. Dit is al lang niet meer beperkt tot de traditionele Arduino-varianten (met de "Uno" als belangrijkste vorm).
  • Physical Computing spreekt een deel van de leerlingen aan, omdat het resultaat heeft in de fysieke wereld, en niet alleen in de virtuele wereld. Deze resultaten zijn zichtbaar en tastbaar. Bovendien is de relevantie voor het dagelijks leven vaak goed te begrijpen.

Laagdrempelig

  • Je kunt al snel met succes de eerste experimenten met een Arduino uitvoeren,
  • De hardware is erg betaalbaar; dit geldt nog sterker als je de Chinese varianten gebruikt;
    • mede door het gebruik van sensoren in smartphones worden deze sensoren erg betaalbaar.

Arduino (of ruimer: physical computing) is een voorbeeld van "lage drempel, hoog plafond": je kunt op elk niveau interessante uitdagingen vinden, er is geen harde bovengrens aan de mogelijkheden.

Een Arduino is geen lesmateriaal, in de traditionele zin: Arduino's worden vooral buiten het onderwijs gebruikt, bijvoorbeeld voor het maken van prototypes (ontwerpers, tentoonstellingen, e.d.) Dit kan een extra motivatie voor leerlingen betekenen: je hebt er buiten school ook iets aan.

Leerlingen kunnen al in een vroeg stadium hun eigen toepassingen met Arduino maken.

Alternatieven voor Arduino

micro:bit

  • Naast de Arduino zijn ook andere combinaties van hardware en software geschikt voor een kennismaking met "physical computing". Een voorbeeld hiervan is de BBC micro:bit die aan alle leerlingen in de UK cadeau gedaan is.
  • zie: https://www.microbit.co.uk/
  • Voor de micro:bit zijn meerdere programmeeromgevingen geschikbaar:
    • Microsoft Block editor (blokjes met drag & drop)
    • Microsoft Touch develop editor (tekst-gebaseerd)
    • JavaScript (van blokjes naar tekst-gebaseerd)
    • Python (tekst-gebaseerd)

Raspberry Pi

  • Een ander voorbeeld is de Raspberry Pi. Dit is een krachtige computer met ongeveer het formaat van de credit card (of eigenlijk een stapel credit cards). Naast mogelijkheden voor het verwerken van beeld en geluid heeft deze ook "general purpose I/O" (GPIO) pinnen waarop je bijvoorbeeld sensoren en relais kunt aansluiten.
  • Een Raspberry Pi gebruikt een krachtig Operating System zoals Raspbian, een versie van Linux (Debian).
  • Er is veel software voor-geïnstalleerd,
  • Voor de Raspberry Pi
  • Je kunt een Raspberry Pi goed gebruiken voor het ontwikkelen van Arduino-software: je kunt

Gebruik in het onderwijs

Je kunt Arduino's (en de andere vormen van Physical Computing) gebruiken als een rijke context voor een kennismaking met allerlei concepten:

  • voor het vak informatica:
    • programmeren
    • hardware, hardware/software interfacing
    • computerarchitectuur
  • voor het vak natuurkunde:
    • meten (en besturen)
    • experimenteren
  • wiskunde:
    • verband tussen wiskunde, informatica, en natuurkunde
    • rekenen aan schakelingen (wet van Ohm, wetten van Kirchhoff).

Daarnaast kun je de Arduino gebruiken als gereedschap bij allerlei experimenten, zowel binnen de natuurwetenschappen als bij creatieve vakken.

Arduino-projecten zijn bij uitstek geschikt om kennis van verschillende vakken te integreren: wiskunde, natuurkunde, informatica, enz.

Doelen

Uiteindelijk:

  • leerlingen kunnen zelfstandig, constructief en creatief met Arduino's aan de slag.
    • gebruik van referentiemateriaal (niet alleen tutorials)
    • ontwerpen van eigen hardware en software
  • leerlingen gebruiken en integreren kennis van wiskunde en natuurkunde in hun Arduino-kennis en vaardigheden
  • leerlingen gebruiken Arduino's om informatica te begrijpen; en omgekeerd
  • leerlingen kunnen Arduino-systemen als bouwdooos begrijpen en gebruiken
    • leerlingen kennen een aantal bouwstenen
    • en weten hoe ze deze kunnen gebruiken en samenstellen tot een compleet systeem
  • leerlingen kunnen een schema lezen en omzetten in een schakeling op het breadboard

Manier van werken

  • kleine stappen
    • bij voorkeur: 1 nieuw concept per stap
  • lage drempel, hoog plafond: op elk niveau succes mogelijk
  • zo mogelijk: testen van elke stap
    • testen van hardware-schakeling
  • herhaling van concepten, in verschillende vormen
    • herkennen van concepten, basisschakelingen/constructies
  • software/programmeren: in het begin zo eenvoudig mogelijk
    • geschikt voor gebruik van mBlock
    • de hardware kan dan iets lastiger worden (bijv. pulldown-weerstanden, 2 schakelaars i.p.v. 1)
  • 1e stap: zorgvuldig nabouwen van een bestaand ontwerp (hardware en software)
    • vragen aan de hand van ontwerp
    • daarna: veel experimenteren; veel kleine experimenten
    • experimenteren om begrip te vergroten
    • ontwerpen van experimenten vanuit begrip

Materiaal

  • achtergrondmateriaal, gemeenschappelijk materiaal: op de wiki (centraal)
    • mogelijk op meerdere niveaus
    • iedereen kan dit materiaal verbeteren (vgl. Wikipedia)
  • lesbrieven: op GitHub (voorlopig op deze wiki).
    • iedereen kan eigen versie maken
    • zonder verbeteringen in het origineel te verliezen

Programmeren

Presentaties