<?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>Lüfter Archives - Nerd Corner</title>
	<atom:link href="https://nerd-corner.com/de/tag/luefter/feed/" rel="self" type="application/rss+xml" />
	<link>https://nerd-corner.com/de/tag/luefter/</link>
	<description>Craft your dreams!</description>
	<lastBuildDate>Tue, 20 Jul 2021 09:10:48 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://nerd-corner.com/wp-content/uploads/2019/10/cropped-LogoNerdCorner-2-32x32.png</url>
	<title>Lüfter Archives - Nerd Corner</title>
	<link>https://nerd-corner.com/de/tag/luefter/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Upgrade: Datentransfer mittels VLC und LiFi – Pi zu Pi Übertragung</title>
		<link>https://nerd-corner.com/de/upgrade-datentransfer-mittels-vlc-und-lifi-pi-zu-pi-uebertragung/</link>
					<comments>https://nerd-corner.com/de/upgrade-datentransfer-mittels-vlc-und-lifi-pi-zu-pi-uebertragung/#comments</comments>
		
		<dc:creator><![CDATA[Nerds]]></dc:creator>
		<pubDate>Thu, 08 Jul 2021 13:53:33 +0000</pubDate>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Hardware-DE]]></category>
		<category><![CDATA[Linux-DE]]></category>
		<category><![CDATA[Software-DE]]></category>
		<category><![CDATA[C Programmierung]]></category>
		<category><![CDATA[CAD]]></category>
		<category><![CDATA[Datenübertragung]]></category>
		<category><![CDATA[Datenübertragung per Licht]]></category>
		<category><![CDATA[Genauigkeit]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Kommunikationstechnik]]></category>
		<category><![CDATA[LiFi]]></category>
		<category><![CDATA[LiFI Router]]></category>
		<category><![CDATA[Light Fidelity]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Lüfter]]></category>
		<category><![CDATA[Präzision]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[visible Light communication]]></category>
		<category><![CDATA[visuelle Lichtkommunikation]]></category>
		<category><![CDATA[VLC]]></category>
		<category><![CDATA[zyklische Redundanzprüfung]]></category>
		<guid isPermaLink="false">https://nerd-corner.com/?p=964</guid>

					<description><![CDATA[<p>Nachdem ich bereits einfache Textnachrichten mittels Lichtsignale von einem Raspberry Pi zu einem Arduino Uno übertragen habe ( Link: https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/ ) wollte ich dieses System &#8230; </p>
<p>The post <a href="https://nerd-corner.com/de/upgrade-datentransfer-mittels-vlc-und-lifi-pi-zu-pi-uebertragung/">Upgrade: Datentransfer mittels VLC und LiFi – Pi zu Pi Übertragung</a> appeared first on <a href="https://nerd-corner.com/de">Nerd Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Nachdem ich bereits einfache Textnachrichten mittels Lichtsignale von einem Raspberry Pi zu einem Arduino Uno übertragen habe ( Link: <a href="https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/">https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/</a> ) wollte ich dieses System verbessern, um jegliche Dateiformate in beide Richtungen übertragen zu können. Da ein Raspberry Pi mit Linux betrieben wird, kann dieses System zur Datenübertragung mittels VLC (visueller Lichtkommunikation) auf alle Linux Geräte übertragen werden. Der Software Code und die STL Dateien können am Ende des Blogeintrags heruntergeladen werden.</p>
<p><em><strong>Das könnte dich auch interessieren:</strong> <a href="https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/" target="_blank" rel="noopener">Textnachrichten mittels Lichtsignale senden</a></em></p>
<p><em><strong>Eng mit diesem Artikel verbunden:</strong> <a href="https://nerd-corner.com/de/zyklische-redundanzpruefung-in-c/" target="_blank" rel="noopener">Fehlererkennung bei der Datenübertragung</a></em></p>
<p><em><strong>Ebenfalls relevant:</strong> <a href="https://nerd-corner.com/de/wie-programmiert-man-einen-praezisen-timer-in-c-fuer-linux/" target="_blank" rel="noopener">Taktgeschwindigkeit für eine Datenübertragung festlegen in C</a></em></p>
<h2>Liste der Bauteile</h2>
<ul>
<li><a href="https://amzn.to/3zlaLSJ" target="_blank" rel="noopener">2x Raspberry Pi 4</a></li>
<li><a href="https://amzn.to/3zhH6to" target="_blank" rel="noopener">2x 5V Solarzelle</a></li>
<li><a href="https://amzn.to/3rkpOZU" target="_blank" rel="noopener">2x 5V Laserdiode</a></li>
<li><a href="https://amzn.to/2Uu9AkT" target="_blank" rel="noopener">Jumper Kabel</a></li>
<li><a href="https://amzn.to/3exAv6g" target="_blank" rel="noopener">3D Drucker</a></li>
<li><a href="https://amzn.to/3hST9I2" target="_blank" rel="noopener">Filament</a></li>
<li><a href="https://amzn.to/3kwoX7c" target="_blank" rel="noopener">2x 5V Lüfter</a></li>
<li><a href="https://amzn.to/2UvY34L" target="_blank" rel="noopener">NPN Transistor</a></li>
<li>2x ADC Board mit einem LM393</li>
</ul>
<p><img fetchpriority="high" decoding="async" class="aligncenter wp-image-966 zoooom" src="https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-parts-scaled.jpg" alt="Datenübertragung mit Licht Einzelteile" width="2500" height="1681" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-parts-scaled.jpg 2560w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-parts-300x202.jpg 300w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-parts-1024x689.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-parts-768x516.jpg 768w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-parts-1536x1033.jpg 1536w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-parts-2048x1377.jpg 2048w" sizes="(max-width: 2500px) 100vw, 2500px" /></p>
<h2>Verkabelung</h2>
<p>Anders als bei der Verkabelung im letzten Artikel, in dem Textnachrichten mittels Lichtsignale von einem Pi zu einem Arduino gesendet wurden ( Link: <a href="https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/">https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/</a> ), gibt es jetzt keinen definierten Empfänger und keinen definierten Sender. Es werden stattdessen zwei baugleiche Stationen aufgebaut, die sowohl Daten senden und empfangen können.</p>
<p><img decoding="async" class="aligncenter wp-image-965 zoooom" src="https://nerd-corner.com/wp-content/uploads/2021/07/FritzingPiTransceiver_Steckplatine.png" alt="Fritzing Pi VLC LiFI" width="2250" height="1459" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/FritzingPiTransceiver_Steckplatine.png 2270w, https://nerd-corner.com/wp-content/uploads/2021/07/FritzingPiTransceiver_Steckplatine-300x195.png 300w, https://nerd-corner.com/wp-content/uploads/2021/07/FritzingPiTransceiver_Steckplatine-1024x664.png 1024w, https://nerd-corner.com/wp-content/uploads/2021/07/FritzingPiTransceiver_Steckplatine-768x498.png 768w, https://nerd-corner.com/wp-content/uploads/2021/07/FritzingPiTransceiver_Steckplatine-1536x996.png 1536w, https://nerd-corner.com/wp-content/uploads/2021/07/FritzingPiTransceiver_Steckplatine-2048x1328.png 2048w" sizes="(max-width: 2250px) 100vw, 2250px" /></p>
<p>Aus diesem Grund werden die Raspberry Pi’s sowohl mit einem 5V Laser als auch mit einer 5V Solarzelle verbunden. Für den Laser wurde der GPIO18 Pin gewählt, welcher in der „wiringPi“ Library Pin 1 entspricht. Die „wiringPi“ Library wird im Programmcode verwendet. Direkt unter GPIO18 befindet sich ein Ground, welcher mit dem Minus Pol des Lasers verbunden wird.</p>
<p><img decoding="async" class="aligncenter wp-image-967 zoooom" src="https://nerd-corner.com/wp-content/uploads/2021/07/GPIO.png" alt="Datenübertragung mittels Licht Pi" width="1500" height="1125" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/GPIO.png 1600w, https://nerd-corner.com/wp-content/uploads/2021/07/GPIO-300x225.png 300w, https://nerd-corner.com/wp-content/uploads/2021/07/GPIO-1024x768.png 1024w, https://nerd-corner.com/wp-content/uploads/2021/07/GPIO-768x576.png 768w, https://nerd-corner.com/wp-content/uploads/2021/07/GPIO-1536x1152.png 1536w" sizes="(max-width: 1500px) 100vw, 1500px" /></p>
<p>Die Solarzelle liefert je nach Lichtintensität einen entsprechenden Spannungswert. Da die digitalen Pins des Raspberry Pi aber nur 1 und 0 erkennen können, muss mit Hilfe eines Komparators der analoge Wert der Solarzelle in einen digitalen Wert gewandelt werden. Der Vorgang wird genauer im Abschnitt „ADC Board mit einem LM393 Komparator“ erläutert. Für die Verkabelung wird der Plus und Minus Pol der Solarzelle mit den Plus und Minus Kontakten des ADC Boards verbunden. Anschließend wird der Ground des ADC Boards an einen Raspberry Pi Ground verbunden und für die Spannungsversorgung der Plus Pol des ADC Boards mit 5V des Pi verbunden. Der D0 Pin des ADC Boards liefert den digitalen Wert 0 oder 1, abhängig von der Lichtintensität der Solarzelle. Diesen Pin habe ich mit GPIO17, welcher in der „wiringPi“ Library Pin 0 entspricht, verbunden.</p>
<p>Da mir aufgefallen ist, dass der Pi im Betrieb sehr heiß wird, habe ich noch einen Lüfter angeschlossen. Damit der Lüfter sich nicht dauerhaft im Betrieb befindet, was sich negativ auf die Leistung des Lasers auswirken würde, kann der Lüfter durch einen NPN Transistor geschalten werden. Hierfür verbindet man den Plus Pol des Lüfters direkt mit einem 5V Pin des Raspberry Pi und den Minus Pol des Lüfters mit dem Emitter des NPN Transistors. Der Collector des Transistors wird mit einem Ground des Pi verbunden. Um nun den Lüfter über den Transistor ein- und ausschalten zu können wird die Transistor Basis mit einem GPIO Pin verbunden. Ich habe beispielsweise GPIO27 (entspricht in der „wiringPi“ Library Pin 2) gewählt. In der Nachfolgenden Tabelle werden die Pins des Pi der Nummerierung der „wiringPi“ Library gegenüber gestellt.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-940 zoooom" src="https://nerd-corner.com/wp-content/uploads/2021/06/pinbelegung-Pi.png" alt="VLC Textnachrichten visuelle Lichtkommunikation wiringPi Datenübertragung mit Licht" width="599" height="295" srcset="https://nerd-corner.com/wp-content/uploads/2021/06/pinbelegung-Pi.png 600w, https://nerd-corner.com/wp-content/uploads/2021/06/pinbelegung-Pi-300x148.png 300w" sizes="auto, (max-width: 599px) 100vw, 599px" /></p>
<h2>ADC Board mit einem LM393 Komparator</h2>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-968 zoooom" src="https://nerd-corner.com/wp-content/uploads/2021/07/ADC-LM393.jpg" alt="ADC Board mit LM393 Komparator" width="450" height="319" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/ADC-LM393.jpg 771w, https://nerd-corner.com/wp-content/uploads/2021/07/ADC-LM393-300x213.jpg 300w, https://nerd-corner.com/wp-content/uploads/2021/07/ADC-LM393-768x545.jpg 768w, https://nerd-corner.com/wp-content/uploads/2021/07/ADC-LM393-120x85.jpg 120w" sizes="auto, (max-width: 450px) 100vw, 450px" /></p>
<p>Die Solarzelle gibt abhängig von der Lichtintensität einen Spannungswert zurück. Leider hat der Raspberry Pi aber keine analogen Pins um diesen Spannungswert auszulesen. Daher muss das analoge Signal in ein digitales Signal umgewandelt werden. Mit Hilfe des <a href="https://www.ti.com/product/LM393" target="_blank" rel="noopener">LM393</a> Komparators ist das möglich. Dieser ist häufig auf ADC Boards verbaut. Hier habe ich einfach den ursprünglichen Sensor (es war ein Fotowiderstand) durch die Solarzelle ersetzt. Mit Hilfe eines Potentiometers kann der Komparator eingestellt werden. Das bedeutet, sobald der Spannungswert der Solarzelle, welcher von der Lichtintensität abhängt, den eingestellten Wert des Potentiometers übersteigt, wird eine digitale 1 gemessen, anderenfalls eine digitale 0.</p>
<h2>Aufbau des Datenframes</h2>
<p><img loading="lazy" decoding="async" class="zoooom aligncenter wp-image-969" src="https://nerd-corner.com/wp-content/uploads/2021/07/MultipleFrames-1.jpg" alt="Aufbau Datenframe Lichtübertragung Daten Datentransfer mittels VLC" width="1300" height="469" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/MultipleFrames-1.jpg 1409w, https://nerd-corner.com/wp-content/uploads/2021/07/MultipleFrames-1-300x108.jpg 300w, https://nerd-corner.com/wp-content/uploads/2021/07/MultipleFrames-1-1024x369.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2021/07/MultipleFrames-1-768x277.jpg 768w" sizes="auto, (max-width: 1300px) 100vw, 1300px" /></p>
<p>Der Datenframe für das Versenden der Textnachrichten mittels visueller Lichtkommunikation (Link: <a href="https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/">https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/</a> ) bestand aus einer Preamble, der Länge der Textnachricht, dem Textinhalt und der zyklischen Redundanzprüfung. Um aber statt Textnachrichten alle möglichen Arten von Daten verschicken zu können muss anstelle der Länge der Textnachricht der Dateiname, die Dateiendung, die Gesamtzahl der Pakete und die Nummer des aktuellen Pakets angegeben werden. Anschließend kann der Dateninhalt und der Code der zyklischen Redundanzprüfung angefügt werden.</p>
<h2>Softwarecode für Datentransfer mittels VLC</h2>
<p>Im Grunde wurden die Empfänger- und Senderskripte aus dem vorherigen Projekt zum Senden von Textnachrichten mittels visueller Lichtkommunikation (Link: <a href="https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/" target="_blank" rel="noopener">https://nerd-corner.com/de/textnachrichten-mittels-lichtsignale-senden-pi-zu-arduino/</a> ) weiterentwickelt und zu einem gemeinsamen Skript zusammengefasst. Welches auf beiden Raspberry Pi’s Anwendung findet. Es wurde beispielsweise eine „ReadFile“ und „WriteFile“ Funktion ergänzt, welche Dateien einlesen und empfangene Datenpakete zu einer Datei zusammenfassen und abspeichern können. Das Programm wurde wieder in C geschrieben, da eine hohe Geschwindigkeit bei der Datenübertragung erreicht werden soll. Details zur präzisen Programmierung in C für eine schnelle Datenübertragung in diesem Beitrag: <a href="https://nerd-corner.com/de/wie-programmiert-man-einen-praezisen-timer-in-c-fuer-linux/" target="_blank" rel="noopener">https://nerd-corner.com/de/wie-programmiert-man-einen-praezisen-timer-in-c-fuer-linux/</a></p>
<p>Der gesamte Softwarecode zum Datentransfer mittels VLC kann am Ende des Artikels heruntergeladen werden. Der Kern des Programms ist wieder eine State Maschine mit Hilfe derer ausgewählt werden kann, ob Daten gesendet oder empfangen werden sollen. Außerdem schaltet das Programm automatisch den Lüfter an, wenn keine Datenübertragung stattfindet. Wichtig: Beim Kompilieren bitte nicht die „<a href="http://wiringpi.com/" target="_blank" rel="noopener">wiringPi</a>“ Bibliothek und die &#8222;math.h&#8220; Bibliothek vergessen! Der Befehl lautet: „gcc -o transceiver transceiver.c -lwiringPi -lm“</p>
<pre class="EnlighterJSRAW" data-enlighter-language="c" data-enlighter-group="transceiver" data-enlighter-title="transceiver.c">while(1)
    {
        digitalWrite (2, HIGH);
        printf("Press the R button for Receiver Mode or any other key for Sender Mode\n");
        scanf(" %c",&amp;mode);
        
        if (mode=='R'||mode=='r')
        {
            digitalWrite(2,LOW);
            modeReceiver=true;
        }
        
        if (mode!='R'&amp;&amp;mode!='r')
        {
            digitalWrite(2,LOW);
            modeReceiver=false;
            
            char dataName[NAME_MAX];
            char dataExtension[NAME_MAX];
            
               
            printf("\n Name of file WITHOUT extension: ");
            scanf("%s",dataName);

            printf("\n Extension: ");
            scanf("%s",dataExtension);

            if (read_file(dataName, dataExtension, file_content) != OK)
            {
                printf("File read error, size exceeds array size\n");
                return -1;
            }
            BuildDataFrame(dataName, dataExtension, file_content);
        }
        
        
        
        while(modeReceiver)
        {
            gettimeofday(&amp;tval_after, NULL);
            timersub(&amp;tval_after, &amp;tval_before, &amp;tval_result);
            double time_elapsed = (double)tval_result.tv_sec + ((double)tval_result.tv_usec/1000000.0f);
            
            while(time_elapsed &lt; 0.001)
            {
                gettimeofday(&amp;tval_after, NULL);
                timersub(&amp;tval_after, &amp;tval_before, &amp;tval_result);
                time_elapsed = (double)tval_result.tv_sec + ((double)tval_result.tv_usec/1000000.0f);
            }
            gettimeofday(&amp;tval_before, NULL);
            
            int data = digitalRead(0);
            
            
            switch (state)
            {
                case 0:
                    //looking for preamble pattern
                    synchro_Done=false;
                    LookForSynchro(data);
                    
                    if (synchro_Done==true)
                    {
                        state=1;
                    }
                    break;
                    
                case 1:
                    //receive the actual data
                    receiveData_Done=false;
                    senderState=false;
                    ReceiveData(data);
                    
                    if(receiveData_Done&amp;&amp;senderState==false)
                    {
                        state=0;
                    }
                    if(senderState==true){
                        senderState=false;
                        state=0;
                        modeReceiver=false;
                        }
                    break;
                  
            }
            
        }
    }</pre>
<p>&nbsp;</p>
<h2>Gehäuse</h2>
<p>Um die Komponenten an Ort und Stelle fixieren zu können, wurde im CAD ein Gehäuse konstruiert. Dies hat auch den Vorteil, dass keine komplizierte Ausrichtung der Laser und der Solarzellen für die Datenübertragung notwendig ist. Für Anfänger eignet sich TinkerCAD zum Gehäuse design. TinkerCAD ist kostenlos und kann direkt im Browser benutzt werden. Alternativ können die STL Files für den 3D Drucker auch hier heruntergeladen werden.</p>
<p><img loading="lazy" decoding="async" class="zoooom aligncenter wp-image-970" src="https://nerd-corner.com/wp-content/uploads/2021/07/gehaeuse-CAD.jpg" alt="Datenübertragung per Licht Gehäuse Datentransfer mittels VLC" width="600" height="530" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/gehaeuse-CAD.jpg 682w, https://nerd-corner.com/wp-content/uploads/2021/07/gehaeuse-CAD-300x265.jpg 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Das Gehäuse zum Datentransfer mittels VLC besitzt eine Öffnung für die Solarzelle und den Laser. Außerdem wurde ein Abluftschacht für den Lüfter konstruiert und zusätzlich Platz für ein Raspberry Pi Gehäuse frei gelassen. Im nachfolgenden Bild wird der Einbau der Komponenten dargestellt.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-971 zoooom" src="https://nerd-corner.com/wp-content/uploads/2021/07/assembly-end-scaled.jpg" alt="Datenübertragung per Licht Lifi VLC" width="2500" height="1875" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/assembly-end-scaled.jpg 2560w, https://nerd-corner.com/wp-content/uploads/2021/07/assembly-end-300x225.jpg 300w, https://nerd-corner.com/wp-content/uploads/2021/07/assembly-end-1024x768.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2021/07/assembly-end-768x576.jpg 768w, https://nerd-corner.com/wp-content/uploads/2021/07/assembly-end-1536x1152.jpg 1536w, https://nerd-corner.com/wp-content/uploads/2021/07/assembly-end-2048x1536.jpg 2048w" sizes="auto, (max-width: 2500px) 100vw, 2500px" /></p>
<h2>Fazit zum Datentransfer mittels VLC</h2>
<p>Es wurde das bereits bestehende System zum Senden von Textnachrichten mittels visueller Lichtsignale weiterentwickelt, sodass jetzt alle Arten von Daten gesendet und empfangen werden können. Das System funktioniert erstaunlich erfolgreich. Es ist sehr robust und erreicht eine Datenrate von 1 kBit/s bis 10 kBit/s. Alle ankommenden Datenpakete können durch den intelligenten Aufbau des Datenframes direkt zugeordnet werden. Lediglich ein Acknowledgement Signal wäre noch eine sinnvolle Ergänzung. Ein solches Signal wäre eine Rückmeldung vom Empfänger an den Sender um dem Sender mitzuteilen, dass alle Pakete angekommen sind, oder eventuell ein bestimmtes Paket fehlerhaft war und erneut gesendet werden muss.</p>
<p>Ebenfalls interessant für die Zukunft wäre andere Modulationsarten auszuprobieren. Besonders das speziell für visuelle Lichtkommunikation erdachte Colour Shift Keying würde ich gerne näher untersuchen und die daraus resultierenden Datenraten vergleichen.</p>
<p><img loading="lazy" decoding="async" class="zoooom aligncenter wp-image-972" src="https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-finish-scaled.jpg" alt="Datenübertragung per Licht Gehäuse Lifi VLC Datentransfer mittels VLC" width="2500" height="1125" srcset="https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-finish-scaled.jpg 2560w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-finish-300x135.jpg 300w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-finish-1024x461.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-finish-768x346.jpg 768w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-finish-1536x691.jpg 1536w, https://nerd-corner.com/wp-content/uploads/2021/07/Assembly-finish-2048x922.jpg 2048w" sizes="auto, (max-width: 2500px) 100vw, 2500px" /></p>
<h2>Dateien herunterladen:</h2>
<ul>
<li><a  data-e-Disable-Page-Transition="true" class="download-link" title="" href="https://nerd-corner.com/de/download/977/?tmstv=1755909297" rel="nofollow" id="download-link-977" data-redirect="false" >
	Softwarecode Transceiver</a>
</li>
<li><a href="https://cults3d.com/en/3d-model/various/visible-light-communication-pi-housing" target="_blank" rel="noopener">STL files housing</a></li>
<li><a  data-e-Disable-Page-Transition="true" class="download-link" title="" href="https://nerd-corner.com/de/download/991/?tmstv=1755909297" rel="nofollow" id="download-link-991" data-redirect="false" >
	Pi Case with free pins (Creative Common License from Thingiverse)</a>
</li>
</ul>
<p>&nbsp;</p>
<p>The post <a href="https://nerd-corner.com/de/upgrade-datentransfer-mittels-vlc-und-lifi-pi-zu-pi-uebertragung/">Upgrade: Datentransfer mittels VLC und LiFi – Pi zu Pi Übertragung</a> appeared first on <a href="https://nerd-corner.com/de">Nerd Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nerd-corner.com/de/upgrade-datentransfer-mittels-vlc-und-lifi-pi-zu-pi-uebertragung/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino Lüfter Steuerung</title>
		<link>https://nerd-corner.com/de/arduino-luefter-steuerung/</link>
					<comments>https://nerd-corner.com/de/arduino-luefter-steuerung/#comments</comments>
		
		<dc:creator><![CDATA[Nerds]]></dc:creator>
		<pubDate>Sat, 06 Feb 2021 14:10:59 +0000</pubDate>
				<category><![CDATA[Arduino Projekte]]></category>
		<category><![CDATA[Hardware-DE]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Lüfter]]></category>
		<category><![CDATA[Steuerung]]></category>
		<category><![CDATA[transistor]]></category>
		<guid isPermaLink="false">https://nerd-corner.com/?p=859</guid>

					<description><![CDATA[<p>Es gibt verschiedene Möglichkeiten die Geschwindigkeit bzw. Drehzahl eines Lüfters zu regulieren. Falls dein Lüfter einen PWM Anschluss hat, könnte man beispielsweise die Drehzahl über &#8230; </p>
<p>The post <a href="https://nerd-corner.com/de/arduino-luefter-steuerung/">Arduino Lüfter Steuerung</a> appeared first on <a href="https://nerd-corner.com/de">Nerd Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Es gibt verschiedene Möglichkeiten die Geschwindigkeit bzw. Drehzahl eines Lüfters zu regulieren. Falls dein Lüfter einen PWM Anschluss hat, könnte man beispielsweise die Drehzahl über den PWM direkt regulieren.</p>
<p>In diesem Beitrag zeigen wir dir wie sich die Drehzahl des Lüfters über die Spannung steuern lässt. Hierfür benötigt man lediglich die + und &#8211; Anschlüsse des Lüfters. Auch wenn es sich bei deinem Lüfter um einen Computerlüfter mit 3 oder 4 Anschlüssen handelt, brauchst du nur die + und &#8211; Anschlüsse.</p>
<p>Da wir hier mit einem 12V Lüfter arbeiten und der Arduino maximal 5V Ausgangsspannung leisten kann, ist eine externe Stromversorgung notwendig. Solltest du mit einem 5V Lüfter arbeiten, dann reicht natürlich die Ausgangsspannung des Arduino.</p>
<p><em><strong>Das könnte Dich auch interessieren:</strong> <a href="https://nerd-corner.com/de/android-bluetooth-classic-app-zur-arduino-steuerung/">Arduino per Bluetooth App steuern.</a></em></p>
<h2>Liste der Bauteile</h2>
<ul>
<li><a href="https://amzn.to/2UnkRnk" target="_blank" rel="noopener">Arduino Mega</a></li>
<li><a href="https://amzn.to/3zhDcke" target="_blank" rel="noopener">Steckbrett</a></li>
<li><a href="https://amzn.to/3BoFzDG" target="_blank" rel="noopener">12V Spannungsversorgung</a></li>
<li><a href="https://amzn.to/2VZRQyq" target="_blank" rel="noopener">12V Lüfter</a></li>
<li><a href="https://amzn.to/3xSmA2m" target="_blank" rel="noopener">Jumper Kabel</a></li>
<li><a href="https://amzn.to/3y5rp8N" target="_blank" rel="noopener">220 Ohm Widerstand</a></li>
<li><a href="https://amzn.to/3wTvKds" target="_blank" rel="noopener">NPN Transistor</a></li>
</ul>
<p><iframe loading="lazy" hcb-fetch-image-from="https://youtu.be/gY5d0foRP28" title="Arduino Fan Controller // With Arduino Code and Wiring // Full user guide // Step by Step" width="1200" height="675" src="https://www.youtube.com/embed/gY5d0foRP28?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>&nbsp;</p>
<h2>Verkabelung der Arduino Lüfter Steuerung</h2>
<p><img loading="lazy" decoding="async" class="wp-image-308 size-large zoooom aligncenter" src="https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor-1024x465.png" alt="arduino fan controller wiring fritzing" width="720" height="327" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor-1024x465.png 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor-300x136.png 300w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor-768x349.png 768w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor-1536x698.png 1536w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor-2048x930.png 2048w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor-1920x872.png 1920w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_ohne_bluetooth_mit_transistor.png 3858w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Für die Verkabelung gehen wir entsprechend der Skizze vor. Die 12V Spannungsversorgung wird an das Breadboard angeschlossen. Wir verbinden das &#8211; des Breadboards mit GND des Arduinos (kurze blaue Kabelverbindung im Bild). Anschließend wird das + des Breadboards mit Vin des Arduino Megas verbunden (rotes Kabel zwischen Arduino und Breadboard).</p>
<p>Würden wir unsere 12V Spannungsversorgung in die Steckdose stecken. Dann wäre unser Arduino jetzt bereits mit Strom versorgt. Es ist keine zusätzliche Stromversorgung für den Arduino notwendig. Der Vin Eingang reguliert die 12V automatisch auf die notwendigen 5V für den Arduino.</p>
<p>Ins <a href="https://de.wikipedia.org/wiki/Steckplatine">Breadboard</a> stecken wir jetzt unseren NPN Transistor. Die Basis (B) verbinden wir mit dem 220 Ohm Widerstand und anschließend auf den Pin 13 (gelbe Verbindung im Bild). Den Kollector (C) des Transistors verbinden wir direkt mit dem negativen Anschluss des Lüfters (schwarzes Lüfter Kabel). Der positive Lüfteranschluss wird mit dem + des Breadboards verbunden. Den Emitter (E) des Transistors verbinden wir mit dem &#8211; des Breadboards. Jetzt fehlt nur noch der Arduino Code.</p>
<h2>Der Code für die Arduino Lüfter Steuerung</h2>
<p><img loading="lazy" decoding="async" class="wp-image-307 zoooom aligncenter" src="https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_screenshot.jpg" alt="arduino code fan controller nerd corner" width="635" height="719" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_screenshot.jpg 636w, https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_screenshot-265x300.jpg 265w" sizes="auto, (max-width: 635px) 100vw, 635px" /></p>
<p>Der Arduino Code ist absolut simpel und lässt sich ohne großen Aufwand in jedes bestehende Arduino Programm integrieren. Da wir die Basis des Transistors mit Pin 13 verbunden haben, definieren wir diesen als „motorPin“. Über die Variable „speed“ lässt sich dann die Drehzahl des Lüfters steuern. Für die Drehzahl kann ein Wert zwischen 0 und 255 gewählt werden. Je nach Lüfter Modell ist aber eine Mindestdrehzahl notwendig, damit der Lüfter anläuft.</p>
<p>The post <a href="https://nerd-corner.com/de/arduino-luefter-steuerung/">Arduino Lüfter Steuerung</a> appeared first on <a href="https://nerd-corner.com/de">Nerd Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nerd-corner.com/de/arduino-luefter-steuerung/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Android Bluetooth classic App zur Arduino Steuerung (Lüfter)</title>
		<link>https://nerd-corner.com/de/android-bluetooth-classic-app-zur-arduino-steuerung/</link>
					<comments>https://nerd-corner.com/de/android-bluetooth-classic-app-zur-arduino-steuerung/#comments</comments>
		
		<dc:creator><![CDATA[Nerds]]></dc:creator>
		<pubDate>Wed, 06 Jan 2021 13:42:21 +0000</pubDate>
				<category><![CDATA[Arduino Projekte]]></category>
		<category><![CDATA[Hardware-DE]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[Bluetooth classic]]></category>
		<category><![CDATA[Lüfter]]></category>
		<category><![CDATA[Steuerung]]></category>
		<category><![CDATA[Xamarin]]></category>
		<category><![CDATA[Xamarin Android]]></category>
		<category><![CDATA[Xamarin Bluetooth]]></category>
		<guid isPermaLink="false">https://nerd-corner.com/?p=855</guid>

					<description><![CDATA[<p>Wir haben bereits einen Beitrag erstellt in dem wir erklären wie man Lüfter über die Spannung reguliert. Dabei ist es egal ob der Lüfter mit &#8230; </p>
<p>The post <a href="https://nerd-corner.com/de/android-bluetooth-classic-app-zur-arduino-steuerung/">Android Bluetooth classic App zur Arduino Steuerung (Lüfter)</a> appeared first on <a href="https://nerd-corner.com/de">Nerd Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Wir haben bereits einen Beitrag erstellt in dem wir erklären wie man Lüfter über die Spannung reguliert. Dabei ist es egal ob der Lüfter mit 12V oder 5V versorgt wird. Auch die Anzahl der Anschlüsse ist unwichtig. Man braucht nur + und &#8211; dafür. Jetzt wollen wir zusätzlich ein Bluetooth Modul mit dem Arduino verbinden und eine App schreiben mit der die Drehzahl des Lüfters verändert werden kann. So erhalten wir eine Bluetooth App Arduino Steuerung.</p>
<p><em><strong>Das könnte Dich auch interessieren:</strong> <a href="https://nerd-corner.com/arduino-luefter-steuerung/">Wie man eine Arduino Lüftersteuerung programmiert.</a></em></p>
<h2>Liste der Bauteile</h2>
<ul>
<li><a href="https://amzn.to/2UnkRnk" target="_blank" rel="noopener">Arduino Mega</a></li>
<li><a href="https://amzn.to/3zhDcke" target="_blank" rel="noopener">Steckbrett</a></li>
<li><a href="https://amzn.to/3BoFzDG" target="_blank" rel="noopener">12V Spannungsversorgung</a></li>
<li><a href="https://amzn.to/2VZRQyq" target="_blank" rel="noopener">12V Lüfter</a></li>
<li><a href="https://amzn.to/3xSmA2m" target="_blank" rel="noopener">Jumper Kabel</a></li>
<li><a href="https://amzn.to/3y5rp8N" target="_blank" rel="noopener">220 Ohm Widerstand</a></li>
<li><a href="https://amzn.to/3wTvKds" target="_blank" rel="noopener">NPN Transistor</a></li>
<li><a href="https://amzn.to/3Biw0pY" target="_blank" rel="noopener">Bluetooth Modul HC-05 oder HC-06</a></li>
</ul>
<p>&nbsp;</p>
<p><iframe loading="lazy" hcb-fetch-image-from="https://www.youtube.com/watch?v=sJ2Og_How2Y" title="Android Bluetooth classic App for Arduino fan control // Arduino Code and Wiring // Full user guide" width="1200" height="675" src="https://www.youtube.com/embed/sJ2Og_How2Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p><img loading="lazy" decoding="async" class="wp-image-323 size-large zoooom aligncenter" src="https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-1024x768.jpg" alt="Android Bluetooth app for arduino control nerd corner" width="720" height="540" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-1024x768.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-300x225.jpg 300w, https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-768x576.jpg 768w, https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-1536x1152.jpg 1536w, https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-2048x1536.jpg 2048w, https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-1920x1440.jpg 1920w, https://nerd-corner.com/wp-content/uploads/2020/03/IMG_20200311_134834-scaled.jpg 2560w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<h2>Verkabelung</h2>
<p><img loading="lazy" decoding="async" class="wp-image-324 size-large zoooom aligncenter" src="https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor-1024x588.png" alt="Android Bluetooth app for arduino control nerd corner" width="720" height="413" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor-1024x588.png 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor-300x172.png 300w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor-768x441.png 768w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor-1536x881.png 1536w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor-2048x1175.png 2048w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor-1920x1102.png 1920w, https://nerd-corner.com/wp-content/uploads/2020/03/fan_mit_bluetooth_mit_transistor.png 3858w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Für die Verkabelung gehen wir analog zu unserem ersten Beitrag zur Lüfter Steuerung vor. 12V Spannungsversorgung wird an das Breadboard angeschlossen. Wir verbinden das &#8211; des Breadboards mit GND des Arduinos (kurze blaue Kabelverbindung im Bild). Anschließend wird das + des Breadboards mit Vin des Arduino Megas verbunden (rotes Kabel zwischen Arduino und Breadboard).</p>
<p>Würden wir unsere 12V Spannungsversorgung in die Steckdose stecken. Dann wäre unser Arduino jetzt bereits mit Strom versorgt. Es ist keine zusätzliche Stromversorgung für den Arduino notwendig. Der Vin Eingang reguliert die 12V automatisch auf die notwendigen 5V für den Arduino.</p>
<p>Ins Breadboard stecken wir jetzt unseren NPN <a href="https://de.wikipedia.org/wiki/Transistor">Transistor</a>. Die Basis (B) verbinden wir mit dem 220 Ohm Widerstand und anschließend auf den Pin 13 (gelbe Verbindung im Bild). Den Kollector (C) des Transistors verbinden wir direkt mit dem negativen Anschluss des Lüfters (schwarzes Lüfter Kabel). Der positive Lüfteranschluss wird mit dem + des Breadboards verbunden. Den Emitter (E) des Transistors verbinden wir mit dem &#8211; des Breadboards.</p>
<p>Zusätzlich zu diesen bereits bekannten Schritten nehmen wir das Bluetooth Modul und verbinden Ground des Moduls mit Ground vom Arduino (schwarze Verbindung). VCC des Moduls wird mit 3,3V des Arduinos Verbunden (rote Verbindung). Falls kein 3,3V Anschluss vorhanden ist, kann auch der 5V Anschluss benutzt werden. TX des Bluetooth Moduls muss mit RX des Arduinos verbunden werden (oranges Kabel). RX des Moduls muss mit TX des Arduinos verbunden werden (lilanes Kabel). Also TX zu RX und RX zu TX. Also immer zum Pendant.</p>
<p>Wichtig: Während der Arduino Code auf den Arduino geflasht wird muss man RX und TX abstecken. Ansonsten funktioniert der Flashvorgang nicht!</p>
<h2>Programmierung der Android Bluetooth Classic App für den Arduino</h2>
<p>Wir programmieren eine reine Android App mit einem HC-05 oder alternativ HC-06 Bluetooth Modul. Es handelt sich dabei um Bluetooth Classic Module. Sie können kein Bluetooth 4.0 auch Bluetooth Low Energy (BLE) genannt. Für BLE würde unser Code ganz anders aussehen. Nachfolgend die Anleitung zur Programmierung. Alle wichtigen Dateien werden ebenfalls hochgeladen.</p>
<p>Als Entwicklungsumgebung für die Bluetooth App Arduino Steuerung nutzen wir Visual Studio (kostenlos) für eine Xamarin.Android App. In AndroidStudio ist der Ablauf analog, allerdings ist der Code dann in Java und nicht in C#.</p>
<p>Auf „Neues Projekt erstellen“ klicken und „Android-App (Xamarin)“ auswählen. Zunächst ergänzen wir die Bluetooth Berechtigungen zur „AndroidManifest.xml“ Datei:</p>
<pre>&lt;uses-permission android: name = "android.permission.BLUETOOTH" /&gt;
&lt;uses-permission android: name = "android.permission.BLUETOOTH_ADMIN" /&gt;</pre>
<p>Anschließend gestalten wir das Layout der Bluetooth App Arduino Steuerung in der „activity_main.xml“ Datei. Wir brauchen 2 Buttons für „Connect“ und „Disconnect“ und einen Slider für die Drehzahlregulierung. Für den Slider setzen wir den Maximalwert auf 255 (android:max=&#8220;255&#8243;).</p>
<p>In der „MainActivity.cs“ fügen wir „using Android.Bluetooth“ hinzu, legen eine „BluetoothConnection“ Klasse an und setzen unsere „activity_main.xml“ Datei als Startseite. Es wird ein Bluetooth Socket kreiert für die Verbindung zum Arduino. Den exakten Code am besten aus der beigefügten Datei entnehmen. Im Wesentlichen senden wir immer ein Byte zum Arduino. Das bedeutet wir können so Zahlen zwischen 0 und 255 senden. Für die Lüfter Steuerung nehmen wir den Bereich von 0 bis 127. Der Arduino verdoppelt diesen Wert und reguliert so den Lüfter der ebenfalls in einem Bereich zwischen 0 und 255 läuft. Der restliche Bereich zwischen 128 und 255 kann für weitere Funktionen genutzt werden. Jetzt nur noch die App kompilieren und schon haben wir sie auf unserem Handy.</p>
<p><span style="font-size: 1.125rem;">Der Code für die App basiert übrigens auf diesem Projekt hier: </span><a style="font-size: 1.125rem;" href="https://www.instructables.com/id/3-LED-Backlight-Xamarin-and-Arduino-With-HC05/" target="_blank" rel="noopener noreferrer">https://www.instructables.com/id/3-LED-Backlight-Xamarin-and-Arduino-With-HC05/</a></p>
<h2>Arduino Code</h2>
<p><img loading="lazy" decoding="async" class="wp-image-325 size-large zoooom aligncenter" src="https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_with_bluetooth_screenshot-1024x866.jpg" alt="arduino fan controller with bluetooth nerd corner" width="720" height="609" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_with_bluetooth_screenshot-1024x866.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_with_bluetooth_screenshot-300x254.jpg 300w, https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_with_bluetooth_screenshot-768x649.jpg 768w, https://nerd-corner.com/wp-content/uploads/2020/03/arduino_fan_controller_with_bluetooth_screenshot.jpg 1081w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<pre><code>#define motorPin 13
int received; //for the received Byte
int fanSpeed = 127; //initial speed - must be a number between 0 and 255
void setup() {
  Serial.begin(9600); //for communication with the app
  delay(3000); // small delay
  pinMode(motorPin, OUTPUT); //define motor pin as output
  analogWrite(motorPin,fanSpeed); //set the initial speed of the fan
}
void loop() {  
  while(Serial.available()) 
  {
     received = Serial.read(); //received Byte    
     Serial.println(received); //if the arduino is connected to the PC, than you can check the received Byte
     switch (received)  //you can easily add new cases to customize your arduino
     {
        case 200:
            Serial.println("RESTARTED");
            break;
        default:
            if(received &gt;0 &amp;&amp; received &lt;=127)
            {
              fanSpeed = (received*2); //app sends value between 0 and 127 - so we need to double it for the fan range between 0 and 255
              delay(10);
            }
            break;
     }  
  }
  analogWrite(motorPin,fanSpeed); //set the speed of the fan
}</code></pre>
<p>Bitte nicht vergessen vor dem Flashen des Arduino die RX und TX Verbindung abzuziehen und danach wieder richtig zu verbinden (RX zu TX und TX zu RX)!</p>
<p>Da wir die Basis des Transistors mit Pin 13 verbunden haben, definieren wir diesen als „motorPin“. Über die Variable „fanSpeed“ lässt sich dann die Drehzahl des Lüfters steuern. Zu Beginn setzen wir „fanSpeed“ auf die halbe Geschwindigkeit, also 127. (Je nach Lüfter Modell ist eine gewisse Mindestdrehzahl notwendig, damit der Lüfter anläuft.)</p>
<p>Wir definieren uns eine Variable „received“ in der wir das von der App gesendete Byte speichern. In der setup-Funktion starten wir die Kommunikation mit „Serial.begin“ und setzen die Baudrate auf 9600. Anschließend programmieren wir eine while-Schleife in der loop-Funktion. Die while-Schleife wird aktiv immer wenn ein Byte empfangen wird. Sollte der Wert des Bytes zwischen 0 und 127 liegen, dann verdoppeln wir diesen und definieren ihn als unsere neue Lüfter Drehzahl „fanSpeed“. Sobald die while-Schleife beendet ist wird die neue Geschwindigkeit für den Lüfter eingestellt mit „analogWrite(motorPin,fanSpeed);“</p>
<p><span style="font-size: 2rem;">Screenshots der Bluetooth App Arduino Steuerung</span></p>
<p>Bitte beachten, man muss sich zuerst in den Einstellungen mit dem Bluetooth Modul verbinden für die Bluetooth App Arduino Steuerung. Erst danach kann man sich in der App mit dem Arduino verbinden!</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-329 size-medium zoooom" src="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154409_com.companyname.fancontrollerbluetooth-150x300.jpg" alt="Screenshots Android App Bluetooth arduino control nerd corner" width="150" height="300" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154409_com.companyname.fancontrollerbluetooth-150x300.jpg 150w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154409_com.companyname.fancontrollerbluetooth-512x1024.jpg 512w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154409_com.companyname.fancontrollerbluetooth-768x1536.jpg 768w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154409_com.companyname.fancontrollerbluetooth-1024x2048.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154409_com.companyname.fancontrollerbluetooth.jpg 1080w" sizes="auto, (max-width: 150px) 100vw, 150px" /> <img loading="lazy" decoding="async" class="alignnone wp-image-330 size-medium zoooom" src="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154416_com.companyname.fancontrollerbluetooth-1-150x300.jpg" alt="Screenshots Android App Bluetooth arduino control nerd corner" width="150" height="300" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154416_com.companyname.fancontrollerbluetooth-1-150x300.jpg 150w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154416_com.companyname.fancontrollerbluetooth-1-512x1024.jpg 512w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154416_com.companyname.fancontrollerbluetooth-1-768x1536.jpg 768w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154416_com.companyname.fancontrollerbluetooth-1-1024x2048.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154416_com.companyname.fancontrollerbluetooth-1.jpg 1080w" sizes="auto, (max-width: 150px) 100vw, 150px" /> <img loading="lazy" decoding="async" class="alignnone wp-image-331 size-medium zoooom" src="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154426_com.companyname.fancontrollerbluetooth-150x300.jpg" alt="Screenshots Android App Bluetooth arduino control nerd corner" width="150" height="300" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154426_com.companyname.fancontrollerbluetooth-150x300.jpg 150w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154426_com.companyname.fancontrollerbluetooth-512x1024.jpg 512w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154426_com.companyname.fancontrollerbluetooth-768x1536.jpg 768w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154426_com.companyname.fancontrollerbluetooth-1024x2048.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154426_com.companyname.fancontrollerbluetooth.jpg 1080w" sizes="auto, (max-width: 150px) 100vw, 150px" /> <img loading="lazy" decoding="async" class="alignnone wp-image-332 size-medium zoooom" src="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154438_com.companyname.fancontrollerbluetooth-150x300.jpg" alt="Screenshots Android App Bluetooth arduino control nerd corner" width="150" height="300" srcset="https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154438_com.companyname.fancontrollerbluetooth-150x300.jpg 150w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154438_com.companyname.fancontrollerbluetooth-512x1024.jpg 512w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154438_com.companyname.fancontrollerbluetooth-768x1536.jpg 768w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154438_com.companyname.fancontrollerbluetooth-1024x2048.jpg 1024w, https://nerd-corner.com/wp-content/uploads/2020/03/Screenshot_20200311_154438_com.companyname.fancontrollerbluetooth.jpg 1080w" sizes="auto, (max-width: 150px) 100vw, 150px" /></p>
<h2>Download files</h2>
<ul>
<li><a  data-e-Disable-Page-Transition="true" class="download-link" title="" href="https://nerd-corner.com/de/download/340/?tmstv=1755909297" rel="nofollow" id="download-link-340" data-redirect="false" >
	Source Code Android App "FanControllerBluetooth"</a>
</li>
<li><a  data-e-Disable-Page-Transition="true" class="download-link" title="" href="https://nerd-corner.com/de/download/350/?tmstv=1755909297" rel="nofollow" id="download-link-350" data-redirect="false" >
	Arduino Code for the "FanControllerBluetooth" app</a>
</li>
<li><a  data-e-Disable-Page-Transition="true" class="download-link" title="" href="https://nerd-corner.com/de/download/345/?tmstv=1755909297" rel="nofollow" id="download-link-345" data-redirect="false" >
	Only MainActivity.cs AndroidMainfest.xml and activity_main.xml of the "FanControllerBluetooth" app</a>
</li>
</ul>
<p>The post <a href="https://nerd-corner.com/de/android-bluetooth-classic-app-zur-arduino-steuerung/">Android Bluetooth classic App zur Arduino Steuerung (Lüfter)</a> appeared first on <a href="https://nerd-corner.com/de">Nerd Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nerd-corner.com/de/android-bluetooth-classic-app-zur-arduino-steuerung/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
