Mit der für Android und iOS verfügbaren App ArduinoBlue lassen sich LEDs und Motoren mit Buttons, einem virtuellen Joystick und Schiebereglern steuern. es muss allerdings die Bibliothek ArduinoBlue installiert werden.
Joystick
Das dazugehörige 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);
}
Buttons
Das dazugehörige 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;
}
}
Schieberegler
Das dazugehörige 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: