Das Bluetooth-Modul ermöglicht es Informationen, Befehle und Daten kabellos zwischen mehreren Endgeräten oder Mikrocontrollern zu übertragen. So können beispielsweise zwei Arduinos untereinander oder auch ein Arduino mit einem Smartphone kommunizieren. Damit das funktioniert, wird auf dem Smartphone ein Terminal benötigt, über das Befehle empfangen und gesendet werden können. Ein Beispiel-Link zu einem solchen Terminal findet ihr unter „Wichtige Links“. Das Bluetooth-Modul lässt sich direkt oder mithilfe des Grove Shields an einen Arduino oder Raspberry Pi über die serielle Schnittstelle UART anschließen und zusätzlich über bestimmte Befehle programmieren. So kann beispielsweise ein Bluetooth-Pin oder der angezeigte Bluetooth-Name eingestellt werden.
Alle weiteren Hintergrundinformationen sowie ein Beispielaufbau und alle notwendigen Programmbibliotheken sind auf dem offiziellen Wiki (bisher nur in englischer Sprache) von Seeed Studio zusammengefasst. Zusätzlich findet man über alle gängigen Suchmaschinen meist nur mit der Eingabe der genauen Komponenten-Bezeichnungen entsprechende Projektbeispiele und Tutorials.
#include <SoftwareSerial.h> // Software Serial Port #define RxD 6 #define TxD 7 #define PINBUTTON 5 // pin of button #define DEBUG_ENABLED 1 SoftwareSerial blueToothSerial(RxD,TxD); void setup() { Serial.begin(9600); pinMode(RxD, INPUT); pinMode(TxD, OUTPUT); pinMode(PINBUTTON, INPUT); setupBlueToothConnection(); //wait 1s and flush the serial buffer delay(1000); Serial.flush(); blueToothSerial.flush(); } void loop() { static unsigned char state = 0; // led off if(digitalRead(PINBUTTON)) { state = 1-state; Serial.println("button on"); blueToothSerial.print(state); delay(10); while(digitalRead(PINBUTTON)) // until button release { delay(10); } Serial.println("button off"); } } /*************************************************************************** * Function Name: setupBlueToothConnection * Description: initilizing bluetooth connction * Parameters: * Return: ***************************************************************************/ void setupBlueToothConnection() { blueToothSerial.begin(9600); blueToothSerial.print("AT"); delay(400); blueToothSerial.print("AT+DEFAULT"); // Restore all setup value to factory setup delay(2000); blueToothSerial.print("AT+NAMESeeedMaster"); // set the bluetooth name as "SeeedMaster" ,the length of bluetooth name must less than 12 characters. delay(400); blueToothSerial.print("AT+ROLEM"); // set the bluetooth work in slave mode delay(400); blueToothSerial.print("AT+AUTH1"); delay(400); blueToothSerial.print("AT+CLEAR"); // Clear connected device mac address delay(400); blueToothSerial.flush(); }
Wichtige Links für die ersten Schritte:
Projektbeispiele:
- Funduino – Bluetooth (nur ein anderes Modul)
Weiterführende Hintergrundinformationen:
- I2C – Wikipedia Artikel
- SPI – Wikipedia Artikel
- UART – Wikipedia Artikel
- Bluetooth – Wikipedia Artikel
- GitHub-Repository: Bluetooth-Modul