Wegweiser

Zurück

Titelseite

Gabi

Haus

Bernd

Mobil

Schweden

Imperium

Dies & Das

Meine erste selbstgeschriebene und auch funktionierende App. Sie läuft auf einem Samsung Galaxy S4 (Android 4). Dank an den Spender.

Via Bluetooth wird ein Arduino angesteuert. Auf dem Arduino läuft ein Programm, das eine LED in 10 verschiedenen Varianten blinken lässt. Diese 10 Möglichkeiten werden mit dem Smartphone ausgewählt und an den Arduino gesendet. Der Arduino sendet an die App eine Rückmeldung, dass der Befehl ausgeführt wurde.

Als Bluetooth-Modul kommt ein HC-06 zum Einsatz, das für wenig Geld zu haben ist. Es wird ganz einfach mit dem Arduino verbunden, siehe auf dieser Seite..

AI2_1

Die App wurde entwickelt mit dem MIT AI2 (App Inventor 2).

Die Design-Ansicht der App

AI2_2

Die verwendeten Komponenten.

AI2_3
AI2_4
AI2_5
AI2_6
AI2_7
AI2_8
AI2_9
AI2_10
AI2_11

Der Versuchsaufbau, unten links das Modul HC-06.

Und hier noch der auf dem Arduino UNO laufende Sketch:

int LED=8;      // LED an Pin 8
int PAUSE;      // Wartezeit
int BLINKZEIT;  //fuer LED an/aus
byte KOMMANDO;  // Speichert erstes ankoomendes Byte
byte PARAMETER; // Speichert zweites ankommendes Byte
//+++++++++++++++++++++++++++++++++++++++++++++++++
void setup() {
    pinMode(13,OUTPUT);digitalWrite(13,LOW);
    pinMode(LED,OUTPUT);digitalWrite(LED,LOW);
    PAUSE=100;
    Serial.begin(9600);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++
void loop() 
{
    if(Serial.available()) 
    {
        KOMMANDO = Serial.read(); // BYTE 1 = KOMMANDO, hier 1 und 2
    }
    BLINKZEIT=0;
    if(KOMMANDO==1){BLINKZEIT=500;}
    if(KOMMANDO==2){BLINKZEIT=150;}
    if(BLINKZEIT>0)
    {
        PARAMETER=Serial.read(); //Byte 2 = PARAMETER, hier 1 bis 5
        SENDE_ZURUECK(KOMMANDO,PARAMETER);
        BLINKEN(PARAMETER);
        KOMMANDO=0;
    }
    delay(PAUSE);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++
void BLINKEN(int n) 
{
    for (int i=1; i<=n; i++) 
    {
        digitalWrite (LED,HIGH);
        delay (BLINKZEIT);
        digitalWrite (LED,LOW);
        delay(BLINKZEIT);
    };
    return;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++
void SENDE_ZURUECK(byte a,byte b)
{
    if (Serial)
    {
        //Sendet 2 Bytes an Android-Device, hier KOMMANDO und PARAMETER
        Serial.write(a);Serial.write(b);
    };
    return;
}