<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
	<id>https://infvo.nl/lab/index.php?action=history&amp;feed=atom&amp;title=Arduino%2FDigitale_uitvoer</id>
	<title>Arduino/Digitale uitvoer - Bewerkingsoverzicht</title>
	<link rel="self" type="application/atom+xml" href="https://infvo.nl/lab/index.php?action=history&amp;feed=atom&amp;title=Arduino%2FDigitale_uitvoer"/>
	<link rel="alternate" type="text/html" href="https://infvo.nl/lab/index.php?title=Arduino/Digitale_uitvoer&amp;action=history"/>
	<updated>2026-04-26T09:46:36Z</updated>
	<subtitle>Bewerkingsoverzicht voor deze pagina op de wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://infvo.nl/lab/index.php?title=Arduino/Digitale_uitvoer&amp;diff=20&amp;oldid=prev</id>
		<title>Eelco: 1 versie</title>
		<link rel="alternate" type="text/html" href="https://infvo.nl/lab/index.php?title=Arduino/Digitale_uitvoer&amp;diff=20&amp;oldid=prev"/>
		<updated>2014-03-26T21:06:26Z</updated>

		<summary type="html">&lt;p&gt;1 versie&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 26 mrt 2014 21:06&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/lab/index.php?title=Arduino/Digitale_uitvoer&amp;diff=19&amp;oldid=prev</id>
		<title>Eelco: /* Vraag */</title>
		<link rel="alternate" type="text/html" href="https://infvo.nl/lab/index.php?title=Arduino/Digitale_uitvoer&amp;diff=19&amp;oldid=prev"/>
		<updated>2013-10-08T14:48:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Vraag&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nieuwe pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Zijbalk Arduino}}&lt;br /&gt;
&lt;br /&gt;
De meeste pinnen van de Arduino kun je gebruiken als digitale uitvoer.&lt;br /&gt;
&lt;br /&gt;
== Hoe gebruik je een pin als uitvoer? ==&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
Voordat je een pin als uitvoer kunt gebruiken moet je de hardware daarvoor instellen, bijvoorbeeld:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
  pinMode(ledPin, OUTPUT);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Besturing (loop) ===&lt;br /&gt;
Je kunt het niveau van een pin zetten door de waarde  LOW of HIGH naar deze pin te schrijven, bijvoorbeeld&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  digitalWrite(ledPin, HIGH);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De constanten LOW en HIGH komen overeen met 0 en 1.  Op grond van deze eigenschap kun je de waarde van een variabele &amp;lt;code&amp;gt;level&amp;lt;/code&amp;gt; die de waarde LOW of HIGH heeft omkeren door:&lt;br /&gt;
* &amp;lt;code&amp;gt;level = HIGH - level; &amp;lt;/code&amp;gt;, of&lt;br /&gt;
* &amp;lt;code&amp;gt;level = 1 - level; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hardware-eigenschappen ==&lt;br /&gt;
&lt;br /&gt;
==== Spanning ====&lt;br /&gt;
De digitale waarde LOW resulteert aan de elektrische kant in een spanning van 0V op de pin, de waarde HIGH in een spanning van 5V.&lt;br /&gt;
* De waarde HIGH komt overeen met de voedingsspanning; bij een  Atmega microcontroller die op 3,3V werkt zal de pin die spanning krijgen.&lt;br /&gt;
&lt;br /&gt;
==== Stroom ====&lt;br /&gt;
Een pin van de Atmega microcontroller mag maximaal 40mA leveren. Maar dit kan niet voor alle pinnen tegelijk: de maximale stroom door de Atmega is beperkt tot 200 mA. In de praktijk proberen we daarom de stroom door een pin te beperken tot 20 mA of minder.&lt;br /&gt;
* zie Atmega Datasheet, sectie 26.1.&lt;br /&gt;
&lt;br /&gt;
Als er een grotere stroom nodig is, bijvoorbeeld voor het aansturen van een motor of een relais, dan kunnen we vanuit de Arduino een transistor aansturen die deze grotere stroom schakelt. We moeten dan wel een voeding hebben die een dergelijke grote stroom kan leveren.&lt;br /&gt;
* een USB-poort van een computer levert maximaal 500mA (USB 3.0 mogelijk meer).&lt;br /&gt;
&lt;br /&gt;
=== Vraag ===&lt;br /&gt;
In principe kun je de mode van een pin ook in de loop van het programma veranderen - maar het is de vraag of dit zin heeft: de hardware die eraan gekoppeld is kun je ook niet zomaar veranderen. Zijn hiervan voorbeelden te vinden, bijvoorbeeld in het geval van communicatie-protocollen?&lt;br /&gt;
* Een voorbeeld is het gebruik van een schakeling met een condensator: door de pin eerst als digitale output te gebruiken laad je de condensator op, door vervolgens dezelfde pin als input te gebruiken, en te timen wanneer deze van waarde verandert, kun je een bepaalde grootheid meten.&lt;br /&gt;
&lt;br /&gt;
== Waar moet je om denken? ==&lt;br /&gt;
&lt;br /&gt;
=== Een uitvoer-pin gaat kapot door een te grote stroom ===&lt;br /&gt;
Een uitvoer-pin van een Arduino (Atmega328) kan maximaal 40mA leveren: als de stroom groter wordt, kan deze pin en/of de rest van de microcontroller kapot gaan. Kortsluiting levert een grote stroom op, en dat moet je natuurlijk altijd vermijden. Maar ook in gewone schakelingen moet je rekening houden met deze maximale stroom.&lt;br /&gt;
&lt;br /&gt;
* bij het aansturen van een LED gebruik je een serieweerstand om de stroom te beperken;&lt;br /&gt;
* als je een grotere stroom nodig hebt, bijvoorbeeld om een motor aan te sturen, stuur je met een uitvoer-pin van de Arduino een transistor aan (of een relais?) die een grotere stroom kan verwerken.&lt;br /&gt;
&lt;br /&gt;
=== Aansturen van elektronica met zwevende uitgang ===&lt;br /&gt;
Als een uitgang nog niet geïnitialiseerd is als digitale uitgang, dan kan deze in een &amp;quot;zwevende&amp;quot; toestand zijn. Als je deze gebruikt om andere apparaten mee aan te sturen, kan dat onvoorspelbare resultaten geven. In sommige gevallen is het daarom aan te raden om een pull-down weerstand te gebruiken, zodat de uitgang altijd een gedefinieerd niveau heeft, ook als deze nog niet geïnitaliseerd is. In dat laatste geval is het niveau 0V, voor een veilige aansturing.&lt;br /&gt;
&lt;br /&gt;
=== Energie-overwegingen ===&lt;br /&gt;
Bij een elektronische schakeling is het verstandig om een ruwe vermogen- en energie-berekening te doen:&lt;br /&gt;
* de schakeling moet niet teveel energie gebruiken; in het bijzonder voor batterij-gevoede schakelingen is dit van belang;&lt;br /&gt;
* onderdelen kunnen door een grote warmteontwikkeling kapot gaan.&lt;/div&gt;</summary>
		<author><name>Eelco</name></author>
	</entry>
</feed>