<?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>Arduino &#8211; datort.de</title>
	<atom:link href="https://datort.de/tag/arduino/feed/" rel="self" type="application/rss+xml" />
	<link>https://datort.de</link>
	<description>Retro, Gaming, Tech: Videos und Berichte</description>
	<lastBuildDate>Wed, 26 Nov 2025 19:33:35 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://datort.de/wp-content/uploads/2024/10/cropped-datort_computer_isolated-32x32.png</url>
	<title>Arduino &#8211; datort.de</title>
	<link>https://datort.de</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Hugo: Der Troll, den ich nicht spielen durfte</title>
		<link>https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/</link>
					<comments>https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 22:31:44 +0000</pubDate>
				<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Retro Computing]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[Spiele]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1219</guid>

					<description><![CDATA[1994 erblickte nicht nur der Netscape Navigator oder die erste PlayStation das Licht der Welt, auf dem noch&#8230;]]></description>
										<content:encoded><![CDATA[
<p>1994 erblickte nicht nur der Netscape Navigator oder die erste PlayStation das Licht der Welt, auf dem noch recht jungen TV-Sender &#8222;Der Kabelkanal&#8220;, heute besser bekannt als Kabel 1, turnt auch ein kleiner Troll über den Bildschirm: Hugo.</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"><a href="https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2F7n7WMO9uasc%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Das Konzept der Sendung war damals recht einzigartig: Die Zuschauer konnten den kleinen Troll in kurzen Spielchen mit den DTMF-Tastentönen ihrer Telefon von Zuhause steuern. Auf dem Bildschirm sahen sie dann das Ergebnis ihrer Tastendrücke. Heute durch die stark unterschiedlichen Laufwege und -zeiten moderner TV-Verbreitungswege undenkbar &#8211; und auch damals schon nicht immer ganz problemlos. </p>



<p>Egal, vier Jahre lief das Ganze. Und ich wollte gerne mitspielen, hatte aber nie das Glück durchzukommen. Das plagt mich bis heute, wie ich auch in meiner Podcast-Episode zu Hugo kundtat. In der Episode gehe ich noch ein bisschen genauer auf das Spiel, die Sendung und die Produktion ein. </p>


<div id="237267465" class="castos-player dark-mode " tabindex="0" data-episode="1174" data-player_id="237267465">
	<div class="player">
		<div class="player__main">
			<div class="player__artwork player__artwork-1174">
				<img decoding="async" src="https://datort.de/wp-content/uploads/2025/09/005_hugo-200x200.jpg"
					 alt="Pad One, Please! Der nächste Retro-Podcast"
					 title="Pad One, Please! Der nächste Retro-Podcast">
			</div>
			<div class="player__body">
				<div class="currently-playing">
					<div class="show player__podcast-title">
						Pad One, Please! Der nächste Retro-Podcast					</div>
					<div class="episode-title player__episode-title">#005: Hugo trollt TV und Games</div>
				</div>
				<div class="play-progress">
					<div class="play-pause-controls">
						<button title="Play" aria-label="Play Episode" aria-pressed="false" class="play-btn">
							<span class="screen-reader-text">Play Episode</span>
						</button>
						<button title="Pause" aria-label="Pause Episode" aria-pressed="false" class="pause-btn hide">
							<span class="screen-reader-text">Pause Episode</span>
						</button>
						<img decoding="async" src="https://datort.de/wp-content/plugins/seriously-simple-podcasting/assets/css/images/player/images/icon-loader.svg" alt="Loading" class="ssp-loader hide"/>
					</div>
					<div>
						<audio preload="none" class="clip clip-1174">
							<source src="https://datort.de/podcast-player/1174/005-hugo-trollt-tv-und-games.mp3">
						</audio>
						<div class="ssp-progress" role="progressbar" title="Seek" aria-valuenow="0" aria-valuemin="0" aria-valuemax="843">
							<span class="progress__filled"></span>
						</div>
						<div class="ssp-playback playback">
							<div class="playback__controls">
								<button class="player-btn player-btn__volume" title="Mute/Unmute">
									<span class="screen-reader-text">Mute/Unmute Episode</span>
								</button>
								<button data-skip="-10" class="player-btn player-btn__rwd" title="Rewind 10 seconds">
									<span class="screen-reader-text">Rewind 10 Seconds</span>
								</button>
								<button data-speed="1" class="player-btn player-btn__speed" title="Playback Speed" aria-label="Playback Speed">1x</button>
								<button data-skip="30" class="player-btn player-btn__fwd" title="Fast Forward 30 seconds">
									<span class="screen-reader-text">Fast Forward 30 seconds</span>
								</button>
							</div>
							<div class="playback__timers">
								<time class="ssp-timer">00:00</time>
								<span>/</span>
								<!-- We need actual duration here from the server -->
								<time class="ssp-duration" datetime="PT0H14M3S">14:03</time>
							</div>
						</div>
					</div>
				</div>
									<nav class="player-panels-nav">
													<button class="subscribe-btn" id="subscribe-btn-1174" title="Abonnieren">Abonnieren</button>
																			<button class="share-btn" id="share-btn-1174" title="Teilen">Teilen</button>
											</nav>
							</div>
		</div>
	</div>
			<div class="player-panels player-panels-1174">
							<div class="subscribe player-panel subscribe-1174">
					<div class="close-btn close-btn-1174">
						<span></span>
						<span></span>
					</div>
					<div class="panel__inner">
						<div class="subscribe-icons">
																								<a href="https://music.amazon.de/podcasts/0c0b2b58-55b0-42ac-884b-57604310d6f9/pad-one-please-der-n%C3%A4chste-retro-podcast" target="_blank" rel="noopener noreferrer"
									   class="amazon"
									   title="Subscribe on  Amazon">
										<span></span>
										Amazon									</a>
																																<a href="https://podcasts.apple.com/us/podcast/pad-one-please-noch-so-n-retro-podcast/id1830571033" target="_blank" rel="noopener noreferrer"
									   class="apple_podcasts"
									   title="Subscribe on  Apple Podcasts">
										<span></span>
										Apple Podcasts									</a>
																																<a href="https://deezer.com/show/1002093401" target="_blank" rel="noopener noreferrer"
									   class="deezer"
									   title="Subscribe on  Deezer">
										<span></span>
										Deezer									</a>
																																															<a href="https://datort.de/feed/podcast/pad-one-please" target="_blank" rel="noopener noreferrer"
									   class="rss"
									   title="Subscribe on  RSS">
										<span></span>
										RSS									</a>
																																<a href="https://open.spotify.com/show/4cTvGULCA1LGs9mPdwxKTH" target="_blank" rel="noopener noreferrer"
									   class="spotify"
									   title="Subscribe on  Spotify">
										<span></span>
										Spotify									</a>
																																				</div>
						<div class="player-panel-row" aria-label="RSS Feed URL">
							<div class="title">RSS Feed</div>
							<div>
								<input value="https://datort.de/feed/podcast/pad-one-please" class="input-rss input-rss-1174" title="RSS Feed URL" readonly />
							</div>
							<button class="copy-rss copy-rss-1174" title="Copy RSS Feed URL" aria-label="Copy RSS Feed URL"></button>
						</div>
					</div>
				</div>
										<div class="share share-1174 player-panel">
					<div class="close-btn close-btn-1174">
						<span></span>
						<span></span>
					</div>
					<div class="player-panel-row">
						<div class="title">
							Teilen						</div>
						<div class="icons-holder">
							<a href="https://www.facebook.com/sharer/sharer.php?u=https://datort.de/podcast/005-hugo-trollt-tv-und-games/&#038;t=#005: Hugo trollt TV und Games"
							   target="_blank" rel="noopener noreferrer" class="share-icon facebook" title="Auf Facebook teilen">
								<span></span>
							</a>
							<a href="https://twitter.com/intent/tweet?text=https://datort.de/podcast/005-hugo-trollt-tv-und-games/&#038;url=#005: Hugo trollt TV und Games"
							   target="_blank" rel="noopener noreferrer" class="share-icon twitter" title="Auf Twitter teilen">
								<span></span>
							</a>
							<a href="https://datort.de/podcast-player/1174/005-hugo-trollt-tv-und-games.mp3"
							   target="_blank" rel="noopener noreferrer" class="share-icon download" title="Download" download>
								<span></span>
							</a>
						</div>
					</div>
					<div class="player-panel-row">
						<div class="title">
							Link						</div>
						<div>
							<input value="https://datort.de/podcast/005-hugo-trollt-tv-und-games/" class="input-link input-link-1174" title="Episode URL" readonly />
						</div>
						<button class="copy-link copy-link-1174" title="Copy Episode URL" aria-label="Copy Episode URL" readonly=""></button>
					</div>
					<div class="player-panel-row">
						<div class="title">
							Embed						</div>
						<div style="height: 10px;">
							<input type="text" value='&lt;blockquote class=&quot;wp-embedded-content&quot; data-secret=&quot;5wwcmkGYrx&quot;&gt;&lt;a href=&quot;https://datort.de/podcast/005-hugo-trollt-tv-und-games/&quot;&gt;#005: Hugo trollt TV und Games&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox=&quot;allow-scripts&quot; security=&quot;restricted&quot; src=&quot;https://datort.de/podcast/005-hugo-trollt-tv-und-games/embed/#?secret=5wwcmkGYrx&quot; width=&quot;500&quot; height=&quot;350&quot; title=&quot;&#8222;#005: Hugo trollt TV und Games&#8220; &#8211; datort.de&quot; data-secret=&quot;5wwcmkGYrx&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot; class=&quot;wp-embedded-content&quot;&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){&quot;use strict&quot;;l.querySelector&amp;&amp;d.addEventListener&amp;&amp;&quot;undefined&quot;!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll(&#039;iframe[data-secret=&quot;&#039;+t.secret+&#039;&quot;]&#039;),o=l.querySelectorAll(&#039;blockquote[data-secret=&quot;&#039;+t.secret+&#039;&quot;]&#039;),c=new RegExp(&quot;^https?:$&quot;,&quot;i&quot;),i=0;i&lt;o.length;i++)o[i].style.display=&quot;none&quot;;for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute(&quot;style&quot;),&quot;height&quot;===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):&quot;link&quot;===t.message&amp;&amp;(r=new URL(s.getAttribute(&quot;src&quot;)),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener(&quot;message&quot;,d.wp.receiveEmbedMessage,!1),l.addEventListener(&quot;DOMContentLoaded&quot;,function(){for(var e,t,s=l.querySelectorAll(&quot;iframe.wp-embedded-content&quot;),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute(&quot;data-secret&quot;))||(t=Math.random().toString(36).substring(2,12),e.src+=&quot;#?secret=&quot;+t,e.setAttribute(&quot;data-secret&quot;,t)),e.contentWindow.postMessage({message:&quot;ready&quot;,secret:t},&quot;*&quot;)},!1)))}(window,document);
//# sourceURL=https://datort.de/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
'
								   title="Embed Code"
								   class="input-embed input-embed-1174" readonly/>
						</div>
						<button class="copy-embed copy-embed-1174" title="Copy Embed Code" aria-label="Copy Embed Code"></button>
					</div>
				</div>
					</div>
	
	

	</div>
<div class="podcast_meta"><aside><p><a href="https://datort.de/podcast-download/1174/005-hugo-trollt-tv-und-games.mp3?ref=download" title="Hugo: Der Troll, den ich nicht spielen durfte " class="podcast-meta-download">Datei herunterladen</a> | <a href="https://datort.de/podcast-download/1174/005-hugo-trollt-tv-und-games.mp3?ref=new_window" target="_blank" title="Hugo: Der Troll, den ich nicht spielen durfte " class="podcast-meta-new-window">In neuem Fenster abspielen</a> | <span class="podcast-meta-duration">Audiolänge: 14:03</span> | <span class="podcast-meta-date">Aufgenommen am  23. September 2025</span></p><p>Abonnieren: <a href="https://music.amazon.de/podcasts/0c0b2b58-55b0-42ac-884b-57604310d6f9/pad-one-please-der-n%C3%A4chste-retro-podcast" target="_blank" title="Amazon" class="podcast-meta-itunes">Amazon</a> | <a href="https://podcasts.apple.com/us/podcast/pad-one-please-noch-so-n-retro-podcast/id1830571033" target="_blank" title="Apple Podcasts" class="podcast-meta-itunes">Apple Podcasts</a> | <a href="https://deezer.com/show/1002093401" target="_blank" title="Deezer" class="podcast-meta-itunes">Deezer</a> | <a href="https://datort.de/feed/podcast/pad-one-please" target="_blank" title="RSS" class="podcast-meta-itunes">RSS</a> | <a href="https://open.spotify.com/show/4cTvGULCA1LGs9mPdwxKTH" target="_blank" title="Spotify" class="podcast-meta-itunes">Spotify</a></p></aside></div>


<p>Nun gibt es aber ja seit einer ganzen Weile Arduino- und ESP-Boards, mit denen man famose Dinge erschaffen kann wenn man dem Thema etwas Zeit widmet. Und da ich hier noch ein altes Telefon der Deutschen Bundespost rumfliegen habe, was den Retro-Charackter der Aktion nur noch weiter verstärkt, habe ich mich dran gemacht aus dem Telefon ein viel zu großes Numpad zu bauen, mit dem auch gleich noch Hugo Spielen kann. </p>



<h2 id="teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1761953656988 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Teileliste</span>
	</span>
</h2>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="577" src="https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-1024x577.jpg" alt="" class="wp-image-1229" srcset="https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-1024x577.jpg 1024w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-300x169.jpg 300w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-768x432.jpg 768w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-380x214.jpg 380w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1-800x450.jpg 800w, https://datort.de/wp-content/uploads/2025/11/PhoneATroll_components-1.jpg 1094w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Die Teile: Ein ESP32 S3 Zero, das Flachbandkabel vom FeTAp und optional ein Custom PCB, welches alles zusammenbringt</figcaption></figure>



<p>Viel braucht es für dieses Projekt nicht, nämlich nur den ESP und das Telefon: </p>



<ul class="wp-block-list">
<li>Retro-Telefon &#8222;FeTAp&#8220;, hier ein FeTAp 0111 aus 1987</li>



<li>ESP 32 S3 Zero</li>



<li>optional: DIY Platine um Kabelwirrwarr zu vermeiden (siehe &#8222;Schaltplan&#8220;)</li>
</ul>



<p>Naja gut, und natürlich Schraubendreher, einen Lötkolben und was man zu dessen Verwendung halt so benötigt.</p>



<h2 id="schaltplan" class="cnvs-block-section-heading cnvs-block-section-heading-1761953751401 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Schaltplan</span>
	</span>
</h2>



<p>Damit das Ganze funktionieren kann, muss das Tastenfeld mit dem ESP32 verbunden werden. An dem Tastenfeld des Telefons ist ein kurzes Flachband. Also, genau genommen ist es auf der Platine des Telefons und muss von der befreit werden. Danach müssen folgende Pins entsprechend mit dem ESP32 verbunden werden. </p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="428" src="https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1024x428.png" alt="" class="wp-image-1223" srcset="https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1024x428.png 1024w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-300x125.png 300w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-768x321.png 768w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1536x642.png 1536w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-380x159.png 380w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-800x334.png 800w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1-1160x485.png 1160w, https://datort.de/wp-content/uploads/2025/11/Schaltplan_FeTAp-1.png 1904w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Um es für mich etwas angenehmer zu gestalten, habe ich mir eine kleine Platine dafür gebaut. Ich bin immer noch begeistert für welche schmale Mark man heutzutage selbstgestaltete PCBs produzieren lassen kann. Ich pack hier mal meine Lösung in Form einer Gerber-File hin, mit der eine Nachbestellung möglich ist &#8211; Verwendung auf eigene Gefahr: </p>



<div class="wp-block-file"><a id="wp-block-file--media-ca997e77-f3d5-48a6-9034-730e5b601c9d" href="https://datort.de/wp-content/uploads/2025/11/Gerber_FeTapNumPad_PCB_FeTapNumPad_2_2025-11-01.zip">Gerber_FeTapNumPad_PCB_FeTapNumPad_2_2025-11-01</a><a href="https://datort.de/wp-content/uploads/2025/11/Gerber_FeTapNumPad_PCB_FeTapNumPad_2_2025-11-01.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-ca997e77-f3d5-48a6-9034-730e5b601c9d">Herunterladen</a></div>



<h2 id="funktionsweise" class="cnvs-block-section-heading cnvs-block-section-heading-1761954460438 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Funktionsweise</span>
	</span>
</h2>



<p>Das kleine ESP-Board ist in der Lage, als HID (Human Interface Device) über USB zu agieren. Damit gibt es sich in diesem Fall sozusagen als Keyboard aus. Drücke ich eine der Tasten auf dem Telefon, so wird ein Tastendruck (Keyboard.press()) ausgelöst, für 80 Milisekunden gehalten und danach wird die Taste wieder &#8222;losgelassen&#8220; (Keyboard.release()). </p>



<p>Um den richtigen Tastendruck zu ermitteln, wird das Tastenfall in schnellen Intervallen auf Tastendrücke abgefragt &#8211; so wie es das Telefon selbst zuvor auch gemacht hat. Das Tastenfeld ist dabei als eine Art Matrix aufgebaut. Man kann Spannung dabei Zeilen und Reihenweise anlegen. Gebe ich also beispielsweise eine Spannung auf Spalte 2 und Zeile 3, so muss bei Druck der Taste 8 eine Spannung anliegen sofern diese gerade gedrückt wird. So funktioniert im Groben die Erkennung welche Taste gerade gedrückt wird. Simpel aber doch irgendwie faszinierend, wenn ich mir vorstelle in welchem flotten Intervall der ESP da über alle möglichen Konstellationen immer und immer wieder drüber ballert. </p>



<h2 id="software" class="cnvs-block-section-heading cnvs-block-section-heading-1761954867809 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Software</span>
	</span>
</h2>



<p>Die Software besteht im Wesentlichen aus einer einzigen Datei. Ich entwickle in PlattformIO, entsprechend handelt es sich bei dem Projekt um ein solches. Ihr könnt den Code aber auch in die Arduino IDE kopieren, dann müsste ihr nur dafür sorgen dass ihr die entsprechend für den ESP32 S3 Zero konfiguriert. Außerdem müsst ihr vermutlich das #include &lt;Arduino.h&gt; rausnehmen und dem Sketch eine .ino-Dateiendung geben. Mehr dazu auch in der Readme. Das Projekt könnt ihr auf meinem GIthub-Profil auschecken oder runterladen.</p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/datort/phone-a-troll" target="_blank" rel="noreferrer noopener">PhoneATroll @Github</a></div>
</div>



<h2 id="fazit" class="cnvs-block-section-heading cnvs-block-section-heading-1761993025771 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Fazit</span>
	</span>
</h2>



<p>Das Projekt hier hat mir wahnsinnig Spaß gemacht. Ich hab keine Ahnung, ob es da draussen wirklich noch andere Verrückte gibt, die sich an sowas erfreuen. Aber falls ja: Hey, schön das du da bist und viel Spaß mit dem Projekt. Wer keine Lust auf basteln hat: Ich habe kürzlich erfahren, dass im <a href="https://hi-score.org/" target="_blank" rel="noreferrer noopener nofollow">Hi-Score</a> in Hannover auch etwas ähnliches für jeden zum ausprobieren und Spielen stehen soll. Diese Werbung hier ist absolut freiwillig und unbezahlt, ich finde in der Retro-Community muss man zusammenhalten und gute Ideen teilen.</p>



<p>Und wenn ihr das Projekt mal umgesetzt haben solltet: Ich würde mich super über Rückmeldung freuen. Viel Spaß beim Zocken!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/retro-computing/1219/hugo-der-troll-den-ich-nicht-spielen-durfte/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino/ESP + SIMCom A7670E LTE-Modul</title>
		<link>https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/</link>
					<comments>https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Wed, 10 Sep 2025 18:57:35 +0000</pubDate>
				<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Mobilfunk]]></category>
		<guid isPermaLink="false">https://datort.de/?p=1113</guid>

					<description><![CDATA[Auch in Deutschland ist vermutlich Mitte 2028 Schluß mit dem 2G GSM-Netz: Sowohl Telekom als auch Vodafone haben&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Auch in Deutschland ist vermutlich Mitte 2028 Schluß mit dem 2G GSM-Netz: Sowohl Telekom als auch Vodafone haben das Datum zur Abschaltung ihrer ersten digitalen Mobilfunknetze vor einiger Zeit verkündet. Module wie das SIM800L, die nur das 2G-Netz mit GPRS und EDGE unterstützen, werden dann nicht mehr funktionieren. Zeit sich nach Alternativen umzusehen. Das A7670E von SIMCom könnte eine solche Altnative sein. Es ist mit knapp über 10,- Euro von Aliexpress und co. relativ günstig zu haben und via UART-Schnittstelle auch leicht mit 2 Kabeln anzubinden. Allerdings ist nicht alles Gold was glänzt. Hier meine schnelle Pros-/Cons-Liste, bevor wir uns das Board und Software-Beispiele genauer ansehen.</p>



<p><strong>+</strong> relativ günstig<br><strong>+</strong> kompakt<br><strong>+</strong> überschaubarer Stromverbrauch<br><strong>+</strong> optional mit GPS und Bluetooth<br><strong>+</strong> USB-Anschluss für schnellere Datenübertragung<br><br><strong>&#8211;</strong> min. 5 V Versorgungsspannung (SIM800L lief auch mit 3.7 V)<br><strong>&#8211;</strong> Status LED ungenau (moniert nicht verbunden zu sein, obwohl Daten gesendet und empfangen werden)</p>



<h2 id="videoanleitung" class="cnvs-block-section-heading cnvs-block-section-heading-1757866690807 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Videoanleitung</span>
	</span>
</h2>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FxPMGg86Webg%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<h2 id="hardware" class="cnvs-block-section-heading cnvs-block-section-heading-1757071876446 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Hardware</span>
	</span>
</h2>



<p>Für mein Test-Setup verwende ich ein ESP32-WROOM-32D-Board. Andere Boards sind möglich. Ich verwende dieses Board aufgrund der Hardware-Serial, über die die Kommunikation zwischen ESP und A7670E-LTE-Modem läuft. Die Beschriftung auf dem Modem ist ein bisschen unübersichtlich. Auf meinem Board von oben nach unten: <br><strong>G: GND, R: RXD, T: TXT, K: PWRKEY, V: VCC, G: GND, S-SLEEP</strong></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="1024" src="https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-1024x1024.jpeg" alt="" class="wp-image-1152" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-1024x1024.jpeg 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-300x300.jpeg 300w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-200x200.jpeg 200w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-768x768.jpeg 768w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-110x110.jpeg 110w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-380x380.jpeg 380w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-800x800.jpeg 800w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins-1160x1160.jpeg 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E_Pins.jpeg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Für mein Setup genügt es, vom ESP TX/RX über Kreuz zu verbinden: Also: TX vom ESP auf RX vom Modem und umgekehrt. Außerdem teilen sich ESP und A7670E einen Ground. Das wars dann aber auch. Ich hatte zwischenzeitlich einen 2200μF-Kondensator verbaut, bis ich gesehen habe das genau für diesen Zweck bereits ein 4700μF-Kondensator auf dem Modem verbaut ist. Trotzdem kackte das Modem beim Einbuchen ins LTE-Netz ab und an ab &#8211; die Stromversorgung scheint da aber wohl dann nicht der Grund gewesen zu sein?! </p>



<h2 id="software" class="cnvs-block-section-heading cnvs-block-section-heading-1757071899911 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Software</span>
	</span>
</h2>



<p>Getestet wurde das hier mit dem A7670E-Modul. Allerdings sollten die meisten Sketches auch mit anderen Boards von SIMCom funktionieren, sofern sie den gleichen Befehlssatz unterstützen. </p>



<h5 id="basis-sketch" class="wp-block-heading">Basis Sketch</h5>



<p>Um es auch für Einsteiger verständlich zu halten, teile ich die einzelnen Funktion in kleine Snippets auf. So könnt ihr euch das raussuchen, was für euer Szenario am besten passt. Diese basieren auf folgender Basis, die zunächst nichts weiter macht als die Kommunikation mit dem A7670E sicherzustellen und die Antworten des Moduls im Serial Monitor euer (Arduino-)IDE anzuzeigen. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17 // RX-Pin des ESP-Boards
#define TX_PIN 16 // TX-Pin des ESP-Boards
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;); // AT = Attention, Modem muss mit &quot;OK&quot; antworten
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp); // Jede Antwort des Modems in der Serial gekennzeichnet ausgeben
    }
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Serial connection ready
Modem: AT
Modem: OK
</pre></div>


<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-1024x768.jpeg" alt="" class="wp-image-1155" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E-ESP32-Topshot.jpeg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h5 id="mobilfunkstatus-sketch" class="wp-block-heading">Mobilfunkstatus Sketch</h5>



<p>Um zu prüfen, ob das A7670E-Modul mit dem Mobilfunknetz verbunden ist, können wir es einfach selbst fragen. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) { // Nach 2 Sekunden alle 20 Sekunden aktualisieren
    lastRun = millis();

    modem.println(&quot;AT+CSQ&quot;);      // Signalstärke
    modem.println(&quot;AT+CEREG?&quot;);   // LTE Netzregistrierung
    modem.println(&quot;AT+CGATT?&quot;);   // Datenregistrierung
    modem.println(&quot;AT+CGACT?&quot;);   // PDP Kontext aktiv? (Datenverbindung)
    modem.println(&quot;AT+CGPADDR&quot;);  // IP-Adresse
    modem.println(&quot;AT+NETOPEN?&quot;); // Socket-Service Status
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Modem: AT+CSQ
Modem: +CSQ: 26,99
Modem: OK
Modem: AT+CEREG?
Modem: +CEREG: 0,1
Modem: OK
Modem: AT+CGATT?
Modem: +CGATT: 1
Modem: OK
Modem: AT+CGACT?
Modem: +CGACT: 1,1
Modem: +CGACT: 8,1
Modem: OK
Modem: AT+CGPADDR
Modem: +CGPADDR: 1,10.76.56.42
Modem: +CGPADDR: 8,0.0.0.0,254.128.0.0.0.0.0.0.194.209.178.131.245.194.29.154
Modem: OK
Modem: AT+NETOPEN?
Modem: +NETOPEN: 0
Modem: OK
</pre></div>


<p class="has-small-font-size"><strong>+CSQ: 26,99</strong>: 26 ist die Signalqualität, Skala 0-31, 26 = ziemlich guter Empfang<br><strong>+CEREG: 0,1</strong>: Erfolgreich im LTE-Netz eingebucht<br><strong>+CGATT: 1</strong>: Datenverbindung aktiv<br><strong>+CGACT: 1,1</strong> &amp; <strong>+CGACT: 8,1</strong>: Zwei Datenkontexte offen<br><strong>+CGPADDR: 1,10.76.56.42</strong><br><strong>+CGPADDR: 8,0.0.0.0,254.128.0.0.0.0.0.0.194.209.178.131.245.194.29.154</strong>: IP-Adressen, die das Board erhalten hat</p>



<h5 id="ping-sketch" class="wp-block-heading">Ping Sketch</h5>



<p>Ein grundlegender Test von Netzwerk-Kommunikation ist ein &#8222;ping&#8220;: Ein kleines Datenpaket wird an einen Server gesendet. Kommt das Paket an antwortet der Server und der Nutzer sieht, wie lange das Datenpaket auf Reise war. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();

    modem.println(&quot;AT+CPING=\&quot;8.8.8.8\&quot;,1,4&quot;); // 4 Pings an Google DNS senden
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Modem: AT+CPING=&quot;8.8.8.8&quot;,1,4
Modem: OK
Modem: +CPING: 1,8.8.8.8,92,130,114
Modem: +CPING: 1,8.8.8.8,92,40,114
Modem: +CPING: 1,8.8.8.8,92,15,114
Modem: +CPING: 1,8.8.8.8,92,30,114
Modem: +CPING: 3,4,4,0,15,130,40
</pre></div>


<p class="has-small-font-size"><strong>AT+CPING=&#8220;8.8.8.8&#8243;,1,4</strong>: 8.8.8.8 ist die Ziel-IP-Adresse, 1 steht für IPv4 (2 wäre IPv6), 4 ist die Anzahl der Wiederholungen<br><strong>+CPING: 1,8.8.8.8,92,130,114</strong>: 1: Ping erfolgreich, der vorletzte Wert (hier 130) ist die Laufzeit in ms, die anderen Werte bitte dem Manual entnehmen<br><strong>+CPING: 3,4,4,0,15,130,40</strong>: Zusammenfassung über die 4 Pings</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-1024x768.jpeg" alt="" class="wp-image-1156" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E-Stromaufnahme.jpeg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">In der Regel ist die Stromaufnahme sehr gering. Beim Senden und Empfangen kann der Verbrauch kurzzeitig ansteigen. HTTPS-Traffic verbraucht (wenig überraschend) noch etwas mehr Strom</figcaption></figure>



<h5 id="daten-via-http-abrufen-http-get-request" class="wp-block-heading">Daten via HTTP abrufen (HTTP GET-Request)</h5>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();

    modem.println(&quot;AT+HTTPINIT&quot;); // HTTP-Service des Modems starten

    
    modem.println(&quot;AT+HTTPPARA=\&quot;URL\&quot;,http://httpbin.org/get&quot;); // Abzurufende Adresse
    modem.println(&quot;AT+HTTPACTION=0&quot;); // 0 = GET, 1 = POST, 2 = HEAD, 3 = DELETE, 4 = PUT

    delay(2500); // Wir gehen davon aus, in 2.5s die Antwort zu erhalten. Vermutlich besser: AT+HTTPACTION auswerten, liefert die Content-Length

    modem.println(&quot;AT+HTTPHEAD&quot;); // Ausgabe des Response Headers

    delay(200);

    modem.println(&quot;AT+HTTPREAD=99999&quot;); // &quot;Unsaubere Implementierung&quot;: Eigentlich AT+HTTPREAD? nutzen um Länge der Antwort zu ermitteln
    modem.println(&quot;AT+HTTPTERM&quot;); // HTTP-Service nach Verwendung stoppen
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Modem: AT+HTTPINIT
Modem: ERROR
Modem: AT+HTTPPARA=&quot;URL&quot;,http://httpbin.org/get
Modem: OK
Modem: AT+HTTPACTION=0
Modem: OK
Modem: +HTTPACTION: 0,200,255
Modem: AT+HTTPHEAD
Modem: +HTTPHEAD: 226
Modem: HTTP/1.1 200 OK
Modem: Date: Fri, 05 Sep 2025 15:28:01 GMT
Modem: Content-Type: application/json
Modem: Content-Length: 255
Modem: Connection: keep-alive
Modem: Server: gunicorn/19.9.0
Modem: Access-Control-Allow-Origin: *
Modem: Access-Control-Allow-Credentials: true
Modem: OK
Modem: AT+HTTPREAD?
Modem: +HTTPREAD: LEN,255
Modem: OK
Modem: AT+HTTPREAD=99999
Modem: OK
Modem: AT+HTTPTERM
Modem: OK
Modem: +HTTPREAD: 255
Modem: {
Modem: &quot;args&quot;: {},
Modem: &quot;headers&quot;: {
Modem: &quot;Accept&quot;: &quot;*/*&quot;,
Modem: &quot;C &quot;origin&quot;: &quot;80.187.118.156&quot;,
Modem: &quot;url&quot;: &quot;http://httpbin.org/get&quot;
Modem: }
Modem: +HTTPREAD: 0
</pre></div>


<p class="has-small-font-size"><strong>+HTTPACTION: 0,200,255</strong>: 0 = Type der Anfrage (GET), 200 = Statuscode des Servers, 255 = Länge der Antwort in Bytes<br><strong>+HTTPHEAD: 226</strong>: Start Ausgabe des Headers, 226 Bytes<br><strong>+HTTPREAD: LEN,255</strong>: Eine Response liegt vor, 255 Bytes<br><strong>+HTTPREAD: 255</strong>: Beginn der Ausgabe des Response bis <strong>HTTPREAD: 0</strong></p>



<h5 id="daten-via-http-senden-http-post-put-patch" class="wp-block-heading">Daten via HTTP senden (HTTP POST, PUT, PATCH)</h5>



<p>Im vorangegangenen Beispiel beim Abruf der Daten via HTTP haben wir etwas &#8222;gefuttelt&#8220; was die Antworten anging. So haben wir mit delay gearbeitet und gehofft, dass bis dahin eine Antwort da ist. Damit kommen wir jetzt nicht mehr durch. Um den Code weiter lesbar zu halten, habe ich die Logik in einzelne Funktionen aufgeteilt.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;

#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);

String waitForURC(const char* token, unsigned long timeoutMs = 10000) { // URC: Unsolicited Result Code, Ereignisbasierte Melungen des Modems abfragen. In unserem Fall für die Antwort nach dem POST genutzt
  unsigned long start = millis();
  String buffer;

  while (millis() - start &lt; timeoutMs) {
    while (modem.available()) {
      String line = modem.readStringUntil(&#039;\n&#039;);
      line.trim();

      if (line.length() &gt; 0) {
        Serial.println(&quot;URC: &quot; + line);
      }

      if (line.startsWith(token)) {
        return line;
      }
    }
  }
  Serial.println(&quot;Timeout beim Warten auf URC: &quot; + String(token));
  return &quot;&quot;;
}

void readHttpResponse() {
  modem.println(&quot;AT+HTTPREAD=99999&quot;); // Wir lesen pauschal alles; Hier könnte man auch mit der genauen Zahl an Bytes arbeiten (was sauberer wäre), aber das LTE-Modul liefert nur solange Daten zurück, wie sie vorliegen.
  
  String response;
  unsigned long startTime = millis();

  while (millis() - startTime &lt; 15000) {
    while (modem.available()) {
      String line = modem.readStringUntil(&#039;\n&#039;);
      line.trim();

      if (line.startsWith(&quot;+HTTPREAD:&quot;)) continue;
      if (line == &quot;OK&quot;) {
        Serial.println(&quot;HTTP-Body:&quot;);
        Serial.println(response);
        return;
      }

      response += line + &quot;\n&quot;;
    }
  }
  Serial.println(&quot;Timeout beim Lesen der Response!&quot;);
}

void httpPost(const char* url, const char* json) { // Methode speziell für den HTTP POST-Prozess
  modem.println(&quot;AT+HTTPINIT&quot;);
  modem.printf(&quot;AT+HTTPPARA=\&quot;URL\&quot;,\&quot;%s\&quot;\r\n&quot;, url);
  modem.println(&quot;AT+HTTPPARA=\&quot;CONTENT\&quot;,\&quot;application/json\&quot;&quot;); // Festsetzen des Inhalts auf JSON
  modem.printf(&quot;AT+HTTPDATA=%d,5000\r\n&quot;, strlen(json)); // Dem Modem mitteilen, dass gleich Daten kommen, die es für die Übermittlung aufzeichnen soll

  String dl = waitForURC(&quot;DOWNLOAD&quot;, 5000); // Warten bis das Modem mit &quot;DOWNLOAD&quot; antwortet, dann senden unseres JSON
  if (dl.length() &gt; 0) {
    modem.print(json);
    if (waitForURC(&quot;OK&quot;, 5000).length() == 0) { // Im Anschluss auf die Bestätigung der Übertragung durch das Modem warten
      Serial.println(&quot;Modem or connection stuck, too many data sent or check wiring&quot;);
      return;
    }
  }

  modem.println(&quot;AT+HTTPACTION=1&quot;); // 1 = POST
  String action = waitForURC(&quot;+HTTPACTION:&quot;, 15000); // Hier optimierter Ablauf: Sobald die Anfrage vom Modem versendet wurde, geht&#039;s weiter...

  if (action.length() &gt; 0) {
    int method, status, len;
    if (sscanf(action.c_str(), &quot;+HTTPACTION: %d,%d,%d&quot;, &amp;method, &amp;status, &amp;len) == 3) {
      Serial.printf(&quot;HTTP Status: %d, Length: %d\n&quot;, status, len);

      if (status == 200 || status == 201) { // Status code 200/201 stehen für eine erfolgreiche Anfragen bei POST
        readHttpResponse(); // Auslesen der Antwort in einer eigenen Funktion dafür
      } else {
        Serial.println(&quot;Unexpected response&quot;);
      }
    }
  }

  modem.println(&quot;AT+HTTPTERM&quot;);
}

void setup() {
  Serial.begin(115200);

  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);

  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);
}

void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }

  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();
    const char* json = &quot;{\&quot;temperature\&quot;:25.3,\&quot;battery_level\&quot;:\&quot;83\&quot;}&quot;; // Unsere Daten verpackt in JSON

    httpPost(&quot;http://httpbin.org/post&quot;, json); // Start des HTTP Post
  }
}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
Serial connection ready
Modem: AT
Modem: OK
URC: AT+HTTPINIT
URC: OK
URC: AT+HTTPPARA=&quot;URL&quot;,&quot;http://httpbin.org/post&quot;
URC: OK
URC: AT+HTTPPARA=&quot;CONTENT&quot;,&quot;application/json&quot;
URC: OK
URC: AT+HTTPDATA=41,5000
URC: DOWNLOAD
URC: OK
URC: AT+HTTPACTION=1
URC: OK
URC: +HTTPACTION: 1,200,488
HTTP Status: 200, Length: 488
HTTP-Body:
AT+HTTPREAD=99999

Modem: +HTTPREAD: 488
Modem: {
Modem: &quot;args&quot;: {},
Modem: &quot;data&quot;: &quot;{\&quot;temperature\&quot;:25.3,\&quot;battery_level\&quot;:\&quot;83\&quot;}&quot;,
Modem: &quot;files&quot;: {},
Modem: &quot;form&quot;: {},
Modem: &quot;headers&quot;: {
Modem: &quot;Accept&quot;: &quot;*/*&quot;,
Modem: &quot;Cache-Control&quot;: &quot;no-cache&quot;,
Modem: &quot;Content-Length&quot;: &quot;41&quot;,
Modem: &quot;Content-Type&quot;: &quot;application/json&quot;,
Modem: &quot;Host&quot;: &quot;httpbin.org&quot;,
Modem: &quot;X-Amzn-Trace-Id&quot;: &quot;Root=1-68bd430d&quot;,
Modem: &quot;url&quot;: &quot;http://httpbin.org/post&quot;
Modem: }
Modem: AT+HTTPTERM
Modem: OK
Modem: +HTTPREAD: 0
</pre></div>


<p class="has-small-font-size">Dadurch das mit waitForURC auf ein Ereignis warten, verschieben sich hier die Ausgaben ein wenig. <br><strong>AT+HTTPDATA=41,5000</strong>: Unsere zu sendenden Daten sind 41 Bytes lang, Timeout: 5 Sekunden<br><strong>+HTTPACTION: 1,200,488</strong>: Die Übertragung war erfolgreich, 488 Bytes lang ist die Antwort<br><strong>AT+HTTPREAD=99999</strong>: Wir lesen pauschal 99999 Bytes, das Modem liefert aber nur so viel Daten zurück wie vorhanden; Wir hätten hier auch die 488 aus der HTTPACTION-Antwort verwenden können. Das wäre sauberer gewesen, aber in manchen Fällen (bspw. &#8222;chunked&#8220;-Responses) liegt wieder Wert nicht vor. Wir haben es uns also einfacher gemacht<br><strong>+HTTPREAD: 488</strong>: Beginn der Ausgabe der Antwort des Servers, enthält als Bestätigung unter &#8222;data&#8220; das, was wir geposted haben</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="624" src="https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-1024x624.png" alt="" class="wp-image-1158" srcset="https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-1024x624.png 1024w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-300x183.png 300w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-768x468.png 768w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-380x232.png 380w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-800x488.png 800w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole-1160x707.png 1160w, https://datort.de/wp-content/uploads/2025/09/A7670E-Debugging-in-Konsole.png 1238w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">In der Konsole (hier Plattform IO, &#8222;Serieller Monitor&#8220; in Arduino IDE) sieht man die Ausgaben des Modems und kann so nachvollziehen, was passiert</figcaption></figure>



<h5 id="besonderheiten-bei-https" class="wp-block-heading">Besonderheiten bei HTTPS</h5>



<p>Das 7670E-Modul ist dazu in der Lage Daten unverschlüsselt über HTTP, als auch verschlüsselt via HTTPS zu übertragen. Im besten Fall ist dazu nicht viel mehr nötig, als in den hier genannten Beispielen auf &#8222;http://&#8220; ein &#8222;https://&#8220; zu machen. Allerdings steckt der Teufel da gerne im Detail, denn HTTPS ≠ HTTPS. </p>



<p>Hier ein Mini-Exkurs: Werden im Netz Daten verschlüsselt übertragen, kommen dazu unterschiedliche Mechanismen zu tragen. So wird zum einen ein Verschlüsselungsalgorithmus zwischen Client und Server ausgehandelt., heutzutage oft TLS 1.2 oder größer. Neben diesem wird ein passendes Zertifikat benötigt. Gerade wenn es günstig sein soll, wird heute oft Lets Encrypt verwendet &#8211; mach ich auch so. Damit die Kommunikation aber wirklich sicher ist, müssen Betriebssysteme, Browser oder eben LTE-Module mit HTTPS-Support aber die Stammzertifikate der Anbieter kennen. Ein weiteres Thema ist Server Name Indication (SNI) in Verbindung mit virtuellen Hosts. Kurz um: Viele Dinge, die entweder eine vermeintlich sichere Verbindung unsicher machen können oder sie erst gar nicht zustand kommen lassen. </p>



<h6 id="wenn-die-uebertragung-nicht-gelingt" class="wp-block-heading">Wenn die Übertragung nicht gelingt&#8230;</h6>



<p>&#8230;geht&#8217;s an Debugging. Folgende Sachen könnt ihr prüfen:</p>



<p><strong>SNI aktivieren</strong><br>Das Modul hat zur Laufzeit 8 SSL-Konfiguration im Speicher. Per Default ist da wenig konfiguriert, außer die Art der TLS-Verschlüsselung mit der Gegenseite automatisch ausgehandelt werden soll. Was dabei nicht konfiguriert wird ist Server Name Indication. Das kann aber essentiell sein, nämlich dann, wenn euer Server mit Virtual Hosts arbeitet. Aktiviert SNI vor dem <strong>AT+HTTPINIT</strong> mit:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
modem.println(&quot;AT+CSSLCFG=\&quot;enableSNI\&quot;,0,1&quot;)
</pre></div>


<p class="has-small-font-size">SNI wird für den SSL-Kontext &#8222;0&#8220; mit &#8222;1&#8220; aktiviert. SSL-Kontext 0 ist der erste der genannten 8 möglichen und wird per default verwendet. Um die SSL-Kontext-ID anzupassen, kann man den Befehl <strong>AT+HTTPPARA=&#8220;SSLCFG&#8220;,2</strong> nutzen, wobei hier die 2 symbolisch für die ID des Index steht, also 0-7.</p>



<p><strong>HTTPACTION auswerten</strong><br>Einen GET-Request starten wir ja mit <strong>AT+HTTPACTION=0</strong>. Das Modul gibt neben einem &#8222;OK&#8220; auch weitere Informationen aus, im besten Fall sowas: <strong>+HTTPACTION: 0,200,81</strong><br>Die 0 steht für die Art der Anfrage (GET), die 200 für den vom Server gesendeten Statuscode und 81 ist die Länge der Antwort. Ist die Antwort nicht erfolgreich, ist interessant was dort statt 200 steht. Eine 706 würden auf Probleme beim Lesen der Antwort hindeuten, aber gleichzeitig bekräftigen, dass der TLS-Handshake zuvor erfolgreich war, während eine 715 eben genau auf Probleme bei ebendiesem hinweisen würden. In dem Fall müsste man prüfen, ob der verwendete TLS-Standard auf deinem Server von dem LTE-Modul überhaupt unterstützt wird.</p>



<p><strong>HTTP-Header auslesen</strong><br>Mit <strong>AT+HTTPHEAD</strong> lässt sich nach dem Absenden der Anfrage der Antwort-Header auslesen. Hier können auch Hinweise auf das Problem aufgeführt sein, wenn man Glück hat. Das oben angesprochene SNI-Problem könnte beispielsweise hier benannt werden.</p>



<h5 id="https-get-beispiel-sketch" class="wp-block-heading">HTTPS GET Beispiel Sketch</h5>



<p>Die oben genannte Punkte sind in diesem Beispiel berücksichtig, welcher bei mir erfolgreich funktionierte. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &lt;Arduino.h&gt;
 
#define RX_PIN 17
#define TX_PIN 16
HardwareSerial modem(2);


String waitForURC(const char* token, unsigned long timeoutMs = 10000) {
  unsigned long start = millis();
  String buffer;
 
  while (millis() - start &lt; timeoutMs) {
    while (modem.available()) {
      String line = modem.readStringUntil(&#039;\n&#039;);
      line.trim();
 
      if (line.length() &gt; 0) {
        Serial.println(&quot;URC: &quot; + line);
      }
 
      if (line.startsWith(token)) {
        return line;
      }
    }
  }
  Serial.println(&quot;Timeout beim Warten auf URC: &quot; + String(token));
  return &quot;&quot;;
}


void setup() {
  Serial.begin(115200);
 
  delay(1000);
  Serial.println(&quot;Serial connection ready&quot;);
 
  modem.begin(115200, SERIAL_8N1, RX_PIN, TX_PIN);
  modem.println(&quot;AT&quot;);

  
}
 
void loop() {
  while (modem.available()) {
    String resp = modem.readStringUntil(&#039;\n&#039;);
    resp.trim();
    if (resp.length() &gt; 0) {
      Serial.println(&quot;Modem: &quot; + resp);
    }
  }
 
  static unsigned long lastRun = millis() - 18000;
  if (millis() - lastRun &gt; 20000) {
    lastRun = millis();
 
    modem.println(&quot;AT+CSSLCFG=\&quot;enableSNI\&quot;,0,1&quot;); // SNI für SSL config ID 0 aktivieren
    
    modem.println(&quot;AT+HTTPINIT&quot;);
    
    modem.println(&quot;AT+HTTPPARA=\&quot;URL\&quot;,https://phil.cossnet.de/lte_modul_test.html&quot;); // Kleine selbstgehostete Test-HTML-Datei
    modem.println(&quot;AT+HTTPACTION=0&quot;);
 

    String response = waitForURC(&quot;+HTTPACTION&quot;, 5000); // Auf Antwort warten, offenbar dauert es bei HTTPS länger als bei HTTP
    if (response.length() &gt; 0) {
      modem.println(&quot;AT+HTTPHEAD&quot;);
      modem.println(&quot;AT+HTTPREAD=99999&quot;);
    }
 
    delay(200);
    modem.println(&quot;AT+HTTPTERM&quot;);
  }
}
</pre></div>]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/raspberry-arduino/1113/arduino-esp-simcom-a7670e-lte-modul/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>8x8er WLED RGB Lichtillumination</title>
		<link>https://datort.de/led/894/8x8er-wled-rgb-lichtillumination/</link>
					<comments>https://datort.de/led/894/8x8er-wled-rgb-lichtillumination/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Thu, 13 Feb 2025 18:43:32 +0000</pubDate>
				<category><![CDATA[LED]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<guid isPermaLink="false">https://datort.de/?p=894</guid>

					<description><![CDATA[LED-Projekte finden auf dem Kanal hier nach und nach immer mehr Aufmerksamkeit. Angefangen hat es mit der DIY&#8230;]]></description>
										<content:encoded><![CDATA[
<p>LED-Projekte finden auf dem Kanal hier nach und nach immer mehr Aufmerksamkeit. Angefangen hat es mit der <a href="https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/" data-type="post" data-id="625">DIY LED-Matrix</a>, welche mit Awtrix-Software eine günstige Möglichkeit ist, sich ein dynamisches Infodisplay zu bauen. Weiter ging es mit einer <a href="https://datort.de/selbstgebaut/671/16x16er-pixelart-und-led-effekte-mit-wled-im-eigenbau/" data-type="post" data-id="671">16x16er WLED-Matrix</a>, die bis heute für einen bunten Blickfang in meinem Regal sorgt. </p>



<p>Heute widme ich sozusagen der kleinen Version dieser Matrix: In meinem Gaming Room ist es bisher noch ein bisschen trist. Gerade im Kontext &#8222;Gaming&#8220; darf für meinen Geschmack ein bisschen Farbe nicht fehlen. Deshalb habe ich für ein 8x8er WS2812B RGB-Modul, so wie sie bereits in der 16x16er-Matrix zu viert im Einsatz sind, entschieden und ein passendes Gehäuse drumrum gebaut. </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"><a href="https://datort.de/led/894/8x8er-wled-rgb-lichtillumination/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FXy9LI4nCMHU%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Um zu schauen, welches PLA am besten passt, habe ich vier unterschiedliche Oberseiten gedruckt: schwarz, weiß, grau und transparent. Spoiler: Am Ende ist es für meinen Verwendungszweck den Raum generell etwas bunter zu illuminieren das transparente Cover geworden. Aber auch weiß und grau sehen gut aus, bei schwarz kommt wenig überraschend wenig Licht durch. Zumindest solang man die Lichtintensität nicht deutlich höher dreht, womit wir bei einem wichtigen Punkt sind: </p>



<h2 id="schaltung" class="cnvs-block-section-heading cnvs-block-section-heading-1739018755870 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Schaltung</span>
	</span>
</h2>



<p><strong>Wichtiger Hinweis:</strong> Im Video sag ich es, hier sage ich es auch nochmal. Wenn ihr das Projekt nachbaut: Ich bin Hobby-Schrauber, kein Experte. Wenn euch Komponenten kaputtgehen, die Schaltung nicht optimal sein sollte oder ähnliches: Ihr seid schon groß, könnt selbst abwägen was ihr da macht. Besonders drauf hingewiesen sei, dass durch die Bauart des Gehäuses die Abwärme der LEDs nur schlecht abgeführt werden kann. Ergibt sich aus der gewünschten Form und der angestrebten Kompaktheit. Im Video zeige ich es: Lasst ihr die LEDs bei voller Intensität in weiß länger laufen, komme ich selbst bei offenem Gehäuse auf 55-60 °C. An der Stelle würde das PLA vermutlich zu einem Klumpen verschmelzen. Das Ganze ist also dafür ausgelegt, irgendwo mit mittlerer Intensität betrieben zu werden. So, genug dazu, auf ins Projekt.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-1024x576.jpeg" alt="" class="wp-image-905" srcset="https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-1024x576.jpeg 1024w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-300x169.jpeg 300w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-768x432.jpeg 768w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-1536x864.jpeg 1536w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-380x214.jpeg 380w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-800x450.jpeg 800w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_3-1160x653.jpeg 1160w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_3.jpeg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Voll aufgedreht wird das Panel ganz schön warm. Das solltet ihr niemals tun!</figcaption></figure>



<p>Im Video gehe ich einmal über den Aufbau und den Anschluss der Komponenten. Kurz zusammengefasst: Der Strom kommt vom Micro-USB-Board und geht auf den 5V bzw. Ground des ESP8266-Boards. Zusätzlich geht&#8217;s direkt weiter auf die LED-Matrix. Somit läuft der Strom nicht über das ESP-Board, was zu dessen Langlebigkeit beisteuern sollte. Sauberer wäre es vermutlich, wenn man zwischen ESP-Board und Stromquelle noch eine Sperrdiode setzt. Da ich die Schaltung möglichst Anfängerfreundlich halten wollte, habe ich darauf verzichtet. Ich weiße aber darauf hin, dass man die WLED-Software am besten vor dem Zusammenbau installiert und nachdem alles verkabelt ist, keinen Strom mehr via USB-Kabel auf den ESP gibt. Zur Verdeutlichung hier nochmal ein Schaltplan: </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="672" src="https://datort.de/wp-content/uploads/2025/02/WLED_LED_Matrix_Schaltplan.png" alt="" class="wp-image-899" srcset="https://datort.de/wp-content/uploads/2025/02/WLED_LED_Matrix_Schaltplan.png 975w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_Matrix_Schaltplan-300x207.png 300w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_Matrix_Schaltplan-768x529.png 768w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_Matrix_Schaltplan-380x262.png 380w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_Matrix_Schaltplan-800x551.png 800w" sizes="auto, (max-width: 975px) 100vw, 975px" /><figcaption class="wp-element-caption">Schaltplan zum Projekt: Die Spannungsversorgung geht Y-förmig auf den ESP und die Matrix</figcaption></figure>



<p>Das WS2812-Modul kommt mit den 3.3V Pegel des ESP-Boards klar. Man benötigt also keinen Levelshifter, ist da sehr tolerant. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-1024x576.jpeg" alt="" class="wp-image-907" srcset="https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-1024x576.jpeg 1024w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-300x169.jpeg 300w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-768x432.jpeg 768w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-1536x864.jpeg 1536w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-380x214.jpeg 380w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-800x450.jpeg 800w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_6-1160x653.jpeg 1160w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_6.jpeg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="3d-druck" class="cnvs-block-section-heading cnvs-block-section-heading-1739018694490 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>3D Druck</span>
	</span>
</h2>



<p>Das Ganze braucht natürlich noch ein Zuhause. Dafür habe ich ein einfaches Gehäuse gebastelt, welches die Komponenten umschließt. Wie bereits erläutert werden die LEDs warm und je nach Material kommt mal mehr, mal weniger Licht durch. Ich empfehle helle bis transparente Farben für die Oberseite. Solltet ihr es etwas lichtintensiver benötigen, kann PETG statt PLA eine Alternative sein, um Verformungen zu vermeiden. Hier der Download der Komponenten für euren 3D-Drucker: </p>



<div class="wp-block-file"><a id="wp-block-file--media-dcb9fb75-a536-4a38-96c4-11b53c99c3aa" href="https://datort.de/wp-content/uploads/2025/02/8x8_WLED_RGB_Dot.zip">3D Druckdateien (Unter- und Oberseite)</a><a href="https://datort.de/wp-content/uploads/2025/02/8x8_WLED_RGB_Dot.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-dcb9fb75-a536-4a38-96c4-11b53c99c3aa">Herunterladen</a></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-1024x576.jpeg" alt="" class="wp-image-906" srcset="https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-1024x576.jpeg 1024w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-300x169.jpeg 300w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-768x432.jpeg 768w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-1536x864.jpeg 1536w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-380x214.jpeg 380w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-800x450.jpeg 800w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_4-1160x653.jpeg 1160w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_4.jpeg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Unterschiedliche Farben haben &#8211; Überraschung &#8211; unterschiedlich gute Lichtdurchlässigkeit</figcaption></figure>



<h2 id="teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1739018236865 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Teileliste</span>
	</span>
</h2>



<p>Um das Projekt möglich einfach zu halten, habe ich mich auf die nötigsten Komponenten beschränkt. Neben den genannten braucht es natürlich Litze (nicht zu dünn, um den Querschnitt für euer Projekt zu berechnen könnt ihr sonst gerne auf den <a href="https://wled-calculator.github.io/" target="_blank" rel="noreferrer noopener">WLED Rechner</a> zurückgreifen). Naja, und ein Lötkolben samt Zubehör sollten bereitstehen.</p>



<ul class="wp-block-list">
<li>D1 Mini-Board (z.B. <a href="https://www.makershop.de/plattformen/d1-mini/wemos-d1-mini/" target="_blank" rel="noreferrer noopener nofollow">hier</a>, <a href="https://www.berrybase.de/d1-mini-esp8266-entwicklungsboard" target="_blank" rel="noreferrer noopener nofollow">hier</a> oder bei eBay)</li>



<li>WS2812B 8&#215;8 LED Matrix (z.B. <a href="https://de.aliexpress.com/item/32600043941.html" target="_blank" rel="noreferrer noopener nofollow">hier</a>)</li>



<li>Micro-USB-Board (z.B. <a href="https://www.amazon.de/dp/B07TVHR9LF" target="_blank" rel="noreferrer noopener nofollow">hier</a>)</li>
</ul>



<p><strong>Hinweis: </strong>Mein Blog hier ist privat, es handelt sich NICHT um Affiliate-Links. Ihr könnt natürlich überall anders bestellen. Ich benenne die Komponenten explizit bei diesen Anbietern, da es manchmal kleine Unterschiede gibt was die Dimensionen der Bauteile angeht. Es ist aber wichtig, die passenden Komponenten zu verwenden, wenn man die 3D-Druck-Vorlagen verwenden möchte. Ich habe mir mit kleinen Margins gearbeitet, damit das Gehäuse möglichst kompakt bleibt. </p>





<h2 id="fazit" class="cnvs-block-section-heading cnvs-block-section-heading-1739018769305 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Fazit</span>
	</span>
</h2>



<p>Ich bin mit dem Ergebnis sehr zufrieden, mein Gaming Room ist nun etwas farbenfroher. Mal schauen, welche Animation es am Ende wird, aber da bietet WLED ja einiges zur Auswahl. Aufgrund der wenigen Komponenten könnte das Projekt auch durchaus was für Einsteiger sein. Die Kosten halten sich am Ende mit etwa 15,- Euro auch durchaus im Rahmen. Und wenn man keinen 3D Drucker hat, so kann man sich vielleicht anders behelfen: Wie wäre es mit einem Rahmen aus schönen Holzkomponenten? Leicht lasiert? Jetzt wo ich so drüber nachdenke, vielleicht ist das ja was für ein kommendes Projekt.</p>



<p>Viel Spaß beim Basteln und experimentieren! </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-1024x576.jpeg" alt="" class="wp-image-904" srcset="https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-1024x576.jpeg 1024w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-300x169.jpeg 300w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-768x432.jpeg 768w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-1536x864.jpeg 1536w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-380x214.jpeg 380w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-800x450.jpeg 800w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_7-1160x653.jpeg 1160w, https://datort.de/wp-content/uploads/2025/02/WLED_LED_7.jpeg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Im Dunkeln wirft das Gadget schöne Farben ab</figcaption></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/led/894/8x8er-wled-rgb-lichtillumination/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kamera Slider für das Mobiltelefon im Eigenbau</title>
		<link>https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/</link>
					<comments>https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sun, 06 Oct 2024 11:40:14 +0000</pubDate>
				<category><![CDATA[Selbstgebaut]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[esp32]]></category>
		<guid isPermaLink="false">https://datort.de/?p=717</guid>

					<description><![CDATA[Wer sich mit dem Erstellen von Videos beispielsweise für Social Media auseinandersetzt, der oder die merkt schnell, dass&#8230;]]></description>
										<content:encoded><![CDATA[
<h2 id="vorwort" class="cnvs-block-section-heading cnvs-block-section-heading-1727870174455 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Vorwort</span>
	</span>
</h2>



<p>Wer sich mit dem Erstellen von Videos beispielsweise für Social Media auseinandersetzt, der oder die merkt schnell, dass man für schöne Aufnahmen manchmal etwas Zubehör benötigt. Sei es das passende Licht, die doch etwas teurere Kamera oder ein externes Mikrofon. Ähnlich ist es, wenn man gleichmäßige Kamerafahrten machen möchte. Da gibt es zum Beispiel Gimbal, die unrunde Bewegungen ausgleichen können. Um meine Projekte in Szene zu setzen, benötigte ich in der Vergangenheit aber häufig eher langsame und gleichmäßige Fahrten von links nach rechts oder vice versa. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/10/IMG_8707-1024x768.jpeg" alt="" class="wp-image-784" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8707-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-1536x1152.jpeg 1536w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-2048x1536.jpeg 2048w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2024/10/IMG_8707-scaled.jpeg 2560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Der fertige Kamera Slider mit Handyhalterung aufgebaut auf einem Stativ</figcaption></figure>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FgvigFvElJ6o%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Somit war die Idee für einen Kamera Slider geboren. Zugegeben: Sonderlich kreativ ist das nicht, gibt es im Netz doch bereits einige solcher Projekte. Aber da ich etwas auf dem Weg lernen wollte und die anderen Projekte alle eine gewisse Komplexität mit sich bringen, habe ich bei 0 angefangen. Eine Erkenntnis vorab: Viel weniger Komplex ist mein Projekt leider auch nicht geworden. Deshalb, solltest du den Slider nachbauen wollen, bedenke folgendes: </p>



<p>Das bekommst du: </p>



<ul class="wp-block-list">
<li>Alle 3D-Dateien, um den gezeigten Slider nachzubauen</li>



<li>Infos zu allen von mir verwendeten Teilen</li>



<li>Einen Schaltplan, wie alles zu verkabeln ist</li>



<li>Zahlreiche Bilder in dem Beitrag hier, die zeigen wie ich alles zusammengesetzt habe</li>



<li>Mit etwas Ehrgeiz am Ende einen Slider, der insbesondere bei langsamen Fahrten schöne und ruckelfreie Videos ermöglicht</li>
</ul>



<p>Aber das solltest du mitbringen:</p>



<ul class="wp-block-list">
<li>Einen 3D-Drucker und Filament</li>



<li>Etwas Elektronikerfahrung, damit verbunden Lötkolben und was man halt so braucht</li>



<li>Und vermutlich muss man hier und da ein bisschen mitdenken und: Ich bin Hobbybastler, da ist also vermutlich hier und da Optimierungspotential</li>
</ul>



<p>Wenn das passt: Viel Erfolg! Wenn nicht: Vielleicht kannst Du dir aus den Infos ja dennoch ein paar Informationen für dein eigenes Projekt rausziehen. Vielleicht willst Du ja auch etwas ganz anderes bauen. </p>



<h2 id="teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1727870261296 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Teileliste</span>
	</span>
</h2>



<p>Für den Druck habe ich beliebiges PLA-Filament verwendet. Nehmt einfach das, mit dem ihr am besten klarkommt. In meinem Fall hatte ich da keine besonderen Anforderungen dran. </p>



<p><strong>Elektronikkomponenten</strong></p>



<ul class="wp-block-list">
<li>ESP32 Wroom 32D</li>



<li>ST7735 1.77&#8243; TFT-Display</li>



<li>KY-040 Rotary Encoder</li>



<li>Nema 17 Schrittmotor</li>



<li>TMC2208 V1.2 Schrittmotor-Treiber</li>



<li>4.7k Widerstände</li>



<li>100 μF Kondensator</li>



<li>Sperrdiode (optional aber empfohlen, siehe Hinweistexte bei &#8222;<em>Die Schaltung</em>&#8222;)</li>



<li>2 Mikroschalter (Endschalter mit Rollenhebel)</li>



<li>Buck-Konverter um 12V auf 5V zu bekommen</li>



<li>Custom-PCB (siehe ebenfalls Abschnitt &#8222;<em>Die Schaltung</em>&#8222;)</li>
</ul>



<p><strong>Weitere Teile</strong></p>



<ul class="wp-block-list">
<li>M3 &amp; M5-Schrauben unterschiedlicher Länge</li>



<li>M3 &amp; M5 Muttern, selbstsichernd</li>



<li>Magentkonnektoren (siehe mein <a href="https://www.tiktok.com/@datort_de/video/7411248616695663904" target="_blank" rel="noreferrer noopener">Tiktok</a> dazu)</li>



<li>1/4&#8243; Zoll Kamera Befestigungsschraube</li>



<li>1/4&#8243; Zoll Mutter für Stativbefestigung</li>



<li>3D-Druckerrollen mit Kugellager</li>



<li>3D Drucker Zahnriemen Satz</li>



<li>Riemenscheibe mit 20 Zähne</li>



<li>Nutensteine M5</li>



<li>Diverse Litze</li>
</ul>



<h2 id="die-3d-teile" class="cnvs-block-section-heading cnvs-block-section-heading-1727885465550 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die 3D-Teile</span>
	</span>
</h2>



<p>Alle Teile sind von mir selbst erstellt &#8211; bis auf den Aufsatz für den den Rotary Encoder KY-040. Da hab ich ehrlicherweise bei Thingyverse nach dem Erstbesten gesucht. Die Teile sind in einigen Fällen ohne, teilweise mit Supports zu drucken. Ich habe in der Regel ein Infill von 60% verwendet. Ich denke es geht auch weniger. </p>



<p>Ihr findet sämtliche der folgenden 3D-Designs in dieser ZIP-Datei zum Download: </p>



<div class="wp-block-file"><a id="wp-block-file--media-8a1b5859-135d-443a-8b50-faeee4246a52" href="https://datort.de/wp-content/uploads/2024/10/CameraSliderSTL.zip">Camera Slider STL-Dateien</a><a href="https://datort.de/wp-content/uploads/2024/10/CameraSliderSTL.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-8a1b5859-135d-443a-8b50-faeee4246a52">Herunterladen</a></div>



<p><strong>Baseplate</strong></p>



<p>Das ist der der Schlitten, auf dem dann ein Mobiltelefon (in passender Halterung) monitiert werden kann. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1024x666.png" alt="" class="wp-image-724" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.40.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Hülse</strong></p>



<p>Hiervon braucht es 4 Stück. Sie dienen als Abstandshalter zwischen Baseplate und den Rollen. Die Schrauben werden durchgeführt, die Rollen von unten aufgeschoben und dann wird alles mit einer selbstsichernden Mutter festgezogen.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1024x666.png" alt="" class="wp-image-725" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.14.50.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Schraube</strong></p>



<p>Diese übergroße Schraube dient dazu, den Riemenspanner auf Spannung zu halten.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1024x666.png" alt="" class="wp-image-726" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.03.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Stepper Holder</strong></p>



<p>Wird ans eine Ende des Steppers gebaut und mit 2 Schrauben festgezurrt. Wenn das Aluprofil kein Gewinde hat, muss dieses erst noch geschnitten werden. Auf der einen Seite kann dann der Nema 17 befestigt werden, auf der anderen Seite sind 2 Löcher um einen der Mikroschalter zu befestigen.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1024x666.png" alt="" class="wp-image-727" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.15.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Spanner Holder</strong></p>



<p>Das Gegenstück zur Seite mit dem Motor: Hier wird die Schraube und der Spanner eingesetzt, sowie der Pulley. Außerdem befinden sich erneut 2 Löcher an der Seite zur Befestigung des 2. Mikroschalters. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1024x666.png" alt="" class="wp-image-728" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.23.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Pulley</strong></p>



<p>Die Rolle über die der Riemen auf der Seite mit dem Spanner geführt wird.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1024x666.png" alt="" class="wp-image-729" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.37.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Stativ Mount</strong></p>



<p>Hiermit kann das Aluprofil zusammen mit 4 Nutsteinen und den passenden Schrauben auf einem normalen Stativ befestigt werden. Dazu wird noch eine 1/4&#8243; Mutter benötigt, die einfach mittig in das 3D-Teil eingelegt wird. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1024x666.png" alt="" class="wp-image-730" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.15.45.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Spanner</strong></p>



<p>Dient als Halterung um den Riemen auf Spannung zu halten: Am einen Ende wird die Schraube eingeführt, durch die die Spannung aufgebaut werden kann. Die beiden Arme halten den Pulley, der mit einer Schraube und selbstsichernder Mutter festgehalten wird. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1024x666.png" alt="" class="wp-image-731" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.42.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Bottom Case</strong></p>



<p>Da der Motor 12V Spannung benötigt verwende ich ein 12V-Netzzeil. Ein Buck-Konverter macht daraus 5V für das ESP32-Board. Um Platz zu sparen, habe ich mich für diese Plugin-Lösung entschieden. Der Buck-Konverter wird hier eingelegt und dann unter das Control Unit-Case geklippt. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1024x666.png" alt="" class="wp-image-732" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.16.53.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Control Unit Case</strong></p>



<p>Das Gehäuse bietet ein sicheres Zuhause für das Custom PCB. Außerdem kann es von unten mit 4 Nutsteinen samt schrauben von unten am Aluprofil befestigt werden. Oben befindet sich eine Öffnung um die Kabel raus- bzw. reinzuführen. Auf der Hinterseite befinden sich Öffnungen für 2 Magentkontakte, über die die Mikroschalter angeschlossen werden. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1024x666.png" alt="" class="wp-image-733" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.17.14.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Plug lower</strong></p>



<p>Um den Magnetschaltern ein Zuhause zu geben, habe ich dieses Gehäuse entworfen: Unterseite</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1024x666.png" alt="" class="wp-image-735" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.41.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Plug upper</strong></p>



<p>Um den Magnetschaltern ein Zuhause zu geben, habe ich dieses Gehäuse entworfen: Oberseite</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1024x666.png" alt="" class="wp-image-736" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.22.49.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Cover</strong></p>



<p>Die Abdeckung für die Steuereinheit. Hat Aussparungen für Display, Rotary Encoder, Kühlkörper und Motoransteuerung. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="666" src="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1024x666.png" alt="" class="wp-image-734" srcset="https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1024x666.png 1024w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-300x195.png 300w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-768x499.png 768w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1536x999.png 1536w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-2048x1332.png 2048w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-380x247.png 380w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-800x520.png 800w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15-1160x754.png 1160w, https://datort.de/wp-content/uploads/2024/10/Bildschirmfoto-2024-10-02-um-18.18.15.png 3248w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="die-schaltung" class="cnvs-block-section-heading cnvs-block-section-heading-1728210425595 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Schaltung</span>
	</span>
</h2>



<p>Im Video hab ich es erwähnt: Ich bin immer wieder fasziniert davon, wie günstig man heute qualitativ hochwertige, selbst erstellte PCBs bestellen kann. Wenn ihr selbiges tun möchtet, biete ich euch hier gerne das Gerber-File ein, mit dem ich beim Hersteller eurer Wahl bestellen könnt. Für alle, die lieber selbst die einzelnen Komponenten verlöten möchten (so viele sind es ja am Ende nicht) haue ich hier aber auch einen Schaltplan rein. </p>



<p><strong>Beachtet: Wenn ihr die Schaltung nachbaut, macht ihr das auf eigene Gefahr!</strong><br>Lest bitte auch folgende Hinweise!</p>



<p><strong>Hinweis: </strong>Anders als im Schaltplan angegeben, habe ich noch eine Sperrdiode zwischen die 5V (im Schaltplan U10) und den daran angeschlossenen Buck-Converter gesetzt um sicher zu sein, dass die 5V auch nur in Richtung des ESP32-Boards fließen. Ohne die kann es sein, dass der Strom über das ESP32-Board zurück in Richtung Stepper-Treiber fließt und das Board oder die dahinter befindliche Stromquelle überlastet!</p>



<p><strong>Hinweis 2: </strong>Das ganze ist ein Hobby für mich, ich hab den Kram nicht gelernt. An der Schaltung kann mit Sicherheit einiges optimiert werden. Ich kann nicht garantieren, dass das alles sicher umgesetzt ist. Ich bin für konstruktives Feedback offen und erinnere: Wenn ihr das nachbaut, macht ihr das auf eigene Gefahr!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="724" src="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1024x724.png" alt="" class="wp-image-743" srcset="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1024x724.png 1024w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-300x212.png 300w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-768x543.png 768w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1536x1087.png 1536w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-2048x1449.png 2048w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-380x269.png 380w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-800x566.png 800w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06-1160x821.png 1160w, https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06.png 2338w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-file"><a id="wp-block-file--media-9dd0c655-1bce-4c03-a8ca-1ee4104c9e16" href="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06.pdf">Schaltplan als PDF herunterladen</a><a href="https://datort.de/wp-content/uploads/2024/10/Schematic_CameraSlider_2024-10-06.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-9dd0c655-1bce-4c03-a8ca-1ee4104c9e16">Herunterladen</a></div>



<h2 id="die-software" class="cnvs-block-section-heading cnvs-block-section-heading-1728212358002 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Software</span>
	</span>
</h2>



<p>Bei dem Projekt handelt es sich um ein Arduino-Projekt welches mit PlatformIO entwickelt wurde. Entsprechend sind die verwendeten Bibliotheken in der Konfiguration des Projekts enthalten. Ihr könnt euch das Projekt von meinem Github-Account ziehen, lokal mit PlatformIO bauen und auf das ESP32-Board flashen. Ein fertiger Build, wie ich das bei anderen Projekten teils anbiete, existiert hier leider bisher nicht. </p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/datort/camera-slider" target="_blank" rel="noreferrer noopener">Camera Slider Software @Github</a></div>
</div>



<h2 id="bilder-im-detail" class="cnvs-block-section-heading cnvs-block-section-heading-1728225364022 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Bilder: Im Detail</span>
	</span>
</h2>



<p>Bilder sagen oft mehr als tausend Worte. Insbesondere wenn man ein etwas umfangreicheres Projekt wie dieses vor der Brust hat und keine Step-by-Step-Anleitung geliefert bekommt. Deshalb habe ich den Slider an allen Ecken einmal im Detail abfotografiert. </p>


<div class="cnvs-block-justified-gallery cnvs-block-justified-gallery-1728226010496" >
<div
	class='gallery cnvs-gallery-type-justified'
	data-jg-margins="10"
	data-jg-border="-10"
	data-jg-row-height="150"
	data-jg-max-row-height="-1"
	data-jg-last-row="nojustify"
	data-jg-captions="false"
	data-jg-randomize="false"
>
			<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8716-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8716-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8716-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8716-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8716-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8717-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8717-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8717-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8717-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8717-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8718-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8718-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8718-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8718-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8718-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8719-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8719-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8719-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8719-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8719-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8720-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8720-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8720-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8720-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8720-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8721-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8721-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8721-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8721-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8721-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8722-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8722-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8722-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8722-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8722-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8723-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8723-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8723-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8723-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8723-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8724-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8724-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8724-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8724-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8724-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8725-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8725-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8725-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8725-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8725-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8726-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8726-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8726-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8726-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8726-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8728-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8728-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8728-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8728-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8728-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8729-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8729-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8729-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8729-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8729-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8730-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8730-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8730-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8730-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8730-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8731-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8731-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8731-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8731-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8731-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
				<figure class="gallery-item">
							<a href="https://datort.de/wp-content/uploads/2024/10/IMG_8732-scaled.jpeg">
			
			<img loading="lazy" decoding="async" width="150" height="150" src="https://datort.de/wp-content/uploads/2024/10/IMG_8732-150x150.jpeg" class="attachment-thumbnail size-thumbnail" alt="" srcset="https://datort.de/wp-content/uploads/2024/10/IMG_8732-150x150.jpeg 150w, https://datort.de/wp-content/uploads/2024/10/IMG_8732-80x80.jpeg 80w, https://datort.de/wp-content/uploads/2024/10/IMG_8732-110x110.jpeg 110w" sizes="auto, (max-width: 150px) 100vw, 150px" />
							</a>
			
					</figure>
		</div>

</div>


<h2 id="fazit" class="cnvs-block-section-heading cnvs-block-section-heading-1728212688915 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Fazit</span>
	</span>
</h2>



<p>Ihr merkt, das Ganze ist kein 08/15-Projekt welches man mal eben schnell nachbaut. Ihr benötigt so einiges an Komponenten, einen 3D-Drucker und etwas Geduld und Hirnschmalz beim Zusammenbauen. Um ehrlich zu sein: Ich war mir anfangs unsicher, ob ich überhaupt ein Video oder diesen Blogbeitrag zu dem Kamera Slider schreiben will. Habe mich dann aber doch dafür entschieden. Denn vielleicht kann sich der Eine oder die Andere bei der Verwirklichung des eigenen Projekts irgendwas abschauen. Und dann wär es doch bereits ein Erfolg. In dem Sinne, danke für&#8217;s Lesen, viel Spaß und vielleicht sieht und ließt man sich ja mal auf meinem YouTube-Kanal. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/youtube/717/kamera-slider-fuer-das-mobiltelefon-im-eigenbau/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>EchoTrack: DIY Ping-Check &#038; LED RGB-Effekt-Uhr</title>
		<link>https://datort.de/selbstgebaut/696/echotrack-diy-ping-check-amp-led-rgb-effekt-uhr/</link>
					<comments>https://datort.de/selbstgebaut/696/echotrack-diy-ping-check-amp-led-rgb-effekt-uhr/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Fri, 21 Jun 2024 18:06:10 +0000</pubDate>
				<category><![CDATA[Selbstgebaut]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[maker]]></category>
		<guid isPermaLink="false">https://datort.de/?p=696</guid>

					<description><![CDATA[Zockt ihr ab und an Spiele online, bei denen es auf schnelle Reaktionen und einen guten Ping ankommt,&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Zockt ihr ab und an Spiele online, bei denen es auf schnelle Reaktionen und einen guten Ping ankommt, ihr euch eure Leitung aber mit anderen in der Familie teilen müsst, kennt ihr vielleicht das Problem: Jemand anders schmeißt einen Videostream an, einen Download oder gleich alles zusammen und plötzlich geht der Ping in die Höhe. Manchmal nur kurz, manchmal auch von längerer Dauer. Hier kann euch mein aktuelles Bastelprojekt unterstützen.</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"><a href="https://datort.de/selbstgebaut/696/echotrack-diy-ping-check-amp-led-rgb-effekt-uhr/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FjuFKVcngFrU%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Getauft auf den Namen &#8222;EchoTrack&#8220; prüft dieses kleine und bunte Gadget kontinuierlich eure Internetverbindung, in dem es einen von euch definierten Host vier Mal pingt und euch danach den errechneten Mittelwert daraus anzeigt. Neben dem Host der angepingt werden soll könnt ihr zudem 2 Warnstufen definieren. Werden diese überschritten, so blinkt das Tool hektisch in orange oder rot um euch sofort zu informieren, dass der aktuelle Hinterhalt in Fortnite, Tarkov, Quake 3 Arena oder was ihr auch immer gerade zockt vielleicht nach hinten losgehen könnte &#8211; und es dann nicht (nur) am Skill gelegen hat.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="576" src="https://datort.de/wp-content/uploads/2024/06/IMG_7678.jpeg" alt="" class="wp-image-699" srcset="https://datort.de/wp-content/uploads/2024/06/IMG_7678.jpeg 1024w, https://datort.de/wp-content/uploads/2024/06/IMG_7678-300x169.jpeg 300w, https://datort.de/wp-content/uploads/2024/06/IMG_7678-768x432.jpeg 768w, https://datort.de/wp-content/uploads/2024/06/IMG_7678-380x214.jpeg 380w, https://datort.de/wp-content/uploads/2024/06/IMG_7678-800x450.jpeg 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Der EchoTrack im Einsatz: Bei einem 14er Ping ist mit meiner Konfiguration noch alles im grünen Bereich</figcaption></figure>



<h2 id="schaltplan" class="cnvs-block-section-heading cnvs-block-section-heading-1717532348416 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Schaltplan</span>
	</span>
</h2>



<p>Um die Verkabelung ein bisschen transparenter zu machen, habe ich folgendes Schema für euch zusammengebastelt. Doc Brown würde sagen &#8222;mir fehlte die Zeit, es ist nicht ganz Maßstabsgetreu&#8220;: Statt einer 4-Digit-Anzeige verwendet natürlich wie im Video eine 6-Digit-Anzeige. Ich hab in meinem Tool einfach nicht die passende gefunden, die Anschlüsse sind aber natürlich die gleichen. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="635" src="https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics-1024x635.png" alt="" class="wp-image-703" srcset="https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics-1024x635.png 1024w, https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics-300x186.png 300w, https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics-768x476.png 768w, https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics-380x236.png 380w, https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics-800x496.png 800w, https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics-1160x719.png 1160w, https://datort.de/wp-content/uploads/2024/06/EchoTrack_Schematics.png 1464w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="die-teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1717447165021 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Teileliste</span>
	</span>
</h2>



<p>Wie auch bei den letzten Projekten, ist das hier auch recht günstig und mit wenigen Teilen zu realisieren. Wenn ihr das Gehäuse auch so drucken wollt, braucht ihr natürlich einen 3D-Drucker. Die Dateien dazu findet ihr weiter unten. </p>



<ul class="wp-block-list">
<li>6-Stellen 7-Segment-Anzeige (z.B. bei eBay, Suche nach &#8222;TM1637 6-stellig 7-Segment&#8220;)</li>



<li>D1 Mini ESP-Board (z.B. im Makershop oder bei Aliexpress noch günstiger)</li>



<li>5V WS2812b LED-Streifen (z.B. bei Amazon, achtet darauf dass die LEDs nah beieinander sind und der Streifen mit 5 Volt betrieben wird)</li>



<li>Kapazitiver Touch-Sensor (sucht nach &#8222;TTP223&#8220;)</li>



<li>PLA nach eurer Wahl, natürlich ist weißes oder durchsichtiges für die Rückseite von Vorteil</li>



<li>Kabel/Litze und natürlich das passende Werkzeug wie Lötkolben oder Abisolierzange </li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/06/IMG_7633.jpg" alt="" class="wp-image-706" srcset="https://datort.de/wp-content/uploads/2024/06/IMG_7633.jpg 1024w, https://datort.de/wp-content/uploads/2024/06/IMG_7633-300x225.jpg 300w, https://datort.de/wp-content/uploads/2024/06/IMG_7633-768x576.jpg 768w, https://datort.de/wp-content/uploads/2024/06/IMG_7633-200x150.jpg 200w, https://datort.de/wp-content/uploads/2024/06/IMG_7633-260x195.jpg 260w, https://datort.de/wp-content/uploads/2024/06/IMG_7633-380x285.jpg 380w, https://datort.de/wp-content/uploads/2024/06/IMG_7633-800x600.jpg 800w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="die-software" class="cnvs-block-section-heading cnvs-block-section-heading-1717447841318 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Software</span>
	</span>
</h2>



<p>Damit aus Hardware mehr als nur ein Klumpen Einzelteile wird benötigt es natürlich auch die passende Software. Im Fall von EchoTrack habe ich die selbst geschrieben und dazu zum ersten Mal mit den Webtools von ESPHome experimentiert. Das ermöglicht eine &#8211; sofern ich alles richtig gemacht habe &#8211; einfache Installation über euren Browser. Vorausgesetzt ihr seid mit Chrome, Microsoft Edge oder Opera unterwegs. Wenn dem ist, findet ihr unter <a href="https://esp.datort.de" target="_blank" rel="noreferrer noopener">https://esp.datort.de</a> den Installer. Wie das genau funktioniert, könnt ihr euch natürlich auch nochmal in meinem kleinen YouTube-Werk anschauen. </p>



<p>Der Installer funktioniert aktuell nur mit ESP-Boards mit 8266er-Chipsatz. Wenn ihr ein anderes Board verwenden möchtet, nutzt gerne den Quellcode aus meinem <a href="https://github.com/datort/echotrack" target="_blank" rel="noreferrer noopener">Github-Repository</a> und erstellt euch einen eigenen Build.</p>



<h2 id="3d-dateien" class="cnvs-block-section-heading cnvs-block-section-heading-1717448104958 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>3D-Dateien</span>
	</span>
</h2>



<p>Wie häufig bei diesen Projekten stelle ich die 3D-Dateien als STL wieder zum Download bereit. Ihr könnt die gerne modifizieren und für eigene Kreationen nutzen, wie es euch beliebt. Gedruckt habe ich in meinem Fall mit Cura. Bei den Einstellungen habe ich das Profile &#8222;Dynamic Quality &#8211; 0.16mm&#8220; verwendet. Das Infill habe ich auf 100% gestellt. Supports sind nicht nötig, wenn ihr die Objekte so dreht, dass das &#8222;Front&#8220;-Modell nach mit der Vorderseite nach unten zeigt. Die Rückseite sollte ebenfalls auf dem Rücken liegen, dann passte das bei mir. </p>



<div class="wp-block-file"><a id="wp-block-file--media-094e3478-326d-4cef-a078-50337b89285c" href="https://datort.de/wp-content/uploads/2024/06/EchoTrack.zip">EchoTrack 3D-Dateien (STL)</a><a href="https://datort.de/wp-content/uploads/2024/06/EchoTrack.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-094e3478-326d-4cef-a078-50337b89285c">Herunterladen</a></div>



<p>Wie genau der Zusammenbau lief und wie das ganze in Aktion aussieht, könnt ihr gerne dem Video entnehmen. Viel Spaß!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/selbstgebaut/696/echotrack-diy-ping-check-amp-led-rgb-effekt-uhr/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>16x16er Pixelart und LED-Effekte mit WLED im Eigenbau</title>
		<link>https://datort.de/selbstgebaut/671/16x16er-pixelart-und-led-effekte-mit-wled-im-eigenbau/</link>
					<comments>https://datort.de/selbstgebaut/671/16x16er-pixelart-und-led-effekte-mit-wled-im-eigenbau/#comments</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sat, 20 Apr 2024 18:08:30 +0000</pubDate>
				<category><![CDATA[LED]]></category>
		<category><![CDATA[Selbstgebaut]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ESP8266]]></category>
		<guid isPermaLink="false">https://datort.de/?p=671</guid>

					<description><![CDATA[Es ist noch gar nicht lange her, da habe ich hier mit Unterstützung der Awtrix 3-Bibliothek eine kleine&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Es ist noch gar nicht lange her, da habe ich hier mit Unterstützung der Awtrix 3-Bibliothek eine kleine <a href="https://datort.de/raspberry-arduino/625/diy-led-matrix-im-eigenbau/" data-type="post" data-id="625">8&#215;32 LED-Matrix gebaut</a>. Während sich diese besonders dafür eignet kurze Textinfos wie YouTube-Abozahlen, Stromverbrauch oder -gewinnung mittels Solar oder die Uhrzeit anzuzeigen, ist es auf der nur 8 Pixel hohen Fläche schon schwieriger, sich künstlerisch auszutoben.</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"><a href="https://datort.de/selbstgebaut/671/16x16er-pixelart-und-led-effekte-mit-wled-im-eigenbau/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FyvEMGjcgCCs%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Neben der Awtrix 3 gibt es mit WLED ein zweites bereits seit Jahren bekanntes und etabliertes OpenSource-Projekt, welches RGB-LED-Matrixen oder auch LED-Streifen unterschiedlichster Art mit Inhalten versorgen kann. Das können dann einfach bis komplexe Animationen sein, teils sogar an Umgebungsgeräusche wie Musik angepasst. Oder eben auch bunte Pixelkunst, die dann auf der Kommode dazu beiträgt, einem Raum etwas mehr Farbe zu verleihen und damit eine andere Atmosphäre zu verschaffen.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-1024x768.jpg" alt="" class="wp-image-681" srcset="https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-1024x768.jpg 1024w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-300x225.jpg 300w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-768x576.jpg 768w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-1536x1152.jpg 1536w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-200x150.jpg 200w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-260x195.jpg 260w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-380x285.jpg 380w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-800x600.jpg 800w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost-1160x870.jpg 1160w, https://datort.de/wp-content/uploads/2024/04/WLED_Ghost.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Auf meinem C64C thront die 16&#215;16 WLED RGB LED-Matrix</figcaption></figure>



<p>Wie beim letzten Projekt wollte ich auch diesmal wieder alles selbst machen bezogen auf das Gehäuse. Entsprechend kommen erneut alle Teile aus dem 3D-Drucker. Dieses Mal habe ich mich dabei für ein graues PLA entschieden. Ich wollte gerne einen Kontrast zu der weißen Umgebung, in der das Ganze später stehen soll. Der &#8222;Trick&#8220; ist der derselbe wie zuvor: Die Front des Gehäuses wird auf einen Rahmen aufgesetzt in dem die 8x8er-Matrixen festgezurrt sind. Dabei ist die Frontfläche nur 0.4mm stark, oder: Nur zwei Schichten PLA. Dadurch ist sie flexibel, aber stabil genug und lässt vor allem noch genug Licht durch. Nur zu heiß sollte es nicht werden.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-1024x768.jpg" alt="" class="wp-image-685" style="width:680px;height:auto" srcset="https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-1024x768.jpg 1024w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-300x225.jpg 300w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-768x576.jpg 768w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-1536x1152.jpg 1536w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-200x150.jpg 200w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-260x195.jpg 260w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-380x285.jpg 380w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-800x600.jpg 800w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail-1160x870.jpg 1160w, https://datort.de/wp-content/uploads/2024/04/WLED_Matrix_Detail.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Detailansicht: Das zweilagige graue PLA lässt das Licht ganz gut durch. Bei weißem PLA sollte die Leuchtkraft noch etwas besser sein.</figcaption></figure>



<h2 id="die-teileliste" class="cnvs-block-section-heading cnvs-block-section-heading-1713606100796 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Die Teileliste</span>
	</span>
</h2>



<p>Die Anzahl der Komponenten ist recht überschaubar, die LED-Matrixen kommen dabei wieder aus China. Die Preise dort sind einfach unschlagbar. </p>



<p><em><strong>Disclaimer: Die Links sind KEINE Affiliate-Links. Ich verdiene nichts daran (hier ist eh alles privat), sie sollen euch nur zum schnellen Finden der verwendeten Komponenten dienen, die ihr natürlich überall anders ordern könnt.</strong></em></p>



<ul class="wp-block-list">
<li>4x 8&#215;8 WS2812B LED Matrix (5V) (=&gt; <a href="https://de.aliexpress.com/item/32600043941.html" target="_blank" rel="noreferrer noopener nofollow">Aliexpress</a>)</li>



<li>1x ESP8266 D1 Mini (Clone) (=&gt; <a href="https://www.makershop.de/plattformen/d1-mini/3x-d1mini/" target="_blank" rel="noreferrer noopener nofollow">Makershop</a>)</li>



<li>1x Ein-/Aus-Schalter, 11&#215;15 mm (z.B. bei eBay)</li>



<li>1x USB-Breakoutboard zur Spannungsversorgung (=&gt; <a href="https://www.amazon.de/gp/product/B07TVHR9LF/" target="_blank" rel="noreferrer noopener nofollow">Amazon</a>)</li>



<li>8x 1.4&#215;3.5er Schräubchen</li>
</ul>



<p>Neben diesen Teilen kommt natürlich noch Kabel zum Einsatz. Achtet darauf, dass dessen Durchschnitt nicht zu dünn ist, denn je nach Konfiguration können die LED in Gänze ein paar Ampere schlucken. Bedenkt dabei auch, dass ihr ein PLA-Gehäuse vor euch habt: Der verbrauchte Strom wird zu nicht kleinen Teilen auch in Abwärme verteilt. Betreibt die Matrix also bitte eher gedimt. Ich habe in der Software ein Verbrauchslimit von 850 mA konfiguriert, damit bin ich bisher gut gefahren. <br>Außerdem noch verwendet: PLA in grau und schwarz, 2-Komponenten-Epoxidharz zum befestigen von Front- und Rückseite, div. kleine Kabelbinder</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-1024x768.jpg" alt="" class="wp-image-682" srcset="https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-1024x768.jpg 1024w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-300x225.jpg 300w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-768x576.jpg 768w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-1536x1152.jpg 1536w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-200x150.jpg 200w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-260x195.jpg 260w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-380x285.jpg 380w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-800x600.jpg 800w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt-1160x870.jpg 1160w, https://datort.de/wp-content/uploads/2024/04/WLED_Zusammenbau_Rueckseite_verkabelt.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="schaltplan" class="cnvs-block-section-heading cnvs-block-section-heading-1741287329773 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Schaltplan</span>
	</span>
</h2>



<p>Um den Nachbau etwas zu vereinfachen, findet ihr hier einen Schaltplan zum Anschluss der Komponenten, so wie ich sie im Video verbunden habe. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="633" src="https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-1024x633.png" alt="" class="wp-image-926" srcset="https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-1024x633.png 1024w, https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-300x185.png 300w, https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-768x475.png 768w, https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-1536x950.png 1536w, https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-380x235.png 380w, https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-800x495.png 800w, https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix-1160x717.png 1160w, https://datort.de/wp-content/uploads/2024/04/Schaltplan_16x16_matrix.png 1629w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="3d-druck-stl-download" class="cnvs-block-section-heading cnvs-block-section-heading-1713610342738 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>3D-Druck: STL Download</span>
	</span>
</h2>



<p>Hier alle Dateien die ihr benötigt, möchtet ihr das Projekt nachdrucken. Alle Dateien wurden mit &#8222;dynaschmischer Qualität&#8220; in 0.16mm gedruckt, bis auf die Front. Diese wurde in &#8222;Standardqualität&#8220; mit 0.2mm gedruckt. Für den Rahmen sind Supports nötig. Ich habe es so gedruckt, dass die Rückseite unten liegt. Ich habe versucht die Form so zu optimieren, dass sich die Supports im Nachgang einfach entfernen lassen und würde behaupten, dass mir das gelungen ist. Das Gitter in dem die LED-Matrixen befestigt werden druckt auf dem Kopf liegend, also so das die Pins zum befestigen der LED-Module zuletzt gedruckt werden. Diese Pins sind sehr fragil weil filigran. Dadurch, dass mein Drucker sie nicht perfekt abrunden kann, lassen sich die Boards etwas schwer einsetzen, wie man ja auch im Video sieht. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Geht da vorsichtig vor, dann geht das klar. </p>



<div class="wp-block-file"><a id="wp-block-file--media-687fa672-6d15-43b4-a9c7-990f3756807c" href="https://datort.de/wp-content/uploads/2024/04/16x16_RGB_LED_Matrix_STL.zip">ZIP Archiv: 16&#215;16 RGB LED Matrix (STL)</a><a href="https://datort.de/wp-content/uploads/2024/04/16x16_RGB_LED_Matrix_STL.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-687fa672-6d15-43b4-a9c7-990f3756807c">Herunterladen</a></div>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-11 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" data-id="684" src="https://datort.de/wp-content/uploads/2024/04/WLED_Dog-1024x768.jpg" alt="" class="wp-image-684" srcset="https://datort.de/wp-content/uploads/2024/04/WLED_Dog-1024x768.jpg 1024w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-300x225.jpg 300w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-768x576.jpg 768w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-1536x1152.jpg 1536w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-200x150.jpg 200w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-260x195.jpg 260w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-380x285.jpg 380w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-800x600.jpg 800w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog-1160x870.jpg 1160w, https://datort.de/wp-content/uploads/2024/04/WLED_Dog.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" data-id="683" src="https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-1024x768.jpg" alt="" class="wp-image-683" srcset="https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-1024x768.jpg 1024w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-300x225.jpg 300w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-768x576.jpg 768w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-1536x1152.jpg 1536w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-200x150.jpg 200w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-260x195.jpg 260w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-380x285.jpg 380w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-800x600.jpg 800w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree-1160x870.jpg 1160w, https://datort.de/wp-content/uploads/2024/04/WLED_Colorful_Tree.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</figure>



<h2 id="links" class="cnvs-block-section-heading cnvs-block-section-heading-1713610830803 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Links</span>
	</span>
</h2>



<ul class="wp-block-list">
<li><a href="https://install.wled.me/" target="_blank" rel="noreferrer noopener">WLED Installationstool</a></li>



<li><a href="https://kno.wled.ge/features/pixel-art-converter/" target="_blank" rel="noreferrer noopener">Pixel Art Converter-Dokumentation</a></li>



<li><a href="https://github.com/werkstrom/WLED-PixelArtConverter/" target="_blank" rel="noreferrer noopener">Pixel Art Converter Github Repository</a></li>



<li><a href="https://www.piskelapp.com/" target="_blank" rel="noreferrer noopener">&#8222;Piskel&#8220; Online Pixel Editor zum Design eigener Pixelart</a></li>
</ul>



<h2 id="wichtige-hinweise" class="cnvs-block-section-heading cnvs-block-section-heading-1713877115536 is-style-cnvs-block-section-heading-11 halignleft" >
	<span class="cnvs-section-title">
		<span>Wichtige Hinweise</span>
	</span>
</h2>



<p><strong><em>Bitte beachte:</em></strong> Es handelt sich um ein privates Bastelprojekt eines Hobbyschraubers. Will sagen: So wie gezeigt funktioniert das Ganze gut, aber es bestehen auch Gefahren: Bspw. kann von zu dünnen Kabeln bei hoher Stromaufnahme der LEDs eine Brandgefahr ausgehen oder durch Abwärme das PLA verformen. Bei Fehlanschluss des ESP-Boards kann selbiges Schaden nehmen. Heißt: Baut meine Sachen gerne nach, aber ihr handelt eigenverantwortlich. Ich will jeden ermutigen sich auch Themen anzunehmen, in denen er oder sie bisher kein Expertise besitzt, aber seid clever: Informiert euch abseits meines Blogs, lasst eure Errungenschaften nicht unbeaufsichtigt laufen usw. Lernen, machen, clever sein!</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/selbstgebaut/671/16x16er-pixelart-und-led-effekte-mit-wled-im-eigenbau/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Zweites Leben für den FeTAp 0111</title>
		<link>https://datort.de/mobilfunk/603/zweites-leben-fuer-den-fetap-0111/</link>
					<comments>https://datort.de/mobilfunk/603/zweites-leben-fuer-den-fetap-0111/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Sat, 17 Feb 2024 18:54:02 +0000</pubDate>
				<category><![CDATA[Mobilfunk]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Raspberry Pi Pico]]></category>
		<guid isPermaLink="false">https://datort.de/?p=603</guid>

					<description><![CDATA[Oder: Ich hab mir ein eigenes Mobiltelefon gebaut!* Die Älteren unter euch können sich bestimmt noch daran erinnern:&#8230;]]></description>
										<content:encoded><![CDATA[
<p><strong><em>Oder: Ich hab mir ein eigenes Mobiltelefon gebaut!</em></strong>*</p>



<p>Die Älteren unter euch können sich bestimmt noch daran erinnern: Früher gab es in der Regel nur ein Telefon zuhause. Das stand (zumindest bei uns) in der Diele und war natürlich kabelgebunden. Unseres war Bordeauxrot und hatte immerhin schon ein Tastenfeld. Einziges Feature neben dem Wählen von Nummern und natürlich dem Telefonieren selbst: Ein kleiner Nummernspeicher für die Wahlwiederholung. Früher war nicht alles besser aber manches einfacher. </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"><a href="https://datort.de/mobilfunk/603/zweites-leben-fuer-den-fetap-0111/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FSiDBcjp981Q%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Die Telefone wurden von der Deutschen Post bereitgestellt und trugen das Kürzel &#8222;FeTAp&#8220;. Dahinter verbirgt sich, wen wundert es, ein deutsch-bürokratisch stemmiges Wort: Der <strong>Fe</strong>rnsprech<strong>t</strong>isch<strong>ap</strong>parat. Ein Traum eines Produktnamens &#8211; man weiß sofort was das Teil kann. Dennoch ist das Ding für mich mega nostalgisch: Ich erinnere mich gut, wie abends lange mit meinen Freunden gequatscht habe. Abends deshalb, weil dann der Gebührenzähler deutlich langsamer lief. Ich meine 23 Pfennig für 4 Minuten für ein Ortsgespräch. Wilde Zeiten. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/02/IMG_6384-1024x768.jpeg" alt="" class="wp-image-611" srcset="https://datort.de/wp-content/uploads/2024/02/IMG_6384-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-1536x1152.jpeg 1536w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-2048x1536.jpeg 2048w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2024/02/IMG_6384-scaled.jpeg 2560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Geöffneter FeTAp: Viel Platz für die eigenen Erweiterungen</figcaption></figure>



<p>Für 5,- Euro wiederum kann man heute auf eBay so ein FeTAp ab und an ersteigern. Mein Modell hier ist zwar beige, das tut der Freude aber keinen Abbruch: das Tippen auf dem Tastenfeld und das Geräusch das der Hörer bei Abnehmen oder Auflegen macht wecken freudige Erinnerungen. Theoretisch könnte man das Telefon jetzt einfach an die Fritz Box anschließen, sofern die noch einen alten Analogen Telefonanschluss hat und direkt los telefonieren. Da die aber im Keller steht und das ganze nicht mehr Zeitgemäß ist, war das nächste Bastelprojekt geritzt: Aus dem FeTAp 0111 sollte der FeMAp 2000 werden: <br><br><strong>Der Fernsprechmobilapparat 2000!</strong></p>



<h2 id="teile-aus-dem-3d-drucker" class="wp-block-heading">Teile aus dem 3D Drucker</h2>



<p>Eine Prämisse bei meinen Bastelaktionen mit alter Hardware ist, diese möglichst unversehrt zu lassen. Glücklicherweise bieten diese Telefone viel Raum, um die vorhandene Hardware einfach zu überbauen oder bestehende Komponenten zu erweitern. So konnte ich mittels eines kleines Hebels an der Höhrerauflage und einer Halterung für einen Mikroschalter, die festverschraubt werden konnte eine Vorrichtung einbauen, mit der sich erkennen lässt ob der Hörer aufliegt oder abgenommen ist. Für die neue Hauptplatine konnte eine Halterung gedruckt werden, die einfach auf der alten Hardware aufliegt. Da das Mikrofon nicht mehr kompatibel mit der neuen Technik war, wurde die alte Kapsel vorsichtig entfernt und das neue Kondensatormikrofon in eine ebenfalls 3D-gedruckte Fassung eingesetzt. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="545" src="https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13-1024x545.png" alt="" class="wp-image-619" srcset="https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13-1024x545.png 1024w, https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13-300x160.png 300w, https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13-768x409.png 768w, https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13-380x202.png 380w, https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13-800x426.png 800w, https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13-1160x617.png 1160w, https://datort.de/wp-content/uploads/2024/02/Bildschirmfoto-2024-02-17-um-19.59.13.png 1411w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Elemente wie die Display-Halterung kommen aus dem 3D-Drucker, designed in Fusion 360</figcaption></figure>



<h2 id="das-erste-eigene-pcb" class="wp-block-heading">Das erste eigene PCB</h2>



<p>Eine tolle Erfahrung war die Entwicklung eines eigenen PCB, also einer eigenen Platine nur für dieses Projekt. Hier hatte ich bisher so gar keine Erfahrung mit und hab mich für das Projekt in das Thema eingearbeitet. Rausgekommen ist eine mit rund 8 Euro für 5 Exemplare recht günstige Platine, die die unterschiedlichen Komponenten gut vereint. Natürlich habe ich 2 Fehler eingebaut: Eine Diode fehlte, welche verhindert dass das SIM-Modul Strom vom Raspberry Pi Pico bezieht wenn dieser programmiert wird. Außerdem habe ich Depp einen Widerstand vergessen. Ärgert mich beides derbst, aber kann wohl beim ersten Projekt mal passieren. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://datort.de/wp-content/uploads/2024/02/IMG_7101-1024x768.jpeg" alt="" class="wp-image-610" srcset="https://datort.de/wp-content/uploads/2024/02/IMG_7101-1024x768.jpeg 1024w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-300x225.jpeg 300w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-768x576.jpeg 768w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-1536x1152.jpeg 1536w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-2048x1536.jpeg 2048w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-200x150.jpeg 200w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-260x195.jpeg 260w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-380x285.jpeg 380w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-800x600.jpeg 800w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-1160x870.jpeg 1160w, https://datort.de/wp-content/uploads/2024/02/IMG_7101-scaled.jpeg 2560w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Meine erste selbst designte Platine. Verrückt, was für Möglichkeiten heute für sein Hobby nutzen kann.</figcaption></figure>



<p><strong>Zu den Komponenten im Detail: </strong>Für die mobile Kommunikation ist ein SIM800L-Modul verantwortlich. Das Modul gibt es für unter 10,- Euro. In der Theorie ist der Anschluss recht simpel: Das Board bekommt eine normale SIM-Karte verpasst. Außerdem brauch es ca. 3.7 Volt Spannung. Die Steuerung erfolgt über eine UART-Schnittstelle. Die Kommunikation erfolgt in beide Richtungen und findet über Modembefehle statt. Zusätzlich werden noch ein Mikrofon und ein Lautsprecher angeschlossen. In unserem Fall natürlich die im Hörer. Das Ganze bringt zwei Herausforderungen: Das Modul ist beim Verbindungsaufbau mitunter sehr gierig und braucht laut Hersteller im Peak bis zu 2A! Stehen die nicht bereit, resetet sich das Modul und man kommt in einen Connect-Loop. Das nervt, kann aber durch einen (in meinem Fall vermutlich überdimensionierten) Kondensator aber aufgefangen werden. Die andere Herausforderungen besteht in Abschirmung gegen Interferenzen bei Telefonaten. Erinnert ihr euch noch, wenn früher ein Anruf auf eurem ersten Handy einging und eure Boxen im Auto oder von der Stereoanlage den Anruf bereits lautstark ankündigten? Holla die Waldfeh, diese alten Vibes haben wir hier auch in voller Ausprägung. Da gibts noch Optimierungspotential. </p>



<p>Gesteuert wird das Ganze von einem Raspberry Pi Pico. Den habe ich lieb gewonnen während der Entwicklung der Software. Entwickelt habe ich mit der Arduino IDE. Das Board wird da sehr gut unterstützt. Der Pico zeichnet sich durch seine Vielzahl an GPIO-Ports aus. Außerdem bietet er mit seinen 2 Kernen Unterstützung für Multithreading. Die UART-Kommunikation lief direkt problemlos, der kleine OLED-Screen wird zuverlässig mit Infos befeuert. Alles top, und das für einen wie ich finde echt fairen Preis. Wird nicht das letzte Projekt mit dem Pico gewesen sein. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" src="https://datort.de/wp-content/uploads/2024/02/IMG_6581-768x1024.jpeg" alt="" class="wp-image-612" srcset="https://datort.de/wp-content/uploads/2024/02/IMG_6581-768x1024.jpeg 768w, https://datort.de/wp-content/uploads/2024/02/IMG_6581-225x300.jpeg 225w, https://datort.de/wp-content/uploads/2024/02/IMG_6581-1152x1536.jpeg 1152w, https://datort.de/wp-content/uploads/2024/02/IMG_6581-1536x2048.jpeg 1536w, https://datort.de/wp-content/uploads/2024/02/IMG_6581-380x507.jpeg 380w, https://datort.de/wp-content/uploads/2024/02/IMG_6581-800x1067.jpeg 800w, https://datort.de/wp-content/uploads/2024/02/IMG_6581-1160x1547.jpeg 1160w, https://datort.de/wp-content/uploads/2024/02/IMG_6581-scaled.jpeg 1920w" sizes="auto, (max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">Der erste Prototyp auf dem Steckfeld. Und Louis Popo</figcaption></figure>



<h2 id="kannst-du-mich-hoeren" class="wp-block-heading">&#8222;Kannst Du mich hören?&#8220;</h2>



<p>Zur Wahl von Rufnummern musste noch das Tastenfeld &#8222;reverse engineered&#8220; werden. Wobei der Begriff schon fast ein bisschen übertrieben ist: Die Tasten sind als Matrix geschaltet. Gibt man einen Stromimpuls auf die erste Spalte der Matrix, zeitgleich auf Reihe 2 und fließt Strom, so muss in diesem Moment die Taste 4 gedrückt werden. Das im Milisekundentakt abgefragt und mit einer Logik für Debouncing erweitert: Schon funktioniert das Tastenfeld. </p>



<p>Mit eingelegter SIM-Karte konnte dann auch bald der erste Anruf durchgeführt werden. Und tatsächlich: Es funktionierte! Jedoch: Aller Anfang ist schwer wenn man mein eigenes Mobiltelefon &#8222;entwickelt&#8220;. So war das Gespräch insbesondere auf Seiten des Angerufenen von Interferenzen geprägt. Hier gibt es noch Optimierungspotential durch bessere Schirmung der Mikrofonleitung und/oder durch eine Anpassungen der Schaltung. </p>



<h2 id="natuerlich-ist-da-snake-drauf" class="wp-block-heading">&#8222;Natürlich ist da Snake drauf!&#8220;</h2>



<p>Kein Telefon welches die Zahl 2000 im Namen trägt wäre komplett ohne ein ganz bestimmtes Spiel: Snake. Es ist so simpel wie gut. Und ich weiss gar nicht, wieviel Zeit man damals in dieses so triviale Spiel versenkt hat. Aber: Wir hatten ja nix! Bei aufgelegtem Hörer und Druck der *-Taste wird Snake gestartet. Da kommen schon echt Erinnerungen auf.. Übrigens: Wer nur den Part mit Snake nachbauen will, sollte einen Blick in <a href="https://github.com/vmednis/arduino-snake-game" target="_blank" rel="noreferrer noopener">vmednis Github Repository</a> werfen. An dem Code habe ich mich bedient und für meine Zwecke angepasst. Danke für das OpenSource-Projekt an dieser Stelle.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="597" src="https://datort.de/wp-content/uploads/2024/02/Snake_auf_dem_FeTAp-1024x597.png" alt="" class="wp-image-613" srcset="https://datort.de/wp-content/uploads/2024/02/Snake_auf_dem_FeTAp-1024x597.png 1024w, https://datort.de/wp-content/uploads/2024/02/Snake_auf_dem_FeTAp-300x175.png 300w, https://datort.de/wp-content/uploads/2024/02/Snake_auf_dem_FeTAp-768x448.png 768w, https://datort.de/wp-content/uploads/2024/02/Snake_auf_dem_FeTAp-380x222.png 380w, https://datort.de/wp-content/uploads/2024/02/Snake_auf_dem_FeTAp-800x466.png 800w, https://datort.de/wp-content/uploads/2024/02/Snake_auf_dem_FeTAp.png 1115w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 id="die-downloads" class="wp-block-heading">Die Downloads</h2>



<p>Zugegeben, das Projekt baut man nicht in 5 Minuten nach. Aber das muss man ja auch gar nicht. Es gibt bestimmt noch 1.000 andere Möglichkeiten, mit dem SIM800L-Modul oder anderen ein eigenes Mobiltelefon zu kreieren. Oder es kann eine ganz andere Funktion für solch ein altes Gerät gefunden werden. Und vielleicht kann der Kram hier ja einfach nur als Inspiration dazu dienen. Deshalb hier alles, was ihr vielleicht brauchen könnt: </p>



<p><strong>Die Dateien</strong></p>



<div class="wp-block-file"><a id="wp-block-file--media-9597f293-3ecf-4bf2-a728-fda18b3b039f" href="https://datort.de/wp-content/uploads/2024/02/FeMAp2000_3D.zip">FeMAp2000_3D</a><a href="https://datort.de/wp-content/uploads/2024/02/FeMAp2000_3D.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-9597f293-3ecf-4bf2-a728-fda18b3b039f">STL-Dateien Herunterladen</a></div>



<div class="wp-block-file"><a id="wp-block-file--media-f27f52fe-093b-4887-a84b-950151d498ce" href="https://datort.de/wp-content/uploads/2024/02/Gerber_FeMap2000_2_PCB_FeMap2000_2_2024-02-16.zip">Gerber_FeMap2000_2_PCB_FeMap2000_2_2024-02-16</a><a href="https://datort.de/wp-content/uploads/2024/02/Gerber_FeMap2000_2_PCB_FeMap2000_2_2024-02-16.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-f27f52fe-093b-4887-a84b-950151d498ce">Gerber-Dateien Herunterladen</a></div>



<p>Den Code findet ihr wie immer in meinem <a href="https://github.com/datort/femap2000" target="_blank" rel="noreferrer noopener">Github-Profil</a>.</p>



<p>*) Achja, der Akku fehlt noch. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Aber: Es ist alles vorbereitet dafür! </p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/mobilfunk/603/zweites-leben-fuer-den-fetap-0111/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Homebridge-Erweiterung: (Licht-)Schalter im Eigenbau</title>
		<link>https://datort.de/raspberry-arduino/544/homebridge-erweiterung-licht-schalter-im-eigenbau/</link>
					<comments>https://datort.de/raspberry-arduino/544/homebridge-erweiterung-licht-schalter-im-eigenbau/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Wed, 03 Jan 2024 15:50:04 +0000</pubDate>
				<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Homebridge]]></category>
		<category><![CDATA[Homekit]]></category>
		<category><![CDATA[Smarthome]]></category>
		<guid isPermaLink="false">https://datort.de/?p=544</guid>

					<description><![CDATA[Es ist ein bisschen verrückt: Ich kann in meinem Zuhause alle relevanten Leuchten über Wifi-Steckdosen mittels meines iPhones&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Es ist ein bisschen verrückt: Ich kann in meinem Zuhause alle relevanten Leuchten über Wifi-Steckdosen mittels meines iPhones über die Home-App steuern. Vorbei die Zeiten des manuellen Tastendrückens. Doch genau das fehlte mir kürzlich sehr, als ich mein Telefon unten habe liegen lassen. Und daraus wuchs die Idee: Hey, ich brauche wieder einen Schalter! </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"><a href="https://datort.de/raspberry-arduino/544/homebridge-erweiterung-licht-schalter-im-eigenbau/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2Fp1ukkSZFIrY%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Herausgekommen ist dabei ein &#8222;Command Control Center&#8220;. Der Name ist völlig übertrieben, ich weiss. Das Gehäuse ist eigens von mir skizziert und mittels 3D-Drucker selbst gedruckt. Wichtig war mir, dass es gut an meinen Schreibtisch (ein weit verbreitetes Modell eines schwedischen Möbelherstellers) passt und drei Taster beherbergen kann. Zusätzlich, um der Mächtigkeit des Begriffs &#8222;Command Control Center&#8220; näher zu kommen, befindet sich im Gehäuse Platz für einen Schlüsselschalter, der die Spannungszufuhr für das verbaute D1 Mini ESP-Board steuert. Man hätte das mit Sicherheit auch anders lösen können, aber: Et soll ja auch Spaß machen!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="591" src="https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-1024x591.png" alt="" class="wp-image-549" srcset="https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-1024x591.png 1024w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-300x173.png 300w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-768x443.png 768w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-1536x886.png 1536w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-380x219.png 380w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-800x462.png 800w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18-1160x669.png 1160w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.18.png 1776w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Die Taster bieten neben ihrer eigentlichen Aufgabe des als Taster fungieren noch die Möglichkeit, einen LED-Ring leuchten zu lassen. Der symbolisiert ob die entsprechende Lampe ein- oder ausgeschaltet ist. In meinem Beispiel sind zwei Taster mit weißer und einer mit blauer LED verbaut. Die Taster sind mir im Nachgang etwas zu klein zum Drücken, dennoch mag ich sie und mit rund 4,- Euro waren sie recht günstig. Außerdem sind sie mit einer Eingangsspannung von 3 bis 9 Volt für die LED recht flexibel einsetzbar. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="566" src="https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-1024x566.png" alt="" class="wp-image-550" srcset="https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-1024x566.png 1024w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-300x166.png 300w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-768x424.png 768w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-1536x849.png 1536w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-380x210.png 380w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-800x442.png 800w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30-1160x641.png 1160w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.30.png 1868w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Im Inneren arbeitet ein D1 Mini Clone-Board, also ein ESP8266 der direkt Wifi onboard hat. Das ist wichtig, da die Homebridge, die bei mir als zusätzliche Ebene zu Apples Homekit im Einsatz ist, über API-Aufrufe über das lokale Netzwerk gesteuert wird. Von dem D1 Mini-Board brauch es 6 Pins: 3 für die Statusanzeige, also die jeweilige LED. Und eben 3 weitere für die Erkennung der Tastendrücke. </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="886" height="776" src="https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.43.png" alt="" class="wp-image-551" srcset="https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.43.png 886w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.43-300x263.png 300w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.43-768x673.png 768w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.43-380x333.png 380w, https://datort.de/wp-content/uploads/2023/12/Bildschirmfoto-2023-12-28-um-18.48.43-800x701.png 800w" sizes="auto, (max-width: 886px) 100vw, 886px" /></figure>



<p>Das ist es im Wesentlichen dann auch schon. Natürlich muss die Software noch angepasst werden. So müssen sogenannte &#8222;uniqueId&#8220; hinterlegt werden. Dabei handelt es sich um eine eindeutige Identifikation eines jeden Geräts, welches über Homebridge geschaltet werden kann. Tastendrücke lösen dann entsprechende API-Anfragen aus, welche diese &#8222;uniqueId&#8220; übermitteln, bzw. sie verwenden um in regelmäßigen Abständen nach dem Status (Licht an oder aus) bei der Homebridge nachfrage. Denn es könnte ja auch sein, dass eine Lampe oder Steckdose auf anderem Weg geschaltet wird. </p>



<p>Meinen Code stelle ich euch natürlich frei und als Open Source auf Github zur Verfügung. Die Datei für den 3D-Druck des Gehäuse findet ihr hier:</p>



<div class="wp-block-file"><a id="wp-block-file--media-501b5372-72c9-4523-bc3f-6bebb631311d" href="https://datort.de/wp-content/uploads/2023/12/Command-Control-v12.stl_.zip">Command-Control-v12.stl_</a><a href="https://datort.de/wp-content/uploads/2023/12/Command-Control-v12.stl_.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-501b5372-72c9-4523-bc3f-6bebb631311d">Herunterladen</a></div>



<p>Den Code habe ich auf mein <a href="https://github.com/datort/homebridge-remote-switchboard" target="_blank" rel="noreferrer noopener">Github-Profil</a> gepackt. Von dort könnt ihr alles einfach herunterladen oder via Git auschecken.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/raspberry-arduino/544/homebridge-erweiterung-licht-schalter-im-eigenbau/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DHT22 v BME280 v DS18B20 &#8211; Der Vergleich</title>
		<link>https://datort.de/vergleiche-tests/512/dht22-v-bme280-v-ds18b20-der-vergleich/</link>
					<comments>https://datort.de/vergleiche-tests/512/dht22-v-bme280-v-ds18b20-der-vergleich/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Fri, 03 Nov 2023 10:18:25 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Sensorkunde]]></category>
		<category><![CDATA[Vergleiche & Tests]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[BME280]]></category>
		<category><![CDATA[DHT22]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[DS18B29]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<guid isPermaLink="false">https://datort.de/?p=512</guid>

					<description><![CDATA[Es ist noch nicht lange her, da habe ich mir hier DHT22-Temperatursensoren genauer angeschaut und 5 Sensoren gleichen&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Es ist noch nicht lange her, da habe ich mir hier <a href="https://datort.de/raspberry-arduino/395/dht-22-temperatursensoren-im-test/" data-type="post" data-id="395">DHT22-Temperatursensoren genauer angeschaut</a> und 5 Sensoren gleichen Bautyps und ähnlichen Alters miteinander verglichen. Die Ergebnisse waren so mittel, aber lest den Artikel gerne selbst wenn euch das interessiert. </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"><a href="https://datort.de/vergleiche-tests/512/dht22-v-bme280-v-ds18b20-der-vergleich/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2FiZZr21FaaMw%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Damals hatte ich sowohl auf <a href="https://mastodon.social/@datort" data-type="link" data-id="https://mastodon.social/@datort" target="_blank" rel="noreferrer noopener">Mastodon</a> als auch unter dem Video den Tipp erhalten, mir mal den BME280 oder den DS18B20 anzuschauen. Diese Sensoren seien deutlich besser als der DHT22. Gesagt getan: Den BME280 gab es für ca. 6 Euro im 5er Pack aus Fernost, den DS18B20 habe ich für so ziemlich denselben Preis bei einem deutschen Händler bestellt. </p>



<p>Alle drei Sensoren sind im Detail ein bisschen anders. So ist der DHT22 der Klassiker, er ist nicht ganz schmal, sehr gut mit Bibliotheken für Android oder ESP-Boards unterstützt und liefert neben der Temperatur auch die relative Luftfeuchte. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://datort.de/wp-content/uploads/2023/10/IMG_5117-1024x682.jpg" alt="" class="wp-image-516" srcset="https://datort.de/wp-content/uploads/2023/10/IMG_5117-1024x682.jpg 1024w, https://datort.de/wp-content/uploads/2023/10/IMG_5117-300x200.jpg 300w, https://datort.de/wp-content/uploads/2023/10/IMG_5117-768x511.jpg 768w, https://datort.de/wp-content/uploads/2023/10/IMG_5117-1536x1022.jpg 1536w, https://datort.de/wp-content/uploads/2023/10/IMG_5117-380x253.jpg 380w, https://datort.de/wp-content/uploads/2023/10/IMG_5117-800x533.jpg 800w, https://datort.de/wp-content/uploads/2023/10/IMG_5117-1160x772.jpg 1160w, https://datort.de/wp-content/uploads/2023/10/IMG_5117.jpg 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Der BME280 ist, nimmt man nur den Sensor für sich, sehr klein. Er wurde von Bosch entwickelt vor dem Hintergrund dort verbaut zu werden, wo wenig Energie und wenig Platz zur Verfügung steht. Neben Temperatur und relativer Feuchte kann er auch den Luftdruck ermitteln. Es gibt auch ein Modell, welches auf den Namen BMP280 hört. Dieser ist hingegen nicht in der Lage, die Luftfeuchte zu ermitteln. Auch für diese Sensoren gibt es einige gute Bibliotheken, welche die Verwendung relativ einfach machen. Allerdings muss man wissen, auf welcher Adresse der Sensor mittels I²C zu erreichen ist: In diesem Fall ist es 0x76, bei anderen 0x77. </p>



<p>Der DS18B20 ist gefühlt der Vielseitigste was seine unterschiedlichen Bauformen angeht. Neben der von mir verwendeten Variante gibt es u.a. auch in einer Wasserdichten Version. Allerdings kann er, anders als der DHT22 oder der BME280 rein die Temperatur ermitteln, nicht die Luftfeuchte. Übermittelt werden die Daten mit dem <a href="https://de.wikipedia.org/wiki/1-Wire" target="_blank" rel="noreferrer noopener">1-Wire-Protokoll</a>. Dabei handelt es sich um eine serielle Datenübertragung welche von der Firma Dallas Semiconductor entwickelt wurde. Der Name ist Programm: Es wird eben neben der Spannungsversorgung nur ein weiteres Kabel benötigt. Wobei, das stimmt nicht ganz: Für die Schaltung wird zudem ein Pull-Up-Widerstand benötigt. Sonst funktioniert das Ganze nicht. Keine große Herausforderung, wenn man es noch nie gemacht hat, sollte man sich dem Thema einmal annehmen. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://datort.de/wp-content/uploads/2023/10/IMG_5114-1024x682.jpg" alt="" class="wp-image-513" srcset="https://datort.de/wp-content/uploads/2023/10/IMG_5114-1024x682.jpg 1024w, https://datort.de/wp-content/uploads/2023/10/IMG_5114-300x200.jpg 300w, https://datort.de/wp-content/uploads/2023/10/IMG_5114-768x511.jpg 768w, https://datort.de/wp-content/uploads/2023/10/IMG_5114-1536x1022.jpg 1536w, https://datort.de/wp-content/uploads/2023/10/IMG_5114-380x253.jpg 380w, https://datort.de/wp-content/uploads/2023/10/IMG_5114-800x533.jpg 800w, https://datort.de/wp-content/uploads/2023/10/IMG_5114-1160x772.jpg 1160w, https://datort.de/wp-content/uploads/2023/10/IMG_5114.jpg 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Für meinen Vergleich habe ich mir auf meinem Steckfeld 3 Teststrecken gebaut. Beide sind vom Aufbau identisch: Von jedem Sensor existiert pro Teststrang ein Exemplar. Angeschlossen sind sie an einen D1 Mini Clone, welcher die Daten an meine InfluxDb und damit an an ein Grafana-Dashboard sendet über das die Auswertung stattfindet. Den Code stelle ich euch gerne bereit. Auch wenn man vermutlich dieses Setup so nicht benötigt, kann man sich vielleicht für eigene Projekte etwas abschauen wenn man neu in der Materie ist: </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: arduino; title: ; notranslate">
#include &lt;Wire.h&gt;
#include &lt;SPI.h&gt;
#include &lt;Adafruit_BME280.h&gt;
#include &lt;OneWire.h&gt;
#include &lt;DallasTemperature.h&gt;
#include &lt;ESP8266WiFi.h&gt;
#include &lt;InfluxDbClient.h&gt;
#include &quot;DHT.h&quot;
#include &quot;secrets.h&quot; // Einfache Konstanten-Sammlung für Credentials


#define ONE_WIRE_BUS 2 // GPIO PIN 2

InfluxDBClient influx(INFLUXDB_URL, INFLUXDB_ORG, INFLUXDB_BUCKET, INFLUXDB_TOKEN);
Point bmeSensor(&quot;bme_1&quot;);
Point dsSensor(&quot;ds_1&quot;);
Point dhtSensor(&quot;dht_1&quot;);


Adafruit_BME280 bme;
Adafruit_Sensor *bme_temp = bme.getTemperatureSensor();
Adafruit_Sensor *bme_humidity = bme.getHumiditySensor();

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature ds18b20(&amp;oneWire);

DHT dht(14, DHT22); // GPIO PIN 14

void setup() {
  Serial.begin(9600);

  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(&quot;.&quot;);
  }

  Serial.println(&quot;&quot;);
  Serial.print(&quot;Connected to &quot;);
  Serial.println(WiFi.SSID());
  Serial.print(&quot;IP address:\t&quot;);
  Serial.println(WiFi.localIP());


  
  Serial.println(F(&quot;BME280 Sensor event test&quot;));

  // Erzwinge Adresse 0x76 statt 0x77, nutzt die SCL/SDA Pins des D1 mini
  if (!bme.begin(0x76)) { 
    Serial.println(F(&quot;Could not find a valid BME280 sensor, check wiring!&quot;));
    while (1) delay(10);
  }
  
  bme_temp-&gt;printSensorDetails();
  bme_humidity-&gt;printSensorDetails();

  ds18b20.begin();

  dht.begin();

  influx.setInsecure();
}

void loop() {
  sensors_event_t temp_event, pressure_event, humidity_event;
  bme_temp-&gt;getEvent(&amp;temp_event);
  bme_humidity-&gt;getEvent(&amp;humidity_event);
  
  Serial.print(F(&quot;BME280 Temperature: &quot;));
  Serial.print(temp_event.temperature);
  Serial.println(&quot; °C&quot;);

  Serial.print(F(&quot;BME280 Humidity: &quot;));
  Serial.print(humidity_event.relative_humidity);
  Serial.println(&quot; %&quot;);

  bmeSensor.addField(&quot;temperature&quot;, temp_event.temperature);
  bmeSensor.addField(&quot;humidity&quot;, humidity_event.relative_humidity);
  if (!influx.writePoint(bmeSensor)) {
    Serial.print(&quot;InfluxDB write failed: &quot;);
    Serial.println(influx.getLastErrorMessage());
  }

  ds18b20.requestTemperatures();
  Serial.println(&quot;DS18B20 Temperature: &quot; + String(ds18b20.getTempCByIndex(0)) + &quot;°C&quot;);

  dsSensor.addField(&quot;temperature&quot;, ds18b20.getTempCByIndex(0));
  if (!influx.writePoint(dsSensor)) {
    Serial.print(&quot;InfluxDB write failed: &quot;);
    Serial.println(influx.getLastErrorMessage());
  }

  Serial.println(&quot;DHT22 Temperature: &quot; + String(dht.readTemperature()));
  Serial.println(&quot;DHT22 Humidity: &quot; + String(dht.readHumidity()));
  dhtSensor.addField(&quot;temperature&quot;, dht.readTemperature());
  dhtSensor.addField(&quot;humidity&quot;, dht.readHumidity());
  if (!influx.writePoint(dhtSensor)) {
      Serial.print(&quot;InfluxDB write failed: &quot;);
      Serial.println(influx.getLastErrorMessage());
    }

  delay(1000);
}
</pre></div>


<p>Für meinen Test habe ich das ganze Setup kurz in die &#8222;Kälte&#8220; gestellt. Das sollte dazu dienen um zu sehen wie schnell die Sensoren der Raumtemperatur annähern. Als Referenz diente ein Thermometer, was mehrere Stunden im Raum stand. Zugegeben: ist wieder nicht hochgradig wissenschaftlich, aber für die Stichprobe in meinen Augen ausreichend. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="682" src="https://datort.de/wp-content/uploads/2023/10/IMG_5128-1024x682.jpg" alt="" class="wp-image-515" srcset="https://datort.de/wp-content/uploads/2023/10/IMG_5128-1024x682.jpg 1024w, https://datort.de/wp-content/uploads/2023/10/IMG_5128-300x200.jpg 300w, https://datort.de/wp-content/uploads/2023/10/IMG_5128-768x511.jpg 768w, https://datort.de/wp-content/uploads/2023/10/IMG_5128-1536x1022.jpg 1536w, https://datort.de/wp-content/uploads/2023/10/IMG_5128-380x253.jpg 380w, https://datort.de/wp-content/uploads/2023/10/IMG_5128-800x533.jpg 800w, https://datort.de/wp-content/uploads/2023/10/IMG_5128-1160x772.jpg 1160w, https://datort.de/wp-content/uploads/2023/10/IMG_5128.jpg 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Am Ende bestätigten sich eure Aussagen: Sowohl der DS18B20 als auch der BME280 sind weniger träge als der DHT22. Der DS18B20 ist bei der Disziplin das Rennpferd. Nach etwa 2-3 Minuten hatte er sich bereits bereits wieder angeglichen. Der BME280 war mit 5 Minuten unwesentlich langsamer, während der DHT22 ca. 10 Minuten brauchte. Hinzu kommt die Frage nach der Güte der Daten. Zwischen den drei DHT22 Sensoren lagen am Ende mehr als 1 Grad Unterschied. Auch hier waren beide andere Sensortypen deutlich besser mit ca. 0.2 Grad beim DS18B20 bzw. nur ca 0.1 Grad beim BME280. Der BME280 war auch der Sensor, der am nächsten am Standthermometer lag. Und das sowohl in Bezug auf die Temperatur als auch auf die relative Luftfeuchte. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="631" src="https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten-1024x631.png" alt="" class="wp-image-519" srcset="https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten-1024x631.png 1024w, https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten-300x185.png 300w, https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten-768x473.png 768w, https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten-380x234.png 380w, https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten-800x493.png 800w, https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten-1160x715.png 1160w, https://datort.de/wp-content/uploads/2023/10/Vergleichsdaten.png 1487w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Somit ist das auch mein persönlicher Testsieger, wenngleich der DS18B20 unmittelbar danach kommt. Der DHT22 ist mit Sicherheit kein schlechter Sensor, aber mit dem Wissen ist seine Zeit bei mir zu Hause wohl vorbei. Ich werde ihn zeitnah gegen die BME280er tauschen.  </p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/vergleiche-tests/512/dht22-v-bme280-v-ds18b20-der-vergleich/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Luftqualität mit CCS811 Sensor bestimmen</title>
		<link>https://datort.de/raspberry-arduino/415/luftqualitaet-mit-ccs811-sensor-bestimmen/</link>
					<comments>https://datort.de/raspberry-arduino/415/luftqualitaet-mit-ccs811-sensor-bestimmen/#respond</comments>
		
		<dc:creator><![CDATA[datort]]></dc:creator>
		<pubDate>Fri, 22 Sep 2023 09:32:00 +0000</pubDate>
				<category><![CDATA[Raspberry & Arduino]]></category>
		<category><![CDATA[Sensorkunde]]></category>
		<category><![CDATA[Youtube]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[Elektrotechnik]]></category>
		<category><![CDATA[Raspberry Pi Pico]]></category>
		<guid isPermaLink="false">https://datort.de/?p=415</guid>

					<description><![CDATA[Mit dem Blick auf den anstehenden Herbst und Winter könnte ein kommendes Bastelprojekt daraus bestehen, die Luftqualität in&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Mit dem Blick auf den anstehenden Herbst und Winter könnte ein kommendes Bastelprojekt daraus bestehen, die Luftqualität in einem Raum zu ermitteln. Sollte man nicht eigenständig regelmäßig selbst auf die Idee kommen zu lüften, könnte man sich hier eine elektronische Unterstützen bauen. </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"><a href="https://datort.de/raspberry-arduino/415/luftqualitaet-mit-ccs811-sensor-bestimmen/"><img decoding="async" src="https://datort.de/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=%2F%2Fi.ytimg.com%2Fvi%2F36p6KTKB1qc%2Fmaxresdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p>Mit dem CCS811 ist bereits seit einigen Jahren ein Sensor auf dem Markt, mit dem sich dies per se realisieren lassen sollte. Mein Exemplar lag bisher (einmalige Verwendung ausgenommen) ungenutzt in der Ecke. Zeit also, mal genauer zu schauen was der Sensor so kann &#8211; und eben vielleicht auch nicht!</p>



<p>Im &#8222;Bastelbedarf&#8220; kommt der Sensor oft fertig aufgebaut auf einem kleinen Board, welches die Handhabe mit ihm erleichtert. Wie genau, das mag von Board zu Board etwas unterschiedlich sein. Ich beziehe mich hier auf ein fertiges Platinchen von Adafruit, welches die Verwendung in 2 Punkten erleichtert: </p>



<ul class="wp-block-list">
<li><strong>Pull-Up-Widerstände:</strong> Für die Kommunikation mittels I²C sind diese nötig und bereits auf dem Board verlötet. Dies vereinfacht die Verkabelung in unserem Setup, zumindest wenn sonst nichts auf der I²C-Leitung kommuniziert</li>



<li><strong>Level-Shifting:</strong> Egal ob wir ein Development Board mit 3.3V oder 5V Spannung an den I/O-Ports verwenden, dieses Sensor-Modul kommt mit beidem klar</li>
</ul>



<p>Bleiben am Ende also noch 4 Kabel nötig, um das Board zu betreiben: 3.3V oder eben 5V, Ground, sowie SDA und SCL für die Kommunikation.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="635" src="https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-1024x635.jpg" alt="" class="wp-image-417" srcset="https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-1024x635.jpg 1024w, https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-300x186.jpg 300w, https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-768x476.jpg 768w, https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-1536x952.jpg 1536w, https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-380x236.jpg 380w, https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-800x496.jpg 800w, https://datort.de/wp-content/uploads/2023/09/PicoVCCS811-1160x719.jpg 1160w, https://datort.de/wp-content/uploads/2023/09/PicoVCCS811.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Viel Code ist ebenfalls nicht nötig, da es unterschiedliche Bibliotheken gibt die einem die Arbeit erleichtern. Ich nutze in meinem Beispiel die passende Bibliothek zum Board: &#8222;<em>Adafruit_CCS811</em>&#8222;. Die ist vorab über die Arduino IDE zu installieren. Hier der Code aus meinem Video: </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
#include &quot;Adafruit_CCS811.h&quot;

Adafruit_CCS811 ccs;

void setup() {
  Serial.begin(115200);

  if (!ccs.begin()) {
    Serial.println(&quot;Keine Kommunikation mit Sensor, Verkabelung prüfen&quot;);
    while(1);
  }

  while(!ccs.available());
}

void loop() {  
  if (ccs.available() &amp;&amp; !ccs.readData()) {

    Serial.print(&quot;CO2: &quot;);
    Serial.print(ccs.geteCO2());
    Serial.print(&quot;ppm, TVOC: &quot;);
    Serial.println(ccs.getTVOC());

  } else {
    Serial.println(&quot;Keine Daten empfangen&quot;);
    delay(5000);
  }

  delay(1000);
}
</pre></div>


<p>Wie man hier sieht ist es möglich mit der Methode <strong>getTVOC()</strong> die Gesamtzahl der sogenannten <em>Volatile Organic Compounds</em> (VOC) abzurufen. Übersetzt sind das flüchtige organische Verbindungen wie Kohlenwasserstoffe oder Alkohole die sich durch die Luft bewegen. Treffen solche Partikel auf den Sensor, so &#8222;zählt&#8220; dieser sie. Mit der Methode <strong>geteCO2()</strong> lässt sich zudem das sog. <em>equivalent carbon dioxide</em>, also ein CO2-Äquivalent abfragen. Hierbei sollte man jedoch wissen, dass der Sensor nicht in der Lage ist CO2 zu messen. Der ausgegebene Wert ist eine Berechnung, die auf den TVOCs basiert. Entsprechend kann man sich die Frage nach der Güte der ausgegebenen Werte stellen. </p>



<p>Für einen groben Indikator in wie weit sich die Qualität der Luft in einem Raum über die Zeit verändert ist der Sensor aber allemal gut und in Form eines solchen fertig aufgebauten Boards auch für Einsteiger einfach nutzbar. Um die für diesen Sensor bestmöglichen Ergebnisse zu erhalten, sollte man zudem 2 Dinge beachten: </p>



<ul class="wp-block-list">
<li>Vor der ersten Verwendung, sollte der Sensor eine 48 Stunden lange &#8222;Burn-In&#8220;-Phase durchlaufen. Ergo: Er soll einfach &#8222;arbeiten&#8220;. Nach 48 Stunden ist er dann &#8222;eingebrannt&#8220; und soll vernünftige Ergebnisse liefern</li>



<li>Vor jeder Verwendung benötigt der Sensor etwa 20 Minuten, bis er &#8222;betriebswarm&#8220; ist. Zuvor sind die Ergebnisse ungenau</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://datort.de/raspberry-arduino/415/luftqualitaet-mit-ccs811-sensor-bestimmen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
