John Val/ Informatica/ Physical computing/Inleiding

Editor: John Val

Docenten

John Val en Aitor Azcarate Onaindia

Voorwoord Doelen Opdracht Inleveren Bronnen Beoordeling

Voorwoord

Welkom bij de module Arduino. Tot nu toe hebben we leren programmeren met als hoofdoel het aanbieden van software aan gebruikers van een computer. Echter software wordt niet alleen ontwikkeld voor een mens achter een computer. Je zult vast wel gehoord hebben van geautomatiseerde processen. Voorbeelden zijn:

De processen uit de voorbeelden zijn natuurlijk ten dienste van de mens, anders bestonden ze niet. Echter in de processen is de mens liefst zoveel mogelijk afwezig als uitvoerende. Soms zijn er voor deze automatiseringsprocessen sterkere computers nodig dan de lap-top en desk-top computers die wij dagelijks gebruiken. Vaker zijn het hele kleine computers die slechts een heel beperkte taak uitvoeren. Deze laatste computers kom je heel veel tegen in consumentenelektronica.

In deze module gaan we met zo'n klein computertje ofwel microcontroler aan de slag. Dit computertje de "Arduino" is, zoals is vermeld op de Arduino website", vooral bedoeld voor hobbyisten, artiesten, kunstenaars en iedereen die geïnteresseerd is in het maken en ontwerpen van slimme en creatieve objecten die kunnen reageren op hun omgeving.

Met Arduino kun je (bijna) alles maken, alleen je fantasie is de beperkende factor. Laat jezelf eens uitdagen! Op de website https://www.instructables.com kun je zoal zien wat voor fantastische dingen met de Arduino kunnen worden gedaan.

Er zijn nog vele ander microcontrollers waarmee we hetzelfde of zelfs meer kunnen doen, b.v. de "Raspberry Pi" (een echte computer), de "micro:bit" (eenvoudiger) of de "ESP8266 of ESP32 NodeMCU" (gericht op internet of things). De keuze voor het Arduino platform in deze module is gebaseerd op de volgende eigenschappen:

De cursus 'Arduino' geeft je een beeld over studies in de richting van Technische Informatica of Embedded Systemen (twee van de tien HBO Informatica Profielen) en vergelijkbare opleidingen op de Universiteit. Dit wil absoluut niet zeggen dat deze module puur geschikt is voor harde techneuten!

Doelen van deze opdracht

Wat leer je in ieder geval:

  1. Techniek: het Arduino concept
    1. de (basis) hardware aspecten van het Arduino platform
    2. de (basis) software aspecten van het Arduino platform
    3. eenvoudig functionaliteit kunnen toevoegen
  2. In- en uitvoer
    1. eenvoudige uitvoer met behulp van LED's
    2. invoer met behulp van schakelaars
    3. schakelaars en LED's combineren
    4. invoer met behulp van sensoren
    5. sensoren en LED's combineren
    6. elektrische schakelingen kunnen bouwen;
    7. op bassis van de input van sensoren randapparatuur kunnen aansturen met behulp van de Arduino.

Wat leer je misschien:

Het doel dat we voor ogen hebben is dat je een zelfstandig werkende robot kan maken.

Hopelijk werkt de module aanstekelijk en raak je zo geïteresseerd dat dit de basis voor een profielwerkstuk kan zijn. Er zijn op het internet vele boeken te downloaden die je inspiratie kunnen verhogen, b.v. Make: Electronics ,Getting Started with Arduino, 2nd Edition en nog meer.

Opdracht

Inleveren

Inleveren

Aan het eind van iedere week lever je de door de docent aangewezen opdrachten voor die week in.

Technisch

  1. In iedere sketch staat jouw naam.
  2. variabelen en functies hebben zinvolle naamgeving
  3. C code bevat technisch commentaar
  4. C code heeft een nette layout

Bronnen en Copy Right

Deze module is tot stand gekomen door het raadplegen en overnemen van stukken tekst uit of te verwijzen naar de onderstaande bronnen. Onze dan gaat uit naar de inspanningen die al de personen achter die bronnenhebben verricht. De inhoud van deze cursus is onder licentie van de Creative Commons Attribution-ShareAlike 3.0 License. Dit betekent onder andere, dat iedereen vrij is om dit materiaal te gebruiken, aan te passen en te distribueren.

Beoordeling

Er wordt in tweetallen gewerkt.

Als een team alle de voorbeelden afwerkt en de vragen kan beantwoorden kan het team maximaal een 7 halen. Om boven de 7 te komen wordt er verwacht dat jullie één of meerdere van de open problemen uitwerken.

De volgende eisen worden altijd gesteld:

  1. De code bevat jullie namen (1p)
  2. De code is gedocumenteerd, bevat logische naamgeving en is netjes uitgelijnd(2p)
  3. De projecten werken(2p)
  4. Jullie begrijpen iedere regel uit de code en iedere schakeling die wordt gemaakt en kunnen dat goed uitleggen aan de docent.(5p)