Arduino – Bluetooth – Android – LEDs

Arduino – Bluetooth – Android – LEDs

Entdecke die perfekte Kombination aus Arduino, Bluetooth, Android und LEDs!

Du willst die Welt der Elektronik erkunden und mit deinem Smartphone interagieren? Dann ist die Kombination aus Arduino, Bluetooth, Android und LEDs genau das Richtige für dich! In diesem Artikel erfährst du, wie du diese Technologien miteinander verbinden und beeindruckende LED-Projekte erstellen kannst.

Die Herausforderung mit der Methode von jurs

Bei der Methode von jurs wird der Eingang ununterbrochen “abgehört”. Das bedeutet, dass jede Sekunde hunderte Farbwerte an das Arduino gesendet werden. Verständlicherweise kommt es dabei zu Verwirrungen und das Arduino verliert die Zuordnung.

Die Lösung: Der String-Trick

Um dieses Problem zu umgehen, kannst du den String in Teile mit einer Länge von 63 Zeichen aufteilen. Dabei reservierst du die ersten 3 Stellen, um die Anzahl der Zeichen anzugeben. Auf diese Weise weiß das Arduino, wie viele Zeichen es empfangen soll und kann sie entsprechend zuordnen.

Feste Kommandos – Vor- und Nachteile

Eine alternative Lösung besteht darin, feste Kommandos zu verwenden. Das Arduino würde der App mitteilen, wie viele Elemente es für sie hat, z.B. den Modusnamen, den Farbkreis und die Helligkeitseinstellungen. Obwohl dies logisch erscheint, könnte es performancebezogene Nachteile haben. Mehrere Einzelverbindungen sind meiner Meinung nach weniger effizient und darauf kommt es letztendlich an.

Die Länge der Zeichenkette

Ich habe herausgefunden, dass die Übertragung vom Arduino zum Handy keine Probleme mit langen Zeichenketten hat. Es können problemlos bis zu 1000 Zeichen empfangen werden. Daher sollten die Zeichen in Richtung Arduino so kurz wie möglich gehalten werden. Immerhin müssen die Namen und die Werte nicht übertragen werden.

LESEN  Zu viele BWLer und Abiturienten? Ein Blick auf die Abbrecherquote

String-Zusammenstellung im Sketch

Jetzt stehen wir jedoch vor einem kleinen Problem. Das Arduino soll einfach zu beschreiben sein, damit die App es lesen und verstehen kann. Dazu muss das Arduino zwei Dinge erreichen: Erstens soll ein String erstellt werden, der alle Modi mit Nummer und Namen auflistet. Zweitens soll ein String erstellt werden, der alle Einstellungsparameter für jeden Modus enthält.

Eine Möglichkeit, dies umzusetzen, ist wie folgt:

//Initialisierung der Variablen
String ModusNummer = ""; 
String ModusName = ""; 
String sendModeInitial = ""; 

//START KONSTRUKT VOR JEDEM MODUS
//Eindeutige Nummer beginnend ab 1
ModusNummer = "1";
ModusName = "Regenbogen-Fade";
sendModeInitial += ModusNummer + ":" + ModusName + "|";
//ENDE KONSTRUKT VOR JEDEM MODUS

void RegenbogenFade(int Geschwindigkeit, int Helligkeit) {
  //Deine Methode für den Regenbogen-Fade
}

Serial.println(sendModeInitial);

Dies macht es auch Anfängern leicht, den Sketch zu verstehen und zu verwenden. Aber wir müssen noch einen Schritt weitergehen. Wenn Modus 1 ausgewählt wird, müssen alle Parameter mit ihren Minimal-, Maximal- und Standardwerten sowie deren Namen und Darstellungsoptionen (SeekBar, Farbkreis usw.) übertragen werden.

Die Umsetzung könnte folgendermaßen aussehen:

String ParameterName= "";
String ParameterDarstellung= "";
String ParameterVon= "";
String ParameterBis= "";
String ParameteDefault= "";
String sendModeExplicit = "";

if (gewählterModus == 1) {
  //Konstrukt für jeden Parameter
  ParameterName= "Geschwindigkeit";
  ParameterDarstellung= "SeekBar";
  ParameterVon= "0";
  ParameterBis= "1000"; 
  ParameteDefault= "333"; 
  sendModeExplicit += ParameterName + "," + ParameterDarstellung + "," + ParameterVon + "," + ParameterBis + "," + ParameteDefault + ",";

  //Konstrukt für jeden Parameter
  ParameterName= "Helligkeit"; 
  ParameterDarstellung= "SeekBar"; 
  ParameterVon= "0"; 
  ParameterBis= "100"; 
  ParameteDefault= "50";
  sendModeExplicit += ParameterName + "," + ParameterDarstellung + "," + ParameterVon + "," + ParameterBis + "," + ParameteDefault + ",";
}

Serial.println(sendModeExplicit);

Dieser Ansatz mag etwas komplexer sein, aber er ermöglicht es, alle Parameter eines Modus zusammenzuhalten. Ideen und Vorschläge sind immer willkommen!

Fazit

Die Kombination aus Arduino, Bluetooth, Android und LEDs bietet grenzenlose Möglichkeiten, um faszinierende Projekte zu erschaffen. Egal, ob du Anfänger oder Experte bist, es ist wichtig, dass dein Code leicht zu verstehen und zu verwenden ist. Also, lass deiner Kreativität freien Lauf und tauche ein in die Welt der Elektronik!

LESEN  PDF-Dateien können nicht geöffnet werden? Beheben Sie das Problem ganz einfach

Liebe Grüße!