<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.spad-it.nl/index.php?action=history&amp;feed=atom&amp;title=Arduino_-_1-digit_LED_Segment_Display</id>
		<title>Arduino - 1-digit LED Segment Display - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.spad-it.nl/index.php?action=history&amp;feed=atom&amp;title=Arduino_-_1-digit_LED_Segment_Display"/>
		<link rel="alternate" type="text/html" href="http://wiki.spad-it.nl/index.php?title=Arduino_-_1-digit_LED_Segment_Display&amp;action=history"/>
		<updated>2026-07-04T03:41:28Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.3</generator>

	<entry>
		<id>http://wiki.spad-it.nl/index.php?title=Arduino_-_1-digit_LED_Segment_Display&amp;diff=189&amp;oldid=prev</id>
		<title>WikiAdmin: /* Beetje spelen */</title>
		<link rel="alternate" type="text/html" href="http://wiki.spad-it.nl/index.php?title=Arduino_-_1-digit_LED_Segment_Display&amp;diff=189&amp;oldid=prev"/>
				<updated>2020-12-07T11:20:34Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Beetje spelen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 11:20, 7 December 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l120&quot; &gt;Line 120:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 120:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Beetje spelen===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Beetje spelen===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Als je hier wat wilt spelen kun je de teller omkeren: in plaats van aftellen gaat hij dan van 0 naar 9. Leuker is het wellicht om hem te laten aftellen en bij 0 aangekomen alle lampjes een paar keer snel aan en uit te laten gaan. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zoals uitgelegd zijn de cijfers als patronen gedefinieerd. Maar je kunt op dezelfde manier ook andere patronen maken, zoals de letters van het alfabet. Onderstaand zie je een voorbeeld van hoe je cijfers en de meeste letters zou kunnen maken met dit display (met soms een kleine in plaats van een hoofdletter). Met al deze patronen kun je het programma ook woorden laten spellen. Eventueel kun je de nog ontbrekende letters ook toevoegen, maar dan wordt de X al snel hetzelfde als de H (tenzij je een kleine letter h gebruikt) en de V hetzelfde als de U. Tja, voor het alfabet blijft het met dit display een beetje behelpen. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{|class=&amp;quot;wikitable&amp;quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|[[File:letter_display.jpg|500px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|Cijfers en letters in het segment display&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Navigatie===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Navigatie===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>WikiAdmin</name></author>	</entry>

	<entry>
		<id>http://wiki.spad-it.nl/index.php?title=Arduino_-_1-digit_LED_Segment_Display&amp;diff=54&amp;oldid=prev</id>
		<title>WikiAdmin: /* Een Segment Display */</title>
		<link rel="alternate" type="text/html" href="http://wiki.spad-it.nl/index.php?title=Arduino_-_1-digit_LED_Segment_Display&amp;diff=54&amp;oldid=prev"/>
				<updated>2017-09-12T06:56:32Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Een Segment Display&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 06:56, 12 September 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot; &gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;105px_segment_display&lt;/del&gt;-animated.gif|155px]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;105px-Seven_segment_display&lt;/ins&gt;-animated.gif|155px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Cijfers en primitieve letters in een segment display&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Cijfers en primitieve letters in een segment display&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>WikiAdmin</name></author>	</entry>

	<entry>
		<id>http://wiki.spad-it.nl/index.php?title=Arduino_-_1-digit_LED_Segment_Display&amp;diff=53&amp;oldid=prev</id>
		<title>WikiAdmin: Created page with &quot;===Een Segment Display=== Een segment display bevat een aantal langwerpige elementen, meestal LED's, die voornamelijk bedoeld zijn om cijfers weer te geven, maarin principe ku...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.spad-it.nl/index.php?title=Arduino_-_1-digit_LED_Segment_Display&amp;diff=53&amp;oldid=prev"/>
				<updated>2017-09-12T06:55:42Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;===Een Segment Display=== Een segment display bevat een aantal langwerpige elementen, meestal LED&amp;#039;s, die voornamelijk bedoeld zijn om cijfers weer te geven, maarin principe ku...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Een Segment Display===&lt;br /&gt;
Een segment display bevat een aantal langwerpige elementen, meestal LED's, die voornamelijk bedoeld zijn om cijfers weer te geven, maarin principe kunnen er ook eenvoudige letters mee worden gemaakt. &lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:105px_segment_display-animated.gif|155px]]&lt;br /&gt;
|-&lt;br /&gt;
|Cijfers en primitieve letters in een segment display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Het display uit bovenstaand voorbeeld heeft 8 LED's: drie horizontale streepjes, twee vertikale streepjes boven, twee vertikale streepjes onder en de punt. Elk ''segment'' kan apart worden aan- en uitgezet. Bij de aansturing van een segment display ontstaan de cijfers (en letters) door de juiste combinatie van segmenten aan te zetten. De pootjes van zo'n display zijn verbonden met de 8 individuele LEDjes, terwijl er meestal een gemeenschappelijke plus is (common annode), of juist een gemeenschappelijke min (common cathode). Hoewel ze in principe gelijkwaardig zijn, werkt een common cathode iets gemakkelijker omdat de LEDjes daarvan aangaan als de plus-kant van dat LEDje hoog wordt. Bij een common annode is het plus signaal altijd aanwezig en gaat een LEDje juist aan als de andere kant laag wordt. Voor veel mensen is dat net iets minder logisch. Een 8 segment display, zoals boven, heeft dus 8 connecties voor elke LED plus een common annode (plus) of cathode (min). &lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:SegmentDisplay_CC_PinConfig.png|350px]]&lt;br /&gt;
|-&lt;br /&gt;
|Common Cathode Segment Display - pin cofiguratie&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
De letters geven aan om welke LED het gaat. Zet je bijvoorbeeld a,b,c,d en g aan, dan krijg je het cijfer 3. De punt is verbonden met pootje 5. Net als bij andere LED's moet de stroom door de LED's van een segment display worden beperkt met een weerstand. Je moet dan voor elke LED een eigen weerstand gebruiken omdat de LED-jes anders elkaar beinvloeden. Zie je overigens dat zowel pootje 3 als 8 aan de common cathode zitten? Het volstaat dus om een van de twee pootjes met de nul te verbinden.&lt;br /&gt;
&lt;br /&gt;
===De schakeling===&lt;br /&gt;
Extra benodigdheden:&lt;br /&gt;
*1 1-digit segment display met common cathode (= gemeenschappelijke min)&lt;br /&gt;
*8 weerstanden van 180Ω-220Ω&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:1DigitSegmentDisplay.png]]&lt;br /&gt;
|-&lt;br /&gt;
|Schakeling voor 1 digit segment display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Het programma===&lt;br /&gt;
Het volgende programma bevat een paar nieuwe elementen. Upload het eerst maar naar je Arduino. Het wordt hieronder in detail besproken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
byte LEDs[8];          // lijst met alle LED-pins a,b,c,d,e,f,g, en de punt&lt;br /&gt;
byte patronen[10];     // lijst met bit patronen voor alle cijfers, de punt, en de '-'&lt;br /&gt;
byte point=B00000001;  // de punt&lt;br /&gt;
byte minus=B00000010;  // de &amp;quot;-&amp;quot;&lt;br /&gt;
int wachttijd = 100;   // tijdsduur van elk cijfer&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // maak een lijstje van de LED pins in volgorde van hun functie (functies 'a', 'b', etc) &lt;br /&gt;
  LEDs[0]=7;  // a - zit aan pin 7 van de Arduino&lt;br /&gt;
  LEDs[1]=6;  // b - zit aan pin 6 van de Arduino&lt;br /&gt;
  LEDs[2]=5;  // c - etc.&lt;br /&gt;
  LEDs[3]=10; // d&lt;br /&gt;
  LEDs[4]=11; // e&lt;br /&gt;
  LEDs[5]=8;  // f&lt;br /&gt;
  LEDs[6]=9;  // g&lt;br /&gt;
  LEDs[7]=4;  // punt&lt;br /&gt;
  // vul de tabel met aan/uit patronen voor elk van de cijfers&lt;br /&gt;
  // &amp;quot;B&amp;quot; is de &amp;quot;binary formatter&amp;quot;: B10000010 =&amp;gt; alleen het eerste en een-na-laatste bit staan aan&lt;br /&gt;
  // het eerste bit is voor de &amp;quot;a&amp;quot; LED, het tweede voor de &amp;quot;b&amp;quot; LED, enz. Het laatste is voor de punt&lt;br /&gt;
  // pattern = Babcdefgp;&lt;br /&gt;
  patronen[ 0]=B11111100;&lt;br /&gt;
  patronen[ 1]=B01100000;&lt;br /&gt;
  patronen[ 2]=B11011010;&lt;br /&gt;
  patronen[ 3]=B11110010;&lt;br /&gt;
  patronen[ 4]=B01100110;&lt;br /&gt;
  patronen[ 5]=B10110110;&lt;br /&gt;
  patronen[ 6]=B10111110;&lt;br /&gt;
  patronen[ 7]=B11100000;&lt;br /&gt;
  patronen[ 8]=B11111110;&lt;br /&gt;
  patronen[ 9]=B11110110;&lt;br /&gt;
  // zet alle LED-pins op output mode&lt;br /&gt;
  for (int i=0; i&amp;lt;8; i++)&lt;br /&gt;
    pinMode(LEDs[i],OUTPUT);&lt;br /&gt;
  // test patroon&lt;br /&gt;
  for (int i=0; i&amp;lt;4; i++)&lt;br /&gt;
  {&lt;br /&gt;
    byte patroon = B10000000;&lt;br /&gt;
    for (byte j=0; j&amp;lt;6; j++)&lt;br /&gt;
    {&lt;br /&gt;
      showPattern(patroon &amp;gt;&amp;gt; j);  // schuif patroon j plekken naar rechts&lt;br /&gt;
      delay(50);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  showPattern(B11111111);&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void showPattern(byte patroon) // deze functie toont het gegeven LED patroon&lt;br /&gt;
{&lt;br /&gt;
  byte first = B10000000;  // the first bit that refers to LED &amp;quot;a&amp;quot;&lt;br /&gt;
  for (byte i=0; i&amp;lt;8; i++)&lt;br /&gt;
    // &amp;quot;&amp;gt;&amp;gt;&amp;quot; shifts B10000000 a number of bits to the right (so &amp;quot;B10000000 &amp;gt;&amp;gt; 2&amp;quot; makes &amp;quot;B00100000&amp;quot;)&lt;br /&gt;
    // &amp;quot;&amp;amp;&amp;quot; performs a bitwise AND on the numbers&lt;br /&gt;
    digitalWrite(LEDs[i], patroon &amp;amp; (first&amp;gt;&amp;gt;i) ); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  for (int i=9; i&amp;gt;=0; i--)&lt;br /&gt;
  {&lt;br /&gt;
    showPattern(patronen[i]);&lt;br /&gt;
    delay(wachttijd);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Uitleg===&lt;br /&gt;
Het eerste statement begint al met iets nieuws: '''byte LEDs[8];''' maakt ''LEDs'' geen gewone variabele van het type byte, maar een '''lijst''' van 8 bytes. LEDs[0] is dan de eerste byte uit die lijst, LEDs[1] de tweede, en zo voort, zodat de laatste LEDs[7] is. Met een enkel statement kunnen we dus een hoop variabelen definieren. Daarbij zijn die variabelen via een loop om beurten te benaderen. Daar komen we later op terug. Het tweede statement is nu beter te begrijpen: het definieert tien bytes in een statement '''byte patronen[10];'''. &lt;br /&gt;
Regel drie lijkt een gewone byte te definieren met de naam '''point'''. Maar de waarde van die byte is doet vreemd aan: '''B00000001'''. Met die '''B''' wordt bedoeld dat de waarde '''binair''' wordt opgegeven. We zijn gewend om waarden decimaal op te geven, 12, 349, en zo voort. Omdat het hier om een byte gaat, bestaat elke waarde in de processor uit 8 eentjes en nulletjes, en dat is nu precies wat we met Bxxxxxxxx doen: elk eentje en nulletje wordt opgegeven. Voor de processor maakt het niet uit of je '''12''' opgeeft, of '''B00001100''' - van binnen is het exact hetzelfde. De punt bestaat dus uit allemaal nullen, behalve de laatste ''bit'' die 1 is.&lt;br /&gt;
&lt;br /&gt;
In de setup() worden de lijsten van waarden voorzien. De lijst LEDs[] geeft precies aan welk LEDje aan welke pin van de Arduino zit. LEDs[0] is dus de pin van de LED die overeenkomt met positie ''a'' van het segment display. LEDs[1] is de pin van positie ''b'', en zo voort. In het commentaar staat ''Babcdefgp'': waarmee wordt aangegeven dat de eerste bit voor ''a'' is, de tweede voor ''b'', en zo voort. De lijst patronen[] wordt helemaal gevuld met waarden die bitsgewijs worden opgegeven. Door dat bitgewijs opgeven van de getallen kun je heel gemakkelijk opgeven welke LEDjes er aan moeten staan voor elk patroon. Zo zie je dat voor patroon[0] alle LEDjes behalve de laatste twee aan staan. Als je nu kijkt naar de pin-configuratie kun je waarschijnlijk snel zien dat het hier gaat om het cijfer ''0''. Met een beetje moeite kun je ook de andere cijfers herkennen. De lijst ''patronen[]'' geeft dus aan welke LEDjes er aan en uit moeten staan voor elk van de cijfers.&lt;br /&gt;
&lt;br /&gt;
Het volgende deel van de setup() zet alle pins van de LED's op output mode. Dit gaat met een for-loop waarbij de loop-variabele ''i'' wordt gebruikt om alle LEDs langs te lopen.&lt;br /&gt;
&lt;br /&gt;
Dan volgt er een stukje code waarmee alle lampjes om beurten snel achter elkaar worden aangezet. Dan volgt er een for-loop die 4 keer wordt doorlopen. Eerst wordt er een byte gedefinieerd met alleen een 1 op de positie van LED ''a''. In de for-loop die volgt worden patronen op de pins van de Arduino gezet met de functie showPattern(). Het bijzondere is dat er geen vast patroon wordt meegegeven met deze functie, maar een patroon dat wisselt met j. de parameter is namelijk ''patroon &amp;gt;&amp;gt; j''. Dit ''&amp;gt;&amp;gt;'' teken staat ervoor dat patroon j plaatsen naar rechts opschuift. Als we beginnen met B10000000 en we schuiven dat 3 plaatsen op (j is dan 3), dan krijgen we patroon B00010000. Dit is dan het patroon dat wordt doorgegeven aan showPattern() functie.&lt;br /&gt;
&lt;br /&gt;
Tenslotte worden alle lichtjes gedurende een seconde aangezet door aanroep van de showPattern() functie met B11111111 als parameter.&lt;br /&gt;
&lt;br /&gt;
De loop() functie is relatief eenvoudig. In een for loop, die van 9 naar 0 aftelt, wordt showPattern() aangeroepen met patronen[i], waarna het programma ''wachttijd'' pauzeert. Het resultaat zal dus zijn dat het display steeds opnieuw aftelt van 9 naar 0.&lt;br /&gt;
&lt;br /&gt;
Blijft over om de werking van de functie showPattern() uit te leggen. Gelukkig heeft de functie maar twee statements. Het eerste statement is gemakkelijk: de byte ''first'' wordt definieerd met een patroon waarvan alleen het eerste bit aan staat. Daarna volgt een for-loop waarbij i oploopt van 0 tot en met 7 (kleiner dan 8) en waarbinnen een digitalWrite() plaatsvindt op pin LEDs[i]. Dat is dus de pin van de i-de LED van het display. Omdat het een digitalWrite() is, wordt naar die LED natuurlijk een 1 of een 0 gestuurd. Laten we eerst vaststellen dat ''(first&amp;gt;&amp;gt;i)'' een patroon is waarvan precies één bit aan staat en wel bit i+1. Als i=0 is het gewoon de byte ''first''. Als i=1 is het de byte B01000000 (tweede bit staat aan). Bij i=2 wordt het byte B00100000 (derde bit staat aan). En zo voort. Net als in de ''setup()'' wordt dit gedaan door de ''&amp;gt;&amp;gt;'' operator die de byte een aantal posities naar rechts opschuift. Deze byte wordt vervolgens gecombineerd met het patroon dat als parameter wordt meegegeven aan de functie. Die combinatie wordt gemaakt met het '&amp;amp;' teken dat wijst op een ''bitwise AND''. Er ontstaat dan een nieuwe byte die op elke positie alleen een 1 heeft als beide ''operanden'' op die positie een 1 hebben. Die operanden zijn dus ''patroon'' en ''(first&amp;gt;&amp;gt;i)''. Van die laatste weten we inmiddels dat precies een bit 1 is en alle anderen 0 zijn. Het resultaat van ''patroon &amp;amp; (first&amp;gt;&amp;gt;i)'' is dan ook een byte die alleen groter zal zijn dan 0 als de i-de bit van patroon ook een 1 is. Als het resultaat ongelijk is aan 0 geldt dat als digitale 1. LEDs[i] zal daardoor aan worden gezet als de overeenkomstige bit in ''patroon'' 1 is en anders wordt de LED uit gezet. Het resultaat is dus dat de LEDs worden aan- en uitgezet volgens het opgegeven patroon. En dat heel compact en efficient geprogrammeerd.&lt;br /&gt;
&lt;br /&gt;
===Beetje spelen===&lt;br /&gt;
&lt;br /&gt;
===Navigatie===&lt;br /&gt;
*[[Arduino - Allerlei sensoren|Vorige project]]&lt;br /&gt;
*[[Arduino cursus|Cursus overzicht]]&lt;br /&gt;
*[[Arduino - 4-digit LED Segment Display|Volgende project]]&lt;/div&gt;</summary>
		<author><name>WikiAdmin</name></author>	</entry>

	</feed>