<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://hyperdramatik.net/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AKrause</id>
	<title>hyperdramatik - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://hyperdramatik.net/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AKrause"/>
	<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php/Spezial:Beitr%C3%A4ge/AKrause"/>
	<updated>2026-08-16T01:37:21Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1644</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1644"/>
		<updated>2021-03-10T22:08:27Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informant of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Center of the story is the novel “Ich” written by Wolgang Hilbig. Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 mechanical keyswitches from [https://en.wikipedia.org/wiki/Cherry_(company) cherry keys]&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an Arduino sketch running on the Lattepanda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The briefcase was built to resemble a fictional device the Ministry of State Security (MfS) could have had in use. Therefore robust switches known for their military use were installed to enter the codes. The enclosed walkie-talkie is a modded version of an original model often used by the [https://en.wikipedia.org/wiki/Stasi Stasi]. Aiming to merge authenticity and fiction, the present-day tech, e.g. the touchscreen and Lattepanda, was covered with an outworn skin from an old Russian mobile television. Retrofitted cherry keys provide for a certain kind of old school feeling by their mechanical feedback and the specifically added yellowish lacquer.&lt;br /&gt;
&lt;br /&gt;
All documents given in the briefcase are additionally weathered, e.g. using soy sauce, and drafted using an old typewriter. Pen and paper are original witnesses of the Soviet era. Seven several kinds of paper were used, resembling GDR documents, e.g. a train ticket was printed on a different kind of paper than a permit to enter West-Berlin. The former was additionally flexed and folded due to its imaginary use as a commodity item. Whereas the latter depicts a rare document of singular value.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1643</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1643"/>
		<updated>2021-03-10T22:07:02Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informant of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Center of the story is the novel “Ich” written by Wolgang Hilbig. Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 mechanical keyswitches from [https://en.wikipedia.org/wiki/Cherry_(company) cherry keys]&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an Arduino sketch running on the Lattepanda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The briefcase was built to resemble a fictional device the Ministry of State Security (MfS) could have had in use. Therefore robust switches known for their military use were installed to enter the codes. The enclosed walkie-talkie is a modded version of an original model often used by the [https://en.wikipedia.org/wiki/Stasi Stasi]. Aiming to merge authenticity and fiction, the present-day tech, e.g. the touchscreen and Lattepanda, was covered with an outworn skin from an old Russian mobile television. Retrofitted cherry keys provide for a certain kind of old school feeling by their mechanical feedback and the specifically added yellowish lacquer.&lt;br /&gt;
&lt;br /&gt;
All documents given in the briefcase are additionally weathered, e.g. using soy sauce, and drafted using an old typewriter. Pen and paper are original witnesses of the Soviet era. Seven several kinds of paper were used, resembling GDR documents, e.g. a train ticket was printed on a different kind of paper than a permit to enter West-Berlin. The former was additionally flexed and folded due to its imaginary use as a commodity item. Whereas the latter depicts a rare document of singular value.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1642</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1642"/>
		<updated>2021-03-10T22:04:47Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Center of the story is the novel “Ich” written by Wolgang Hilbig. Following the voice of M.W., the person playing the briefcase steers the on-screen cursor to receive information via sound snippets and thus sets the order in which those are discovered. Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 mechanical keyswitches from [https://en.wikipedia.org/wiki/Cherry_(company) cherry keys]&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an Arduino sketch running on the Lattepanda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The briefcase was built to resemble a fictional device the Ministry of State Security (MfS) could have had in use. Therefore robust switches known for their military use were installed to enter the codes. The enclosed walkie-talkie is a modded version of an original model often used by the [https://en.wikipedia.org/wiki/Stasi Stasi]. Aiming to merge authenticity and fiction, the present-day tech, e.g. the touchscreen and Lattepanda, was covered with an outworn skin from an old Russian mobile television. Retrofitted cherry keys provide for a certain kind of old school feeling by their mechanical feedback and the specifically added yellowish lacquer.&lt;br /&gt;
&lt;br /&gt;
All documents given in the briefcase are additionally weathered, e.g. using soy sauce, and drafted using an old typewriter. Pen and paper are original witnesses of the Soviet era. Seven several kinds of paper were used, resembling GDR documents, e.g. a train ticket was printed on a different kind of paper than a permit to enter West-Berlin. The former was additionally flexed and folded due to its imaginary use as a commodity item. Whereas the latter depicts a rare document of singular value.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1641</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1641"/>
		<updated>2021-03-10T22:01:27Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Thought about the haptics of the project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 mechanical keyswitches from [https://en.wikipedia.org/wiki/Cherry_(company) cherry keys]&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an Arduino sketch running on the Lattepanda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The briefcase was built to resemble a fictional device the Ministry of State Security (MfS) could have had in use. Therefore robust switches known for their military use were installed to enter the codes. The enclosed walkie-talkie is a modded version of an original model often used by the [https://en.wikipedia.org/wiki/Stasi Stasi]. Aiming to merge authenticity and fiction, the present-day tech, e.g. the touchscreen and Lattepanda, was covered with an outworn skin from an old Russian mobile television. Retrofitted cherry keys provide for a certain kind of old school feeling by their mechanical feedback and the specifically added yellowish lacquer.&lt;br /&gt;
&lt;br /&gt;
All documents given in the briefcase are additionally weathered, e.g. using soy sauce, and drafted using an old typewriter. Pen and paper are original witnesses of the Soviet era. Seven several kinds of paper were used, resembling GDR documents, e.g. a train ticket was printed on a different kind of paper than a permit to enter West-Berlin. The former was additionally flexed and folded due to its imaginary use as a commodity item. Whereas the latter depicts a rare document of singular value.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_connect_old_tech_with_speakers_to_bluetooth%3F&amp;diff=1638</id>
		<title>How to connect old tech with speakers to bluetooth?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_connect_old_tech_with_speakers_to_bluetooth%3F&amp;diff=1638"/>
		<updated>2021-03-10T15:24:36Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_Funke2.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
The technique is called case modding. So you took a device and built it into a cool case.&lt;br /&gt;
== What do you need? ==&lt;br /&gt;
* soldering iron and stuff to solder&lt;br /&gt;
 &lt;br /&gt;
* pliers and screwdrivers&lt;br /&gt;
&lt;br /&gt;
* a bluetooth board (I ordered this [https://www.ebay.de/itm/BT201-MP3-Player-Decoder-Bluetooth-5-0-Modul-TF-Card-Reader-UDisk-USB-3-3-5V-/284105739580?var=&amp;amp;hash=item4226058d3c, one])&lt;br /&gt;
&lt;br /&gt;
* a battery according to your needs (for me this [https://www.ebay.de/itm/2-x-LG-INR-18650HG2-Li-Ion-Akku-3-6V-3-7V-3000mAh-20A-einzeln-Trimax/293447981910?epid=18031293334&amp;amp;hash=item4452dcdb56:g:a5gAAOSwA75eMCR0 ,one] worked)&lt;br /&gt;
&lt;br /&gt;
* A [https://www.ebay.de/itm/Ladegerat-Ladestation-universal-Charger-18650-14500-Akku-Batterie-3-7V-AA-AAA/112109635119?hash=item1a1a41462f:g:S90AAOSwtZJY~3L1, charger] for your batteries&lt;br /&gt;
&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
First the vintage piece of technology has to be disassembled and the speaker must be located. Furthermore the two wires exiting the speaker need to be disconnected.&lt;br /&gt;
Next, solder those wires directly to the speaker input solder pads on the Bluetooth board. &lt;br /&gt;
&lt;br /&gt;
Finding a good place for the battery is essential, maybe you could reuse the old battery compartment. Test the Bluetooth board by connecting the battery, that allows the LED to flash. &lt;br /&gt;
&lt;br /&gt;
As soon as the LED is lighting up, the Bluetooth board can be connected to a phone or computer in order to play a song chosen on your device.&lt;br /&gt;
&lt;br /&gt;
The board I used has a microphone suitable for Bluetooth headset mode. In case you would additionally wish to add a microphone, you could simply solder it to the microphone leads and the signal will be transmitted.&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1637</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1637"/>
		<updated>2021-03-10T15:17:41Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* What's in the suitcase? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 mechanical keyswitches from [https://en.wikipedia.org/wiki/Cherry_(company) cherry keys]&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an Arduino sketch running on the Lattepanda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The briefcase was built to resemble a fictional device the Ministry of State Security (MfS) could have had in use. Therefore robust switches known for their military use were installed to enter the codes. The enclosed walkie-talkie is a modded version of an original model often used by the Stasi. Aiming to merge authenticity and fiction, the present-day tech, e.g. the touchscreen and Lattepanda, was covered with an outworn skin from an old Russian mobile television. Retrofitted cherry keys provide for a certain kind of old school feeling by their mechanical feedback and the specifically added yellowish lacquer.&lt;br /&gt;
&lt;br /&gt;
All documents given in the briefcase are additionally weathered, e.g. using soy sauce, and drafted using an old typewriter. Pen and paper are original witnesses of the Soviet era. Seven several kinds of paper were used, resembling GDR documents, e.g. a train ticket was printed on a different kind of paper than a permit to enter West-Berlin. The former was additionally flexed and folded due to its imaginary use as a commodity item. Whereas the latter depicts a rare document of singular value.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1636</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1636"/>
		<updated>2021-03-10T15:11:16Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
Shift-in registers are a common piece of electronics. They combine transistors so you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the Arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin four and pin six. So switch four and six are on and all others are off. Due to its mode of operation, it transforms the parallel incoming signals into a serial signal. The clue here is to use time as a reference to transform the eight parallel signals of the independent “ones” and “zeros” into a sequence of “ones” and “zeros”. This is a very basic principle of computing. But now you ask how the Arduino knows it gets eight bits (one byte) – and not just four or three. How does the Arduino know which bit is the first and the last one? The shift register has a so-called latch pin. If you activate the latch pin, the Arduino gives the signal to send data. So the shift register locks the state of the input pins and starts to send the bits. We are now sure to get the first bit by latching the register. To actually transmit the data, we need a clock pulse for each bit we want to get. Repeat this procedure eight times. Afterwards we repeat the whole cycle through the loop function in the Arduino sketch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
The good thing about the shift registers is that you could chain them up, because the bit values, bit by bit, are going down the lane of the serial signal. In order to get two shift registers, we have to read out the data twice after latching the registers. This allows the concept of using just three pins on the Arduino to control many input pins. Like a button matrix&lt;br /&gt;
If you need a lot of output pins like an LED Cube or projects alike, you could use a shift-out register. It transforms the serial data into parallel data and switches the output pins according to the bit array it gets.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0; //the five BCD-switches&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
 &lt;br /&gt;
    digitalWrite(latchPin,1); //locking the data&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin); //get the data&lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask; //use mask&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4; //push four bits to the right&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){ //just print if the value changed&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    int pinState;&lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i); &lt;br /&gt;
  &lt;br /&gt;
        }else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }   &lt;br /&gt;
        digitalWrite(myClockPin, 1);   &lt;br /&gt;
      }&lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;br /&gt;
The good thing about the shift registers is that you could chain them up, because the bit values are going down the lane of the serial signal. In order to get two shift registers we have to read out the date twice after latching the registers. This is the concept of using just three pins on the arduino to control many input pins. If you have a lot of output pins like a LED cube or something like this you could use a shift-out register. It transforms the serial data into parallel data and switches the output pins according to the bit array it gets.&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1635</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1635"/>
		<updated>2021-03-10T15:09:08Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
Shift-in registers are a common piece of electronics. They combine transistors so you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the Arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin four and pin six. So switch four and six are on and all others are off. Due to its mode of operation, it transforms the parallel incoming signals into a serial signal. The clue here is to use time as a reference to transform the eight parallel signals of the independent “ones” and “zeros” into a sequence of “ones” and “zeros”. This is a very basic principle of computing. But now you ask how the Arduino knows it gets eight bits (one byte) – and not just four or three. How does the Arduino know which bit is the first and the last one? The shift register has a so-called latch pin. If you activate the latch pin, the Arduino gives the signal to send data. So the shift register locks the state of the input pins and starts to send the bits. We are now sure to get the first bit by latching the register. To actually transmit the data, we need a clock pulse for each bit we want to get. Repeat this procedure eight times. Afterwards we repeat the whole cycle through the loop function in the Arduino sketch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
One BCD Switch contains fourfour switches, so one shift register could match two switches. Luckily the BCD Switch transforms the numbers, as described earlier, in four binary bits. Therefore we could read our incoming byte with the help of a bit mask, which allows us to take the first four bits to get our first value. Then shift the byte four places to the right and take these to determine the second value.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0; //the five BCD-switches&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
 &lt;br /&gt;
    digitalWrite(latchPin,1); //locking the data&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin); //get the data&lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask; //use mask&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4; //push four bits to the right&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){ //just print if the value changed&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    int pinState;&lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i); &lt;br /&gt;
  &lt;br /&gt;
        }else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }   &lt;br /&gt;
        digitalWrite(myClockPin, 1);   &lt;br /&gt;
      }&lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;br /&gt;
The good thing about the shift registers is that you could chain them up, because the bit values are going down the lane of the serial signal. In order to get two shift registers we have to read out the date twice after latching the registers. This is the concept of using just three pins on the arduino to control many input pins. If you have a lot of output pins like a LED cube or something like this you could use a shift-out register. It transforms the serial data into parallel data and switches the output pins according to the bit array it gets.&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1634</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1634"/>
		<updated>2021-03-10T15:06:35Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
Shift-in registers are a common piece of electronics. They combine transistors so you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the Arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin four and pin six. So switch four and six are on and all others are off. Due to its mode of operation, it transforms the parallel incoming signals into a serial signal. The clue here is to use time as a reference to transform the eight parallel signals of the independent “ones” and “zeros” into a sequence of “ones” and “zeros”. This is a very basic principle of computing. But now you ask how the Arduino knows it gets eight bits (one byte) – and not just four or three. How does the Arduino know which bit is the first and the last one? The shift register has a so-called latch pin. If you activate the latch pin, the Arduino gives the signal to send data. So the shift register locks the state of the input pins and starts to send the bits. We are now sure to get the first bit by latching the register. To actually transmit the data, we need a clock pulse for each bit we want to get. Repeat this procedure eight times. Afterwards we repeat the whole cycle through the loop function in the Arduino sketch.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
One BCD switch contains 4 switches, so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits. So we could read our incoming byte and with the help of the bit mask just take the first four bits to get our first value and then shift the byte 4 places to the right and take these to determine the second value.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0; //the five BCD-switches&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
 &lt;br /&gt;
    digitalWrite(latchPin,1); //locking the data&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin); //get the data&lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask; //use mask&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4; //push four bits to the right&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){ //just print if the value changed&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    int pinState;&lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i); &lt;br /&gt;
  &lt;br /&gt;
        }else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }   &lt;br /&gt;
        digitalWrite(myClockPin, 1);   &lt;br /&gt;
      }&lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;br /&gt;
