<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
	<id>https://infvo.nl/basis/index.php?action=history&amp;feed=atom&amp;title=Arduino-opdrachten%2FAnaloge-dimmer</id>
	<title>Arduino-opdrachten/Analoge-dimmer - Bewerkingsoverzicht</title>
	<link rel="self" type="application/atom+xml" href="https://infvo.nl/basis/index.php?action=history&amp;feed=atom&amp;title=Arduino-opdrachten%2FAnaloge-dimmer"/>
	<link rel="alternate" type="text/html" href="https://infvo.nl/basis/index.php?title=Arduino-opdrachten/Analoge-dimmer&amp;action=history"/>
	<updated>2026-04-26T11:23:43Z</updated>
	<subtitle>Bewerkingsoverzicht voor deze pagina op de wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://infvo.nl/basis/index.php?title=Arduino-opdrachten/Analoge-dimmer&amp;diff=585&amp;oldid=prev</id>
		<title>Eelco: Eelco heeft de pagina Arduino-opdrachten/Analoge dimmer hernoemd naar Arduino-opdrachten/Analoge-dimmer zonder een doorverwijzing achter te laten</title>
		<link rel="alternate" type="text/html" href="https://infvo.nl/basis/index.php?title=Arduino-opdrachten/Analoge-dimmer&amp;diff=585&amp;oldid=prev"/>
		<updated>2016-05-24T09:26:09Z</updated>

		<summary type="html">&lt;p&gt;Eelco heeft de pagina &lt;a href=&quot;/basis/index.php?title=Arduino-opdrachten/Analoge_dimmer&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Arduino-opdrachten/Analoge dimmer (de pagina bestaat niet)&quot;&gt;Arduino-opdrachten/Analoge dimmer&lt;/a&gt; hernoemd naar &lt;a href=&quot;/basis/index.php?title=Arduino-opdrachten/Analoge-dimmer&quot; title=&quot;Arduino-opdrachten/Analoge-dimmer&quot;&gt;Arduino-opdrachten/Analoge-dimmer&lt;/a&gt; zonder een doorverwijzing achter te laten&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;nl&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Oudere versie&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versie van 24 mei 2016 11:26&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;nl&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(geen verschil)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Eelco</name></author>
	</entry>
	<entry>
		<id>https://infvo.nl/basis/index.php?title=Arduino-opdrachten/Analoge-dimmer&amp;diff=580&amp;oldid=prev</id>
		<title>Eelco: Nieuwe pagina aangemaakt met &#039;{{Zijbalk Arduino-opdrachten}}  == Analoge dimmer ==    {{Leerdoelen|analoge invoer (A/D omzetting), PWM }} {{Voorkennis|Sweep}} {{Onde...&#039;</title>
		<link rel="alternate" type="text/html" href="https://infvo.nl/basis/index.php?title=Arduino-opdrachten/Analoge-dimmer&amp;diff=580&amp;oldid=prev"/>
		<updated>2016-05-24T09:23:32Z</updated>

		<summary type="html">&lt;p&gt;Nieuwe pagina aangemaakt met &amp;#039;{{Zijbalk Arduino-opdrachten}}  == Analoge dimmer ==    {{Leerdoelen|analoge invoer (A/D omzetting), PWM }} {{Voorkennis|&lt;a href=&quot;/basis/index.php?title=Arduino-opdrachten/Sweep&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Arduino-opdrachten/Sweep (de pagina bestaat niet)&quot;&gt;Sweep&lt;/a&gt;}} {{Onde...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nieuwe pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Zijbalk Arduino-opdrachten}}&lt;br /&gt;
