Physical computing leerlijn: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
 
(27 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 46: Regel 46:
** het voorbeeld staat wel in het kader van het algemene principe.
** het voorbeeld staat wel in het kader van het algemene principe.


==== Keuzes ====
* inleiding: micro:bot met Makecode (blokjesprogrammeren)
* vervolg: Python - met verschillende platformen
** eerst: micro:bit (V2)
* robotica - op basis van micro:bit (in eerste instantie)


=== Wat maakt physical computing anders/lastig? ===
=== Wat maakt physical computing anders/lastig? ===
Regel 109: Regel 102:


Ook het ontwerpproces is in grote lijnen hetzelfde als voor gewone programma's. Daarnaast zorgen de extra hardware-componenten voor extra problemen, die andere experimentele vaardigheden vereisen. Bijvoorbeeld: een fout in het systeem kan het gevolg zijn van een software-fout, van een hardware-fout, of van een fout in de aansluiting tussen deze twee. Bovendien zijn hardwareproblemen soms lastig reproduceerbaar.
Ook het ontwerpproces is in grote lijnen hetzelfde als voor gewone programma's. Daarnaast zorgen de extra hardware-componenten voor extra problemen, die andere experimentele vaardigheden vereisen. Bijvoorbeeld: een fout in het systeem kan het gevolg zijn van een software-fout, van een hardware-fout, of van een fout in de aansluiting tussen deze twee. Bovendien zijn hardwareproblemen soms lastig reproduceerbaar.
=== Stap 1: kennismaking ===
* oriëntatie en kennismaking met basisbegrippen van physical computing en programmeren
* "engagement" en succes-ervaringen belangrijker dan kennis en vaardigheden
* aansluiting bij persoonlijke interesses - via nabouw-projecten
* hardware: microbit met ingebouwde sensoren en eventueel Grove onderdelen; eventueel geprepareerde opstellingen
* programmeren: Makecode (blokjes) programmeren (bijv. micro-bit.nl leskaarten)
* eventueel: naast ingebouwde sensoren en actuatoren, gebruik van Grove componenten.
==== Leerdoelen ====
* kunnen benoemen van de hardware-onderdelen van een physical computing systeem
** bijvoorbeeld aan de hand van een micro:bit-hardware, en in een schema
* kennis van enkele (ingebouwde) sensoren en actuatoren;
* en van de besturing daarvan vanuit software (blokjes);
* identificeren van physical computing-voorbeelden in de eigen omgeving
* voorbeelden van het gebruik voor: natuurkunde-experimenten; creatieve opstellingen; games; e.d.
* enig begrip van het "waarom" van physical computing;
** bijvoorbeeld: waarom heb je een controller nodig? welke extra mogelijkheden geeft dit?
** wat maakt een apparaat of oplossing "slim"?
==== Software ====
* Makecode (blokjesprogrammeren)
==== Hardware ====
* microbit met ingebouwde sensoren en actuatoren
* Grove shield met extra Grove sensoren
* geprepareerde opstellingen (bijvoorbeeld: kruispunt)
==== Lesmateriaal ====
* bijv. micro-bit.nl leskaarten (DevLab/Fontys)
=== Stap 2: Brede Basis ===
De basisprincipes van Physical computing komen hier aan de orde:
begrippen die je in vrijwel elk project nodig hebt.
Persoonlijke interesses kunnen in de projecten vorm krijgen.
Programmeren in Makecode/blokjes en in Python.H
Hardware:  in eerste instantie nog via Grove, maar ook kennismaking met breadboard.
==== Elektriciteit; spanning, stroom, weerstand, vermogen, energie ====
* waarvoor heb je deze kennis nodig? onder andere om databladen (datasheets) van sensoren en actuatoren e.d. te kunnen lezen; om te weten hoe je deze moet aansluiten; en of bepaalde onderdelen wel te combineren zijn?
==== Signalen en events ====
* waarvoor heb je deze kennis nodig? deze begrippen komen in bijna elke toepassing voor.
* signaal: op elk moment waarde; analoog; digitaal, discretisatie;
* A/D omzetting; schalen (omrekenen) van input
* D/A omzetting (PWM?); schalen (omrekenen) van output
* periodieke signalen; periode, frequentie; duty cycle, PWM
* events: bijvoorbeeld indrukken van een knop; "beweging" - bewegingsdetector
==== Tijd; timers ====
* (gekoppeld aan events; PWM)
==== Besturing: eindige automaten ====
* waarvoor heb je deze kennis nodig? komen in veel toepassingen voor
* directe besturing: van input naar output (met eventueel scholing)
* toestandsafhankelijke besturing: eindige automaten
* splitsen in een eenvoudige inleiding en een verdieping.
==== Serie-protocollen ====
* gebruik van libraries - voor i2c en SPI; en voor specifieke sensoren; voor digitale LEDs
* master/slave; adressering
=== Stap 3: Verdieping (naar keuze) ===
Naast de uitgewerkte bouwstenen, zijn er nog veel meer andere bouwstenen beschikbaar:
* sensoren, actuatoren
* libraries
Je leert hoe je daar mee om kunt gaan; hoe je de beschrijvingen leest (o.a. datasheets);
* elektronica
** lezen van schema; omzetten in schakeling op breadboard
* motoren en relais
** soorten motoren
* geluid en muziek
* licht
* communicatie
* radio-communicatie
* metingen, communicatie met host-computer
* processen?
* GPS
* robotica
* eindige automaten?
{| class="wikitable"
! Sensoren !! Actuatoren !! Signalen en Events !! Besturen
|-
| aap
| noot
| mies
| enz
|}
{| class="wikitable"
|+ Caption text
|-
! Koptekst !! Koptekst !! Koptekst
|-
| Voorbeeld || Voorbeeld || Voorbeeld
|-
| Voorbeeld || Voorbeeld || Voorbeeld
|-
| Voorbeeld || Voorbeeld || Voorbeeld
|}


=== Fysica van ICT ===
=== Fysica van ICT ===
Regel 247: Regel 122:


{| class="wikitable"
{| class="wikitable"
|+ Caption text
|+ Leerlijn Physical Computing
|-
|-
! Thema  
! Thema  
! style="background-color: white;" | Kennismaking  
! style="background-color: white;" | Kennismaking  
! style="background-color: white;" | links
! style="background-color: yellow;" | Basis  
! style="background-color: yellow;" | Basis  
! style="background-color: yellow;" | links
! style="background-color: orange;" | Verdieping  
! Verdieping !! links
|- style="background-color: lightyellow;"  
|- style="background-color: lightyellow;"  
| Programmeren
| [[Physical computing/Programmeren | Programmeren]]
| Makecode blokken; Fontys leskaarten || https://micro-bit.nl/  
|  
| Makecode blokken; Python || Inleiding Python  
* Makecode blokken; Fontys leskaarten
| Python, C++ || Arduino IDE
* https://www.micro-bit.nl/lesmateriaal
|- style="background-color: lightblue;"
|  
| Sensoren en actuatoren  
* Makecode blokken; Python  
| microbit-sensoren en actuatoren || ??
* Inleiding Python  
| Grove sensoren || ??
|  
| andere sensoren || ??
* Python, C++  
* Arduino IDE
|- style="background-color: lightcyan;"
| [[Physical computing/Sensoren en actuatoren |Sensoren en actuatoren]]
|  
* sensoren en actuatoren: concepten
* microbit-sensoren en actuatoren
* https://microbit.org/get-started/first-steps/introduction/
|  
* Grove sensoren
* https://makecode.microbit.org/device
|  
* andere sensoren
* bitrate, event-rate enz. van sensoren
* https://tech.microbit.org/hardware/
|- style="background-color: lightpink;"
| [[Physical computing/Interfaces|Interfaces]]
|
* digitale input en output
* analoge input en output
* "analoge" PWM output
|
* I2C en SPI
* Serieel (UART)
|
* pull-up,
* pull-down,
* basisschakelingen (button, LED)
|-  style="background-color: palegreen;"
|
[[Physical computing/Meten en sturen|Meten en sturen]]: <br> signalen, events, <br> toestand en tijd
|
* (input)signalen: functieblokken
* events: opdrachtblokken
* tijd: wait
|
* toestand; variabelen
* toestandsovergang
* output: actie
|
|-
| [[Physical computing/Motoren en relais|Motoren en relais]]
|
* servo-motor
|
* dc-motor
* motor driver
|
* H-bridge
* transistor als schakelaar
* stappenmotor
|- style="background-color: cornsilk;"
| [[Physical computing/Elektriciteit en elektronica|Elektriciteit en elektronica]]
|
|
|
* spanning, stroom, weerstand
* wet van Ohm
* netwerk-wetten
* spanningsdeler
* transistor als (vermogens)schakelaar
* rol van condensator
|-
|-
| ||  
| [[Physical computing/Communicatie|Communicatie]]
|
|
|
* Radio
* Host-communicatie
|-
|-
| Voorbeeld || Voorbeeld || Voorbeeld
| [[Physical computing/Fysica van rekenen|Fysica van rekenen]]
|
|
|
* logische poorten met CMOS-transistoren
* logische schakelingen
* radio's
|}
|}

Huidige versie van 24 mrt 2021 om 09:37

Physical computing
Arduino Basis
  1. Led-0: breadboard, LED, weerstand
  2. Blink-1
  3. Button-1
  4. Blink-freq: frequentie
  5. Blink-PWM: pulsbreedte-modulatie
  6. Analoge input

Deze pagina beschrijft de opzet van een leerlijn Physical computing voor het voortgezet onderwijs. Deze beschrijving is in eerste instantie bedoeld voor docenten.

  • Wat is Physical computing?
  • Waarom Physical computing op school?
  • Waarom Physical computing thuis?
  • Physical computing op school - hoe?
  • Hoe begin je met Physical computing?
    • Eerste lessen
    • Robotica/Physical computing middagen
  • Wat zijn punten van aandacht?
    • grote verschillen tussen leerlingen

Uitgangspunten

  • het begint met "engagement"; daarna: verwerven van kennis en vaardigheden
    • een zeker "creatief spelelement" blijft belangrijk, worstelen/spelen met de materie, experimenteren
    • het gaat niet alleen om de inhoud/content, maar ook om: leren experimenteren, leren door experimenteren, doorzetten, omgaan met tegenslag en frustratie, samenwerken (in een gemengd team), creativiteit, (systematisch) problemen oplossen, (aanleren van goede gewoontes),
  • onderwerpen in volgorde van opklimmende moeilijkheidsgraad:
    • uitvoer is gemakkelijker dan invoer;
    • direct is gemakkelijker dan toestandsafhankelijk;
    • hardware is gemakkelijker dan software (bijv.: geef de programma's in het begin)
  • veel leerpaden mogelijk; bijvoorbeeld richting robotica, of bijv. IoT
  • "mastery based learning"; afronden van onderdelen belangrijk!
  • modules (voor verwerven van kennis en vaardigheden) en projecten (voor demonstreren van kennis en vaardigheden)
    • (voor de basisprincipes en beheersen van concepten werkt "JIT leren" niet zo goed)
  • wiki met achtergrondmateriaal, voor JIT leren van specifieke onderwerpen
    • (JIT leren is prima waar het de technologie betreft)
    • NB: onderscheid (leren) maken tussen concepten en actuele technologie
  • grootte van de modules: ca. 10 SLU (zeker in het begin); later mogelijk wat groter,

maar bij voorkeur niet meer dan 20 SLU.

  • probeer te begrijpen wat je doet...
  • gebruik een systematische aanpak - leer werken op een systematische manier
  • ontwerpen - eerst uitwerken op papier (bijv. automaat)
    • vgl. ook vellen bij microbit;
  • testen: opbouwen van het systeem in kleine delen, steeds testen
  • (groot project werkt vrijwel nooit in één keer - en het probleem kan op heel veel plekken zitten...)
  • van concreet naar abstract
    • gebruik voor verdieping
    • gebruik van een component op hoog niveau, voordat je de details daarvan bestudeert.
    • een concreet voorbeeld voor het algemene principe.
    • het voorbeeld staat wel in het kader van het algemene principe.


Wat maakt physical computing anders/lastig?

  • en hoe kun je onnodige problemen vermijden?

Over verschillen tussen leerlingen, jaarklassen en niveaus

Net als bij de rest van Digitale geletterdheid en Informatica zijn de verschillen tussen de leerlingen in dit gebied erg groot - net als bij muziek en sport. De reden is vergelijkbaar: sommige leerlingen besteden al vanaf jonge leeftijd een groot deel van hun vrije tijd aan deze onderwerpen. Bij de opzet van het materiaal is het daarom belangrijk dat leerlingen in hun eigen tempo hiermee aan de slag kunnen.

Daarnaast zijn leerlingen voor vorderingen op het gebied van Physical computing niet erg afhankelijk van de kennis van andere vakken. Dit betekent dat dezelfde stof van Physical computing aan leerlingen van verschillende niveaus, jaarklassen en schooltypes aangeboden kan worden.

We pleiten ervoor om leerlingen in verschillende (VO) schooltypes dezelfde stof aan te bieden, waarbij de eindniveau van de verschillende onderdelen vergelijkbaar zijn.

  • het kan nodig zijn om de presentatie aan te passen aan de leerlingen, in de zin van taalgebruik, voorbeelden, grootte van de stappen, enzovoorts;
  • ook het tempo waarin de leerlingen de stof verwerken kan lager liggen;
  • terwijl de inhoud en het eindniveau gelijk blijven.
Met andere woorden: sommige leerlingen zullen minder onderdelen afronden dan andere, maar in principe werken ze allemaal aan dezelfde onderdelen.

Opzet: modules en projecten

In een project toon je je kennis en vaardigheden, voor toepassing die (meestal) betekenis heeft buiten het domein van Physical computing. (Met andere woorden: het gaat hier om Physical computing als middel.)

In een project werk je vaak samen in een diverse groep, met leerlingen van verschillende niveaus, interesses en profielen.
Een project heeft vaak een vaste start- en einddatum. Als bovendien de tijd en de middelen ("resource", mankracht e.d.) vastliggen, kun je de te leveren functionaliteit eigenlijk niet van te voren vastleggen.


In een module verwerf je in je eigen tempo kennis en vaardigheden - om deze later in projecten toe te kunnen passen.

Je werkt in je eigen tempo aan een module, individueel of met een andere leerlingen met een vergelijkbaar niveau.

(Deze aanpak met modules en projecten wordt ook gebruikt bij de Coderclass. Dit maakt het mogelijk om om te gaan met grote verschillen tussen de leerlingen.)

Physical computing: naar een leerlijn

Doel van de leerlijn

Het doel van de leerlijn is om de concepten en bouwstenen van Physical computing te leren kennen, om deze te kunnen toepassingen in eigen projecten, en om de technologische ontwikkelingen in het domein te kunnen volgen.


Het gaat hierbij om:

  • de hardware en software-bouwstenen;
    • sensoren, actuatoren, controllers, communicatie, regel- en stuuralgoritmes, enz;
  • de manieren waarop je deze kunt combineren tot een eigen "compositie";
  • de onderliggende concepten en principes;
  • de manier om van een probleem naar een oplossing met de bouwstenen te komen; hoe je de bouwstenen inzet voor het oplossen van een probleem.

Wat maakt Physical computing anders?

Naast de bouwstenen en combinatieregels van gewone computersystemen heeft Physical computing extra regels en beperkingen. Deze betreffen fysische beperkingen, zoals: een beperkt aantal pinnen, beperkte spanning/stroom/vermogen/energie, beperkte tijd om te reageren (real time!), beperkte hoeveelheid geheugen, incompatibele aansluitingen, enz.

Ook het ontwerpproces is in grote lijnen hetzelfde als voor gewone programma's. Daarnaast zorgen de extra hardware-componenten voor extra problemen, die andere experimentele vaardigheden vereisen. Bijvoorbeeld: een fout in het systeem kan het gevolg zijn van een software-fout, van een hardware-fout, of van een fout in de aansluiting tussen deze twee. Bovendien zijn hardwareproblemen soms lastig reproduceerbaar.

Fysica van ICT

Hierbij komen de fysische principes aan bod van rekenen, opslaan van gegevens, communicatie.

Opbouwen van expertise op school

Als docent kun je niet alles te weten - en hoef je ook niet alles te weten. Het is handig als er leerlingen op school zijn die dieper in verschillende aspecten van physical computing en robotica willen duiken. Als deze leerlingen expert geworden zijn, kunnen ze weer andere leerlingen helpen een stap verder te komen.

Een goede vorm om dergelijke expertise op te bouwen en door te geven is een "physical computing/robotica-club": een paar uur per week, voor leerlingen die dit willen, buiten schooltijd, met materialen en begeleiding vanuit de school.

Als docent kun je dit zelf begeleiden, maar je kunt een deel van de begeleiding ook door anderen laten doen, bijvoorbeeld door TOA's of door experts van buiten.

Leerlingen enthousiasmeren

Coderdojo.

Tabel

Leerlijn Physical Computing
Thema Kennismaking Basis Verdieping
Programmeren
  • Makecode blokken; Python
  • Inleiding Python
  • Python, C++
  • Arduino IDE
Sensoren en actuatoren
Interfaces
  • digitale input en output
  • analoge input en output
  • "analoge" PWM output
  • I2C en SPI
  • Serieel (UART)
  • pull-up,
  • pull-down,
  • basisschakelingen (button, LED)

Meten en sturen:
signalen, events,
toestand en tijd

  • (input)signalen: functieblokken
  • events: opdrachtblokken
  • tijd: wait
  • toestand; variabelen
  • toestandsovergang
  • output: actie
Motoren en relais
  • servo-motor
  • dc-motor
  • motor driver
  • H-bridge
  • transistor als schakelaar
  • stappenmotor
Elektriciteit en elektronica
  • spanning, stroom, weerstand
  • wet van Ohm
  • netwerk-wetten
  • spanningsdeler
  • transistor als (vermogens)schakelaar
  • rol van condensator
Communicatie
  • Radio
  • Host-communicatie
Fysica van rekenen
  • logische poorten met CMOS-transistoren
  • logische schakelingen
  • radio's