53

Bluetooth-Modul

[Seeed Studio Grove – Serial Bluetooth V3.0]

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:

Weiterführende Hintergrundinformationen:

ZU ALLEN MATERIALIEN