&lt;br /&gt;
== Analoge dimmer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Leerdoelen|analoge invoer (A/D omzetting), PWM }}&lt;br /&gt;
{{Voorkennis|[[Arduino-opdrachten/Sweep|Sweep]]}}&lt;br /&gt;
{{Onderdelen| &lt;br /&gt;
[[Arduino/LED|LED]], &lt;br /&gt;
[[Arduino/Weerstand|weerstand]] 220 ohm (rood-rood-bruin-goud),&lt;br /&gt;
[[Arduino/Potmeter|potmeter]] &lt;br /&gt;
}}&lt;br /&gt;
{{Libraries en functies| analogRead, Serial, analogWrite&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Inleiding ==&lt;br /&gt;
[[Bestand:Analoge-dimmer-schets.png|thumb|right|250px|Analoge dimmer]]&lt;br /&gt;
&lt;br /&gt;
== Opbouwen van de schakeling ==&lt;br /&gt;
[[Bestand:Analoge-dimmer_bb.png|thumb|right|250px|Dimmer met potmeter]]&lt;br /&gt;
&lt;br /&gt;
* Plaats een LED met serieweerstand op het breadboard, en verbind deze met pin 9 (PWM);&lt;br /&gt;
* Plaats een potmeter van 10kOhm op het breadboard;&lt;br /&gt;
** de montage is afhankelijk van het model potmeter dat je gebruikt;&lt;br /&gt;
** soms is het handig om de potmeter over de lege middenlijn te monteren;&lt;br /&gt;
** verbind de linker aansluiting van de potmeter met 5V&lt;br /&gt;
** verbind de rechter aansluiting van de potmeter met 0V&lt;br /&gt;
** verbind de middelste aansluiting (de &amp;quot;loper&amp;quot;) van de potmeter met pin A0 (analoge input).&lt;br /&gt;
&lt;br /&gt;
* Verbind de 5V-lijn van het breadboard met de 5V pin van de Arduino;&lt;br /&gt;
* Verbind de 0V lijn van het breadboard met de GND-pin van de Arduino.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Je kunt de schakeling testen door de aansluiting van de LED te verplaatsen van pin 9 naar de kolom van de middelste aansluiting van de potmeter (de &amp;quot;loper&amp;quot;). Als je dan aan de potmeter draait moet de LED feller of minder fel gaan branden.&lt;br /&gt;
&lt;br /&gt;
== Schema ==&lt;br /&gt;
[[Bestand:Analoge-dimmer-schema.png|thumb|right|250px|Dimmer met potmeter]]&lt;br /&gt;
&lt;br /&gt;
== Programma ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
int led = 9; // PWM pin&lt;br /&gt;
int potmeter = A0;&lt;br /&gt;
&lt;br /&gt;
int ledState = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(led, OUTPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  ledState = analogRead(potmeter) / 4;&lt;br /&gt;
  analogWrite(led, ledState);&lt;br /&gt;
  Serial.println(ledState);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uitleg van het programma ==&lt;br /&gt;
&lt;br /&gt;
Voor de invoer van een analoge waarde gebruiken we &amp;lt;code&amp;gt;analogRead&amp;lt;/code&amp;gt;. Het resultaat van deze functie is een waarde tussen 0 (voor 0V) en 1023 (voor 5V). Deze input maakt gebruik van de 10-bits analoog-digitaal omzetter van de Arduino.&lt;br /&gt;
&lt;br /&gt;
Het bereik van de analoge invoer is 0..1023 (10 bits). Het bereik van de analoge uitvoer is 0..255 (8 bits). Dit betekent dat we een invoer-waarde terug moeten brengen (&amp;quot;schalen&amp;quot;) naar het uitvoer-bereik: hiervoor delen we deze waarde door 4.&lt;br /&gt;
&lt;br /&gt;
De functie &amp;lt;code&amp;gt;analogWrite(led, ledState);&amp;lt;/code&amp;gt; schrijft de waarde van &amp;lt;code&amp;gt;ledState&amp;lt;/code&amp;gt; naar de PWM-uitvoer. De intensiteit van de LED neemt toe met de waarde van &amp;lt;code&amp;gt;ledState&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
De functie &amp;lt;code&amp;gt;Serial.println&amp;lt;/code&amp;gt; stuurt de gegevens naar de host; je kunt deze bekijken via het seriële monitor-venster van de Arduino-omgeving: Hulpmiddelen-&amp;gt;Seriële monitor.&lt;br /&gt;
* de snelheid in het programma (&amp;lt;code&amp;gt;Serial.begin(9600);&amp;lt;/code&amp;gt;) moet gelijk zijn aan de snelheid die voor dit venster ingesteld is (9600 baud).&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Het programma bevat een aantal onderdelen die alleen voor het testen nodig zijn:&lt;br /&gt;
* het gebruik van &amp;lt;code&amp;gt;Serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* het gebruik van de variabele &amp;lt;code&amp;gt;ledState&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Als je deze onderdelen weglaat, houd je de volgende opdracht over in de &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;-functie: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;analogWrite(led, analogRead(potmeter) / 4); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Deze regel geeft goed weer dat je in de software een directe verbinding maakt van de potmeter-invoer naar de LED-uitvoer.&lt;br /&gt;
&lt;br /&gt;
Het schalen van 10 naar 8 bits is in dit geval eenvoudig. Voor lastiger schalingsproblemen kun je de functie &amp;lt;code&amp;gt;map&amp;lt;/code&amp;gt; gebruiken, zie https://www.arduino.cc/en/Reference/Map. In dit geval wordt dat: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;ledState = map(analogRead(potmeter), 0, 1023, 0, 255); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voor deze toepassing is de precisie van de analoge invoer niet zo belangrijk. Als de precisie wel van belang is, zoals voor een analoge temperatuursensor, dan kun je met een aantal maatregelen deze verbeteren. Zie Analoge input.&lt;br /&gt;
&lt;br /&gt;
De A/D omzetter van de Arduino is niet erg snel en niet erg precies. Deze is geschikt voor zoiets als een temperatuurmeting, maar niet voor geluidssignalen.&lt;br /&gt;
&lt;br /&gt;
== Vragen en opdrachten ==&lt;br /&gt;
&lt;br /&gt;
=== Eerste experimenten ===&lt;br /&gt;
&lt;br /&gt;
=== Verdiepingsvragen ===&lt;br /&gt;
&lt;br /&gt;
* laat de deling door 4 (voor de schaling) weg uit het programma.&lt;br /&gt;
** wat verwacht je dat er gebeurt, en waarom?&lt;br /&gt;
** voer het experiment uit.&lt;br /&gt;
** verklaar het resultaat.&lt;/div&gt;</summary>
		<author><name>Eelco</name></author>
	</entry>
</feed>