The good thing about the shift registers is that you could chain them up, because the bit values are going down the lane of the serial signal. In order to get two shift registers we have to read out the date twice after latching the registers. This is the concept of using just three pins on the arduino to control many input pins. If you have a lot of output pins like a LED cube or something like this you could use a shift-out register. It transforms the serial data into parallel data and switches the output pins according to the bit array it gets.&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1633</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1633"/>
		<updated>2021-03-10T15:00:51Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Thought about the haptics of the project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an Arduino sketch running on the Lattepanda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The briefcase was built to resemble a fictional device the Ministry of State Security (MfS) could have had in use. Therefore robust switches known for their military use were installed to enter the codes. The enclosed walkie-talkie is a modded version of an original model often used by the Stasi. Aiming to merge authenticity and fiction, the present-day tech, e.g. the touchscreen and Lattepanda, was covered with an outworn skin from an old Russian mobile television. Retrofitted cherry keys provide for a certain kind of old school feeling by their mechanical feedback and the specifically added yellowish lacquer.&lt;br /&gt;
&lt;br /&gt;
All documents given in the briefcase are additionally weathered, e.g. using soy sauce, and drafted using an old typewriter. Pen and paper are original witnesses of the Soviet era. Seven several kinds of paper were used, resembling GDR documents, e.g. a train ticket was printed on a different kind of paper than a permit to enter West-Berlin. The former was additionally flexed and folded due to its imaginary use as a commodity item. Whereas the latter depicts a rare document of singular value.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1632</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1632"/>
		<updated>2021-03-10T15:00:16Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* What's in the suitcase? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an Arduino sketch running on the Lattepanda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The suitcase should resemble a fictional device the Ministry of State Security(MfS) could have had. Therefore, I actually built in switches used by the military to dial in the codes. The walkie-talkie I used is a modded version of an original one often used by the Stasi. The goal I aimed for was a mix between authenticity and fiction. So I covered the newer tech like the touchscreen and Lattepanda with an old cover from an old Russian mobile television. The keys are cherry keys that have a certain kind of old school feeling by their mechanical feedback and their yellowish lacquer. All the files are weathered too and the pen and paper are original witnesses of the Soviet era.&lt;br /&gt;
