Physical computing: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 1: Regel 1:
{{Zijbalk Physical computing}}
{{Zijbalk Physical computing}}
Deze cursus Physical computing is bedoeld om kennis te maken met de Physical computing bouwdoos.
Bij elke bouwdoos gaat het om drie zaken:
* wat zijn de beschikbare bouwstenen?
* hoe kun je deze bouwstenen combineren?
* hoe los je een probleem op met behulp van deze bouwstenen?
In het geval van Physical computing hebben we te maken met hardware-bouwstenen, met software-bouwstenen,
en met interfaces en programma's die deze bouwstenen combineren tot een werkende oplossing.
Het doel is dat je met de kennis van deze cursus weet hoe je een aantal elementaire bouwstenen kunt gebruiken en kunt combineren.
Bovendien moet je van een nieuwe bouwsteen kunnen begrijpen hoe je deze gebruikt, en hoe je deze met andere bouwstenen kunt combineren (of niet).
=== Hardware is anders ===
In de wereld van de software ben je gewend dat vrijwel alle combinaties van bouwstenen mogelijk zijn.
Niet alle combinaties zijn zinvol, maar er zijn nauwelijks beperkingen op de combinaties.
Hardware is anders: je hebt te maken met beperkte "resources" zoals pinnen, timers, adressen enz.
Als een resource gebruikt wordt door één bouwsteen, kun je deze niet gebruiken voor een andere bouwsteen - in elk geval, niet op hetzelfde moment.
Dit betekent dat sommige combinaties van onderdelen niet mogelijk zijn.
Bovendien heb je te maken met een fysieke wereld: opdrachten kosten tijd; het aansturen van onderdelen kost energie; sensoren zijn niet perfect, en meten niet precies de waarden die je dacht te meten; de fysieke buitenwereld reageert misschien anders dan je gedacht had; enz.
Hardware kan kapot gaan als je deze niet op de juiste manier behandelt. In software kun je van alles uitproberen, maar in hardware moet je voorzichtig zijn met het aansluiten van onderdelen, het voorkomen van kortsluiting, enz. De regels hiervoor zijn niet heel ingewikkeld, maar als je een fout maakt zie je soms een foutmelding in de vorm van een rookpluim of een stinkend onderdeel; of soms juist stilte.
Werken op de grens van de virtuele wereld (van informatie) en de fysieke wereld betekent bovendien dat je op meerdere plaatsen fouten kunt maken.
Als je oplossing niet werkt, kun je een fout gemaakt hebben in je programma, in de hardware-schakeling, of in de aansluiting tussen beide.
Het voorkomen van fouten, en het zoeken naar de bron van een fout, vereist een aparte aanpak.
== Wat zijn de bouwstenen ==


* [[/Sensoren en actuatoren]]
* [[/Sensoren en actuatoren]]
Regel 6: Regel 37:
* [[/Signalen en events]]
* [[/Signalen en events]]
* [[/Hardware: microcontrollers]]
* [[/Hardware: microcontrollers]]
== Elementaire hardware-schakelingen ==
Voor deze elementaire schakelingen heb je geen computer nodig:
je hebt alleen een voedingsspanning van 3V en/of 5V nodig.
* [[/LED]]
* [[/Button]]
* [[/Potmeter]]
== Basisbouwstenen ==
Deze basisbouwstenen kom je in veel programma's tegen.
Je kunt hiermee al veel leuke dingen maken.
* [[/Digitale output]]
* [[/Analoge output: PWM]]
* [[/Digitale input]]
* [[/Analoge input]]
* [[/Seriële output]]
* [[/Seriële input]]
* [[/Timers]]

Versie van 9 nov 2019 18:47

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 cursus Physical computing is bedoeld om kennis te maken met de Physical computing bouwdoos. Bij elke bouwdoos gaat het om drie zaken:

  • wat zijn de beschikbare bouwstenen?
  • hoe kun je deze bouwstenen combineren?
  • hoe los je een probleem op met behulp van deze bouwstenen?

In het geval van Physical computing hebben we te maken met hardware-bouwstenen, met software-bouwstenen, en met interfaces en programma's die deze bouwstenen combineren tot een werkende oplossing.

Het doel is dat je met de kennis van deze cursus weet hoe je een aantal elementaire bouwstenen kunt gebruiken en kunt combineren. Bovendien moet je van een nieuwe bouwsteen kunnen begrijpen hoe je deze gebruikt, en hoe je deze met andere bouwstenen kunt combineren (of niet).

Hardware is anders

In de wereld van de software ben je gewend dat vrijwel alle combinaties van bouwstenen mogelijk zijn. Niet alle combinaties zijn zinvol, maar er zijn nauwelijks beperkingen op de combinaties.

Hardware is anders: je hebt te maken met beperkte "resources" zoals pinnen, timers, adressen enz. Als een resource gebruikt wordt door één bouwsteen, kun je deze niet gebruiken voor een andere bouwsteen - in elk geval, niet op hetzelfde moment. Dit betekent dat sommige combinaties van onderdelen niet mogelijk zijn.

Bovendien heb je te maken met een fysieke wereld: opdrachten kosten tijd; het aansturen van onderdelen kost energie; sensoren zijn niet perfect, en meten niet precies de waarden die je dacht te meten; de fysieke buitenwereld reageert misschien anders dan je gedacht had; enz.

Hardware kan kapot gaan als je deze niet op de juiste manier behandelt. In software kun je van alles uitproberen, maar in hardware moet je voorzichtig zijn met het aansluiten van onderdelen, het voorkomen van kortsluiting, enz. De regels hiervoor zijn niet heel ingewikkeld, maar als je een fout maakt zie je soms een foutmelding in de vorm van een rookpluim of een stinkend onderdeel; of soms juist stilte.

Werken op de grens van de virtuele wereld (van informatie) en de fysieke wereld betekent bovendien dat je op meerdere plaatsen fouten kunt maken. Als je oplossing niet werkt, kun je een fout gemaakt hebben in je programma, in de hardware-schakeling, of in de aansluiting tussen beide. Het voorkomen van fouten, en het zoeken naar de bron van een fout, vereist een aparte aanpak.

Wat zijn de bouwstenen

Elementaire hardware-schakelingen

Voor deze elementaire schakelingen heb je geen computer nodig: je hebt alleen een voedingsspanning van 3V en/of 5V nodig.

Basisbouwstenen

Deze basisbouwstenen kom je in veel programma's tegen. Je kunt hiermee al veel leuke dingen maken.