Physical computing leerlijn: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
 
(40 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 13: Regel 13:
* Wat zijn punten van aandacht?
* Wat zijn punten van aandacht?
** grote verschillen tussen leerlingen
** grote verschillen tussen leerlingen
* [[/Inhoudsopgave]]


== Uitgangspunten ==
== Uitgangspunten ==
Regel 38: Regel 40:
* testen: opbouwen van het systeem in kleine delen, steeds testen
* 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...)
* (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.


==== 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 50: Regel 51:
* en hoe kun je onnodige problemen vermijden?
* en hoe kun je onnodige problemen vermijden?


== Physical computing: naar een leerlijn ==
=== Over verschillen tussen leerlingen, jaarklassen en niveaus ===


=== Doel van de leerlijn ===
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.


Wat is het doel van de leerlijn? Modules om de stof te leren beheersen, om deze in te kunnen zetten als bouwstenen in eigen projecten.
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.


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


* de bouwstenen (hardware en software)
* het kan nodig zijn om de presentatie aan te passen aan de leerlingen, in de zin van taalgebruik, voorbeelden, grootte van de stappen, enzovoorts;
* de manieren waarop je deze kunt combineren ("taal- en architectuur-aspecten") tot een eigen "compositie".
* ook het tempo waarin de leerlingen de stof verwerken kan lager liggen;
** in de wereld van physical computing zijn er andere regels voor het combineren van onderdelen. Je hebt bijvoorbeeld te maken met een beperkt aantal pinnen, beperkte spanning/stroom/vermogen/energie, beperkte tijd (real time!), beperkte hoeveelheid geheugen, enz. (incompatibele aansluitingen)
* terwijl de inhoud en het eindniveau gelijk blijven.
* 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.


=== Stap 1: kennismaking ===
: Met andere woorden: sommige leerlingen zullen minder onderdelen afronden dan andere, maar in principe werken ze allemaal aan dezelfde onderdelen.


* kennismaking met basisbegrippen van physical computing en programmeren
=== Opzet: modules en projecten ===
* bijv.: micro:bit met blokjesprogrammeren
* "engagement" belangrijker dan kennis en vaardigheden; succes-ervaringen
* aansluiting bij persoonlijke interesses - via projecten (die je kunt nabouwen)
* eventueel: naast ingebouwde sensoren en actuatoren, gebruik van Grove componenten.


Leerdoelen:
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.)


* kunnen benoemen van de hardware-onderdelen van een physical computing systeem,
: In een project werk je vaak samen in een diverse groep, met leerlingen van verschillende niveaus, interesses en profielen.
bijvoorbeeld aan de hand van een micro:bit; en in een schema
* kennis van enkele sensoren en actuatoren; en hoe je deze bestuurt vanuit software (blokjes)
* identificeren van physical computing-voorbeelden in de eigen omgeving
* (enig begrip van het "waarom" van physical computing; waarom heb je een controller nodig?)


==== Software ====
: 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.


* Makecode (blokjesprogrammeren)


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


* microbit
: Je werkt in je eigen tempo aan een module, individueel of met een andere leerlingen met een vergelijkbaar niveau.
* eventueel: Grove shield
* met extra Grove sensoren


==== Lesmateriaal ====
(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.)


* bijv. DevLab materiaal
== Physical computing: naar een leerlijn ==


=== Stap 2: (Brede?) Basis ===
=== Doel van de leerlijn ===


De basisprincipes van Physical computing komen hier aan de orde:
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.
begrippen die je in vrijwel elk project nodig hebt.


Persoonlijke interesses kunnen in de projecten vorm krijgen.


Programmeren in Python; hardware in eerste instantie nog via Grove, maar ook kennismaking met breadboard.
Het gaat hierbij om:


==== Elektriciteit; spanning, stroom, weerstand, vermogen, energie ====
* 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.


* 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?
==== Wat maakt Physical computing anders? ====


==== Signalen en events ====
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.


* waarvoor heb je deze kennis nodig? deze begrippen komen in bijna elke toepassing voor.
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.
* 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 ====
=== Fysica van ICT ===


* (gekoppeld aan events; PWM)
Hierbij komen de fysische principes aan bod van rekenen, opslaan van gegevens, communicatie.
 
==== Besturing: eindige automaten ====


* waarvoor heb je deze kennis nodig? komen in veel toepassingen voor
== Opbouwen van expertise op school ==
* directe besturing: van input naar output (met eventueel scholing)
* toestandsafhankelijke besturing: eindige automaten
* splitsen in een eenvoudige inleiding en een verdieping.


==== Serie-protocollen ====
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.


* gebruik van libraries - voor i2c en SPI; en voor specifieke sensoren; voor digitale LEDs
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.
* master/slave; adressering


=== Stap 3: Verdieping (naar keuze) ===
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.


Naast de uitgewerkte bouwstenen, zijn er nog veel meer andere bouwstenen beschikbaar:
== Leerlingen enthousiasmeren ==


* sensoren, actuatoren
Coderdojo.
* libraries


Je leert hoe je daar mee om kunt gaan; hoe je de beschrijvingen leest (o.a. datasheets);
== Tabel ==
 
* 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"
{| class="wikitable"
|+ Caption text
|+ Leerlijn Physical Computing
|-
|-
! Koptekst !! Koptekst !! Koptekst
! Thema
! style="background-color: white;"  | Kennismaking
! style="background-color: yellow;" | Basis
! style="background-color: orange;" | Verdieping
|- style="background-color: lightyellow;"
| [[Physical computing/Programmeren | Programmeren]]
|
* Makecode blokken; Fontys leskaarten
* https://www.micro-bit.nl/lesmateriaal
|
* Makecode blokken; Python
* Inleiding Python
|
* 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
|
|-
|-
| Voorbeeld || Voorbeeld || Voorbeeld
| [[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
|-
|-
| Voorbeeld || Voorbeeld || Voorbeeld
| [[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
|}
|}
=== Fysica van ICT ===
Hierbij komen de fysische principes aan bod van rekenen, opslaan van gegevens, communicatie.

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