The object itself is the protagonist of the story and I tried to design it to trigger memories through details, textures and appearance in general. I often remember the situation in my childhood where I found specific objects of the GDR and showed them to my parents asking what is that, and they said: it's old GDR stuff. These objects are kind of charged with their long gone past.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1631</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1631"/>
		<updated>2021-03-10T14:59:48Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* What's in the suitcase? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 single board computer (Lattepanda)&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an arduino sketch running on the panda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The suitcase should resemble a fictional device the Ministry of State Security(MfS) could have had. Therefore, I actually built in switches used by the military to dial in the codes. The walkie-talkie I used is a modded version of an original one often used by the Stasi. The goal I aimed for was a mix between authenticity and fiction. So I covered the newer tech like the touchscreen and Lattepanda with an old cover from an old Russian mobile television. The keys are cherry keys that have a certain kind of old school feeling by their mechanical feedback and their yellowish lacquer. All the files are weathered too and the pen and paper are original witnesses of the Soviet era.&lt;br /&gt;
The object itself is the protagonist of the story and I tried to design it to trigger memories through details, textures and appearance in general. I often remember the situation in my childhood where I found specific objects of the GDR and showed them to my parents asking what is that, and they said: it's old GDR stuff. These objects are kind of charged with their long gone past.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1630</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1630"/>
		<updated>2021-03-10T14:58:43Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago.&lt;br /&gt;
 &lt;br /&gt;
Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)?&lt;br /&gt;
&lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology.&lt;br /&gt;
&lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 Latte Panda&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an arduino sketch running on the panda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The suitcase should resemble a fictional device the Ministry of State Security(MfS) could have had. Therefore, I actually built in switches used by the military to dial in the codes. The walkie-talkie I used is a modded version of an original one often used by the Stasi. The goal I aimed for was a mix between authenticity and fiction. So I covered the newer tech like the touchscreen and Lattepanda with an old cover from an old Russian mobile television. The keys are cherry keys that have a certain kind of old school feeling by their mechanical feedback and their yellowish lacquer. All the files are weathered too and the pen and paper are original witnesses of the Soviet era.&lt;br /&gt;
The object itself is the protagonist of the story and I tried to design it to trigger memories through details, textures and appearance in general. I often remember the situation in my childhood where I found specific objects of the GDR and showed them to my parents asking what is that, and they said: it's old GDR stuff. These objects are kind of charged with their long gone past.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1629</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1629"/>
		<updated>2021-03-10T14:58:26Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, the participant plays a virtual audio walk through the streets of Berlin, that takes place during GDR times. It can be played anywhere, since all the equipment one needs is to be found in the prepared briefcase, which displays – amongst other things – a digital map on a screen. Like a time capsule, the briefcase invites to immerse oneself in the story of M.W., an informat of the Stasi, who gathered information on three suspects in former East-Berlin, some decades ago. &lt;br /&gt;
