====== Eigener serieller Anschluß für das Modul ====== Etwas lästig ist der Umstand, dass man zum Übertragen des Sketches jedes Mal die Datenpins des BT-Moduls entfernen muss. Dem kann abgeholfen werden, indem man eine Funktionsbibliothek verwendet, die es ermöglicht, einen weiteren Seriellen Port mit eigenem Namen zu erstellen. Am Beginn des Sketches muss dazu folgendes eingefügt werden: {{ .:auswahl_202.png |}} Im Weiteren müssen alle Bezüge auf die Serielle Schnittstelle, die bislang ''Serial.read()'' u.ä. gehießen haben ersetzt werden durch ''BtSerial.read()'' und analog: {{ .:auswahl_204.png |}} Verwende den folgenden Sketch als Basis für weitere Aufgaben. //Software Serial Port, um Pin 0 und 1 frelassen zu können #include #define rxPin 2 // Neuer receive Pin #define txPin 3 // Neuer transmit Pin // Definiere einen seriellen Anschluss mit den zuvor festgelegten Pins // Der Anschluss hat den Namen BtSerial SoftwareSerial BtSerial(rxPin, txPin); String message; //Zeichenkettenvariable void setup() { pinMode(13,OUTPUT); BtSerial.begin(9600); //set baud rate } void loop() { // Solange Eigaben ankommen.. while(BtSerial.available()) { message+=char(BtSerial.read());// Die Zeichen an die Zeichenkettenvaraible anhaengen } if(!BtSerial.available()) { if(message!="") {//Wenn eine Nachricht angekommen ist if (message == "h" ) { digitalWrite(13,HIGH); } if (message == "l" ) { digitalWrite(13,LOW); } BtSerial.println(message); //ausgeben! message=""; //Zeichenkettenvariable zuruecksetzen } } delay(20); //Alle 5 Sekunden } ---- {{:aufgabe.png?nolink |}} === (A1) === Übernehme des Sketch, versuche Ihn zu verstehen. Beschreibe auf einem Notizzettel, was der Sketch macht und teste, ob er funktioniert. Ändere die Anschlüsse für das BT Modul so, dass anstelle von Pin 2 und Pin 3, Pin 7 und Pin 8 für die Kommunikation verwendet werden. ---- {{:aufgabe.png?nolink |}} === (A2) === Baue eine ferngesteuerte Lichtorgel aus 4 LEDs. * Bei Eingabe von ''l'' soll ein Lauflicht erscheinen, das 5 Mal durchläuft * Bei Eingabe von ''z'' sollen die LEDs 10 Sekunden lang zufällig blinken (https://www.arduino.cc/en/Reference/Random) * Bei Eingabe von ''0'' sollen alle LEDs ausgeschaltet bleiben, bis ''1'' eingegeben wird. Erweitere deine Schaltung um einen Taster oder Schalter, der dafür sorgt, dass die Lichtorgel keine Befehle vom Handy entgegen nimmt, solange der Schalter gedrückt ist.