<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Allgemein &#8211; Makerblog.at</title>
	<atom:link href="https://www.makerblog.at/category/allgemein/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.makerblog.at</link>
	<description>Arduino Projekte, Tutorials, 3D-Druck und die Maker-Szene</description>
	<lastBuildDate>Tue, 07 Oct 2025 04:30:29 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.makerblog.at/wp-content/uploads/cropped-logo-100x100-2-32x32.jpg</url>
	<title>Allgemein &#8211; Makerblog.at</title>
	<link>https://www.makerblog.at</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Arduino wird Teil von Qualcomm, stellt mit dem Arduino UNO Q ein KI-Board der nächsten Generation vor</title>
		<link>https://www.makerblog.at/2025/10/arduino-wird-teil-von-qualcomm-stellt-mit-dem-arduino-uno-q-ein-ki-board-der-naechsten-generation-vor/</link>
					<comments>https://www.makerblog.at/2025/10/arduino-wird-teil-von-qualcomm-stellt-mit-dem-arduino-uno-q-ein-ki-board-der-naechsten-generation-vor/#respond</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Tue, 07 Oct 2025 13:05:00 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[qualcomm]]></category>
		<category><![CDATA[uno q]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1894</guid>

					<description><![CDATA[Am 7. Oktober überraschte Arduino mit einer spannenden Ankündigung: Das Unternehmen wird Teil von Qualcomm und präsentierte gleichzeitig ein völlig neues Entwicklungsboard &#8211; den Arduino UNO Q. Ein neues Kapitel für Arduino Mit der geplanten Übernahme durch Qualcomm (vorbehaltlich behördlicher]]></description>
										<content:encoded><![CDATA[
<p>Am 7. Oktober überraschte Arduino mit einer spannenden Ankündigung: Das Unternehmen wird Teil von <strong>Qualcomm</strong> und präsentierte gleichzeitig ein völlig neues Entwicklungsboard &#8211; den <strong>Arduino UNO Q</strong>.</p>



<h2 class="wp-block-heading"><strong>Ein neues Kapitel für Arduino</strong></h2>



<p>Mit der geplanten Übernahme durch Qualcomm (vorbehaltlich behördlicher Genehmigung) beginnt für Arduino ein neues Kapitel.</p>



<p>Das Unternehmen bleibt als eigenständige Tochtergesellschaft erhalten, behält Marke, Mission und den Open-Source-Ansatz bei – bekommt aber Zugang zu Qualcomms KI- und Connectivity-Technologien.</p>



<p>Ziel der Partnerschaft: Die Arduino-Community mit moderner Edge-AI-Leistung, leistungsfähigen SoCs und integrierter Konnektivität ausstatten – ohne den offenen, zugänglichen Charakter der Plattform zu verlieren.</p>



<h2 class="wp-block-heading"><strong>Der neue Arduino UNO Q</strong></h2>



<p>Das neue Board erweitert die bekannte UNO-Familie und schlägt eine Brücke zwischen klassischem Mikrocontroller und KI-fähigem Mini-Computer.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="2000" height="1125" src="https://www.makerblog.at/wp-content/uploads/2025/10/arduino-uno-q.png" alt="Arduino UNO Q" class="wp-image-1897" srcset="https://www.makerblog.at/wp-content/uploads/2025/10/arduino-uno-q.png 2000w, https://www.makerblog.at/wp-content/uploads/2025/10/arduino-uno-q-300x169.png 300w" sizes="(max-width: 2000px) 100vw, 2000px" /></figure>



<p>Herzstück ist eine <strong>Dual-Prozessor-Architektur</strong> aus:</p>



<ul class="wp-block-list">
<li>einem <strong>Qualcomm Dragonwing QRB2210</strong> (Quad-Core-CPU, Adreno-GPU, AI-Beschleuniger, Linux-fähig)</li>



<li>und einem <strong>STM32U585-Mikrocontroller</strong> für Echtzeitaufgaben.</li>
</ul>



<p>Damit eignet sich der UNO Q für moderne Anwendungen rund um Bildverarbeitung, Audioanalyse und intelligente IoT-Projekte.</p>



<h2 class="wp-block-heading"><strong>Neues App Lab – KI trifft auf Einfachheit</strong></h2>



<p>Parallel dazu wurde das neue <strong>Arduino App Lab</strong> vorgestellt – eine <strong>vereinheitlichte Entwicklungsumgebung</strong>, in der sich <strong>Linux</strong>, <strong>Python</strong>, <strong>Echtzeitsteuerung</strong> und <strong>KI-Modelle</strong> gemeinsam nutzen lassen.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="2000" height="1123" src="https://www.makerblog.at/wp-content/uploads/2025/10/arduino-app-lab.png" alt="" class="wp-image-1898" srcset="https://www.makerblog.at/wp-content/uploads/2025/10/arduino-app-lab.png 2000w, https://www.makerblog.at/wp-content/uploads/2025/10/arduino-app-lab-300x168.png 300w" sizes="(max-width: 2000px) 100vw, 2000px" /></figure>



<p>So können Maker, Schüler und Entwickler komplexe KI-Projekte umsetzen, ohne sich mit komplizierten Toolchains oder zusätzlicher Hardware beschäftigen zu müssen.</p>



<p>Der UNO Q kann wahlweise <strong>per PC</strong> programmiert oder im <strong>Standalone-Modus</strong> als Mini-Computer betrieben werden – inklusive <strong>Tastatur</strong>, <strong>Maus</strong> und <strong>Monitor</strong> über <strong>USB-C mit Videoausgabe</strong>.</p>



<h2 class="wp-block-heading"><strong>Ausstattung &amp; Varianten</strong></h2>



<p>Das Board bietet u. a.:</p>



<ul class="wp-block-list">
<li><strong>WLAN 5</strong>, <strong>Bluetooth 5.1</strong></li>



<li><strong>Qwiic-Anschluss</strong> für I²C-Module</li>



<li><strong>blaue LED-Matrix</strong></li>



<li><strong>UNO-Shield-Kompatibilität</strong></li>



<li><strong>2 GB RAM / 16 GB eMMC</strong> (39 €) oder <strong>4 GB / 32 GB</strong> (53 €)</li>
</ul>



<p>Die kleinere Version ist ab sofort bestellbar und wird ab 25. Oktober ausgeliefert, die größere folgt im November.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="2000" height="1124" src="https://www.makerblog.at/wp-content/uploads/2025/10/arduino-uno-q-technische-daten.png" alt="" class="wp-image-1905" srcset="https://www.makerblog.at/wp-content/uploads/2025/10/arduino-uno-q-technische-daten.png 2000w, https://www.makerblog.at/wp-content/uploads/2025/10/arduino-uno-q-technische-daten-300x169.png 300w" sizes="(max-width: 2000px) 100vw, 2000px" /></figure>



<p>Alle Designs, Beispiele und Tools bleiben Open Source.</p>



<h2 class="wp-block-heading"><strong>Fazit</strong></h2>



<p>Mit dem UNO Q wagt Arduino den vielleicht größten Schritt seit dem Original UNO: Ein Board, das Künstliche Intelligenz, Echtzeitsteuerung und Linux vereint – zugänglich, offen und im vertrauten Formfaktor.</p>



<p>Die Partnerschaft mit Qualcomm öffnet dafür die technischen Türen. Bleibt zu hoffen, dass die Marke Arduino ihrem Credo treu bleibt: Technologie für alle zugänglich zu machen.</p>



<p>Sobald das Board verfügbar ist, werde ich es hier auf makerblog.at im Detail vorstellen – inklusive Praxistest und ersten Projekten.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2025/10/arduino-wird-teil-von-qualcomm-stellt-mit-dem-arduino-uno-q-ein-ki-board-der-naechsten-generation-vor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Flappy Bird am Arduino mit OLED Display</title>
		<link>https://www.makerblog.at/2025/10/flappy-bird-am-arduino-mit-oled-display/</link>
					<comments>https://www.makerblog.at/2025/10/flappy-bird-am-arduino-mit-oled-display/#respond</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Thu, 02 Oct 2025 06:34:13 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[flappy bird]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[oled]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[retro game]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1853</guid>

					<description><![CDATA[Flappy Bird kennen wahrscheinlich alle. Der Prototyp eines Casual Games wurde 2013 vom vietnamesischen Entwickler Dong Nguyen als Mobile App für Android und iOS veröffentlicht, war ein sensationeller Erfolg und zog unzählige ähnliche Spiele nach sich. Flappy Bird ist dabei]]></description>
										<content:encoded><![CDATA[
<p>Flappy Bird kennen wahrscheinlich alle. Der Prototyp eines Casual Games wurde 2013 vom vietnamesischen Entwickler Dong Nguyen als Mobile App für Android und iOS veröffentlicht, war ein sensationeller Erfolg und zog unzählige ähnliche Spiele nach sich. </p>



<p>Flappy Bird ist dabei ein sehr simples Spiel. Gesteuert wird die Spielfigur am Smartphone durch Tippen auf eine beliebige Stelle des Touchscreens. Das eignet sich ideal zur Umsetzung am Arduino, da neben dem Display nur ein Pushbutton benötigt wird.</p>



<p>Meine einfache Implementierung entspricht vom Verhalten her sicher nicht 1:1 dem Original, aber der Programmcode ist einfach zu verstehen und kann leicht an eigene Bedürfnisse (Schwierigkeitsgrad, Erweiterung um Buzzer für Soundeffekte) angepasst werden.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Flappy Bird am Arduino mit OLED Display - Tutorial" width="700" height="394" src="https://www.youtube.com/embed/d1sZDezaHHs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Hardware-Anforderungen</h2>



<p>Das Das Projekt stellt minimale Anforderungen an die Hardware, mit einem Arduino Uno R3 (oder kompatiblem Klon), einem kleinen OLED Display mit SSD1306-Controller und einem Pushbutton ist man schon dabei.</p>



<p>Für den Nachbau werden folgende Komponenten benötigt:</p>



<ul class="wp-block-list">
<li><strong>OLED I2C Display 128×64 mit SSD1306</strong>&nbsp;(separat erhältlich, z.B.&nbsp;<a href="https://amzn.to/3XJfjRi" target="_blank" rel="noreferrer noopener">hier im 3er Pack bei Amazon</a>)</li>
</ul>



<p>und die folgende Teile, die in jedem&nbsp;<a href="https://amzn.to/4iHWCFJ" target="_blank" rel="noreferrer noopener">Arduino Starter Kit</a>&nbsp;enthalten sind:</p>



<ul class="wp-block-list">
<li><strong>Arduino UNO R3 (oder kompatibel) mit Breadboard</strong></li>



<li><strong>Push-Buttons</strong>für die Steuerung</li>



<li><strong>Ein paar Kabel</strong>&nbsp;zur Verbindung der Komponenten</li>
</ul>



<h2 class="wp-block-heading">Verkabelung am Breadboard</h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="834" src="https://www.makerblog.at/wp-content/uploads/2025/10/OLED-Flappy-Bird_Steckplatine-1024x834.png" alt="" class="wp-image-1867" srcset="https://www.makerblog.at/wp-content/uploads/2025/10/OLED-Flappy-Bird_Steckplatine-1024x834.png 1024w, https://www.makerblog.at/wp-content/uploads/2025/10/OLED-Flappy-Bird_Steckplatine-300x244.png 300w, https://www.makerblog.at/wp-content/uploads/2025/10/OLED-Flappy-Bird_Steckplatine-768x625.png 768w, https://www.makerblog.at/wp-content/uploads/2025/10/OLED-Flappy-Bird_Steckplatine.png 1226w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Komponente</td><td>Arduino Pin</td></tr><tr><td>OLED SDA</td><td>A4</td></tr><tr><td>OLED SCL</td><td>A5</td></tr><tr><td>OLED VCC</td><td>5V</td></tr><tr><td>OLED GND</td><td>GND</td></tr><tr><td>Push Button</td><td>D2 und GND</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Der Arduino Sketch und ein paar Anmerkungen</h2>



<p>Den kompletten Quellcode findest du gut dokumentiert hier auf Github <a href="https://github.com/adidax/oled-flappy-bird-arduino/tree/main" target="_blank" rel="noreferrer noopener">https://github.com/adidax/oled-flappy-bird-arduino/tree/main</a></p>



<p>Mit einem Arduino Uno R3 (oder kompatibel) und bei korrektem Aufbau der Schaltung am Breadboard sollte der Sketch ohne Änderungen funktionieren. Solltest du ein anderes Arduino Modell oder eine andere Belegung der Pins verwenden, dann sind eventuell kleine Anpassungen notwendig.</p>



<p>Der Sketch ist zwar gut dokumentiert, hier aber trotzdem ein paar kurze Anmerkungen zur Struktur. </p>



<figure class="wp-block-image size-large is-style-default"><img loading="lazy" decoding="async" width="1024" height="683" src="https://www.makerblog.at/wp-content/uploads/2025/10/DSC08761_title-1-1024x683.jpg" alt="" class="wp-image-1856" srcset="https://www.makerblog.at/wp-content/uploads/2025/10/DSC08761_title-1-1024x683.jpg 1024w, https://www.makerblog.at/wp-content/uploads/2025/10/DSC08761_title-1-300x200.jpg 300w, https://www.makerblog.at/wp-content/uploads/2025/10/DSC08761_title-1-768x512.jpg 768w, https://www.makerblog.at/wp-content/uploads/2025/10/DSC08761_title-1-1536x1024.jpg 1536w, https://www.makerblog.at/wp-content/uploads/2025/10/DSC08761_title-1.jpg 2040w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h4 class="wp-block-heading"><strong>Gleitkommafrei durch Skalierung</strong></h4>



<p>Wie schon beim ähnlichen Projekt <a href="https://www.makerblog.at/2025/03/retro-racer-mit-oled-display-128x64-ein-arcade-klassiker-auf-dem-arduino/" data-type="post" data-id="1839">Retro Racer</a> werden auch hier alle Koordinaten am Spielfeld um den Faktor 10 hochskaliert und mit dem Datentyp <code>int</code> gespeichert. Damit können aufwändige Gleitkomma-Berechnungen vermieden werden, aber Spielmechaniken wie eine Änderung der Spielposition um 0,5 Pixel pro Frame sind trotzdem möglich. Das Display hat im Programmcode also nicht 128×64, sondern 1280×640 Pixel. Vor der Darstellung auf dem Display werden die Werte dann durch 10 geteilt, um diese auf die Koordinaten des OLED umzurechnen.</p>



<h4 class="wp-block-heading">Fixe Framerate für gleichmäßigen Spielablauf</h4>



<p>Damit das Spiel auf dem Arduino gleichmäßig läuft, wird versucht mit einer festen Bildwiederholrate von <strong>25 FPS</strong> zu arbeiten. Das heißt: Die loop()-Funktion berechnet und zeichnet nur dann ein neues Frame, wenn mindestens <strong>40 Millisekunden</strong> seit dem letzten vergangen sind:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">const</span> int FRAME_TIME = <span class="hljs-number">40</span>; <span class="hljs-comment">// 40 ms per frame = 25 FPS</span>
<span class="hljs-keyword">if</span> (millis() - lastFrameTime &lt; FRAME_TIME) <span class="hljs-keyword">return</span>;
lastFrameTime = millis();</code></span></pre>


<p>Das verhindert Timing-Probleme und sorgt dafür, dass Bewegung und Spielgeschwindigkeit stets konstant bleiben, unabhängig davon, wie schnell der Mikrocontroller gerade rechnet. Sollte die Berechnung und Ausgabe eines Frames länger als 40ms dauern, dann kommt es aber natürlich trotzdem zu Unregelmäßigkeiten im Ablauf. Das dürfte hier aber nicht der Fall sein.</p>



<h4 class="wp-block-heading"><strong>Spielfigur fliegt bei Knopfdruck</strong></h4>



<p>Die Steuerung ist einfach. Pro Frame erhöht sich die Sinkgeschwindigkeit der Spielfigur um den Wert von <code>GRAVITY</code> und der Vogel bewegt sich nach unten. Wird der Pushbutton gedrückt, dann steigt der Vogel um den Wert von <code>JUMP_STRENGTH</code> und bewegt sich nach oben.</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">        <span class="hljs-comment">// Wenn Button gedrückt, negative Beschleunigung (nach oben) addieren</span>
        <span class="hljs-keyword">if</span> (digitalRead(BUTTON_PIN) == LOW) {
            velocity = JUMP_STRENGTH;
        }
        velocity += GRAVITY; <span class="hljs-comment">// Schwerkraft anwenden (positiver Wert = nach unten)</span>
        velocity = constrain(velocity, <span class="hljs-number">-50</span>, <span class="hljs-number">50</span>); <span class="hljs-comment">// Begrenzung, damit Spielfigur nicht zu schnell fällt oder steigt</span>

        <span class="hljs-comment">// Position des Spielers berechnen</span>
        birdY += velocity;</code></span></pre>


<p>So entsteht das typische “Flap”-Gefühl mit steigender und fallender Bewegung.</p>



<h4 class="wp-block-heading">Gnädige Kollisionsabfrage:&nbsp;</h4>



<p>Die Spielfigur ist rund, die Hitbox zur Kollisionsabfrage aber rechteckig. Daher habe ich bei der Berechnung der möglichen Kollision einen kleinen Spielraum von 2px berücksichtig. </p>


<pre class="wp-block-code"><span><code class="hljs language-xml">if ((birdY - 2 * SCALE_FACTOR) <span class="hljs-tag">&lt; <span class="hljs-attr">pipes</span>&#91;<span class="hljs-attr">i</span>]<span class="hljs-attr">.height</span> || 
    (<span class="hljs-attr">birdY</span> + <span class="hljs-attr">2</span> * <span class="hljs-attr">SCALE_FACTOR</span>) &gt;</span> pipes&#91;i].height + PIPE_GAP)</code></span></pre>


<p>Damit fühlt sich das Spiel deutlich fairer an, die Spielfigur kann auch an einem Rohr &#8222;anstreifen&#8220;, ohne sofort eine Kollision zu melden.</p>



<h2 class="wp-block-heading">Vorbereitung der Spielgrafik</h2>



<p>Da das OLED-Display nur&nbsp;<strong>Schwarz-Weiß-Grafiken</strong>&nbsp;unterstützt, müssen Bilder in ein passendes&nbsp;<strong>Bitmap-Format</strong>&nbsp;umgewandelt und im Programmcode eingebunden werden. Dafür habe ich das kostenlose Online-Tool&nbsp;<a href="https://javl.github.io/image2cpp/" target="_blank" rel="noreferrer noopener"><strong>Image2CPP</strong></a>&nbsp;verwendet.</p>



<p><strong>Schritt-für-Schritt-Anleitung für eigene Grafiken:</strong></p>



<ol class="wp-block-list">
<li>Lade das gewünschte&nbsp;<strong>PNG-Bild</strong>&nbsp;hoch.</li>



<li>Stelle die&nbsp;<strong>Bildgröße</strong>&nbsp;passend zur benötigten Pixelgröße ein (z. B. 10×8 Pixel für ein Auto).</li>



<li>Wähle als&nbsp;<strong>Ausgabeformat</strong>&nbsp;→&nbsp;<strong>Arduino Code</strong>.</li>



<li>Kopiere den generierten&nbsp;<strong>PROGMEM-Code</strong>&nbsp;in das Arduino-Projekt.</li>



<li>Nutze display.drawBitmap(x, y, bitmap, width, height, SSD1306_WHITE); zur Anzeige des Bildes.</li>
</ol>



<p>Diese Methode ermöglicht es, eigene Icons oder Sprites für das Spiel zu erstellen und ins&nbsp;<strong>Flash-Speicher</strong>&nbsp;(PROGMEM) des Arduino zu laden. Dabei muss man aber immer beachten, dass der Speicherplatz des Arduino sehr begrenzt ist :)</p>



<h2 class="wp-block-heading"><strong>Spielprinzip und Steuerung</strong></h2>



<ul class="wp-block-list">
<li>Die Spielfigur (ein Vogel) fliegt von links nach rechts durch das Bild. Die Flughöhe des Vogels verringert sich laufend durch die Schwerkraft, der Spieler kann über den Drucktaster einen Flügelschlag auslösen, welcher die Flughöhe wieder erhöht. </li>



<li>Gleichzeitig bewegen sich die Rohre als Hindernisse auf den Vogel zu. Die Spielfigur muss durch die Lücken in den Rohren gesteuert werden.</li>



<li>Kollidiert der Spieler mit einem Hindernis, ist das Spiel vorbei.</li>



<li>3 Sekunden nach Game over wird die Highscore-Liste angezeigt.</li>



<li>Ein Druck auf eine beliebige Taste startet das Spiel neu.</li>
</ul>



<h2 class="wp-block-heading">Was mir am Projekt gefällt</h2>



<p>Wie schon beim <a href="https://www.makerblog.at/2025/03/retro-racer-mit-oled-display-128x64-ein-arcade-klassiker-auf-dem-arduino/" data-type="post" data-id="1839">Retro Racer</a> sieht man auch bei dieser Flappy Bird Variante, wie man klassische Spielideen mit einfachster Hardware und etwas Programmcode nachbauen kann und damit ein vollständiges, unterhaltsames Spiel entsteht. Die Kombination aus Spielphysik, Animation und einfachster Steuerung macht Flappy Bird zum perfekten Arduino-Projekt, egal ob zum Lernen, Lehren oder einfach zum Spaß.</p>



<p>Den kompletten Quellcode findest du gut dokumentiert hier auf Github <a href="https://github.com/adidax/oled-flappy-bird-arduino/tree/main" target="_blank" rel="noreferrer noopener">https://github.com/adidax/oled-flappy-bird-arduino/tree/main</a></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2025/10/flappy-bird-am-arduino-mit-oled-display/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Retro Racer mit OLED Display 128&#215;64 – Ein Arcade-Klassiker auf dem Arduino</title>
		<link>https://www.makerblog.at/2025/03/retro-racer-mit-oled-display-128x64-ein-arcade-klassiker-auf-dem-arduino/</link>
					<comments>https://www.makerblog.at/2025/03/retro-racer-mit-oled-display-128x64-ein-arcade-klassiker-auf-dem-arduino/#comments</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Wed, 12 Mar 2025 07:36:44 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[oled]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[retro game]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1839</guid>

					<description><![CDATA[Der Retro Pixel Racer ist ein kleines Arcade-Spiel für den Arduino UNO, das auf einem 128&#215;64 OLED-Display läuft. Angelehnt an die klassischen Rennspiele der 80er-Jahre steuerst du als Spieler ein Fahrzeug über mehrere Fahrspuren und musst dabei den anderen Fahrzeugen]]></description>
										<content:encoded><![CDATA[
<p>Der Retro Pixel Racer ist ein kleines Arcade-Spiel für den Arduino UNO, das auf einem 128&#215;64 OLED-Display läuft. Angelehnt an die klassischen Rennspiele der 80er-Jahre steuerst du als Spieler ein Fahrzeug über mehrere Fahrspuren und musst dabei den anderen Fahrzeugen ausweichen. Das Projekt nutzt einfache Hardware-Komponenten und zeigt eindrucksvoll, wie auch mit minimalistischen Mikrocontrollern halbwegs flüssige Animationen realisiert werden können.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Arduino Projekt Retro Racer – Mini Arcade-Spiel mit OLED-Display" width="700" height="394" src="https://www.youtube.com/embed/cnEbV9q5bLI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Trotz des einfachen Aufbaus des Projekts zu geringen Kosten ist das Ergebnis recht spannend und eignet sich auch gut für Gruppenprojekte, z.B. in der Schule.</p>



<h2 class="wp-block-heading"><strong>Hardware-Anforderungen</strong></h2>



<p>Neben dem Arduino samt Breadboard, das in vielen Starter Kits enthalten ist, benötigt man lediglich ein zusätzliches OLED-Display mit SSD1306-Controller sowie zwei Push-Buttons für die Steuerung. Ein optionaler Buzzer sorgt für Soundeffekte.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-startscreen-1024x683.jpg" alt="" class="wp-image-1847" srcset="https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-startscreen-1024x683.jpg 1024w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-startscreen-300x200.jpg 300w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-startscreen-768x512.jpg 768w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-startscreen-1536x1024.jpg 1536w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-startscreen-2048x1365.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Für den Nachbau werden folgende Komponenten benötigt:</p>



<ul class="wp-block-list">
<li><strong>OLED I2C Display 128&#215;64 mit SSD1306</strong> (separat erhältlich, z.B. <a href="https://amzn.to/3XJfjRi" target="_blank" rel="noreferrer noopener">hier im 3er Pack bei Amazon</a>)</li>
</ul>



<p>und die folgende Teile, die in jedem <a href="https://amzn.to/4iHWCFJ" target="_blank" rel="noreferrer noopener">Arduino Starter Kit</a> enthalten sind:</p>



<ul class="wp-block-list">
<li><strong>Arduino UNO R3 (oder kompatibel) mit Breadboard</strong></li>



<li><strong>Zwei Push-Buttons</strong> für die Steuerung (links/rechts)</li>



<li>Optionaler <strong>Buzzer</strong> für Soundeffekte</li>



<li><strong>Ein paar Kabel</strong> zur Verbindung der Komponenten</li>
</ul>



<h2 class="wp-block-heading"><strong>Verkabelung:</strong></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="756" src="https://www.makerblog.at/wp-content/uploads/2025/03/OLED-Racer_Steckplatine-1024x756.png" alt="" class="wp-image-1841" srcset="https://www.makerblog.at/wp-content/uploads/2025/03/OLED-Racer_Steckplatine-1024x756.png 1024w, https://www.makerblog.at/wp-content/uploads/2025/03/OLED-Racer_Steckplatine-300x222.png 300w, https://www.makerblog.at/wp-content/uploads/2025/03/OLED-Racer_Steckplatine-768x567.png 768w, https://www.makerblog.at/wp-content/uploads/2025/03/OLED-Racer_Steckplatine.png 1351w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Der Buzzer an D6 kann auch einfach weggelassen werden, im Programmcode sind dazu keine Änderungen notwendig.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Komponente</th><th>Arduino Pin</th></tr><tr><td>OLED SDA</td><td>A4</td></tr><tr><td>OLED SCL</td><td>A5</td></tr><tr><td>OLED VCC</td><td>5V</td></tr><tr><td>OLED GND</td><td>GND</td></tr><tr><td>Button Links</td><td>D2 und GND</td></tr><tr><td>Button Rechts</td><td>D3 und GND</td></tr><tr><td>Buzzer</td><td>D6 und GND</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><strong>Arduino Programmcode und technische Besonderheiten</strong></h2>



<p>Der komplette Quellcode ist gut dokumentiert auf&nbsp;<a href="https://github.com/adidax/oled-retro-pixel-racer" target="_blank" rel="noreferrer noopener"><strong>GitHub</strong>&nbsp;(oled_racer_de.ino)</a> verfügbar. Am einfachsten beim grünen Button rechts oben &#8222;Download ZIP&#8220; wählen und entpacken &#8211; oder den Sketch einfach über die Zwischenablage in ein neues Arduino Programmfenster kopieren.</p>



<h3 class="wp-block-heading">Einige wichtige Aspekte zum Verständnis des Codes:</h3>



<h4 class="wp-block-heading"><strong>Optimierung durch Integer-Skalierung:&nbsp;</strong></h4>



<p>Rechenoperationen mit Gleitkommazahlen sind aufwändig und das wollte ich vermeiden. An manchen Stellen, zum Beispiel bei der Geschwindigkeit des Spielerautos, braucht man aber die Möglichkeit, diese in feineren Schritten zu erhöhen. Deswegen habe ich Koordinaten von Objekten am Display und Geschwindigkeiten um den Faktor 10 hochskaliert und als&nbsp;int&nbsp;gespeichert. Das Display hat also im Programmcode nicht 128&#215;64, sondern 1280&#215;640 Pixel. So sind präzisere Berechnungen ohne Performance-Einbußen durch Float-Operationen möglich. Vor der Darstellung auf dem Display werden die Werte dann durch 10 geteilt.<br><strong>Beispiel:<br></strong><code>playerSpeed = 25</code>&nbsp;bedeutet eine Bewegung von 2.5 Pixeln pro Frame.<br>Ein Hindernis mit&nbsp;<code>x = 150</code>&nbsp;befindet sich an Position x = 15.0 auf dem Display.</p>



<h4 class="wp-block-heading">Spielzustände verwalten:&nbsp;</h4>



<p>Der Code nutzt eine&nbsp;<code>enum GameState</code>, um zwischen den verschiedenen Zuständen zu wechseln:<br><code>STARTSCREEN</code>: Intro-Animation mit Titel.<br><code>PLAYING</code>: Das eigentliche Spiel läuft (oder zeigt &#8222;Game over an&#8220;)<br><code>HIGHSCORE</code>: Nach Game Over wird eine Highscore-Liste angezeigt.<br>Dadurch bleibt der Code sauber strukturiert und einfach erweiterbar.</p>



<h4 class="wp-block-heading">Flüssige Animationen mit Timer-Steuerung:&nbsp;</h4>



<p>Das Spiel nutzt&nbsp;millis(), um eine konstante Framerate von 25 FPS zu halten. Statt&nbsp;delay()&nbsp;wird der Zeitunterschied zum letzten Frame berechnet, sodass die Spiellogik immer genau zur richtigen Zeit aktualisiert wird.</p>



<h4 class="wp-block-heading">Adaptive Gegner-Spawns:&nbsp;</h4>



<p>Die Gegner (Hindernisse) erscheinen mit steigender Spielzeit immer häufiger. Zu Beginn gibt es nur einen Gegner gleichzeitig, später bis zu zehn, je nach zurückgelegter Distanz.</p>



<h4 class="wp-block-heading">Blinkende Highscore-Anzeige:&nbsp;</h4>



<p>Falls der aktuelle Score in die Top-10 kommt, wird dieser blinkend hervorgehoben.</p>



<h2 class="wp-block-heading">Vorbereitung der Spielgrafik</h2>



<p>Da das OLED-Display nur <strong>Schwarz-Weiß-Grafiken</strong> unterstützt, müssen Bilder in ein passendes <strong>Bitmap-Format</strong> umgewandelt und im Programmcode eingebunden werden. Dafür habe ich das kostenlose Online-Tool <a href="https://javl.github.io/image2cpp/" target="_blank" rel="noreferrer noopener"><strong>Image2CPP</strong></a> verwendet.</p>



<p><strong>Schritt-für-Schritt-Anleitung für eigene Grafiken: </strong></p>



<ol class="wp-block-list">
<li>Lade das gewünschte <strong>PNG-Bild</strong> hoch.</li>



<li>Stelle die <strong>Bildgröße</strong> passend zur benötigten Pixelgröße ein (z. B. 10&#215;8 Pixel für ein Auto).</li>



<li>Wähle als <strong>Ausgabeformat</strong> → <strong>Arduino Code</strong>.</li>



<li>Kopiere den generierten <strong>PROGMEM-Code</strong> in das Arduino-Projekt.</li>



<li>Nutze display.drawBitmap(x, y, bitmap, width, height, SSD1306_WHITE); zur Anzeige des Bildes.</li>
</ol>



<p>Diese Methode ermöglicht es, eigene Icons oder Sprites für das Spiel zu erstellen und ins <strong>Flash-Speicher</strong> (PROGMEM) des Arduino zu laden. Dabei muss man aber immer beachten, dass der Speicherplatz des Arduino sehr begrenzt ist :) </p>



<h2 class="wp-block-heading"><strong>Spielprinzip und Steuerung</strong></h2>



<ul class="wp-block-list">
<li>Der Spieler kann sich mit den beiden Buttons&nbsp;<strong>nach links und rechts</strong>&nbsp;bewegen.</li>



<li>Gegner erscheinen zufällig auf den Spuren und bewegen sich auf den Spieler zu.</li>



<li>Kollidiert der Spieler mit einem Hindernis, ist das Spiel vorbei.</li>



<li>3 Sekunden nach Game over wird die Highscore-Liste angezeigt.</li>



<li>Ein Druck auf eine beliebige Taste startet das Spiel neu.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-ingame-1024x683.jpg" alt="" class="wp-image-1846" srcset="https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-ingame-1024x683.jpg 1024w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-ingame-300x200.jpg 300w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-ingame-768x512.jpg 768w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-ingame-1536x1024.jpg 1536w, https://www.makerblog.at/wp-content/uploads/2025/03/oled-racer-ingame-2048x1365.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><strong>Was mir am Projekt gefällt</strong></h2>



<p>Dieses kleine Projekt zeigt, dass auch mit begrenzten Ressourcen spannende Retro-Spiele auf dem Arduino möglich sind. Der Code ist modular und halbwegs verständlich &#8211; auf Objektklassen oder komplexere Konstrukte habe ich bewusst verzichtet &#8211; und kann leicht verändert oder erweitert werden – beispielsweise mit mehr Soundeffekten oder zusätzlichen Hindernissen.</p>



<p><a href="https://github.com/adidax/oled-retro-pixel-racer" target="_blank" rel="noreferrer noopener">Der&nbsp;<strong>komplette Quellcode</strong>&nbsp;ist auf&nbsp;<strong>GitHub</strong>&nbsp;verfügbar.</a> Viel Spaß beim Nachbauen!</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2025/03/retro-racer-mit-oled-display-128x64-ein-arcade-klassiker-auf-dem-arduino/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino-Projekt: OLED-Display mit BME280 für Raumklima-Messung</title>
		<link>https://www.makerblog.at/2025/02/arduino-projekt-oled-display-mit-bme280-raumklima-messung/</link>
					<comments>https://www.makerblog.at/2025/02/arduino-projekt-oled-display-mit-bme280-raumklima-messung/#respond</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Wed, 19 Feb 2025 14:07:15 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[bme280]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1826</guid>

					<description><![CDATA[Dieses Tutorial zeigt, wie ein OLED-Display und ein BME280-Sensor mit einem Arduino zur Messung von Temperatur, Luftfeuchtigkeit und Luftdruck genutzt werden können. Die Komponenten kommunizieren über die I2C-Schnittstelle und benötigen nur wenige Kabel. Benötigte Bauteile OLED-Displays und ihre Eigenschaften OLED-Displays]]></description>
										<content:encoded><![CDATA[
<p>Dieses Tutorial zeigt, wie ein OLED-Display und ein BME280-Sensor mit einem Arduino zur Messung von Temperatur, Luftfeuchtigkeit und Luftdruck genutzt werden können. Die Komponenten kommunizieren über die I2C-Schnittstelle und benötigen nur wenige Kabel.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="OLED Display &amp; BME280 Sensor am Arduino mit I²C - Tutorial" width="700" height="394" src="https://www.youtube.com/embed/kr3ikuN5vjo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Benötigte Bauteile</strong></h2>



<ul class="wp-block-list">
<li><a href="https://amzn.to/3EGvBnk">Arduino Uno oder vergleichbares Modell</a></li>



<li><a href="https://amzn.to/3EMSbuH">BME280 Sensor</a></li>



<li><a href="https://amzn.to/4k2WuCi">OLED-Display (128&#215;32 oder 128&#215;64, SSD1306-Treiber)</a></li>



<li><a href="https://amzn.to/431ltQo">Jumper-Kabel</a></li>



<li>Breadboard oder <a href="https://amzn.to/3CvDcoh">kleines Starter Kit</a> (optional, aber hilfreich)</li>
</ul>



<div class="aawp">

    <table class="aawp-table">
        <thead>
            <tr>
                                <th class="aawp-table__th-thumb">Vorschau</th>
                <th class="aawp-table__th-title">Produkt</th>
                                    <th class="aawp-table__th-rating">Bewertung</th>
                                                    <th class="aawp-table__th-pricing">Preis</th>
                                <th class="aawp-table__th-links"></th>
            </tr>
        </thead>
        <tbody>
                    
            <tr class="aawp-product"  data-aawp-product-asin="B0DQ7ZJMNX" data-aawp-product-id="4186" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="ELEGOO UNO R3 Mikrocontroller Board Hauptplatine mit USB-Kabel Kompatibel mit Arduino Entwicklungsumgebung" data-aawp-local-click-tracking="1">
                                <td class="aawp-table__td-thumb" data-label="Vorschau">
                    <a href="https://www.amazon.de/dp/B0DQ7ZJMNX?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="ELEGOO UNO R3 Mikrocontroller Board Hauptplatine mit USB-Kabel Kompatibel mit Arduino Entwicklungsumgebung" rel="nofollow noopener sponsored" target="_blank">
                        <img decoding="async" class="aawp-product__img" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TlRGMGJsZHRVVmxMV1V3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="ELEGOO UNO R3 Mikrocontroller Board Hauptplatine mit USB-Kabel Kompatibel mit Arduino Entwicklungsumgebung"  />
                    </a>
                </td>
                <td class="aawp-table__td-title" data-label="Produkt">
                    <a class="aawp-product__title" href="https://www.amazon.de/dp/B0DQ7ZJMNX?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="ELEGOO UNO R3 Mikrocontroller Board Hauptplatine mit USB-Kabel Kompatibel mit Arduino Entwicklungsumgebung"
                       rel="nofollow noopener sponsored" target="_blank">ELEGOO UNO R3 Mikrocontroller Board Hauptplatine mit USB-Kabel Kompatibel mit Arduino&#8230;                    </a>
                </td>
                                    <td class="aawp-table__td-rating" data-label="Bewertung">
                                                    <span class="aawp-product__no-rating">Aktuell keine Bewertungen</span>
                                                                    </td>
                                                    <td class="aawp-table__td-pricing" data-label="Preis">
                                                <span class="aawp-product__price"></span>                    </td>
                                <td class="aawp-table__td-links" data-label="Link">
                    <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B0DQ7ZJMNX?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>                </td>
            </tr>

                    
            <tr class="aawp-product"  data-aawp-product-asin="B0D2L1ZDWP" data-aawp-product-id="4187" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="APKLVSR 3PCS 0.91  I2C Display Modul,IIC I2C Display OLED Anzeigemodul 128x32 3.3V/5V für Arduino und andere Mikrocontroller  Blau" data-aawp-local-click-tracking="1">
                                <td class="aawp-table__td-thumb" data-label="Vorschau">
                    <a href="https://www.amazon.de/dp/B0D2L1ZDWP?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="APKLVSR 3PCS 0.91' I2C Display Modul,IIC I2C Display OLED Anzeigemodul 128x32 3.3V/5V für Arduino und andere Mikrocontroller (Blau)" rel="nofollow noopener sponsored" target="_blank">
                        <img decoding="async" class="aawp-product__img" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TkRGeU9IQTNkbEJIWkV3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="APKLVSR 3PCS 0.91' I2C Display Modul,IIC I2C Display OLED Anzeigemodul 128x32 3.3V/5V für Arduino und andere Mikrocontroller (Blau)"  />
                    </a>
                </td>
                <td class="aawp-table__td-title" data-label="Produkt">
                    <a class="aawp-product__title" href="https://www.amazon.de/dp/B0D2L1ZDWP?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="APKLVSR 3PCS 0.91' I2C Display Modul,IIC I2C Display OLED Anzeigemodul 128x32 3.3V/5V für Arduino und andere Mikrocontroller (Blau)"
                       rel="nofollow noopener sponsored" target="_blank">APKLVSR 3PCS 0.91&#8243; I2C Display Modul,IIC I2C Display OLED Anzeigemodul 128&#215;32 3.3V/5V für Arduino&#8230;                    </a>
                </td>
                                    <td class="aawp-table__td-rating" data-label="Bewertung">
                                                    <span class="aawp-product__no-rating">Aktuell keine Bewertungen</span>
                                                                    </td>
                                                    <td class="aawp-table__td-pricing" data-label="Preis">
                                                <span class="aawp-product__price"></span>                    </td>
                                <td class="aawp-table__td-links" data-label="Link">
                    <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B0D2L1ZDWP?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>                </td>
            </tr>

                    
            <tr class="aawp-product"  data-aawp-product-asin="B07D8T4HP6" data-aawp-product-id="4188" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="AZDelivery GY-BME280 Barometrischer Sensor für Temperatur Luftfeuchtigkeit und Luftdruck kompatibel mit Arduino und Raspberry Pi inklusive E-Book!" data-aawp-local-click-tracking="1">
                                <td class="aawp-table__td-thumb" data-label="Vorschau">
                    <a href="https://www.amazon.de/dp/B07D8T4HP6?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="AZDelivery GY-BME280 Barometrischer Sensor für Temperatur, Luftfeuchtigkeit und Luftdruck kompatibel mit Arduino und Raspberry Pi inklusive E-Book!" rel="nofollow noopener sponsored" target="_blank">
                        <img decoding="async" class="aawp-product__img" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TlRGdmJGSkRlbGg0ZGt3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="AZDelivery GY-BME280 Barometrischer Sensor für Temperatur, Luftfeuchtigkeit und Luftdruck kompatibel mit Arduino und Raspberry Pi inklusive E-Book!"  />
                    </a>
                </td>
                <td class="aawp-table__td-title" data-label="Produkt">
                    <a class="aawp-product__title" href="https://www.amazon.de/dp/B07D8T4HP6?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="AZDelivery GY-BME280 Barometrischer Sensor für Temperatur, Luftfeuchtigkeit und Luftdruck kompatibel mit Arduino und Raspberry Pi inklusive E-Book!"
                       rel="nofollow noopener sponsored" target="_blank">AZDelivery GY-BME280 Barometrischer Sensor für Temperatur, Luftfeuchtigkeit und Luftdruck&#8230;                    </a>
                </td>
                                    <td class="aawp-table__td-rating" data-label="Bewertung">
                                                    <span class="aawp-product__no-rating">Aktuell keine Bewertungen</span>
                                                                    </td>
                                                    <td class="aawp-table__td-pricing" data-label="Preis">
                                                <span class="aawp-product__price"></span>                    </td>
                                <td class="aawp-table__td-links" data-label="Link">
                    <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B07D8T4HP6?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>                </td>
            </tr>

                </tbody>
    </table>

</div>



<h2 class="wp-block-heading"><strong>OLED-Displays und ihre Eigenschaften</strong></h2>



<p>OLED-Displays (Organic Light Emitting Diode) benötigen keine Hintergrundbeleuchtung, da jedes Pixel selbst leuchtet. Sie bieten hohe Kontraste und sind energieeffizient. Das von mir verwendete 0,91-Zoll-Display hat 128&#215;32 Pixel und nutzt den SSD1306-Treiber. Die Header-Pins müssen oft selbst angelötet werden.</p>



<h2 class="wp-block-heading"><strong>I2C-Schnittstelle</strong></h2>



<p>I2C ist eine serielle Schnittstelle, die mit nur zwei Leitungen auskommt, <strong>SDA (Serial Data)</strong>&nbsp;für die Datenübertragung und <strong>SCL (Serial Clock)</strong>&nbsp;für das Taktsignal. Am Arduino UNO R3 sind die Pins A4 und A5 für diese Schnittstelle zuständig. Mehrere Geräte können an denselben Bus angeschlossen werden, da jedes eine eindeutige Adresse besitzt.</p>



<h2 class="wp-block-heading"><strong>Schaltplan und Verkabelung</strong></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="751" src="https://www.makerblog.at/wp-content/uploads/2025/02/OLED-BME280_Steckplatine-1024x751.png" alt="" class="wp-image-1834" srcset="https://www.makerblog.at/wp-content/uploads/2025/02/OLED-BME280_Steckplatine-1024x751.png 1024w, https://www.makerblog.at/wp-content/uploads/2025/02/OLED-BME280_Steckplatine-300x220.png 300w, https://www.makerblog.at/wp-content/uploads/2025/02/OLED-BME280_Steckplatine-768x563.png 768w, https://www.makerblog.at/wp-content/uploads/2025/02/OLED-BME280_Steckplatine.png 1361w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading"><strong>Vom OLED-Display zum Arduino: </strong></h3>



<ul class="wp-block-list">
<li>GND → GND</li>



<li>VCC → 5V (oder 3,3V, falls das Modul keine 5V kann)</li>



<li>SDA → A4</li>



<li>SCL → A5</li>
</ul>



<h3 class="wp-block-heading">Vom <strong>BME280 Sensor zum Arduino:</strong></h3>



<ul class="wp-block-list">
<li>GND → GND</li>



<li>VCC → 5V</li>



<li>SDA → A4</li>



<li>SCL → A5</li>
</ul>



<p>Am einfachsten ist die Verkabelung, wenn man A4 und A5 vom Arduino zuerst aufs Breadboard zu den Pins des Displays und von dort weiter zum Sensor führt.</p>



<p></p>



<h2 class="wp-block-heading"><strong>I2C-Adresse der Module ermitteln</strong></h2>



<p>Zum Test des Aufbaus kann der I2CScanner Sketch verwendet werden. Der überprüft an allen möglichen Adressen, ob sich ein I2C Gerät zurückmeldet. Der Sketch findet sich in der Arduino IDE unter </p>



<ul class="wp-block-list">
<li>Arduino IDE → Beispiele → Wire → i2cscanner</li>
</ul>



<p>Typische Adressen für OLED Display sind 0x3C oder 0x3D, für den BME280 Sensor 0x76 oder 0x77. Falls ein Modul nicht angezeigt wird, sollte die Verkabelung überprüft werden.</p>



<h2 class="wp-block-heading"><strong>Bibliotheken installieren</strong></h2>



<p>Damit mit der nachfolgende Sketch funktioniert, müssen folgenden Bibliotheken in der Arduino IDE installiert werden:</p>



<ul class="wp-block-list">
<li>Adafruit SSD1306</li>



<li>Adafruit BME280</li>
</ul>



<h2 class="wp-block-heading"><strong>Arduino-Code zur Anzeige der Messwerte</strong></h2>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">/***************************************************************************
 BMP280 und OLED Display 128x32
 https:&#47;&#47;www.makerblog.at

 - Arduino UNO R3 (oder vergleichbar)
 - BMP280 Klimasensor für Temperatur und Luftfeuchtigkeit
 - OLED I2C Display 128x32 (oder größer)

 Verkabelung:

 BME280 -&gt; Arduino UNO R3
 SDA -&gt; A4
 SVL -&gt; A5
 GND -&gt; GND
 VIN -&gt; 5V

 OLED -&gt; Arduino UNO R3
 SDA -&gt; A4
 SVL -&gt; A5
 GND -&gt; GND
 VIN -&gt; 5V

 Folgende Libraries müssen installiert sein, bei Fehlermeldung bitte mit dem Library Manager 
 kontrollieren

 - Adafruit SSD1306
 - Adafruit BME280
 ***************************************************************************/</span>

<span class="hljs-comment">#include &lt;Adafruit_BME280.h&gt;</span>
<span class="hljs-comment">#include &lt;Adafruit_SSD1306.h&gt;</span>

<span class="hljs-comment">#define SCREEN_WIDTH 128  // Horizontale Auflösung des Displays in Pixel</span>
<span class="hljs-comment">#define SCREEN_HEIGHT 32  // Vertikale Auflösung des Displays in Pixel</span>
<span class="hljs-comment">#define OLED_RESET -1     // Reset pin # (oder -1 wenn kein Reset Pin am Display)</span>

<span class="hljs-comment">#define SCREEN_ADDRESS 0x3C  // I2C Adresse des Displays, siehe Datenblatt, meist 0x3D für 128x64, 0x3C für 128x32</span>
<span class="hljs-comment">#define BME_ADDRESS 0x76     // I2C Adresse des Sensors</span>

<span class="hljs-comment">#define DELAY_TIME 500  // Wartezeit zwischen Messungen</span>

<span class="hljs-comment">// display Objekt mit Parametern erstellen</span>
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire, OLED_RESET);

Adafruit_BME280 bme;  <span class="hljs-comment">// bme Objekt für den Temperatursensor</span>

void setup() {
  Serial.begin(<span class="hljs-number">9600</span>);

  <span class="hljs-keyword">while</span> (!Serial)
    ;  <span class="hljs-comment">// Warten bis serielle Kommunikation funktioniert</span>
  Serial.println(F(<span class="hljs-string">"OLED mit BME280 Projekt"</span>));

  <span class="hljs-keyword">if</span> (!bme.begin(BME_ADDRESS)) {
    Serial.println(<span class="hljs-string">"Kein BME280 Sensor an der Adresse gefunden."</span>);
    <span class="hljs-keyword">while</span> (<span class="hljs-number">1</span>) {
      delay(<span class="hljs-number">100</span>);
    }
  }

  <span class="hljs-comment">// SSD1306_SWITCHCAPVCC = 3.3V Spannung wird intern erzeugt</span>
  <span class="hljs-keyword">if</span> (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
    Serial.println(F(<span class="hljs-string">"Keinen SSD1306 Verbindung gefunden"</span>));
    <span class="hljs-keyword">while</span> (<span class="hljs-number">1</span>) {
      delay(<span class="hljs-number">100</span>);
    }
  }

  display.clearDisplay(); <span class="hljs-comment">// Displayinhalt leeren</span>
  display.setTextSize(<span class="hljs-number">1</span>); <span class="hljs-comment">// Schriftgrösse 1</span>
  display.setTextColor(SSD1306_WHITE); <span class="hljs-comment">// Pixel leuchtet</span>
  display.cp437(<span class="hljs-keyword">true</span>); <span class="hljs-comment">// Use full 256 char 'Code Page 437' font</span>
  display.display(); <span class="hljs-comment">// Displayinhalt anzeigen</span>

  Serial.println(<span class="hljs-string">"Setup finished"</span>);
}


void loop() {

  display.clearDisplay(); <span class="hljs-comment">// Display leeren</span>
  display.drawRect(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">128</span>, <span class="hljs-number">32</span>, SSD1306_WHITE); <span class="hljs-comment">// Rahmen zeichnen</span>

  display.setCursor(<span class="hljs-number">2</span>, <span class="hljs-number">2</span>); <span class="hljs-comment">//Cursorposition x, y</span>
  display.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Temp: "</span>);
  display.setCursor(<span class="hljs-number">50</span>, <span class="hljs-number">2</span>);
  display.<span class="hljs-keyword">print</span>(bme.readTemperature());
  display.<span class="hljs-keyword">print</span>(<span class="hljs-string">" "</span>);
  display.write(<span class="hljs-number">248</span>); <span class="hljs-comment">// Hochgestellter Kreis für °C</span>
  display.println(<span class="hljs-string">"C"</span>);

  display.setCursor(<span class="hljs-number">2</span>, <span class="hljs-number">12</span>);
  display.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Luftf: "</span>);
  display.setCursor(<span class="hljs-number">50</span>, <span class="hljs-number">12</span>);
  display.<span class="hljs-keyword">print</span>(bme.readHumidity());
  display.println(<span class="hljs-string">" %"</span>);

  display.setCursor(<span class="hljs-number">2</span>, <span class="hljs-number">22</span>);
  display.<span class="hljs-keyword">print</span>(<span class="hljs-string">"LDruck: "</span>);
  display.setCursor(<span class="hljs-number">50</span>, <span class="hljs-number">22</span>);
  display.<span class="hljs-keyword">print</span>(bme.readPressure() / <span class="hljs-number">100.0</span>F);
  display.println(<span class="hljs-string">" hPa"</span>);  

  display.display();
  delay(DELAY_TIME);
}</code></span></pre>


<h2 class="wp-block-heading"><strong>Fazit und Erweiterungsmöglichkeiten</strong></h2>



<p>Geschafft. Das OLED-Display zeigt die Messwerte des BME280-Sensors an. Mögliche Erweiterungen sind:</p>



<ul class="wp-block-list">
<li>Anzeige von Symbolen oder größeren Schriftarten</li>



<li>Einbau in ein Gehäuse</li>



<li>Übertragung der Werte per Bluetooth oder WLAN an eine IoT-Plattform mit einem geeigneten Arduino, z.B. dem neuen Arduino UNO R4</li>
</ul>



<p></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2025/02/arduino-projekt-oled-display-mit-bme280-raumklima-messung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>LCD Displays mit I²C am Arduino</title>
		<link>https://www.makerblog.at/2025/02/lcd-displays-mit-i%c2%b2c-am-arduino/</link>
					<comments>https://www.makerblog.at/2025/02/lcd-displays-mit-i%c2%b2c-am-arduino/#respond</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Fri, 07 Feb 2025 08:10:22 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[i2c]]></category>
		<category><![CDATA[lcd]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1806</guid>

					<description><![CDATA[LCD Displays am Arduino sind eine praktische Möglichkeit, damit man Daten nicht immer nur über die serielle Schnittstelle ausgeben muss und lassen auch kleine Projekte gleich professioneller aussehen. Besonders das 1602 Display mit 2 Zeilen à 16 Zeichen ist in fast jedem Arduino Starter Kit zu]]></description>
										<content:encoded><![CDATA[
<p>LCD Displays am Arduino sind eine praktische Möglichkeit, damit man Daten nicht immer nur über die serielle Schnittstelle ausgeben muss und lassen auch kleine Projekte gleich professioneller aussehen.</p>



<p>Besonders das <strong>1602 Display</strong> mit 2 Zeilen à 16 Zeichen ist in fast jedem <strong><a href="https://amzn.to/4hJAJW4" target="_blank" rel="noreferrer noopener">Arduino Starter Kit</a></strong> zu finden. Diese Displays sind praktisch und kostengünstig, haben jedoch einen Nachteil: Sie werden standardmäßig <strong>parallel angesteuert</strong> und benötigen dadurch mindestens 6 Digitalpins am Arduino und eventuell auch noch eine Potentiometer am Breadboard.</p>



<p>Das kann problematisch werden, wenn weitere&nbsp;Sensoren oder Module&nbsp;angeschlossen werden sollen. Hinzu kommt der&nbsp;Kabelsalat&nbsp;auf dem Breadboard, der bei komplexeren Projekten schnell unübersichtlich wird.</p>



<h2 class="wp-block-heading">Die Lösung: Die I²C-Schnittstelle für LCD Displays</h2>



<p>Die&nbsp;<strong>I²C-Schnittstelle</strong>&nbsp;(Inter Integrated Circuit) bietet eine einfache Lösung für dieses Problem. I²C&nbsp;ist ein Protokoll zur seriellen Kommunikation zwischen elektronischen Bauteilen. Es benötigt nur&nbsp;zwei Leitungen und damit nur 2 Digitalpins am Arduino:</p>



<ul class="wp-block-list">
<li><strong>SDA</strong>&nbsp;(Serial Data Line) für die Datenübertragung</li>



<li><strong>SCL</strong>&nbsp;(Serial Clock Line) für den Takt</li>
</ul>



<p>Jedes I²C-Gerät hat eine&nbsp;<strong>eindeutige Adresse</strong>. Dadurch können über dieselben zwei Pins mehrere Module wie Sensoren oder Displays angesprochen werden.</p>



<p>Für Standard-LCDs gibt es kleine&nbsp;I²C-Adapterplatinen, die einfach an die 16 Anschlusspins des Displays gelötet werden. Diese verwenden meist den PCF8574, einen I/O Expander, der serielle Daten in parallele Signale für das LCD umwandelt. Diese Adapter stellen dann die&nbsp;4 I²C-Anschlüsse&nbsp;(VCC, GND, SDA, SCL) zur Verfügung. Ein&nbsp;Potentiometer zur Helligkeitssteuerung&nbsp;der Anzeige ist oft noch zusätzlich auf der Platine integriert.</p>



<p>Diese Erweiterungen sind praktisch, machen das Modul jedoch etwas unhandlicher. Aus diesem Grund gibt es inzwischen auch <strong>LCD Displays mit integrierter I²C-Schnittstelle</strong>, die direkt auf dem Modul verbaut ist und so den gewohnten Formfaktor beibehält.</p>




<div class="aawp">
    <div class="aawp-grid aawp-grid--col-3">

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical aawp-product--bestseller aawp-product--ribbon"  data-aawp-product-asin="B0B76Z83Y4" data-aawp-product-id="4165" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="FREENOVE I2C IIC LCD 1602 Module  2 Pack  New Type TWI Serial 16x2 Display Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266" data-aawp-local-click-tracking="1">

    <span class="aawp-product__ribbon aawp-product__ribbon--bestseller">Bestseller Nr. 1</span>
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B0B76Z83Y4?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=lcd%20i2c" title="FREENOVE I2C IIC LCD 1602 Module (2 Pack), New Type TWI Serial 16x2 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TlRFeFIzTnJZMUpZUmt3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="FREENOVE I2C IIC LCD 1602 Module (2 Pack), New Type TWI Serial 16x2 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B0B76Z83Y4?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=lcd%20i2c" title="FREENOVE I2C IIC LCD 1602 Module (2 Pack), New Type TWI Serial 16x2 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266" rel="nofollow noopener sponsored" target="_blank">
            FREENOVE I2C IIC LCD 1602 Module (2 Pack), New...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current"></span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B0B76Z83Y4?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1&#038;keywords=lcd%20i2c" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical aawp-product--bestseller aawp-product--ribbon"  data-aawp-product-asin="B0CM9H3MNX" data-aawp-product-id="4166" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="ARCELI 20x4 2004 LCD Display Modul DC 5V LCD-Bildschirm-Anzeigemodul Zeichen Bildschirm mit TWI IIC I2C LCD Schnittstelle Adapter  Blau/2004" data-aawp-local-click-tracking="1">

    <span class="aawp-product__ribbon aawp-product__ribbon--bestseller">Bestseller Nr. 2</span>
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B0CM9H3MNX?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=lcd%20i2c" title="ARCELI 20x4 2004 LCD Display Modul, DC 5V LCD-Bildschirm-Anzeigemodul Zeichen Bildschirm mit TWI IIC I2C LCD Schnittstelle Adapter (Blau/2004)" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TkRGdVZ6Sk5kVGhpTWt3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="ARCELI 20x4 2004 LCD Display Modul, DC 5V LCD-Bildschirm-Anzeigemodul Zeichen Bildschirm mit TWI IIC I2C LCD Schnittstelle Adapter (Blau/2004)"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B0CM9H3MNX?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=lcd%20i2c" title="ARCELI 20x4 2004 LCD Display Modul, DC 5V LCD-Bildschirm-Anzeigemodul Zeichen Bildschirm mit TWI IIC I2C LCD Schnittstelle Adapter (Blau/2004)" rel="nofollow noopener sponsored" target="_blank">
            ARCELI 20x4 2004 LCD Display Modul, DC 5V...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current"></span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B0CM9H3MNX?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1&#038;keywords=lcd%20i2c" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical aawp-product--bestseller aawp-product--ribbon"  data-aawp-product-asin="B0B76VGXYH" data-aawp-product-id="4167" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="FREENOVE I2C IIC LCD 2004 Module TWI Serial 20x4 Display Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266" data-aawp-local-click-tracking="1">

    <span class="aawp-product__ribbon aawp-product__ribbon--bestseller">Bestseller Nr. 3</span>
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B0B76VGXYH?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=lcd%20i2c" title="FREENOVE I2C IIC LCD 2004 Module, TWI Serial 20x4 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TkRGQk5WUkZWMlp2YVV3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="FREENOVE I2C IIC LCD 2004 Module, TWI Serial 20x4 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B0B76VGXYH?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=lcd%20i2c" title="FREENOVE I2C IIC LCD 2004 Module, TWI Serial 20x4 Display, Compatible with Arduino Raspberry Pi Pico ESP32 ESP8266" rel="nofollow noopener sponsored" target="_blank">
            FREENOVE I2C IIC LCD 2004 Module, TWI Serial 20x...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current"></span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B0B76VGXYH?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1&#038;keywords=lcd%20i2c" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

    
    </div>
</div>




<h2 class="wp-block-heading">Anschluss eines I²C-LCD Displays an den Arduino</h2>



<p>Der Anschluss eines I²C-LCD Displays an den Arduino UNO ist denkbar einfach:</p>



<ol start="1" class="wp-block-list">
<li><strong>VCC</strong>&nbsp;an&nbsp;<strong>5V</strong></li>



<li><strong>GND</strong>&nbsp;an&nbsp;<strong>GND</strong></li>



<li><strong>SDA</strong>&nbsp;an&nbsp;<strong>A4</strong>&nbsp;(Arduino UNO)</li>



<li><strong>SCL</strong>&nbsp;an&nbsp;<strong>A5</strong>&nbsp;(Arduino UNO)</li>
</ol>



<p><strong>Hinweis:</strong> Bei anderen Mikrocontrollern können die I²C-Pins variieren.</p>



<ul class="wp-block-list">
<li>Arduino UNO/Nano: SDA an A4, SCL an A5.</li>



<li>Arduino Micro: SDA an D2, SCL an D3.</li>



<li>Arduino Mega 2560: SDA an D20, SCL an D21.</li>



<li>ESP8266 (NodeMCU): SDA an GPIO4 (D2), SCL an GPIO5 (D1).</li>



<li>ESP32: SDA an GPIO21, SCL an GPIO22.</li>



<li>Raspberry Pi (Model 3 &amp; 4): SDA an GPIO2 (Pin 3), SCL an GPIO3 (Pin 5).</li>



<li>STM32 (Blue Pill): SDA an PB7, SCL an PB6.</li>



<li>Teensy 4.x: SDA an Pin 18, SCL an Pin 19.</li>
</ul>



<h2 class="wp-block-heading"><strong>LCD Display, Zeichensatz und Sonderzeichen</strong></h2>



<p>LCD-Displays wie das 1602 oder 2004 verwenden oft einen HD44780-kompatiblen Controller, der einen festgelegten Zeichensatz (Character Generator ROM, CGROM) integriert hat. Dieser Zeichensatz basiert auf dem erweiterten ASCII-Code und enthält neben den englischen Buchstaben, Zahlen und Symbolen auch einige Sonderzeichen wie Pfeile oder mathematische Symbole. Allerdings fehlen häufig länderspezifische Sonderzeichen, etwa deutsche Umlaute (ä, ö, ü) oder das „ß“.</p>



<p>Für individuelle Anpassungen bietet der Controller einen benutzerdefinierten Zeichensatz (CGRAM), in dem bis zu acht eigene Zeichen definiert werden können. Diese Zeichen werden als 8&#215;5-Pixel-Matrix erstellt und können zur Darstellung von Sonderzeichen oder Symbolen genutzt werden. Wenn jedoch mehr als acht Sonderzeichen benötigt werden, müssen diese dynamisch neu definiert werden, was bei häufiger Nutzung den Code komplexer macht.</p>



<p>Eine sehr gute Library zur Anzeige deutscher Umlaute samt umfangreicher Erklärung:<br><a href="https://werner.rothschopf.net/202003_arduino_liquid_crystal_umlaute.htm">https://werner.rothschopf.net/202003_arduino_liquid_crystal_umlaute.htm</a></p>



<h2 class="wp-block-heading">Einfacher Sekundenzähler auf einem LCD Display</h2>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#include &lt;LCDI2C_Multilingual_MCD.h&gt;</span>

LCDI2C_Latin lcd(<span class="hljs-number">0x27</span>, <span class="hljs-number">16</span>, <span class="hljs-number">2</span>); <span class="hljs-comment">// I2C Adresse: 0x27; Display: 16x2</span>

void setup() {
  lcd.init(); <span class="hljs-comment">// Display initialisieren</span>
  lcd.backlight(); <span class="hljs-comment">// Hintergrundbeleuchtung einschalten</span>
  lcd.setCursor(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>); <span class="hljs-comment">// Cursor auf erstes Zeichen in erster Zeile</span>
  lcd.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Sekunden:"</span>); <span class="hljs-comment">// Text in erster Zeile ausgeben</span>
}

void loop() {
    unsigned long seconds = millis() / <span class="hljs-number">1000</span>;
 
    lcd.setCursor(<span class="hljs-number">0</span>, <span class="hljs-number">1</span>); <span class="hljs-comment">// Cursor auf erstes Zeichen in zweiter Zeile</span>
    lcd.<span class="hljs-keyword">print</span>(seconds); <span class="hljs-comment">// Zeit seit Start in Sekunden ausgeben</span>
    lcd.<span class="hljs-keyword">print</span>(<span class="hljs-string">"s   "</span>); <span class="hljs-comment">// s für Sekunden und ein paar Leerzeichen zum Überschreiben alter Werte</span>
    delay(<span class="hljs-number">500</span>); <span class="hljs-comment">// Leichte Verzögerung, damit nicht dauernd geschrieben wird</span>
}</code></span></pre>


<h2 class="wp-block-heading">I²C-Adressen verstehen und ändern</h2>



<p>Da alle über I²C angesteuerten Geräte über einen gemeinsamen Datenbus angesprochen werden, benötigt jedes Gerät eine eindeutige Adresse. Die <strong>Standardadresse</strong> für viele LCD-I²C-Module ist <strong>0x27</strong> (hexadezimal).</p>



<p>Wenn mehrere Displays verwendet werden sollen oder es einen Adresskonflikt mit anderen Geräten gibt, dann müssen unterschiedliche Adressen vergeben werden. Auf der Rückseite des I²C-Moduls befinden sich dazu drei Pins: <strong>A0, A1 und A2</strong>. Diese Pins steuern die letzten 3 Bits der I²C-Adresse.</p>



<ul class="wp-block-list">
<li><strong>Offen (HIGH)</strong>: Das Bit ist auf&nbsp;<strong>1</strong>&nbsp;gesetzt.</li>



<li><strong>Kurzgeschlossen (LOW)</strong>: Das Bit wird auf&nbsp;<strong>0</strong>&nbsp;gesetzt.</li>
</ul>



<p>Beispiel (I²C Adressen in 7 Bit)</p>



<ul class="wp-block-list">
<li><strong>A0 geschlossen</strong>: Ändert die Adresse von <strong>0x27</strong> <strong>(0b0100111)</strong>&nbsp;auf&nbsp;<strong>0x26 (0b0100110)</strong>.</li>



<li><strong>A1 geschlossen</strong>: Ändert die Adresse von&nbsp;<strong>0x27 (0b0100111)</strong>&nbsp;auf&nbsp;<strong>0x25 (0b0100101)</strong>.</li>



<li><strong>Alle geschlossen</strong>: Adresse ändert sich von&nbsp;<strong>0x27 (0b0100111)</strong>&nbsp;auf&nbsp;<strong>0x20 (0b0100000)</strong>.</li>
</ul>



<p>So lassen sich mehrere Displays mit unterschiedlichen Adressen am selben I²C-Bus betreiben.</p>



<h3 class="wp-block-heading">Drei Displays gleichzeitig ansteuern</h3>



<p>In diesem Beispiel werden drei Displays über den I²C-Bus gleichzeitig angesteuert. Die Displays zeigen unterschiedliche Informationen an.</p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#include &lt;LCDI2C_Multilingual_MCD.h&gt;</span>

LCDI2C_Latin lcd1(<span class="hljs-number">0x25</span>, <span class="hljs-number">16</span>, <span class="hljs-number">2</span>); <span class="hljs-comment">// I2C Adresse: 0x25; Display: 16x2</span>
LCDI2C_Latin lcd2(<span class="hljs-number">0x26</span>, <span class="hljs-number">16</span>, <span class="hljs-number">2</span>); <span class="hljs-comment">// I2C Adresse: 0x26; Display: 16x2</span>
LCDI2C_Latin lcd3(<span class="hljs-number">0x27</span>, <span class="hljs-number">20</span>, <span class="hljs-number">4</span>); <span class="hljs-comment">// I2C Adresse: 0x27; Display: 20x4</span>

unsigned long lastSecond = <span class="hljs-number">0</span>; <span class="hljs-comment">// Zwischenspeicher für Fortschrittsbalken</span>
int progressBar = <span class="hljs-number">0</span>; <span class="hljs-comment">// Aktuelle Länge des Fortschrittbalkens</span>

void setup() {
  lcd1.init(); <span class="hljs-comment">// Display1 initialisieren</span>
  lcd1.backlight(); <span class="hljs-comment">// Hintergrundbeleuchtung einschalten</span>
  lcd1.setCursor(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>); <span class="hljs-comment">// Cursor auf erstes Zeichen in erster Zeile</span>
  lcd1.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Sekunden:"</span>); <span class="hljs-comment">// Text in erster Zeile ausgeben</span>

  lcd2.init(); <span class="hljs-comment">// Display 2 initialisieren</span>
  lcd2.backlight(); 
  lcd2.setCursor(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>); 
  lcd2.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Millisekunden:"</span>); 

  lcd3.init(); <span class="hljs-comment">// Display 3 initialisieren</span>
  lcd3.backlight(); 
  lcd3.setCursor(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>); 
  lcd3.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Fortschrittsbalken:"</span>); 
}

void loop() {

    unsigned long currentMillis = millis();
    unsigned long currentSeconds = currentMillis / <span class="hljs-number">1000</span>;

    <span class="hljs-comment">// Display 1 - aktuelle Zeit in Sekunden</span>
    lcd1.setCursor(<span class="hljs-number">0</span>, <span class="hljs-number">1</span>); <span class="hljs-comment">// Cursor auf erstes Zeichen in zweiter Zeile</span>
    lcd1.<span class="hljs-keyword">print</span>(currentSeconds); <span class="hljs-comment">// Zeit seit Start in Sekunden ausgeben</span>
    lcd1.<span class="hljs-keyword">print</span>(<span class="hljs-string">"s"</span>); <span class="hljs-comment">// sec für Sekunden</span>

    <span class="hljs-comment">// Display 2 - Zeit in Millisekunden</span>
    lcd2.setCursor(<span class="hljs-number">0</span>, <span class="hljs-number">1</span>);
    lcd2.<span class="hljs-keyword">print</span>(currentMillis); <span class="hljs-comment">// Zeit seit Start in Millisekunden ausgeben</span>
    lcd2.<span class="hljs-keyword">print</span>(<span class="hljs-string">"ms"</span>);


    <span class="hljs-comment">// Display 3: Fortschrittsbalken aktualisieren (60 Zeichen pro Minute)</span>
    <span class="hljs-keyword">if</span> (lastSecond != currentSeconds) { <span class="hljs-comment">// Nur aktualisieren, wenn sich der Inhalt geändert hat</span>
        progressBar = currentSeconds % <span class="hljs-number">60</span>; <span class="hljs-comment">// Fortschritt von 0 bis 59</span>
        lastSecond = currentSeconds;
        
        <span class="hljs-comment">// Fortschrittsbalken leeren bei Neuanfang</span>
        <span class="hljs-keyword">if</span> (progressBar == <span class="hljs-number">0</span>) {
          <span class="hljs-keyword">for</span> (int row = <span class="hljs-number">1</span>; row &lt;= <span class="hljs-number">3</span>; row++) {
            lcd3.setCursor(<span class="hljs-number">0</span>, row);
            lcd3.<span class="hljs-keyword">print</span>(<span class="hljs-string">"                    "</span>);
          }
        }

        <span class="hljs-comment">// Fortschrittsbalken zeichnen</span>
        int row = <span class="hljs-number">1</span>;
        int col = <span class="hljs-number">0</span>;
        <span class="hljs-keyword">for</span> (int i = <span class="hljs-number">0</span>; i &lt; progressBar; i++) {
            lcd3.setCursor(col, row);
            lcd3.<span class="hljs-keyword">print</span>(<span class="hljs-string">"#"</span>);
            col++;
            <span class="hljs-keyword">if</span> (col &gt;= <span class="hljs-number">20</span>) { <span class="hljs-comment">// Nächste Zeile nach 20 Zeichen</span>
                col = <span class="hljs-number">0</span>;
                row++;
            }
        }
    }

}</code></span></pre>


<p>Mit einer I²C-Schnittstelle kann man LCD Displays einfach ansteuern und in jedes Projekt integrieren. Anstatt für jedes Display mehrere Pins zu belegen, genügen zwei Pins (SDA und SCL), um mehrere Displays oder Sensoren zu betreiben. Das ermöglicht komplexe Projekte, ohne sich Gedanken über fehlende GPIO-Pins machen zu müssen.</p>



<p>Dank der verfügbaren Libraries und einfacher Adressänderungen ist die Einrichtung von I²C-LCDs schnell erledigt. Ob <strong>ein einzelnes Display</strong> oder <strong>mehrere Module gleichzeitig</strong> – mit I²C sind die Möglichkeiten nahezu unbegrenzt.</p>



<p><br>
<div class="aawp">

            
            
<div class="aawp-product aawp-product--list aawp-product--bestseller aawp-product--ribbon"  data-aawp-product-asin="B01IHCCKKK" data-aawp-product-id="4168" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="ELEGOO UNO R3 Ultimate Starter Kit Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial UNO R3 Mikrocontroller Board und Zubehör  mehr als 200 Teile" data-aawp-local-click-tracking="1">

    <span class="aawp-product__ribbon aawp-product__ribbon--bestseller">Bestseller Nr. 1</span>
    <div class="aawp-product__inner">
        <a class="aawp-product__image-link" href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=arduino%20starter%20kit" title="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)" rel="nofollow noopener sponsored" target="_blank">
            <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TmpFNVVteHlVSFZZV2t3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)"  />
        </a>
        <div class="aawp-product__content">
            <a class="aawp-product__title" href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=arduino%20starter%20kit" title="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)" rel="nofollow noopener sponsored" target="_blank">ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)</a>
            <div class="aawp-product__teaser">
                            </div>
            <div class="aawp-product__meta">
                
                
                                    <span class="aawp-product__price aawp-product__price--current"></span>
                
                            </div>
        </div>
    </div>

</div>

    
</div>
</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2025/02/lcd-displays-mit-i%c2%b2c-am-arduino/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mit dem DHT11 Sensor Temperatur und Luftfeuchtigkeit messen &#8211; Update!</title>
		<link>https://www.makerblog.at/2025/01/dht11-sensor-temperatur-und-luftfeuchtigkeit-messen-update/</link>
					<comments>https://www.makerblog.at/2025/01/dht11-sensor-temperatur-und-luftfeuchtigkeit-messen-update/#comments</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 20:56:17 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[dht11]]></category>
		<category><![CDATA[dht22]]></category>
		<category><![CDATA[sensor]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1778</guid>

					<description><![CDATA[Achtung: Das ist die aktualisierte Version des alten Blogbeitrags zum DHT11 vom August 2014(!). Mittlerweile gibt es bessere Libraries, als dies im alten Beitrag der Fall ist und eine davon wird hier benutzt. Der DHT11-Sensor ist eine einfache und kostengünstige]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Achtung: Das ist die aktualisierte Version des <a href="https://www.makerblog.at/2014/08/dht11-sensor-fuer-temperatur-und-luftfeuchtigkeit-am-arduino/" data-type="post" data-id="314">alten Blogbeitrags zum DHT11 vom August 2014</a>(!). Mittlerweile gibt es bessere Libraries, als dies im alten Beitrag der Fall ist und eine davon wird hier benutzt.</p>
</blockquote>



<p>Der DHT11-Sensor ist eine einfache und kostengünstige Möglichkeit, um Temperatur und Luftfeuchtigkeit zu messen. Er eignet sich hervorragend für Einsteigerprojekte, da er leicht zu verwenden ist und keine komplizierte Einrichtung benötigt.</p>




<div class="aawp">
    <div class="aawp-grid aawp-grid--col-3">

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical"  data-aawp-product-asin="B089W7Y1WN" data-aawp-product-id="4196" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="AZDelivery 3 x KY-015 DHT 11 Temperatursensor Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!" data-aawp-local-click-tracking="1">

    
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B089W7Y1WN?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery 3 x KY-015 DHT 11 Temperatursensor Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TlRGclZrdFhaREExTkV3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="AZDelivery 3 x KY-015 DHT 11 Temperatursensor Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B089W7Y1WN?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery 3 x KY-015 DHT 11 Temperatursensor Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!" rel="nofollow noopener sponsored" target="_blank">
            AZDelivery 3 x KY-015 DHT 11 Temperatursensor...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current"></span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B089W7Y1WN?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical"  data-aawp-product-asin="B06XF4TNT9" data-aawp-product-id="4195" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="AZDelivery DHT22 AM2302 Temperatursensor und Luftfeuchtigkeitssensor kompatibel mit Arduino und Raspberry Pi inklusive E-Book!" data-aawp-local-click-tracking="1">

    
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B06XF4TNT9?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery DHT22 AM2302 Temperatursensor und Luftfeuchtigkeitssensor kompatibel mit Arduino und Raspberry Pi inklusive E-Book!" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TkRGcFprRmFURE5ST1V3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="AZDelivery DHT22 AM2302 Temperatursensor und Luftfeuchtigkeitssensor kompatibel mit Arduino und Raspberry Pi inklusive E-Book!"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B06XF4TNT9?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery DHT22 AM2302 Temperatursensor und Luftfeuchtigkeitssensor kompatibel mit Arduino und Raspberry Pi inklusive E-Book!" rel="nofollow noopener sponsored" target="_blank">
            AZDelivery DHT22 AM2302 Temperatursensor und...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current">9,49 EUR</span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B06XF4TNT9?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical"  data-aawp-product-asin="B01IHCCKKK" data-aawp-product-id="4168" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="ELEGOO UNO R3 Ultimate Starter Kit Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial UNO R3 Mikrocontroller Board und Zubehör  mehr als 200 Teile" data-aawp-local-click-tracking="1">

    
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TmpFNVVteHlVSFZZV2t3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)" rel="nofollow noopener sponsored" target="_blank">
            ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current"></span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

    
    </div>
</div>




<p>In diesem Beitrag zeige ich, wie der Sensor funktioniert, wie man ihn an einen Arduino anschließt und wie die gemessenen Werte ausgelesen werden. In der zweiten Hälfte des Videos erweitern wir den Aufbau um einen einfache Ampel aus 2 LEDs, die abhängig von der Temperatur geschaltet werde.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="DHT11 Sensor für Temperatur und Luftfeuchtigkeit am Arduino (aktualisierte Version)" width="700" height="394" src="https://www.youtube.com/embed/gBC5GhYD7Mw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p></p>



<h2 class="wp-block-heading">DHT11 und DHT22 Sensor im Vergleich</h2>



<p>Der DHT11 ist ein günstiger Sensor mit eher bescheidener Genauigkeit. Er misst Temperaturen im Bereich von 0 bis 50 °C laut Datzenblatt mit einer Genauigkeit von ±2 °C, die Luftfeuchtigkeit im Bereich von 20 bis 80 mit einer Genauigkeit von ±5 %. Das ist ausreichend für viele einfache Projekte und meiner Erfahrung nach ist er im oft benötigten Bereich rund um die Zimmertemperatur ziemlich genau.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="609" src="https://www.makerblog.at/wp-content/uploads/2025/01/dht11_dht22-1024x609.jpg" alt="" class="wp-image-1792" srcset="https://www.makerblog.at/wp-content/uploads/2025/01/dht11_dht22-1024x609.jpg 1024w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11_dht22-300x178.jpg 300w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11_dht22-768x457.jpg 768w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11_dht22-1536x913.jpg 1536w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11_dht22.jpg 1800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">von links: DHT11, DHT11 Breakout Modul, DHT22</figcaption></figure>



<p>Für Anwendungen, bei denen größere Messbereiche oder eine höhere Präzision benötigt werden, ist der DHT22 die bessere Wahl. Dieser Sensor kann Temperaturen von -40 bis +80 °C mit einer Genauigkeit von ±0,5 °C und Luftfeuchtigkeiten von 0 bis 100 % messen. Dadurch eignet er sich für anspruchsvollere Projekte, ist jedoch etwas teurer. Der Programmcode zur Ansteuerung ist fast identisch.</p>



<h2 class="wp-block-heading">Aufbau und Funktion des DHT11</h2>



<p>Im Inneren des DHT11 befinden sich ein Thermistor, also ein temperaturempfindlicher Widerstand, und ein feuchtigkeitsempfindlicher Kondensator. Diese beiden Komponenten messen die Umgebungstemperatur und die Luftfeuchtigkeit. Allerdings liefern sie zunächst nur analoge Spannungswerte. Damit der Sensor direkt mit einem Mikrocontroller wie dem Arduino kommunizieren und digitale Werte liefern kann, ist im DHT11 ein Mikrocontroller integriert. Dieser wandelt die analogen Spannungswerte in digitale Daten um und stellt sie über ein einzelnes Datenpin bereit. Die einfache Datenübertragung macht den DHT11 besonders für Einsteigerprojekte geeignet.</p>



<h2 class="wp-block-heading">Die Pinbelegung des DHT11</h2>



<p>Das Gehäuse des DHT11 hat vier Pins, aber nur drei davon werden verwendet: Pin 1 ganz links ist VCC, Pin 4 ganz rechts GND und Pin 2 ist das DATA-Pin. VCC ist der Pluspol für die Versorgungsspannung und nimmt Spannungen von 3 bis 5 V auf. GND ist der Masseanschluss. Pin 3 wird nicht verwendet. Falls du eine Version des Sensors auf einem Breakout-Modul verwendest, kann die Pin-Belegung anders sein. Bitte da auf die Beschriftung oder das Datenblatt achten!</p>



<h2 class="wp-block-heading">Anschluss des DHT11 an den Arduino</h2>



<p>Für den Anschluss benötigst du ein Arduino-Board (z. B. den UNO R3), den DHT11-Sensor und, falls du den nackten Sensor ohne Breakout-Board verwendest, einen Widerstand im Bereich von 5-10kΩ. Dieser Widerstand wird als Pull-up-Widerstand zwischen dem Datenpin und VCC geschaltet, um den Datenpin im Ruhezustand auf einen definierten Pegel (HIGH) zu setzen.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="728" height="1024" src="https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v1_Steckplatine-728x1024.png" alt="" class="wp-image-1784" style="width:719px;height:auto" srcset="https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v1_Steckplatine-728x1024.png 728w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v1_Steckplatine-213x300.png 213w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v1_Steckplatine-768x1080.png 768w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v1_Steckplatine.png 983w" sizes="auto, (max-width: 728px) 100vw, 728px" /></figure>



<p>Der Anschluss ist einfach: Pin 1 (VCC) wird mit dem 5V-Pin des Arduino verbunden, Pin 4 (GND) mit GND und Pin 2 (DATA) mit einem digitalen Pin des Arduino, zum Beispiel Digitalpin 2. Das reicht bereits, um die Daten des Sensors auslesen zu können.</p>



<h2 class="wp-block-heading">Messung und Ausgabe der Werte</h2>



<p>Der DHT11 kommuniziert über ein einfaches serielles Protokoll. Dabei werden die Daten über eine Abfolge von HIGH- und LOW-Signalen (5 V bzw. 0 V) übertragen. Für den Datenaustausch mit dem DHT11 (oder DHZ22) gibt es die sehr gute Bibliothek namens &#8222;DHT sensor library&#8220; von Adafruit. Diese Bibliothek stellt alle nötigen Funktionen zum Auslesen von Temperatur und Luftfeuchtigkeit bereit.</p>



<p>Die Bibliothek kann über den Bibliotheksmanager in der Arduino IDE installiert werden (Werkzeuge -&gt; Bibliotheken verwalten). Suche einfach nach „DHT sensor library“ und wähle die Version von Adafruit aus. Zusätzlich wird die „Unified Sensor Library“ von Adafruit benötigt. In neueren Arduino-Versionen erfolgt die Installation automatisch, ansonsten kannst du die Bibliothek ebenfalls manuell hinzufügen.</p>



<h2 class="wp-block-heading">Der Arduino Sketch (wird im Video genauer erklärt)</h2>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#include &lt;DHT.h&gt;</span>

<span class="hljs-comment">#define DHTPIN 2       // Datenpin des DHT11-Sensors</span>
<span class="hljs-comment">#define DHTTYPE DHT11  // Sensor-Typ DHT11</span>

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(<span class="hljs-number">9600</span>);  <span class="hljs-comment">// Serielle Kommunikation starten</span>
  dht.begin();         <span class="hljs-comment">// DHT-Sensor initialisieren</span>
  delay(<span class="hljs-number">1000</span>);         <span class="hljs-comment">// Sensor ist eher langsam, eine Sekunde warten</span>
  Serial.println(<span class="hljs-string">"DHT11 Temperatur- und Luftfeuchtigkeitsmessung gestartet."</span>);
}

void loop() {
  <span class="hljs-comment">// Temperatur und Luftfeuchtigkeit auslesen</span>
  float temperature = dht.readTemperature();  <span class="hljs-comment">// Temperatur in Celsius</span>
  float humidity = dht.readHumidity();        <span class="hljs-comment">// Luftfeuchtigkeit in %</span>

  <span class="hljs-comment">// Überprüfen, ob der Sensor gültige Daten liefert</span>
  <span class="hljs-keyword">if</span> (isnan(temperature) || isnan(humidity)) {
    Serial.println(<span class="hljs-string">"Fehler beim Auslesen des Sensors!"</span>);
    delay(<span class="hljs-number">2000</span>);  <span class="hljs-comment">// 2 Sekunden warten und erneut versuchen</span>
    <span class="hljs-keyword">return</span>;
  }

  <span class="hljs-comment">// Temperatur im seriellen Monitor ausgeben</span>
  Serial.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Temperatur: "</span>);
  Serial.<span class="hljs-keyword">print</span>(temperature);
  Serial.println(<span class="hljs-string">" °C"</span>);
  <span class="hljs-comment">// Luftfeuchtigkeit im seriellen Monitor ausgeben</span>
  Serial.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Luftfeuchtigkeit: "</span>);
  Serial.<span class="hljs-keyword">print</span>(humidity);
  Serial.println(<span class="hljs-string">" %"</span>);

  Serial.println(<span class="hljs-string">"-----------------------------"</span>);
  delay(<span class="hljs-number">2000</span>);  <span class="hljs-comment">// 2 Sekunden warten, bevor die Werte erneut ausgelesen werden</span>
}</code></span></pre>


<h2 class="wp-block-heading">LED-Ampel zur Temperaturanzeige</h2>



<p>Für eine visuelle Temperaturüberwachung kann das Projekt um eine Ampel-Anzeige aus zwei LEDs erweitert werden. Dabei zeigt eine grüne LED an, dass die Temperatur im gewünschten Bereich liegt (z. B. unter 30 °C). Eine rote LED signalisiert, wenn der eingestellte Temperaturwert überschritten wird.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="724" height="1024" src="https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v2_Steckplatine-724x1024.png" alt="" class="wp-image-1789" srcset="https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v2_Steckplatine-724x1024.png 724w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v2_Steckplatine-212x300.png 212w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v2_Steckplatine-768x1086.png 768w, https://www.makerblog.at/wp-content/uploads/2025/01/dht11-v2_Steckplatine.png 983w" sizes="auto, (max-width: 724px) 100vw, 724px" /></figure>



<p>Die LEDs werden über Vorwiderstände (z.B. 220Ω) mit dem Arduino verbunden. Die rote LED kommt an Digitalpin 10, die grüne LED an Digitalpin 11. Im Arduino Sketch wird die Temperatur mit dem festgelegten Grenzwert (30 °C) verglichen, und die entsprechende LED wird aktiviert.</p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#include &lt;DHT.h&gt;</span>

<span class="hljs-comment">#define DHTPIN 2       // Datenpin des DHT11-Sensors</span>
<span class="hljs-comment">#define DHTTYPE DHT11  // Sensor-Typ DHT11</span>

<span class="hljs-comment">#define LED_HOT 10   // Pin für die rote LED bei Temperaturen &gt; 30 Grad</span>
<span class="hljs-comment">#define LED_OK 11  // Pin für die grüne LED bei Temperaturen &lt;= 30 Grad</span>

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(<span class="hljs-number">9600</span>);  <span class="hljs-comment">// Serielle Kommunikation starten</span>
  dht.begin();         <span class="hljs-comment">// DHT-Sensor initialisieren</span>
  delay(<span class="hljs-number">1000</span>);         <span class="hljs-comment">// Sensor ist eher langsam, eine Sekunde warten</span>

  pinMode(LED_HOT, OUTPUT);   <span class="hljs-comment">// Pin für LED_HOT als Ausgang festlegen</span>
  pinMode(LED_OK, OUTPUT);  <span class="hljs-comment">// Pin für LED_OK als Ausgang festlegen</span>

  <span class="hljs-comment">// LEDs ausschalten</span>
  digitalWrite(LED_HOT, LOW);
  digitalWrite(LED_OK, LOW);

  Serial.println(<span class="hljs-string">"DHT11 Temperatur- und Luftfeuchtigkeitsmessung gestartet."</span>);
}

void loop() {
  <span class="hljs-comment">// Temperatur und Luftfeuchtigkeit auslesen</span>
  float temperature = dht.readTemperature();  <span class="hljs-comment">// Temperatur in Celsius</span>
  float humidity = dht.readHumidity();        <span class="hljs-comment">// Luftfeuchtigkeit in %</span>

  <span class="hljs-comment">// Überprüfen, ob der Sensor gültige Daten liefert</span>
  <span class="hljs-keyword">if</span> (isnan(temperature) || isnan(humidity)) {
    Serial.println(<span class="hljs-string">"Fehler beim Auslesen des Sensors!"</span>);
    delay(<span class="hljs-number">2000</span>);  <span class="hljs-comment">// 2 Sekunden warten und erneut versuchen</span>
    <span class="hljs-keyword">return</span>;
  }

  <span class="hljs-comment">// Temperatur im seriellen Monitor anzeigen</span>
  Serial.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Temperatur: "</span>);
  Serial.<span class="hljs-keyword">print</span>(temperature);
  Serial.println(<span class="hljs-string">" °C"</span>);
  <span class="hljs-comment">// Luftfeuchtigkeit im seriellen Monitor ausgeben</span>
  Serial.<span class="hljs-keyword">print</span>(<span class="hljs-string">"Luftfeuchtigkeit: "</span>);
  Serial.<span class="hljs-keyword">print</span>(humidity);
  Serial.println(<span class="hljs-string">" %"</span>);

  <span class="hljs-comment">// LEDs steuern basierend auf der Temperatur</span>
  <span class="hljs-keyword">if</span> (temperature &gt; <span class="hljs-number">30.0</span>) {
    digitalWrite(LED_HOT, HIGH);  <span class="hljs-comment">// LED für hohe Temperatur einschalten</span>
    digitalWrite(LED_OK, LOW);  <span class="hljs-comment">// LED für normale Temperatur ausschalten</span>
    Serial.println(<span class="hljs-string">"Temperatur &gt; 30°C: LED_HOT eingeschaltet."</span>);
  } <span class="hljs-keyword">else</span> {
    digitalWrite(LED_HOT, LOW);    <span class="hljs-comment">// LED für hohe Temperatur ausschalten</span>
    digitalWrite(LED_OK, HIGH);  <span class="hljs-comment">// LED für normale Temperatur einschalten</span>
    Serial.println(<span class="hljs-string">"Temperatur &lt;= 30°C: LED_OK eingeschaltet."</span>);
  }

  Serial.println(<span class="hljs-string">"-----------------------------"</span>);
  delay(<span class="hljs-number">2000</span>);  <span class="hljs-comment">// 2 Sekunden warten, bevor die Werte erneut ausgelesen werden</span>
}</code></span></pre>


<p>Der DHT11-Sensor ist ein guter Einstieg, um Temperatur und Luftfeuchtigkeit mit einem Arduino zu messen. Wenn du aber präzisere Daten benötigst, dann ist der DHT22 oder komplexere Sensoren wie der BME280 vielleicht die bessere Wahl.</p>



<p>Fragen oder Anregungen? Bitte in den Kommentare!</p>



<p><br>
<div class="aawp">

            
            
<div class="aawp-product aawp-product--horizontal aawp-product--bestseller aawp-product--ribbon"  data-aawp-product-asin="B01IHCCKKK" data-aawp-product-id="4168" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="ELEGOO UNO R3 Ultimate Starter Kit Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial UNO R3 Mikrocontroller Board und Zubehör  mehr als 200 Teile" data-aawp-local-click-tracking="1">

    <span class="aawp-product__ribbon aawp-product__ribbon--bestseller">Bestseller Nr. 1</span>
    <div class="aawp-product__thumb">
        <a class="aawp-product__image-link"
           href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=arduino%20starter%20kit" title="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)" rel="nofollow noopener sponsored" target="_blank">
            <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TmpFNVVteHlVSFZZV2t3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)"  />
        </a>

            </div>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=arduino%20starter%20kit" title="ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)" rel="nofollow noopener sponsored" target="_blank">
            ELEGOO UNO R3 Ultimate Starter Kit, Kompatibel mit Arduino IDE Vollständigster Elektronik Projekt Baukasten mit deutschem Tutorial, UNO R3 Mikrocontroller Board und Zubehör (mehr als 200 Teile)        </a>
        <div class="aawp-product__description">
            <ul><li>Umfangreichster ELEGOO UNO R3 Starter Kit mit 63 verschiedenen Komponenten: UNO R3 Entwicklungsboard, USB-Kabel, Widerstände, LEDs, Netzteil, Relais, Steckplatine u.a. Zubehör.</li><li>Unsere Projekte wie z.B. das mit dem LCD Modul erfordern kein Löten. Es ist aber ein "Expansion Modul" dabei, mit dem auch weiterführende Projekte machbar sind, bei denen gelötet werden muss.</li><li>Auf der mitgelieferten CD steht das deutsche Tutorial (PDF) mit über 30 Lektionen, die die benötigten Programmen und einfache Erklärungen enthalten. Ein aktuelles Tutorial können Sie auch über unsere Website herunterladen.</li><li>Das UNO R3 Set ist für Erwachsene und Jugendliche geeignet und Sie können damit eigene Elektronik-Projekte realisieren. Vorkenntnisse über Elektronik und Programmierung sind nicht unbedingt erforderlich, aber hilfreich.</li><li>Unser Starter Kit schafft einen leichten Einstieg in die Arduino Programmierung und ermöglicht Ihnen einen gut gangbaren Weg zur fortgeschrittenen Programmierung, wenn Sie sich zusätzliche Lehrbücher aneignen.</li></ul>        </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">
            
                            <span class="aawp-product__price aawp-product__price--current"></span>
            
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B01IHCCKKK?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1&#038;keywords=arduino%20starter%20kit" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>

</div>

            
            
<div class="aawp-product aawp-product--horizontal aawp-product--bestseller aawp-product--ribbon"  data-aawp-product-asin="B01II76PDM" data-aawp-product-id="4172" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="ELEGOO MEGA-R3 Starter Kit für Arduino Projekt Ultimate Starter Kit mit Deutschem Tutorial MEGA-R3 Mikrocontroller und viel Elektronik Zubehöre" data-aawp-local-click-tracking="1">

    <span class="aawp-product__ribbon aawp-product__ribbon--bestseller">Bestseller Nr. 2</span>
    <div class="aawp-product__thumb">
        <a class="aawp-product__image-link"
           href="https://www.amazon.de/dp/B01II76PDM?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=arduino%20starter%20kit" title="ELEGOO MEGA-R3 Starter Kit für Arduino Projekt Ultimate Starter Kit mit Deutschem Tutorial, MEGA-R3 Mikrocontroller und viel Elektronik Zubehöre" rel="nofollow noopener sponsored" target="_blank">
            <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TmpGMWJXbERORlIyV2t3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMg=" alt="ELEGOO MEGA-R3 Starter Kit für Arduino Projekt Ultimate Starter Kit mit Deutschem Tutorial, MEGA-R3 Mikrocontroller und viel Elektronik Zubehöre"  />
        </a>

            </div>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B01II76PDM?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1&keywords=arduino%20starter%20kit" title="ELEGOO MEGA-R3 Starter Kit für Arduino Projekt Ultimate Starter Kit mit Deutschem Tutorial, MEGA-R3 Mikrocontroller und viel Elektronik Zubehöre" rel="nofollow noopener sponsored" target="_blank">
            ELEGOO MEGA-R3 Starter Kit für Arduino Projekt Ultimate Starter Kit mit Deutschem Tutorial, MEGA-R3 Mikrocontroller und viel Elektronik Zubehöre        </a>
        <div class="aawp-product__description">
            <ul><li>Das komplette Starterkit mit mehr als 200 Komponenten und 100% kompatibel mit Arduino IDE.</li><li>PDF-Tutorial auf der CD (mehr als 35 Lektionen). GY-61-Sensormodul mit Stiftleiste (kein Selbstlöten erforderlich). Sie können dieselben Tutorials auch online von unserer offiziellen Website herunterladen.</li><li>Schönes Paket mit klarer Auflistung und Überraschung, einschließlich einer schönen kleinen Box, um das Widget wie LED, IC, Tasten, Dioden usw.</li><li>Warnhinweis: Die Eingangsspannung des ELEGOO Netzteilmoduls beträgt 6,5 V - 9 V (DC) über einen 5,5 mm x 2,1 mm Stecker. Bitte überladen Sie es NICHT, da sonst Ihr Board und Ihre Chips verbrennen.</li><li>Hinweis: Die Verwendung von ELEGOO Starterkits erfordert grundlegende elektronische Kenntnisse. Wenn der Benutzer keine Erfahrung hat, wäre es besser, ihn während des Studiums von jemandem führen und unterrichten zu lassen.</li></ul>        </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">
            
                            <span class="aawp-product__price aawp-product__price--current"></span>
            
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B01II76PDM?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1&#038;keywords=arduino%20starter%20kit" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>

</div>

    
</div>
</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2025/01/dht11-sensor-temperatur-und-luftfeuchtigkeit-messen-update/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Resistor Color Code Quiz &#8211; Widerstände erkennen</title>
		<link>https://www.makerblog.at/2024/09/resistor-color-code-quiz-widerstaende-erkennen/</link>
					<comments>https://www.makerblog.at/2024/09/resistor-color-code-quiz-widerstaende-erkennen/#comments</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Wed, 25 Sep 2024 06:19:56 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1771</guid>

					<description><![CDATA[Nach längerer Zeit habe ich wieder mal eine kleine App-Idee verwirklicht und die Android-Version dazu ist seit heute im App Store verfügbar. Widerstände auf einen Blick an ihren Farbcodes zu erkennen erfordert schon etwas Übung und auch nach vielen Jahren]]></description>
										<content:encoded><![CDATA[
<p>Nach längerer Zeit habe ich wieder mal eine kleine App-Idee verwirklicht und die Android-Version dazu ist seit heute im App Store verfügbar.</p>



<p>Widerstände auf einen Blick an ihren Farbcodes zu erkennen erfordert schon etwas Übung und auch nach vielen Jahren Elektronikbastelei muss ich immer noch bei manchen Farben nachdenken, welcher Multiplikator das nun ist.</p>



<p>Mit der mobile App <a href="https://play.google.com/store/apps/details?id=com.prodigital.resistorquiz" data-type="link" data-id="https://play.google.com/store/apps/details?id=com.prodigital.resistorquiz" target="_blank" rel="noreferrer noopener">Resistor Color Code Quiz &#8211; Widerstände erkennen</a> (derzeit leider nur für Android) kann man den Zusammenhang zwischen den einzelnen Farben und den zugehörigen Grundwerten und Multiplikatoren jederzeit üben. Die App unterstützt alle Widerstände mit 3, 4 und 5 Bändern aus den Wertereihen E6 bis E192.</p>



<figure class="wp-block-image size-full"><a href="https://play.google.com/store/apps/details?id=com.prodigital.resistorquiz" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="500" src="https://www.makerblog.at/wp-content/uploads/2024/09/vorstellungsgrafik-1.png" alt="" class="wp-image-1772" srcset="https://www.makerblog.at/wp-content/uploads/2024/09/vorstellungsgrafik-1.png 1024w, https://www.makerblog.at/wp-content/uploads/2024/09/vorstellungsgrafik-1-300x146.png 300w, https://www.makerblog.at/wp-content/uploads/2024/09/vorstellungsgrafik-1-768x375.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Bei der Entwicklung der App habe ich selbst einiges dazugelernt, vor allem über die Idee hinter den Wertebereichen der einzelnen E-Serien, warum genau diese Werte verwendet werden und E-Serie und Toleranz zusammenhängen. Mehr Infos dazu gibt es im zugehörigen <a href="https://de.wikipedia.org/wiki/E-Reihe" target="_blank" rel="noreferrer noopener">Wikipedia-Artikel</a>.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2024/09/resistor-color-code-quiz-widerstaende-erkennen/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Feurige Arduino Jukebox mit  Flammensensor KY-026 und Buzzer</title>
		<link>https://www.makerblog.at/2020/12/feurige-arduino-jukebox-mit-flammensensor-ky-026-und-buzzer/</link>
					<comments>https://www.makerblog.at/2020/12/feurige-arduino-jukebox-mit-flammensensor-ky-026-und-buzzer/#respond</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Sun, 06 Dec 2020 18:53:51 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1531</guid>

					<description><![CDATA[Der Flammensensor KY-026 besteht aus einer Photodiode, die vor allem auf den Infrarot-Bereich von 760 bis 1100nm anspricht und etwas zusätzlicher Logik. Durch ein Potentiometer kann die Empfindlichkeit des Sensors eingestellt werden, da dieser sonst auch auf kurze Impulse von]]></description>
										<content:encoded><![CDATA[
<p>Der Flammensensor KY-026 besteht aus einer Photodiode, die vor allem auf den Infrarot-Bereich von 760 bis 1100nm anspricht und etwas zusätzlicher Logik.</p>



<p>Durch ein Potentiometer kann die Empfindlichkeit des Sensors eingestellt werden, da dieser sonst auch auf kurze Impulse von TV-Fernbedienungen oder andere IR-Lichtquellen reagiert.</p>



<p>Für das Projekt benötigen wir</p>



<ul class="wp-block-list"><li>Arduino Uno R3 &#8211; <a href="https://amzn.to/2VH1fHE">https://amzn.to/2VH1fHE</a></li><li>KY-026 Flame Sensor &#8211; <a href="https://amzn.to/2Ii3uht">https://amzn.to/2Ii3uht</a></li><li>passiver Piezo Buzzer &#8211; <a href="https://amzn.to/3gg5N18">https://amzn.to/3gg5N18</a></li><li>ein paar Jumperkabel</li></ul>




<div class="aawp">
    <div class="aawp-grid aawp-grid--col-3">

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical"  data-aawp-product-asin="B07DPR4BTN" data-aawp-product-id="4189" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="AZDelivery 3 x KY-006 Passives Piezo Buzzer Alarm Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!" data-aawp-local-click-tracking="1">

    
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B07DPR4BTN?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery 3 x KY-006 Passives Piezo Buzzer Alarm Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TkRGdUxYUnZjM0V0YkV3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMw=" alt="AZDelivery 3 x KY-006 Passives Piezo Buzzer Alarm Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B07DPR4BTN?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery 3 x KY-006 Passives Piezo Buzzer Alarm Modul kompatibel mit Arduino und Raspberry Pi inklusive eBook!" rel="nofollow noopener sponsored" target="_blank">
            AZDelivery 3 x KY-006 Passives Piezo Buzzer Alarm...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current"></span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B07DPR4BTN?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

            
        <div class="aawp-grid__item">
            
<div class="aawp-product aawp-product--vertical"  data-aawp-product-asin="B07CKFNL9F" data-aawp-product-id="4190" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="AZDelivery 3 x Flammensensor KY-026 Modul Feuerdetektor kompatibel mit Arduino und Raspberry Pi inklusive eBook!" data-aawp-local-click-tracking="1">

    
    <a class="aawp-product__image--link aawp-product__image"
       href="https://www.amazon.de/dp/B07CKFNL9F?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery 3 x Flammensensor KY-026 Modul Feuerdetektor kompatibel mit Arduino und Raspberry Pi inklusive eBook!" rel="nofollow noopener sponsored" target="_blank">
        <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TlRFMFYzcE9ObU1yTFV3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyMw=" alt="AZDelivery 3 x Flammensensor KY-026 Modul Feuerdetektor kompatibel mit Arduino und Raspberry Pi inklusive eBook!"  />
    </a>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B07CKFNL9F?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="AZDelivery 3 x Flammensensor KY-026 Modul Feuerdetektor kompatibel mit Arduino und Raspberry Pi inklusive eBook!" rel="nofollow noopener sponsored" target="_blank">
            AZDelivery 3 x Flammensensor KY-026 Modul...        </a>

        <div class="aawp-product__meta">
            
                    </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">

            
                            <span class="aawp-product__price aawp-product__price--current"></span>
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B07CKFNL9F?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>
</div>
        </div>

    
    </div>
</div>




<p>Im Video zeige ich den Aufbau des Projektes, den Test der einzelnen Komponenten und das Endergebnis. Die verwendeten Arduino Sketches findet ihr hier im Anschluss.</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Arduino Projekt: Flammensensor KY-026 und Buzzer = Jukebox" width="700" height="394" src="https://www.youtube.com/embed/KjnsV8LiwrY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><script type="application/json" data-arve-oembed>{"title":"Arduino Projekt: Flammensensor KY-026 und Buzzer = Jukebox","author_name":"Makerblog.at - Arduino &amp; Co","author_url":"https://www.youtube.com/c/MakerblogAt","type":"video","height":"394","width":"700","version":"1.0","provider_name":"YouTube","provider_url":"https://www.youtube.com/","thumbnail_height":"360","thumbnail_width":"480","thumbnail_url":"https://i.ytimg.com/vi/KjnsV8LiwrY/hqdefault.jpg","html":"&lt;iframe width=&quot;700&quot; height=&quot;394&quot; src=&quot;https://www.youtube.com/embed/KjnsV8LiwrY?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen title=&quot;Arduino Projekt: Flammensensor KY-026 und Buzzer = Jukebox&quot;&gt;&lt;/iframe&gt;","arve_cachetime":"2022-08-23 10:45:39","arve_url":"https://youtu.be/KjnsV8LiwrY","arve_srcset":"https://i.ytimg.com/vi/KjnsV8LiwrY/mqdefault.jpg 320w, https://i.ytimg.com/vi/KjnsV8LiwrY/hqdefault.jpg 480w, https://i.ytimg.com/vi/KjnsV8LiwrY/sddefault.jpg 640w, https://i.ytimg.com/vi/KjnsV8LiwrY/maxresdefault.jpg 1280w"}</script>
</div><figcaption>Arduino Projekt: Flammensensor KY-026 und Buzzer = Jukebox</figcaption></figure>



<h2 class="wp-block-heading">Der Aufbau:</h2>



<figure class="wp-block-image size-large"><a href="https://www.makerblog.at/wp-content/uploads/2020/12/Xmas-Fire-Jukebox-1_Steckplatine.jpg"><img loading="lazy" decoding="async" width="1024" height="689" src="https://www.makerblog.at/wp-content/uploads/2020/12/Xmas-Fire-Jukebox-1_Steckplatine-1024x689.jpg" alt="" class="wp-image-1538" srcset="https://www.makerblog.at/wp-content/uploads/2020/12/Xmas-Fire-Jukebox-1_Steckplatine-1024x689.jpg 1024w, https://www.makerblog.at/wp-content/uploads/2020/12/Xmas-Fire-Jukebox-1_Steckplatine-300x202.jpg 300w, https://www.makerblog.at/wp-content/uploads/2020/12/Xmas-Fire-Jukebox-1_Steckplatine-768x517.jpg 768w, https://www.makerblog.at/wp-content/uploads/2020/12/Xmas-Fire-Jukebox-1_Steckplatine-1536x1034.jpg 1536w, https://www.makerblog.at/wp-content/uploads/2020/12/Xmas-Fire-Jukebox-1_Steckplatine.jpg 1614w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading">Funktionstest des Buzzers:</h2>


<pre class="wp-block-code"><span><code class="hljs language-cpp"><span class="hljs-comment">/********************************
 * makerblog.at - Tutorial
 * Fire Started Xmas Jukebox
 * 
 * Buzzer Test
 * 
 * Passiver Buzzer (die ohne weissen Aufkleber!)
 * Arduino GND -&gt; - (GND)
 * Arduino 5V -&gt; + (5V, meist mittleres Pin)
 * Arduino D11 -&gt; S (Signal)
 * 
 * Funktionstest des Buzzers. 
 * Spielt wiederholt einen Ton ab.
 * 
 *********************************/</span>

<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> BUZZER_PIN 11</span>

<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">setup</span><span class="hljs-params">()</span> </span>{
  pinMode(BUZZER_PIN, OUTPUT);
}

<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">loop</span><span class="hljs-params">()</span> </span>{
  
  tone(BUZZER_PIN, <span class="hljs-number">262</span>, <span class="hljs-number">250</span>);
  delay(<span class="hljs-number">400</span>);

  tone(BUZZER_PIN, <span class="hljs-number">294</span>, <span class="hljs-number">250</span>);
  delay(<span class="hljs-number">400</span>);

  tone(BUZZER_PIN, <span class="hljs-number">330</span>, <span class="hljs-number">250</span>);
  delay(<span class="hljs-number">400</span>);

  tone(BUZZER_PIN, <span class="hljs-number">349</span>, <span class="hljs-number">250</span>);
  delay(<span class="hljs-number">400</span>);

  tone(BUZZER_PIN, <span class="hljs-number">392</span>, <span class="hljs-number">250</span>);
  delay(<span class="hljs-number">400</span>);

  tone(BUZZER_PIN, <span class="hljs-number">440</span>, <span class="hljs-number">250</span>);
  delay(<span class="hljs-number">400</span>);

  tone(BUZZER_PIN, <span class="hljs-number">494</span>, <span class="hljs-number">250</span>);
  delay(<span class="hljs-number">400</span>);

  tone(BUZZER_PIN, <span class="hljs-number">523</span>, <span class="hljs-number">400</span>);
  delay(<span class="hljs-number">1000</span>);

}</code></span></pre>


<h2 class="wp-block-heading"><strong>Funktionstest und Kalibrierung des Flammensensors:</strong></h2>


<pre class="wp-block-code"><span><code class="hljs language-cpp"><span class="hljs-comment">/********************************
 * makerblog.at - Tutorial
 * Elegoo 37 Sensor Kit v2.0 - https://amzn.to/2JpJPgd
 * 
 * FLAME SENSOR TEST (z.B. aus Elegoo 37 Sensor Kit)
 * Arduino A0 -&gt; AO (Analog Output)
 * Arduino 5V -&gt; +
 * Arduino GND -&gt; -
 * Arduino D7 -&gt; DO (Digital Output)
 * 
 * Funktionstest des Flammensensors zur
 * Kalibrierung mit dem Potentiometer. 
 * 
 * Ziel: 
 * - LED1 am Sensor leuchtet immer
 * - LED2 am Sensor leuchtet erst, wenn Kerzenflamme nahe kommt (dann geht DO auf HIGH)
 * 
 *********************************/</span>

<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> SENSOR_PIN_A A0</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> SENSOR_PIN_D 7</span>

<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">setup</span><span class="hljs-params">()</span> </span>{
  Serial.begin(<span class="hljs-number">9600</span>);
  pinMode(SENSOR_PIN_D, INPUT);

  <span class="hljs-comment">// Erste Messungen vom Sensor ignorieren, liefert manchmal Müll beim Start</span>

  <span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> x=<span class="hljs-number">0</span>; x&lt;<span class="hljs-number">10</span>; x++) {
    <span class="hljs-keyword">int</span> v = analogRead(SENSOR_PIN_A);
    delay(<span class="hljs-number">20</span>);
  }
  
}

<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">loop</span><span class="hljs-params">()</span> </span>{

  <span class="hljs-comment">// -----------------------------------------------------------</span>
  <span class="hljs-comment">// Ausgabe am besten über den &#091;Serial Plotter] im Menu &#091;Tools]</span>
  <span class="hljs-comment">// -----------------------------------------------------------</span>
  
  <span class="hljs-comment">// Fixe Obergrenze des Diagramms auf 1024 (autom. Skalierung verhindern)</span>
  Serial.print(<span class="hljs-number">1024</span>);
  Serial.print(<span class="hljs-string">","</span>);
  <span class="hljs-comment">// Digitalwert * 100 für bessere Sichtbarkeit, aus 1 wird 100</span>
  Serial.print(digitalRead(SENSOR_PIN_D)*<span class="hljs-number">100</span>); 
  Serial.print(<span class="hljs-string">","</span>);
  <span class="hljs-comment">// Analogwert zwischen 0 und 1024</span>
  Serial.println(analogRead(SENSOR_PIN_A));
  delay(<span class="hljs-number">20</span>);
}</code></span></pre>


<h2 class="wp-block-heading">Und der finale Sketch:</h2>


<pre class="wp-block-code"><span><code class="hljs language-cpp"><span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">&lt;NonBlockingRtttl.h&gt;</span></span>

<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> BUZZER_PIN 11</span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> SENSOR_PIN 7</span>

<span class="hljs-comment">/*
const char* song1 = "Rudolph the Red Nosed Raindeer:d=8,o=5,b=250:g,4a,g,4e,4c6,4a,2g.,g,a,g,a,4g,4c6,2b.,4p,f,4g,f,4d,4b,4a,2g.,g,a,g,a,4g,4a,2e.,4p,g,4a,a,4e,4c6,4a,2g.,g,a,g,a,4g,4c6,2b.,4p,f,4g,f,4d,4b,4a,2g.,g,a,g,a,4g,4d6,2c.6,4p,4a,4a,4c6,4a,4g,4e,2g,4d,4e,4g,4a,4b,4b,2b,4c6,4c6,4b,4a,4g,4f,2d,g,4a,g,4e,4c6,4a,2g.,g,a,g,a,4g,4c6,2b.,4p,f,4g,f,4d,4b,4a,2g.,4g,4a,4g,4a,2g,2d6,1c.6.";
const char* song2 = "Jingle Bells:d=4,o=5,b=170:b,b,b,p,b,b,b,p,b,d6,g.,8a,2b.,8p,c6,c6,c6.,8c6,c6,b,b,8b,8b,b,a,a,b,2a,2d6";
const char* song3 = "We Wish you a Merry Christmas:d=8,o=5,b=140:4d,4g,g,a,g,f#,4e,4c,4e,4a,a,b,a,g,4f#,4d,4f#,4b,b,c6,b,a,4g,4e,4d,4e,4a,4f#,2g";
*/</span>

<span class="hljs-comment">// Kurzversionen zum Testen</span>
<span class="hljs-keyword">const</span> <span class="hljs-keyword">char</span>* song1 = <span class="hljs-string">"Rudolph:d=8,o=5,b=150:g,4a,g,4e,4c6,4a,2g.,g,a,g,a,4g,4c6,2b."</span>;
<span class="hljs-keyword">const</span> <span class="hljs-keyword">char</span>* song2 = <span class="hljs-string">"Jingle:d=4,o=5,b=170:b,b,b,p,b,b,b,p,b,d6,g.,8a,2b."</span>;
<span class="hljs-keyword">const</span> <span class="hljs-keyword">char</span>* song3 = <span class="hljs-string">"We Wish:d=8,o=5,b=140:4d,4g,g,a,g,f#,4e,4c,4e,4a,a,b,a,g,4f#,4d"</span>;

<span class="hljs-keyword">long</span> randomIndex = <span class="hljs-number">0</span>; <span class="hljs-comment">// zufälligen Song auswählen</span>
byte playIt = <span class="hljs-number">0</span>; <span class="hljs-comment">// 0 = gestoppt, 1=spielend</span>

<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">setup</span><span class="hljs-params">()</span> </span>{
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(SENSOR_PIN, INPUT);

  randomSeed(analogRead(<span class="hljs-number">0</span>)); <span class="hljs-comment">// Zufallsgenerator seeden</span>

 <span class="hljs-comment">// Anfangs spielt kein Song, auf 1 setzen, falls beim Einschalten </span>
 <span class="hljs-comment">// gleich losgepielt werden soll</span>
  playIt = <span class="hljs-number">0</span>; 
  
}

<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">loop</span><span class="hljs-params">()</span> </span>{

  <span class="hljs-keyword">if</span> (playIt) {
    <span class="hljs-keyword">if</span> (!rtttl::isPlaying()) {
      <span class="hljs-keyword">if</span> (randomIndex == <span class="hljs-number">0</span>) {
        rtttl::begin(BUZZER_PIN, song1);
      } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (randomIndex == <span class="hljs-number">1</span>) {
        rtttl::begin(BUZZER_PIN, song2);
      } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (randomIndex == <span class="hljs-number">2</span>) {
        rtttl::begin(BUZZER_PIN, song3);
      }
    }
    <span class="hljs-keyword">else</span> {
      rtttl::play();
    }

    <span class="hljs-keyword">if</span> (rtttl::done()) {
      playIt = <span class="hljs-number">0</span>;
    }
  } <span class="hljs-keyword">else</span> {
    <span class="hljs-keyword">if</span> (digitalRead(SENSOR_PIN)) {
      randomIndex = random(<span class="hljs-number">3</span>);
      playIt = <span class="hljs-number">1</span>;
    }
    delay(<span class="hljs-number">100</span>);
  }

}</code></span></pre>


<p>Viele weitere Melodien im RTTTL Format gibt es hier:</p>



<p><a rel="noreferrer noopener" href="http://mines.lumpylumpy.com/Electronics/Computers/Software/Cpp/MFC/RingTones.RTTTL" target="_blank">http://mines.lumpylumpy.com/Electronics/Computers/Software/Cpp/MFC/RingTones.RTTTL</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2020/12/feurige-arduino-jukebox-mit-flammensensor-ky-026-und-buzzer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Elegoo 37 Sensor Kit V2.0 für Arduino</title>
		<link>https://www.makerblog.at/2020/11/elegoo-37-sensor-kit-v2-0-fuer-arduino/</link>
					<comments>https://www.makerblog.at/2020/11/elegoo-37-sensor-kit-v2-0-fuer-arduino/#comments</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Mon, 30 Nov 2020 21:23:25 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1525</guid>

					<description><![CDATA[Elegoo ist mittlerweile ja bekannt für seine umfangreich ausgestatteten und sehr günstigen Kits rund um den Arduino. Nachdem das ursprüngliche Sensor Kit des Hersteller schon einige Jahre auf dem Markt war, wurde es kürzlich generalüberholt und führt jetzt je nach]]></description>
										<content:encoded><![CDATA[
<p>Elegoo ist mittlerweile ja bekannt für seine umfangreich ausgestatteten und sehr günstigen Kits rund um den Arduino.</p>



<p>Nachdem das ursprüngliche Sensor Kit des Hersteller schon einige Jahre auf dem Markt war, wurde es kürzlich generalüberholt und führt jetzt je nach Shop ein <strong>Aufgerüsteter Bausatz</strong> oder einfach das <strong>V2.0</strong> im Namen.</p>




<div class="aawp">

            
            
<div class="aawp-product aawp-product--horizontal"  data-aawp-product-asin="B01M30ZWQR" data-aawp-product-id="4169" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="ELEGOO Aufgerüsteter 37 in 1 Sensormodul Bausatz Kompatibel mit Arduino IDE mit Anleitung für Elektronik Projekte Mikrocontrollerboards Nicht im Lieferumfang Enthalten" data-aawp-local-click-tracking="1">

    
    <div class="aawp-product__thumb">
        <a class="aawp-product__image-link"
           href="https://www.amazon.de/dp/B01M30ZWQR?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="ELEGOO Aufgerüsteter 37 in 1 Sensormodul Bausatz Kompatibel mit Arduino IDE mit Anleitung für Elektronik Projekte, Mikrocontrollerboards Nicht im Lieferumfang Enthalten" rel="nofollow noopener sponsored" target="_blank">
            <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TlRGMlRqTlFZalZLVWt3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyNA=" alt="ELEGOO Aufgerüsteter 37 in 1 Sensormodul Bausatz Kompatibel mit Arduino IDE mit Anleitung für Elektronik Projekte, Mikrocontrollerboards Nicht im Lieferumfang Enthalten"  />
        </a>

            </div>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B01M30ZWQR?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="ELEGOO Aufgerüsteter 37 in 1 Sensormodul Bausatz Kompatibel mit Arduino IDE mit Anleitung für Elektronik Projekte, Mikrocontrollerboards Nicht im Lieferumfang Enthalten" rel="nofollow noopener sponsored" target="_blank">
            ELEGOO Aufgerüsteter 37 in 1 Sensormodul Bausatz Kompatibel mit Arduino IDE mit Anleitung für Elektronik Projekte, Mikrocontrollerboards Nicht im Lieferumfang Enthalten        </a>
        <div class="aawp-product__description">
            <ul><li>√ Der sinnvollste und leistungsstärkste Sensoren Module Bausatz Kit kompatibel mit Arduino IDE für Elektronik Projekte.</li><li>√ Die Deutsche Anleitungen und Datenblättern für UNO R3, NANO sowie das Widerstands-Set auf CD oder auf Elegoo Webseite verfügbar.</li><li>√ Das Sensormodul-Set ist voll kompatibel mit Standard-Mikrocontroller-Boards. Hinweis: Dieses Set wird nicht mit einem Mikrocontroller-Board geliefert.</li><li>√ Umfassender Beschreibung nebst Tutorial und Beispiel-Skripten (auf englisch) für jedes Modul auf beiliegender CD oder via Download von der Elegoo-Homepage.</li><li>√ Alle Komponenten sind in Europa zulässig und alle Sensoren in einer Plastikbox mit separatem Abteil.</li></ul>        </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">
            
                            <span class="aawp-product__price aawp-product__price--current">29,99 EUR</span>
            
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B01M30ZWQR?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>

</div>

    
</div>




<p>Im ersten Review-Video schaue ich mir die ersten 12 Module aus diesem Kit an. Da die Sketches in der offiziellen Dokumentation von Elegoo ziemlich planlos aus verschiedensten Quellen zusammenkopiert sind, habe ich für die Sensoren jeweils eigene kurze Testsketches geschrieben.</p>



<p>Diese könnt ihr hier auf Github downloaden (einfach auf das grüne Code klicken): <a rel="noreferrer noopener" href="https://github.com/adidax/Elegoo37SensorKit" target="_blank">https://github.com/adidax/Elegoo37SensorKit</a></p>



<p>Review Video &#8211; Teil 1 von 3</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Arduino: 37 Sensor Kit V2.0 von Elegoo - (1/3)" width="700" height="394" src="https://www.youtube.com/embed/Df11Dbu6LzU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><script type="application/json" data-arve-oembed>{"title":"Arduino: 37 Sensor Kit V2.0 von Elegoo - (1/3)","author_name":"Makerblog.at - Arduino &amp; Co","author_url":"https://www.youtube.com/@MakerblogAt","type":"video","height":"394","width":"700","version":"1.0","provider_name":"YouTube","provider_url":"https://www.youtube.com/","thumbnail_height":"360","thumbnail_width":"480","thumbnail_url":"https://i.ytimg.com/vi/Df11Dbu6LzU/hqdefault.jpg","html":"&lt;iframe width=&quot;700&quot; height=&quot;394&quot; src=&quot;https://www.youtube.com/embed/Df11Dbu6LzU?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen title=&quot;Arduino: 37 Sensor Kit V2.0 von Elegoo - (1/3)&quot;&gt;&lt;/iframe&gt;","arve_cachetime":"2023-03-14 09:18:37","arve_url":"https://www.youtube.com/watch?v=Df11Dbu6LzU","arve_srcset":"https://i.ytimg.com/vi/Df11Dbu6LzU/mqdefault.jpg 320w, https://i.ytimg.com/vi/Df11Dbu6LzU/hqdefault.jpg 480w, https://i.ytimg.com/vi/Df11Dbu6LzU/sddefault.jpg 640w, https://i.ytimg.com/vi/Df11Dbu6LzU/maxresdefault.jpg 1280w"}</script>
</div><figcaption>Elegoo 37 Sensor Kit V2 für den Arduino &#8211; Teil 1 von 3</figcaption></figure>



<p> Im ersten Teil teste und erkläre ich die folgenden 12 Sensoren:</p>



<ul class="wp-block-list"><li>Lichtschranke / Photo Interrupter &#8211; <a rel="noreferrer noopener" href="https://amzn.to/36lMjET" target="_blank">https://amzn.to/36lMjET</a></li><li>Klopf Sensor Modul KY-031 / Tap Module &#8211; <a rel="noreferrer noopener" href="https://amzn.to/37na66L" target="_blank">https://amzn.to/37na66L</a></li><li>RGB LED &#8211; <a rel="noreferrer noopener" href="https://amzn.to/3qfSaUs" target="_blank">https://amzn.to/3qfSaUs</a></li><li>SMD RGB LED &#8211; <a rel="noreferrer noopener" href="https://amzn.to/3fTvBjx" target="_blank">https://amzn.to/3fTvBjx</a></li><li>Two Color LED / 2-färbige LED &#8211; <a rel="noreferrer noopener" href="https://amzn.to/3qf8eFT" target="_blank">https://amzn.to/3qf8eFT</a></li><li>DS18B20 Temperatursensor &#8211; <a rel="noreferrer noopener" href="https://amzn.to/2KU9huJ" target="_blank">https://amzn.to/2KU9huJ</a></li><li>IR Hinderniserkennung KY-032 &#8211; <a rel="noreferrer noopener" href="https://amzn.to/3fQJChT" target="_blank">https://amzn.to/3fQJChT</a></li><li>Big Sound / Schallsensor &#8211; <a rel="noreferrer noopener" href="https://amzn.to/2VjWNyr" target="_blank">https://amzn.to/2VjWNyr</a></li><li>Small Sound / Schallsensor</li><li>Tracking / Line Follower &#8211; <a rel="noreferrer noopener" href="https://amzn.to/3qcIp9j" target="_blank">https://amzn.to/3qcIp9j</a></li><li>IR Emitter LED / IR Sender &#8211; <a rel="noreferrer noopener" href="https://amzn.to/3msAceQ" target="_blank">https://amzn.to/3msAceQ</a></li><li>IR Receiver / IR Empfänger &#8211; <a href="https://amzn.to/37kdwHv" target="_blank" rel="noreferrer noopener">https://amzn.to/37kdwHv</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2020/11/elegoo-37-sensor-kit-v2-0-fuer-arduino/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Waveshare 2,9&#8243; e-Paper Display am Arduino UNO</title>
		<link>https://www.makerblog.at/2020/10/waveshare-29-e-paper-display-am-arduino-uno/</link>
					<comments>https://www.makerblog.at/2020/10/waveshare-29-e-paper-display-am-arduino-uno/#comments</comments>
		
		<dc:creator><![CDATA[Adi Dax]]></dc:creator>
		<pubDate>Mon, 12 Oct 2020 18:57:14 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Arduino]]></category>
		<guid isPermaLink="false">https://www.makerblog.at/?p=1505</guid>

					<description><![CDATA[Die e-Paper Displays von Waveshare gibt es mittlerweile zumindest in den kleinen Größen zwischen 1,54&#8243; und 4,2&#8243; zu leistbaren Preisen. Alle Displays sind auch in Modulbauweise verfügbar und enthalten einen Spannungsregler, der die benötigten 3,3V auch beim Anschluss an die]]></description>
										<content:encoded><![CDATA[
<p>Die <a rel="noreferrer noopener" href="https://amzn.to/3dnrgDK" target="_blank">e-Paper Displays von Waveshare</a> gibt es mittlerweile zumindest in den kleinen Größen zwischen 1,54&#8243; und 4,2&#8243; zu leistbaren Preisen. Alle Displays sind auch in Modulbauweise verfügbar und enthalten einen Spannungsregler, der die benötigten 3,3V auch beim Anschluss an die 5V Digitalpins eines Arduino UNO sicherstellt. Der Datenaustausch mit diesen kleinen Displays von Waveshare erfolgt über den SPI Bus zur seriellen Kommunikation.</p>




<div class="aawp">

            
            
<div class="aawp-product aawp-product--horizontal"  data-aawp-product-asin="B07Q5PZQ9F" data-aawp-product-id="4191" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="2.9inch E-Paper Module 296x128 Resolution 3.3V/5V Two-Color E-Ink Display Module epaper Screen SPI Interface for Raspberry Pi/Arduino/Nucleo Support Partial Refresh" data-aawp-local-click-tracking="1">

    
    <div class="aawp-product__thumb">
        <a class="aawp-product__image-link"
           href="https://www.amazon.de/dp/B07Q5PZQ9F?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="2.9inch E-Paper Module 296x128 Resolution 3.3V/5V Two-Color E-Ink Display Module epaper Screen SPI Interface for Raspberry Pi/Arduino/Nucleo Support Partial Refresh" rel="nofollow noopener sponsored" target="_blank">
            <img decoding="async" class="aawp-product__image" src="https://www.makerblog.at/wp-content/plugins/aawp/public/image.php?url=YUhSMGNITTZMeTl0TG0xbFpHbGhMV0Z0WVhwdmJpNWpiMjB2YVcxaFoyVnpMMGt2TkRGcGVYTnBPRWhqTTB3dVgxTk1NVFl3WHk1cWNHYz18MTc3MjgxNjUyNA=" alt="2.9inch E-Paper Module 296x128 Resolution 3.3V/5V Two-Color E-Ink Display Module epaper Screen SPI Interface for Raspberry Pi/Arduino/Nucleo Support Partial Refresh"  />
        </a>

            </div>

    <div class="aawp-product__content">
        <a class="aawp-product__title" href="https://www.amazon.de/dp/B07Q5PZQ9F?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="2.9inch E-Paper Module 296x128 Resolution 3.3V/5V Two-Color E-Ink Display Module epaper Screen SPI Interface for Raspberry Pi/Arduino/Nucleo Support Partial Refresh" rel="nofollow noopener sponsored" target="_blank">
            2.9inch E-Paper Module 296x128 Resolution 3.3V/5V Two-Color E-Ink Display Module epaper Screen SPI Interface for Raspberry Pi/Arduino/Nucleo Support Partial Refresh        </a>
        <div class="aawp-product__description">
            <ul><li>SPI interface, for connecting with controller boards like Raspberry Pi/Arduino/Nucleo, etc.</li><li>Ultra low power consumption, basically power is only required for refreshing</li><li>Onboard voltage translator, compatible with 3.3V/5V MCUs</li><li>Comes with development resources and manual (examples for Raspberry Pi/Jetson Nano/Arduino/STM32)</li><li>No backlight, keeps displaying last content for a long time even when power down</li></ul>        </div>
    </div>

    <div class="aawp-product__footer">

        <div class="aawp-product__pricing">
            
                            <span class="aawp-product__price aawp-product__price--current"></span>
            
                    </div>

                <a class="aawp-button aawp-button--buy aawp-button aawp-button--amazon aawp-button--icon aawp-button--icon-black" href="https://www.amazon.de/dp/B07Q5PZQ9F?tag=makerblogwp-21&#038;linkCode=ogi&#038;th=1&#038;psc=1" title="Bei Amazon kaufen" target="_blank" rel="nofollow noopener sponsored">Bei Amazon kaufen</a>
            </div>

</div>

    
</div>




<p>Ihr kennt dieses Art Displays vielleicht aus dem Supermarkt von den digitalen Preisschildern oder von E-Book-Readern wie dem <a rel="noreferrer noopener" href="https://amzn.to/3743f3P" target="_blank">Amazon Kindle</a>.</p>



<p>E-Paper oder E-Ink-Displays bestehen aus vielen mikroskopisch kleinen Kapseln mit elektrisch geladenen, eingefärbten Partikeln, die durch Anlegen einer Spannung ihre Position innerhalb dieser Kapsel verändern können. </p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.makerblog.at/wp-content/uploads/2020/10/e-paper-detail-1024x683.jpg" alt="" class="wp-image-1510" width="768" height="512" srcset="https://www.makerblog.at/wp-content/uploads/2020/10/e-paper-detail-1024x683.jpg 1024w, https://www.makerblog.at/wp-content/uploads/2020/10/e-paper-detail-300x200.jpg 300w, https://www.makerblog.at/wp-content/uploads/2020/10/e-paper-detail-768x512.jpg 768w, https://www.makerblog.at/wp-content/uploads/2020/10/e-paper-detail-1536x1024.jpg 1536w, https://www.makerblog.at/wp-content/uploads/2020/10/e-paper-detail.jpg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /></figure>



<p>Weitere Infos gibts im Wikipedia-Eintrag <a rel="noreferrer noopener" href="https://de.wikipedia.org/wiki/Elektronisches_Papier" target="_blank">https://de.wikipedia.org/wiki/Elektronisches_Papier</a>. Wenn ein Partikel seine Position eingenommen hat, behält es diese über einen längeren Zeitraum ohne weiteren Stromverbrauch. </p>



<p>Die Displays haben dadurch den großen Vorteil, dass sie nur bei der Änderung des Bildschirminhaltes einen höheren Stromverbrauch haben, zur Anzeige des Inhaltes dann aber fast keine Energie mehr benötigen. </p>



<p>Ein Nachteil ist, dass die Änderung des Bildschirminhaltes relativ lange dauert, da die Farbpartikel ja wirklich bewegt werden müssen. Am besten geeignet sind die Displays also zur Anzeige von Inhalten, die sich nicht allzu oft ändern &#8211; Buchseiten eben oder Produktpreise im Supermarktregal oder &#8211; wie in meinem Fall, die Anzeige eines Sensorwertes, der nur alle paar Sekunden aktualisiert werden muss.</p>



<p>Ich habe mir das <a class="aawp-link" href="https://www.amazon.de/dp/B07Q5PZQ9F?tag=makerblogwp-21&linkCode=ogi&th=1&psc=1" title="2,9' Display Modul mit 128x296 Pixel" target="_blank" rel="nofollow noopener sponsored"  data-aawp-product-asin="B07Q5PZQ9F" data-aawp-product-id="4191" data-aawp-tracking-id="makerblogwp-21" data-aawp-product-title="2.9inch E-Paper Module 296x128 Resolution 3.3V/5V Two-Color E-Ink Display Module epaper Screen SPI Interface for Raspberry Pi/Arduino/Nucleo Support Partial Refresh" data-aawp-local-click-tracking="1">2,9" Display Modul mit 128x296 Pixel</a> bestellt, jedoch anfangs nicht zum Laufen gebracht. Den Beispielsketch von Waveshare konnte ich zwar kompilieren und auf den Arduino uploaden, die Reaktion des Displays war aber gleich Null.</p>



<p>Erst mit der alternativen <a href="https://github.com/ZinggJM/GxEPD2" target="_blank" rel="noreferrer noopener">GxEPD2 Library</a>, die sehr komfortabel eine Vielzahl von e-Paper Displays der Hersteller Waveshare und Good Display auf verschiedenen Mikrocontrollern unterstützt, hatte ich dann Erfolg.</p>



<p>Der Anschluss des Displays an einen Arduino UNO R3 und die Verwendung der Library bis zum funktionsfähigen Demo-Sketch habe ich in diesem Video dokumentiert:</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Arduino UNO mit Waveshare 2,9" width="700" height="394" src="https://www.youtube.com/embed/QKAXWdfO4FA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen verbinden e-Paper Display></iframe><script type="application/json" data-arve-oembed>{"title":"Arduino UNO mit Waveshare 2,9&quot; e-Paper Display verbinden (deutsch)","author_name":"Makerblog.at - Arduino &amp; Co","author_url":"https://www.youtube.com/c/MakerblogAt","type":"video","height":"394","width":"700","version":"1.0","provider_name":"YouTube","provider_url":"https://www.youtube.com/","thumbnail_height":"360","thumbnail_width":"480","thumbnail_url":"https://i.ytimg.com/vi/QKAXWdfO4FA/hqdefault.jpg","html":"&lt;iframe width=&quot;700&quot; height=&quot;394&quot; src=&quot;https://www.youtube.com/embed/QKAXWdfO4FA?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen title=&quot;Arduino UNO mit Waveshare 2,9&quot; e-Paper Display verbinden (deutsch)&quot;&gt;&lt;/iframe&gt;","arve_cachetime":"2022-08-23 10:45:41","arve_url":"https://www.youtube.com/watch?v=QKAXWdfO4FA","arve_srcset":"https://i.ytimg.com/vi/QKAXWdfO4FA/mqdefault.jpg 320w, https://i.ytimg.com/vi/QKAXWdfO4FA/hqdefault.jpg 480w, https://i.ytimg.com/vi/QKAXWdfO4FA/sddefault.jpg 640w, https://i.ytimg.com/vi/QKAXWdfO4FA/maxresdefault.jpg 1280w"}</script>
</div></figure>



<p>Nach der Installation der GxEPD2 Library, die übrigens auf der Adafruit GFX Library aufbaut, muss man zuerst im Example Sketch die passende Zeile suchen, mit der das richtige display Objekt für die Kombination aus eigenem Mikrocontroller und Display erzeugt wird. Diese Zeile benötigt man dann auch für die weiteren Beispielsketches!</p>



<p>Der Arduino UNO hat ja eigentlich viel zu wenig SRAM für Variablen, um den Bildschirminhalt für dieses Display überhaupt zwischenspeichern zu können. Die Library arbeitet deswegen auf den kleinen Arduinos mit einer Methode namens &#8222;Paged drawing&#8220; und erzeugt den Bildschirminhalt in kleinen Teilen in einer Picture Loop, also einer Schleife im Programmcode, die mehrmals durchlaufen wird, bis alle Teile des Gesamtbildes aufgebaut und ans Display übertragen wurden.</p>



<p>Als nächstes Projekt steht jetzt die Temperaturmessung über ein BME280 Sennsor Modul samt Ausgabe auf dem e-Paper Display am Plan. Dazu aber mehr, sobald es soweit ist.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.makerblog.at/2020/10/waveshare-29-e-paper-display-am-arduino-uno/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