Following the voice of M.W., the person playing the briefcase steers the onscreen cursor to receive information via sound snippets and thus sets the order in which those are discovered. &lt;br /&gt;
Each snippet poses a question. How is the participant going to proceed? Telling the truth or lying? Being a spy or rather being spied on? Which storyline will be followed? Focusing on M.W.’s own fateful actions or rather zooming in on the assumed dissident S.R. (codename “Reader”)? &lt;br /&gt;
With all the information one receives over time, the question continuously arises: How credible is the gathered intel? Or is it just imaginary stories that “Reader” writes? Looking at the documents through M.W.’s eyes, are the observations manipulated by the Stasi? May “Reader” himself even be an informant to the secret police, spying on M.W.?&lt;br /&gt;
With its wethered haptics and interior decoration, the briefcase seems to derive from a parallel universe in which the Stasi possesses today’s technology. &lt;br /&gt;
As part of the game “Kalte Ecken im Koffer”, the briefcase is given to the participant in a secret meeting that appears to be a hand-off by an “agent”. Afterwards, the participant has to bring the briefcase back in order to complete the mission successfully.&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 Latte Panda&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an arduino sketch running on the panda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The suitcase should resemble a fictional device the Ministry of State Security(MfS) could have had. Therefore, I actually built in switches used by the military to dial in the codes. The walkie-talkie I used is a modded version of an original one often used by the Stasi. The goal I aimed for was a mix between authenticity and fiction. So I covered the newer tech like the touchscreen and Lattepanda with an old cover from an old Russian mobile television. The keys are cherry keys that have a certain kind of old school feeling by their mechanical feedback and their yellowish lacquer. All the files are weathered too and the pen and paper are original witnesses of the Soviet era.&lt;br /&gt;
The object itself is the protagonist of the story and I tried to design it to trigger memories through details, textures and appearance in general. I often remember the situation in my childhood where I found specific objects of the GDR and showed them to my parents asking what is that, and they said: it's old GDR stuff. These objects are kind of charged with their long gone past.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1628</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1628"/>
		<updated>2021-03-08T20:16:19Z</updated>

		<summary type="html">&lt;p&gt;AKrause: Änderung 1627 von AKrause (Diskussion) rückgängig gemacht.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, a participant plays through a virtual audio walk through Berlin in a suitcase. They take on the role of M.W. and have to decide whether they want to denounce readers in order to get ahead themselves or stall their superiors in order to get more inspiration from the readings. The participants receive information through sound snippets that they have to collect. The suitcase seems to come from a parallel universe in which the Stasi has the technology of today. The participants receive the suitcase via a classic agent handover and then have to bring it back after completing the mission in order to complete the mission successfully. With all the information one receives over time, the question always arises: How credible is the information? Is it just stories that Reader writes? Are the observations that one makes as M.W. manipulated by the Stasi? Is Reader himself an IM?&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 Latte Panda&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an arduino sketch running on the panda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The suitcase should resemble a fictional device the Ministry of State Security(MfS) could have had. Therefore, I actually built in switches used by the military to dial in the codes. The walkie-talkie I used is a modded version of an original one often used by the Stasi. The goal I aimed for was a mix between authenticity and fiction. So I covered the newer tech like the touchscreen and Lattepanda with an old cover from an old Russian mobile television. The keys are cherry keys that have a certain kind of old school feeling by their mechanical feedback and their yellowish lacquer. All the files are weathered too and the pen and paper are original witnesses of the Soviet era.&lt;br /&gt;
The object itself is the protagonist of the story and I tried to design it to trigger memories through details, textures and appearance in general. I often remember the situation in my childhood where I found specific objects of the GDR and showed them to my parents asking what is that, and they said: it's old GDR stuff. These objects are kind of charged with their long gone past.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1627</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1627"/>
		<updated>2021-03-08T20:15:15Z</updated>

		<summary type="html">&lt;p&gt;AKrause: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, a participant plays through a virtual audio walk through Berlin in a suitcase. They take on the role of M.W. and have to decide whether they want to denounce readers in order to get ahead themselves or stall their superiors in order to get more inspiration from the readings. The participants receive information through sound snippets that they have to collect. The suitcase seems to come from a parallel universe in which the Stasi has the technology of today. The participants receive the suitcase via a classic agent handover and then have to bring it back after completing the mission in order to complete the mission successfully. With all the information one receives over time, the question always arises: How credible is the information? Is it just stories that Reader writes? Are the observations that one makes as M.W. manipulated by the Stasi? Is Reader himself an IM?&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 Latte Panda&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an arduino sketch running on the panda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The suitcase should resemble a fictional device the Ministry of State Security(MfS) could have had. Therefore, I actually built in switches used by the military to dial in the codes. The walkie-talkie I used is a modded version of an original one often used by the Stasi. The goal I aimed for was a mix between authenticity and fiction. So I covered the newer tech like the touchscreen and Lattepanda with an old cover from an old Russian mobile television. The keys are cherry keys that have a certain kind of old school feeling by their mechanical feedback and their yellowish lacquer. All the files are weathered too and the pen and paper are original witnesses of the Soviet era.&lt;br /&gt;
The object itself is the protagonist of the story and I tried to design it to trigger memories through details, textures and appearance in general. I often remember the situation in my childhood where I found specific objects of the GDR and showed them to my parents asking what is that, and they said: it's old GDR stuff. These objects are kind of charged with their long gone past.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to Bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_connect_old_tech_with_speakers_to_bluetooth%3F&amp;diff=1626</id>
		<title>How to connect old tech with speakers to bluetooth?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_connect_old_tech_with_speakers_to_bluetooth%3F&amp;diff=1626"/>
		<updated>2021-03-08T20:14:44Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_Funke2.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
The technique is called case modding. So you took a device and built it into a cool case.&lt;br /&gt;
== What do you need? ==&lt;br /&gt;
* soldering iron and stuff to solder&lt;br /&gt;
 &lt;br /&gt;
