Blue­tooth mit ArduinoBlue

Lese­zeit: 2 Minu­ten

Mit der für Android und iOS ver­füg­ba­ren App Ardui­no­Blue las­sen sich LEDs und Moto­ren mit But­tons, einem vir­tu­el­len Joy­stick und Schie­be­reg­lern steu­ern. es muss aller­dings die Biblio­thek Ardui­no­Blue instal­liert werden.


Sketch → Biblio­thek ein­bin­den → Biblio­the­ken verwalten

Joy­stick

Bluetooth-Modul scan­nen

Ein­stel­lun­gen

Joy­stick

Das dazu­ge­hö­ri­ge Programm:

# include <SoftwareSerial.h>
# include <ArduinoBlue.h> 

int GELB = 6; 
SoftwareSerial bluetooth(2, 3); 
ArduinoBlue Telefon(bluetooth); 

void setup() 
{ 
  Serial.begin(9600); 
  bluetooth.begin(9600);
  pinMode(GELB , OUTPUT); 
} 

void loop() 
{ 
  /* 
    get.Throttle Bewegung des Joysticks vertikal abfragen 
    get.Steering Bewegung des Joysticks horizontal abfragen 
  */ 
  int JoystickBewegungVertikal = Telefon.getThrottle();
  if (JoystickBewegungVertikal != 49) analogWrite(GELB, map(JoystickBewegungVertikal, 0, 99, 0, 255));
  else analogWrite(GELB, 0); 
}

But­tons

Bluetooth-Modul scan­nen

Ein­stel­lun­gen

Kom­man­do hinzufügen

Name des Buttons

But­tons hin­zu­fü­gen und speichern
But­tons verwenden

Das dazu­ge­hö­ri­ge Programm:

# include <SoftwareSerial.h>
# include <ArduinoBlue.h>

int GRUEN = 7;
int GELB = 6;
int ROT = 5;

// zeigen den aktuellen Schaltzustand an
// false -> aus , true -> an
bool RotSchalten = false;
bool GelbSchalten = false;
bool GruenSchalten = false;

SoftwareSerial bluetooth(2, 3);
ArduinoBlue Telefon(bluetooth);

void setup()
{
  Serial.begin(9600);
  bluetooth.begin(9600);
  pinMode(ROT, OUTPUT);
  pinMode(GELB , OUTPUT);
  pinMode(GRUEN, OUTPUT);
}

void loop()
{
  // ID des gedrückten Buttons
  int Button = Telefon.getButton();
  
  if (Button == 1)
  {
    if (!RotSchalten) digitalWrite(ROT, HIGH);
    else digitalWrite(ROT, LOW);
    RotSchalten = !RotSchalten;
  }

  if (Button == 2)
  {
    if (!GelbSchalten) digitalWrite(GELB, HIGH);
    else digitalWrite(GELB, LOW);
    GelbSchalten = !GelbSchalten;
  }

  if (Button == 3)
  {
    if (!GruenSchalten) digitalWrite(GRUEN, HIGH);
    else digitalWrite(GRUEN, LOW);
    GruenSchalten = !GruenSchalten;
  }
}

Schie­be­reg­ler

Bluetooth-Modul scan­nen

Ein­stel­lun­gen

Befehl zuord­nen

Name des Schiebereglers

Spei­chern

Schie­be­reg­ler

Das dazu­ge­hö­ri­ge Programm:

# include <SoftwareSerial.h>
# include <ArduinoBlue.h>

// muss ein PWM-Pin sein
int GELB = 6;

SoftwareSerial bluetooth(2, 3);
ArduinoBlue Telefon(bluetooth);

void setup()
{
  Serial.begin(9600); 
  bluetooth.begin(9600);

  pinMode(GELB , OUTPUT);
}

void loop()
{
  // ID des Schiebereglers
  int SchiebereglerID = Telefon.getSliderId();

  // nur dann schalten, wenn der Slider bewegt wird (ungleich -1)
  int SchiebereglerWert = Telefon.getSliderVal();

  if (SchiebereglerID == 1)
  {
    if (SchiebereglerWert != -1)
    {
      analogWrite(GELB, map(SchiebereglerWert, 0, 200, 0, 255));
    }
  }
}

Letzte Aktualisierung: 21. Nov 2020 @ 19:10