* pliers and screwdrivers&lt;br /&gt;
&lt;br /&gt;
* a bluetooth board (I ordered this [https://www.ebay.de/itm/BT201-MP3-Player-Decoder-Bluetooth-5-0-Modul-TF-Card-Reader-UDisk-USB-3-3-5V-/284105739580?var=&amp;amp;hash=item4226058d3c, one])&lt;br /&gt;
&lt;br /&gt;
* a battery according to your needs (for me this [https://www.ebay.de/itm/2-x-LG-INR-18650HG2-Li-Ion-Akku-3-6V-3-7V-3000mAh-20A-einzeln-Trimax/293447981910?epid=18031293334&amp;amp;hash=item4452dcdb56:g:a5gAAOSwA75eMCR0 ,one] worked)&lt;br /&gt;
&lt;br /&gt;
* A [https://www.ebay.de/itm/Ladegerat-Ladestation-universal-Charger-18650-14500-Akku-Batterie-3-7V-AA-AAA/112109635119?hash=item1a1a41462f:g:S90AAOSwtZJY~3L1, charger] for your batteries&lt;br /&gt;
&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
First you disassemble your old piece of tech and find the speaker. You need to disconnect the two wires that are coming from your speaker and solder them to your board to the speaker input solder pads.&lt;br /&gt;
&lt;br /&gt;
Second try to find a good space for your battery. I was lucky and could reuse the old battery compartment.&lt;br /&gt;
&lt;br /&gt;
Test it. Try to connect to your phone or computer via Bluetooth and play a song. The board I used has a SD card slot for mp3 and a microphone for Bluetooth headset mode. If you have a microphone you could just solder it to the microphone leads and the signal will be transmitted.&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1625</id>
		<title>Kalte Ecken im Koffer</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Kalte_Ecken_im_Koffer&amp;diff=1625"/>
		<updated>2021-03-08T20:13:38Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* Thought about the haptics of the project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_tutti.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
Within 45 to 60 minutes, a participant plays through a virtual audio walk through Berlin in a suitcase. They take on the role of M.W. and have to decide whether they want to denounce readers in order to get ahead themselves or stall their superiors in order to get more inspiration from the readings. The participants receive information through sound snippets that they have to collect. The suitcase seems to come from a parallel universe in which the Stasi has the technology of today. The participants receive the suitcase via a classic agent handover and then have to bring it back after completing the mission in order to complete the mission successfully. With all the information one receives over time, the question always arises: How credible is the information? Is it just stories that Reader writes? Are the observations that one makes as M.W. manipulated by the Stasi? Is Reader himself an IM?&lt;br /&gt;
&lt;br /&gt;
== What's in the suitcase? ==&lt;br /&gt;
[[Datei:Kalte_Ecken_Funke.jpg|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
'''Hardware'''&lt;br /&gt;
* five BCD switches&lt;br /&gt;
* three CD4021B shift-in register&lt;br /&gt;
* 7” Monitor from waveshare&lt;br /&gt;
* 4 cherry keys&lt;br /&gt;
* 1 Latte Panda&lt;br /&gt;
* anker power bank 26500 mAh&lt;br /&gt;
* an old hacked GDR Walkie-Talkie&lt;br /&gt;
* files, a city map of Berlin, a pen, some blank paper for notes  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Software'''&lt;br /&gt;
* Unity based self made windows app for x86_64 environment&lt;br /&gt;
* an arduino sketch running on the panda to send the input via serial to the Unity app&lt;br /&gt;
&lt;br /&gt;
== Thought about the haptics of the project ==&lt;br /&gt;
The suitcase should resemble a fictional device the Ministry of State Security(MfS) could have had. Therefore, I actually built in switches used by the military to dial in the codes. The walkie-talkie I used is a modded version of an original one often used by the Stasi. The goal I aimed for was a mix between authenticity and fiction. So I covered the newer tech like the touchscreen and Lattepanda with an old cover from an old Russian mobile television. The keys are cherry keys that have a certain kind of old school feeling by their mechanical feedback and their yellowish lacquer. All the files are weathered too and the pen and paper are original witnesses of the Soviet era.&lt;br /&gt;
The object itself is the protagonist of the story and I tried to design it to trigger memories through details, textures and appearance in general. I often remember the situation in my childhood where I found specific objects of the GDR and showed them to my parents asking what is that, and they said: it's old GDR stuff. These objects are kind of charged with their long gone past.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[[How to work with BCD(binary-coded decimal) switch?]]&lt;br /&gt;
&lt;br /&gt;
[[How to connect old tech with speakers to bluetooth?]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1624</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1624"/>
		<updated>2021-03-08T20:02:10Z</updated>

		<summary type="html">&lt;p&gt;AKrause: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuits at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero, because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. The rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted. Therefore, the fourth switch determines the least significant bit. I will now give you a table, so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
One BCD switch contains 4 switches, so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits. So we could read our incoming byte and with the help of the bit mask just take the first four bits to get our first value and then shift the byte 4 places to the right and take these to determine the second value.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0; //the five BCD-switches&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
 &lt;br /&gt;
    digitalWrite(latchPin,1); //locking the data&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin); //get the data&lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask; //use mask&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4; //push four bits to the right&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){ //just print if the value changed&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    int pinState;&lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i); &lt;br /&gt;
  &lt;br /&gt;
        }else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }   &lt;br /&gt;
        digitalWrite(myClockPin, 1);   &lt;br /&gt;
      }&lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;br /&gt;
The good thing about the shift registers is that you could chain them up, because the bit values are going down the lane of the serial signal. In order to get two shift registers we have to read out the date twice after latching the registers. This is the concept of using just three pins on the arduino to control many input pins. If you have a lot of output pins like a LED cube or something like this you could use a shift-out register. It transforms the serial data into parallel data and switches the output pins according to the bit array it gets.&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1623</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1623"/>
		<updated>2021-03-08T19:57:23Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect multiple BCD switches? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
One BCD switch contains 4 switches, so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits. So we could read our incoming byte and with the help of the bit mask just take the first four bits to get our first value and then shift the byte 4 places to the right and take these to determine the second value.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0; //the five BCD-switches&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
 &lt;br /&gt;
    digitalWrite(latchPin,1); //locking the data&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin); //get the data&lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask; //use mask&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4; //push four bits to the right&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){ //just print if the value changed&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    int pinState;&lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i); &lt;br /&gt;
  &lt;br /&gt;
        }else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }   &lt;br /&gt;
        digitalWrite(myClockPin, 1);   &lt;br /&gt;
      }&lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;br /&gt;
The good thing about the shift registers is that you could chain them up, because the bit values are going down the lane of the serial signal. In order to get two shift registers we have to read out the date twice after latching the registers. This is the concept of using just three pins on the arduino to control many input pins. If you have a lot of output pins like a LED cube or something like this you could use a shift-out register. It transforms the serial data into parallel data and switches the output pins according to the bit array it gets.&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1622</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1622"/>
		<updated>2021-03-08T19:56:19Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
One BCD switch contains 4 switches, so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits. So we could read our incoming byte and with the help of the bit mask just take the first four bits to get our first value and then shift the byte 4 places to the right and take these to determine the second value.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0; //the five BCD-switches&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
 &lt;br /&gt;
    digitalWrite(latchPin,1); //locking the data&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin); //get the data&lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask; //use mask&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4; //push four bits to the right&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){ //just print if the value changed&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    int pinState;&lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i); &lt;br /&gt;
  &lt;br /&gt;
        }else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }   &lt;br /&gt;
        digitalWrite(myClockPin, 1);   &lt;br /&gt;
      }&lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1621</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1621"/>
		<updated>2021-03-08T19:52:06Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
One BCD switch contains 4 switches, so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits. So we could read our incoming byte and with the help of the bit mask just take the first four bits to get our first value and then shift the byte 4 places to the right and take these to determine the second value.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
 &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    int pinState;&lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i); &lt;br /&gt;
  &lt;br /&gt;
        }else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }   &lt;br /&gt;
        digitalWrite(myClockPin, 1);   &lt;br /&gt;
      }&lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1620</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1620"/>
		<updated>2021-03-08T19:48:19Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect a shift register with an Arduino? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. &lt;br /&gt;
&lt;br /&gt;
If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. &lt;br /&gt;
&lt;br /&gt;
The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. &lt;br /&gt;
So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
  &lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    &lt;br /&gt;
    int pinState;&lt;br /&gt;
    &lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        digitalWrite(myClockPin, 1);&lt;br /&gt;
    &lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1619</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1619"/>
		<updated>2021-03-08T19:47:41Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect a shift register with an Arduino? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift-In registers are a common piece of electronics. They combine transistors in that way that you could survey eight input pins in that way that one shift register sends a so-called bit array of eight bits called a byte. If the arduino receives a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. It could do it like this because it transforms the parallel incoming signals into a serial signal. The clue here is to use time as a reference to transform the 8 parallel signals of the independent ones and zeros into a sequence of ones and zeros. This is a very basic principle of computing. But now you ask how the arduino knows it gets 8 bits(1 byte) and not just four or three. How does the arduino know which bit is the first and the last one. Therefore, the shift register has a so-called latch pin. If you activate the latch the arduino says: please send me data. So the shift register locks the state of the input pins and starts to send the bits. We are now sure we get the first bit by latching the register, now to actually transmit the data we need a clock pulse for each bit we want to get. So we do that eight times. And after that we repeat the cycle through the loop function in our arduino sketch.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
  &lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    &lt;br /&gt;
    int pinState;&lt;br /&gt;
    &lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        digitalWrite(myClockPin, 1);&lt;br /&gt;
    &lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1618</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1618"/>
		<updated>2021-03-06T22:07:29Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|right|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
  &lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    &lt;br /&gt;
    int pinState;&lt;br /&gt;
    &lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        digitalWrite(myClockPin, 1);&lt;br /&gt;
    &lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1617</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1617"/>
		<updated>2021-03-06T22:06:56Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
  &lt;br /&gt;
    int i;&lt;br /&gt;
  &lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    &lt;br /&gt;
    int pinState;&lt;br /&gt;
    &lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        digitalWrite(myClockPin, 1);&lt;br /&gt;
    &lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1616</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1616"/>
		<updated>2021-03-06T22:06:38Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    &lt;br /&gt;
    int pinState;&lt;br /&gt;
    &lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        digitalWrite(myClockPin, 1);&lt;br /&gt;
    &lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1615</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1615"/>
		<updated>2021-03-06T22:05:10Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
    &lt;br /&gt;
    int pinState;&lt;br /&gt;
    &lt;br /&gt;
    byte myDataIn = 0;&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myClockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(myDataPin, INPUT);&lt;br /&gt;
  &lt;br /&gt;
    for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
  &lt;br /&gt;
      {&lt;br /&gt;
  &lt;br /&gt;
        digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
        delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
        temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
        if (temp) {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 1;&lt;br /&gt;
    &lt;br /&gt;
          myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        else {&lt;br /&gt;
    &lt;br /&gt;
          pinState = 0;&lt;br /&gt;
    &lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        digitalWrite(myClockPin, 1);&lt;br /&gt;
    &lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
      return myDataIn;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1614</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1614"/>
		<updated>2021-03-06T22:04:05Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
  &lt;br /&gt;
    int pinState;&lt;br /&gt;
  &lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
  for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
      delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
      temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
      if (temp) {&lt;br /&gt;
  &lt;br /&gt;
        pinState = 1;&lt;br /&gt;
  &lt;br /&gt;
        myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
  &lt;br /&gt;
      }&lt;br /&gt;
  &lt;br /&gt;
      else {&lt;br /&gt;
  &lt;br /&gt;
        pinState = 0;&lt;br /&gt;
  &lt;br /&gt;
      }&lt;br /&gt;
  &lt;br /&gt;
      digitalWrite(myClockPin, 1);&lt;br /&gt;
  &lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    return myDataIn;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1613</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1613"/>
		<updated>2021-03-06T22:03:39Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
&lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
     &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
  &lt;br /&gt;
    int pinState;&lt;br /&gt;
  &lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
  for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
      delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
      temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
      if (temp) {&lt;br /&gt;
  &lt;br /&gt;
        pinState = 1;&lt;br /&gt;
  &lt;br /&gt;
        myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
  &lt;br /&gt;
      }&lt;br /&gt;
  &lt;br /&gt;
      else {&lt;br /&gt;
  &lt;br /&gt;
        pinState = 0;&lt;br /&gt;
  &lt;br /&gt;
      }&lt;br /&gt;
  &lt;br /&gt;
      digitalWrite(myClockPin, 1);&lt;br /&gt;
  &lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    return myDataIn;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1612</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1612"/>
		<updated>2021-03-06T22:02:50Z</updated>

		<summary type="html">&lt;p&gt;AKrause: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
&lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
  &lt;br /&gt;
    int pinState;&lt;br /&gt;
  &lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
  for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      digitalWrite(myClockPin, 0);&lt;br /&gt;
  &lt;br /&gt;
      delayMicroseconds(2);&lt;br /&gt;
  &lt;br /&gt;
      temp = digitalRead(myDataPin);&lt;br /&gt;
  &lt;br /&gt;
      if (temp) {&lt;br /&gt;
  &lt;br /&gt;
        pinState = 1;&lt;br /&gt;
  &lt;br /&gt;
        myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
  &lt;br /&gt;
      }&lt;br /&gt;
  &lt;br /&gt;
      else {&lt;br /&gt;
  &lt;br /&gt;
        pinState = 0;&lt;br /&gt;
  &lt;br /&gt;
      }&lt;br /&gt;
  &lt;br /&gt;
      digitalWrite(myClockPin, 1);&lt;br /&gt;
  &lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    return myDataIn;&lt;br /&gt;
  }  &lt;br /&gt;
  &lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1611</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1611"/>
		<updated>2021-03-06T22:01:36Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
   &lt;br /&gt;
  int latchPin = 5;&lt;br /&gt;
  int dataPin = 4;&lt;br /&gt;
  int clockPin = 6;&lt;br /&gt;
  &lt;br /&gt;
  byte switchVar1 = 72;  //01001000&lt;br /&gt;
  byte switchVar2 = 159; //10011111&lt;br /&gt;
  byte switchVar3 = 201; //10011111&lt;br /&gt;
  &lt;br /&gt;
  byte mask = 15; //00001111&lt;br /&gt;
  &lt;br /&gt;
  byte Digit1 = 0;&lt;br /&gt;
  byte Digit2 = 0;&lt;br /&gt;
  byte Digit3 = 0;&lt;br /&gt;
  byte Digit4 = 0;&lt;br /&gt;
  byte Digit5 = 0;&lt;br /&gt;
  &lt;br /&gt;
  byte oldValue = 6;&lt;br /&gt;
&lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
    pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(clockPin, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(dataPin, INPUT);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  void loop() {&lt;br /&gt;
    &lt;br /&gt;
    buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
    buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
    buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
    buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
  &lt;br /&gt;
    if (buttonUpState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonDownState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    if (buttonLeftState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
    if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
      Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
      delay(100);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,1);&lt;br /&gt;
  &lt;br /&gt;
    delayMicroseconds(20);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(latchPin,0);&lt;br /&gt;
  &lt;br /&gt;
    switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
  &lt;br /&gt;
    switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
  &lt;br /&gt;
    Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
    Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
    Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
    Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
 &lt;br /&gt;
    if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
      Serial.print(Digit5, DEC);&lt;br /&gt;
      Serial.print(Digit4, DEC);&lt;br /&gt;
      Serial.print(Digit3, DEC);&lt;br /&gt;
      Serial.print(Digit2, DEC);&lt;br /&gt;
      Serial.println(Digit1, DEC);&lt;br /&gt;
      oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  delay(100);  &lt;br /&gt;
  &lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    int temp = 0;&lt;br /&gt;
  &lt;br /&gt;
    int pinState;&lt;br /&gt;
  &lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
  for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 0);&lt;br /&gt;
&lt;br /&gt;
    delayMicroseconds(2);&lt;br /&gt;
&lt;br /&gt;
    temp = digitalRead(myDataPin);&lt;br /&gt;
&lt;br /&gt;
    if (temp) {&lt;br /&gt;
&lt;br /&gt;
      pinState = 1;&lt;br /&gt;
&lt;br /&gt;
      myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    else {&lt;br /&gt;
&lt;br /&gt;
      pinState = 0;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 1);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return myDataIn;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1610</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1610"/>
		<updated>2021-03-06T21:58:24Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
  const int buttonUpPin = 8;&lt;br /&gt;
  const int buttonRightPin = 11;&lt;br /&gt;
  const int buttonDownPin = 10;&lt;br /&gt;
  const int buttonLeftPin = 9;&lt;br /&gt;
  &lt;br /&gt;
  int buttonUpState = 0;&lt;br /&gt;
  int buttonRightState = 0;&lt;br /&gt;
  int buttonDownState = 0;&lt;br /&gt;
  int buttonLeftState = 0;&lt;br /&gt;
  &lt;br /&gt;
int latchPin = 5;&lt;br /&gt;
int dataPin = 4;&lt;br /&gt;
int clockPin = 6;&lt;br /&gt;
&lt;br /&gt;
byte switchVar1 = 72;  //01001000&lt;br /&gt;
byte switchVar2 = 159; //10011111&lt;br /&gt;
byte switchVar3 = 201; //10011111&lt;br /&gt;
&lt;br /&gt;
byte mask = 15; //00001111&lt;br /&gt;
&lt;br /&gt;
byte Digit1 = 0;&lt;br /&gt;
byte Digit2 = 0;&lt;br /&gt;
byte Digit3 = 0;&lt;br /&gt;
byte Digit4 = 0;&lt;br /&gt;
byte Digit5 = 0;&lt;br /&gt;
&lt;br /&gt;
byte oldValue = 6;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
  pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
  pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
  pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(latchPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(clockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(dataPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
  buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
  buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
  buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
&lt;br /&gt;
  if (buttonUpState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (buttonRightState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (buttonDownState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (buttonLeftState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(latchPin,1);&lt;br /&gt;
&lt;br /&gt;
  delayMicroseconds(20);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(latchPin,0);&lt;br /&gt;
&lt;br /&gt;
  switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
&lt;br /&gt;
  switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
&lt;br /&gt;
  switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
&lt;br /&gt;
  Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
  Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
  Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
  Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
  Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
&lt;br /&gt;
  if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
    Serial.print(Digit5, DEC);&lt;br /&gt;
    Serial.print(Digit4, DEC);&lt;br /&gt;
    Serial.print(Digit3, DEC);&lt;br /&gt;
    Serial.print(Digit2, DEC);&lt;br /&gt;
    Serial.println(Digit1, DEC);&lt;br /&gt;
    oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
delay(100);  &lt;br /&gt;
  &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
  int i;&lt;br /&gt;
&lt;br /&gt;
  int temp = 0;&lt;br /&gt;
&lt;br /&gt;
  int pinState;&lt;br /&gt;
&lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
  for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 0);&lt;br /&gt;
&lt;br /&gt;
    delayMicroseconds(2);&lt;br /&gt;
&lt;br /&gt;
    temp = digitalRead(myDataPin);&lt;br /&gt;
&lt;br /&gt;
    if (temp) {&lt;br /&gt;
&lt;br /&gt;
      pinState = 1;&lt;br /&gt;
&lt;br /&gt;
      myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    else {&lt;br /&gt;
&lt;br /&gt;
      pinState = 0;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 1);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return myDataIn;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1609</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1609"/>
		<updated>2021-03-06T21:57:38Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
const int buttonUpPin = 8;&lt;br /&gt;
const int buttonRightPin = 11;&lt;br /&gt;
const int buttonDownPin = 10;&lt;br /&gt;
const int buttonLeftPin = 9;&lt;br /&gt;
&lt;br /&gt;
int buttonUpState = 0;&lt;br /&gt;
int buttonRightState = 0;&lt;br /&gt;
int buttonDownState = 0;&lt;br /&gt;
int buttonLeftState = 0;&lt;br /&gt;
&lt;br /&gt;
int latchPin = 5;&lt;br /&gt;
int dataPin = 4;&lt;br /&gt;
int clockPin = 6;&lt;br /&gt;
&lt;br /&gt;
byte switchVar1 = 72;  //01001000&lt;br /&gt;
byte switchVar2 = 159; //10011111&lt;br /&gt;
byte switchVar3 = 201; //10011111&lt;br /&gt;
&lt;br /&gt;
byte mask = 15; //00001111&lt;br /&gt;
&lt;br /&gt;
byte Digit1 = 0;&lt;br /&gt;
byte Digit2 = 0;&lt;br /&gt;
byte Digit3 = 0;&lt;br /&gt;
byte Digit4 = 0;&lt;br /&gt;
byte Digit5 = 0;&lt;br /&gt;
&lt;br /&gt;
byte oldValue = 6;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(buttonUpPin, INPUT_PULLUP);&lt;br /&gt;
  pinMode(buttonRightPin, INPUT_PULLUP);&lt;br /&gt;
  pinMode(buttonDownPin, INPUT_PULLUP);&lt;br /&gt;
  pinMode(buttonLeftPin, INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(latchPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(clockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(dataPin, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  &lt;br /&gt;
  buttonUpState = digitalRead(buttonUpPin);&lt;br /&gt;
  buttonRightState = digitalRead(buttonRightPin);&lt;br /&gt;
  buttonDownState = digitalRead(buttonDownPin);&lt;br /&gt;
  buttonLeftState = digitalRead(buttonLeftPin);&lt;br /&gt;
&lt;br /&gt;
  if (buttonUpState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;UP&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (buttonRightState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;RIGHT&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (buttonDownState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;DOWN&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (buttonLeftState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;LEFT&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
  if (buttonLeftState == LOW &amp;amp;&amp;amp; buttonRightState == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;START&amp;quot;);&lt;br /&gt;
    delay(100);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(latchPin,1);&lt;br /&gt;
&lt;br /&gt;
  delayMicroseconds(20);&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(latchPin,0);&lt;br /&gt;
&lt;br /&gt;
  switchVar1 = shiftIn(dataPin, clockPin);&lt;br /&gt;
&lt;br /&gt;
  switchVar2 = shiftIn(dataPin, clockPin);&lt;br /&gt;
&lt;br /&gt;
  switchVar3 = shiftIn(dataPin, clockPin); &lt;br /&gt;
&lt;br /&gt;
  Digit1 = switchVar1 &amp;amp; mask;&lt;br /&gt;
  Digit2 = switchVar1&amp;gt;&amp;gt;4;&lt;br /&gt;
  Digit3 = switchVar2 &amp;amp; mask;&lt;br /&gt;
  Digit4 = switchVar2&amp;gt;&amp;gt;4;&lt;br /&gt;
  Digit5 = switchVar3 &amp;amp; mask;&lt;br /&gt;
&lt;br /&gt;
  if(oldValue != Digit1 + Digit2 + Digit3 + Digit4 + Digit5){&lt;br /&gt;
    Serial.print(Digit5, DEC);&lt;br /&gt;
    Serial.print(Digit4, DEC);&lt;br /&gt;
    Serial.print(Digit3, DEC);&lt;br /&gt;
    Serial.print(Digit2, DEC);&lt;br /&gt;
    Serial.println(Digit1, DEC);&lt;br /&gt;
    oldValue = Digit1 + Digit2 + Digit3 + Digit4 + Digit5;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
delay(100);  &lt;br /&gt;
  &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
byte shiftIn(int myDataPin, int myClockPin) {&lt;br /&gt;
&lt;br /&gt;
  int i;&lt;br /&gt;
&lt;br /&gt;
  int temp = 0;&lt;br /&gt;
&lt;br /&gt;
  int pinState;&lt;br /&gt;
&lt;br /&gt;
  byte myDataIn = 0;&lt;br /&gt;
&lt;br /&gt;
  pinMode(myClockPin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(myDataPin, INPUT);&lt;br /&gt;
&lt;br /&gt;
  for (i = 7; i &amp;gt;= 0; i--)&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 0);&lt;br /&gt;
&lt;br /&gt;
    delayMicroseconds(2);&lt;br /&gt;
&lt;br /&gt;
    temp = digitalRead(myDataPin);&lt;br /&gt;
&lt;br /&gt;
    if (temp) {&lt;br /&gt;
&lt;br /&gt;
      pinState = 1;&lt;br /&gt;
&lt;br /&gt;
      myDataIn = myDataIn | (1 &amp;lt;&amp;lt; i);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    else {&lt;br /&gt;
&lt;br /&gt;
      pinState = 0;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    digitalWrite(myClockPin, 1);&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return myDataIn;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1608</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1608"/>
		<updated>2021-03-06T21:45:08Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to read the BCD switch with an Arduino and a shift register? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
[[Datei:BCD_One_Switch.png|200px|thumb|left|one row of switches resambles one BCD Switch]]&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1607</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1607"/>
		<updated>2021-03-06T21:43:55Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect a shift register with an Arduino? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on and all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier in four binary bits.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1606</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1606"/>
		<updated>2021-03-06T21:43:24Z</updated>

		<summary type="html">&lt;p&gt;AKrause: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|left|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1605</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1605"/>
		<updated>2021-03-06T21:42:47Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect multiple BCD switches? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|right|two switches]]&lt;br /&gt;
[[Datei:BCD_4_switches.png|200px|thumb|right|four switches with two registers]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1604</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1604"/>
		<updated>2021-03-06T21:42:03Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect multiple BCD switches? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;br /&gt;
[[Datei:BCD_2_switches.png|200px|thumb|right|two_switches]]&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Datei:BCD_4_switches.png&amp;diff=1603</id>
		<title>Datei:BCD 4 switches.png</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Datei:BCD_4_switches.png&amp;diff=1603"/>
		<updated>2021-03-06T21:40:23Z</updated>

		<summary type="html">&lt;p&gt;AKrause: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Datei:BCD_2_switches.png&amp;diff=1602</id>
		<title>Datei:BCD 2 switches.png</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Datei:BCD_2_switches.png&amp;diff=1602"/>
		<updated>2021-03-06T21:39:47Z</updated>

		<summary type="html">&lt;p&gt;AKrause: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=Datei:BCD_One_Switch.png&amp;diff=1601</id>
		<title>Datei:BCD One Switch.png</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=Datei:BCD_One_Switch.png&amp;diff=1601"/>
		<updated>2021-03-06T21:39:33Z</updated>

		<summary type="html">&lt;p&gt;AKrause: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1600</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1600"/>
		<updated>2021-03-06T20:34:56Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect a shift register with an Arduino? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are on all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1599</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1599"/>
		<updated>2021-03-06T20:34:30Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How to connect a shift register with an Arduino? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
Shift registers are a common piece of electronic and it combines transistors in that way that you could survey eight input pins in that way that one shift register sends a so called bit array of eight bits called a byte. So if you receive a bit array looking like this [0,0,1,0,1,0,0,0] it means you have an input voltage on pin 4 and pin 6. So switch 4 and 6 are one all others are off. One BCD switch contains 4 switches so one shift register could match two switches. Luckily the BCD switch transforms the numbers as described earlier.&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1598</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1598"/>
		<updated>2021-03-06T20:33:41Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|1000&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|1001&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0000&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1597</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1597"/>
		<updated>2021-03-06T20:33:06Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0110&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0111&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1596</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1596"/>
		<updated>2021-03-06T20:32:28Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0011&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0100&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0101&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1595</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1595"/>
		<updated>2021-03-06T20:31:45Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1594</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1594"/>
		<updated>2021-03-06T20:31:19Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
	<entry>
		<id>http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1593</id>
		<title>How to work with BCD(binary-coded decimal) switch?</title>
		<link rel="alternate" type="text/html" href="http://hyperdramatik.net/mediawiki/index.php?title=How_to_work_with_BCD(binary-coded_decimal)_switch%3F&amp;diff=1593"/>
		<updated>2021-03-06T20:30:56Z</updated>

		<summary type="html">&lt;p&gt;AKrause: /* How does it work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--entry is still in work--&lt;br /&gt;
[[Datei:Kalte_Ecken_BCD.gif|200px|thumb|right|Foto by Laura Alapfy]]&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
A BCD-Switch is actually not one switch, it contains basically four switching circuit at once. There is a wheel which closes depending on the number the switch shows in the front. The picture on the right are 5 BCD switches stacked sideways together. The four switches translating the number into its binary form. So if you see a 5 in the front the second and the fourth switch are on and resembling the one the others are off and resembling the zero. Because 5 in binary is 0101. The tricky part is that you read binary from left to right in computing because you have the most significant bit always on the left side. So the rightest bit stands for 2 to the power of zero which is 1 if it is 1 if it is zero its value will not be counted so it is zero. So the fourth switch determines the least significant bit. So I will now give you a table so you don't have to remember and calculate.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|BCD Switch&lt;br /&gt;
|-&lt;br /&gt;
|Number in Front&lt;br /&gt;
|BitArray&lt;br /&gt;
|Switch 1&lt;br /&gt;
|Switch 2&lt;br /&gt;
|Switch 3&lt;br /&gt;
|Switch 4&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0010&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|off&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0001&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|off&lt;br /&gt;
|on&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== What will you need? ==&lt;br /&gt;
*an Arduino (every typ will do)&lt;br /&gt;
*a BCD-Switch&lt;br /&gt;
*a shift register (CD4021)&lt;br /&gt;
*jumperwires&lt;br /&gt;
*a breadboard&lt;br /&gt;
&lt;br /&gt;
== How to connect a shift register with an Arduino? ==&lt;br /&gt;
&lt;br /&gt;
== How to read the BCD switch with an Arduino and a shift register? ==&lt;br /&gt;
&lt;br /&gt;
== How to connect multiple BCD switches? ==&lt;/div&gt;</summary>
		<author><name>AKrause</name></author>
	</entry>
</feed>