3.0 Schnittstellen und Module Überblick

  1. UART
    • Serieller Monitor
    • Bluetooth-Modul ansprechen
    • Beispiel Df-player mini
  2. I2C
    • LCD-Anzeige
    • BMP280 Drucksensor im I2C-Modus
    • Beispiel Automat im Museum Tübingen
  3. SPI
    • BMP280 Drucksensor im SPI-Modus

Bluetooth-Probleme

HC-05 Modul

Ich habe das AZ-Delivery HC-05 6-Pin Modul unter iOS und macOS ausprobiert: Da es sich um klassisches Bluetooth handelt ist eine Paarung mit Passwort notwendig. Das Modul wurde unter iOS nicht angezeigt, daher keine Paarung möglich. Unter macOS konnte ich paaren, allerdings war die Verbindung nicht stabil. Mit dem Taster auf dem Modul kann in den AT-Modus bei Spannung an oder mit dem Enable-Eingang=1 geschaltet werden.
Fazit: Besser nicht für den Unterricht verwenden.
Links:

HM-10 BLE 4.0 Modul

Ich habe das DSD TECH HM-10 Modul unter iOS ausprobiert mit : Funktioniert gut. Beim Sturm-Board gibt es nur Problem mit der Nähe zum LCD-Display.
Links:

Funduino Bluetooth Modul mit BLE – CC2541, HM10 HM-10 / iBeacon

Problem des Klons ist, dass beim Senden immer ein CR notwendig ist, Auto steuern mit BitBlue geht nicht. Mit BluetoothforArduino-App wird bei den eingestellten Zeichen des Gamepads (In-App-Kauf: 2,99€) das CR gesendet, damit könnte mit dem Modul gearbeitet werden. Allerdings hatte ich heute keinen Spass beim Testen damit, immer wieder Verbindungsabbrüche in der Schule, sind auch einige BLE-Geräte in der Umgebung..

Software fürs iPhone, iPad mit Funduino BLE Modul

Bin frustriert, nix funzt als GamePad richtig!

  • BitBlue: Erzeugt kein CR damit kann der Clon nix empfangen
  • BluetoothforArduino: Läuft in der Schule nicht stabil
  • Dabble: Getting Started with Dabble : Der Download der master.zip hat 0B, konnte die Lib nicht in Arduino installieren.
  • ArduinoBlue : Sendet auch kein CR kein Empfang
  • BLESerial tiny: Prima zum Testen, allerdings kein GamePad

Einfache Test-Software:

// Anschluss an Sturm-Board
#include <SoftwareSerial.h> // Wir verwenden Software Serial

#define BTRX PB11
#define BTTX PB10
#define ENABLE PB12
#define STATE PA1
#define LED D13

//SoftwareSerial SerialBT(BTRX, BTTX);
HardwareSerial SerialBT(BTRX,BTTX); // An den Pins geht ja auch Hardware https://github.com/stm32duino/Arduino_Core_STM32/wiki/API#hardwareserial
char c; 

void setup() {
  Serial.begin(9600); // über Pins D0, D1
  SerialBT.begin(9600);  // über Pins D2, D3
  Serial.println("Bluetooth-Verbindung...");
  delay(100);
  pinMode(LED, OUTPUT);
  pinMode(STATE,INPUT);
  Serial.println("Ende Setup");
}

void loop() {
  digitalWrite(LED,digitalRead(STATE));
  if (SerialBT.available()){      // Daten liegen an
    c = SerialBT.read(); // Nachricht lesen
    Serial.print(c); 
  }
  if (Serial.available()) {
    c = Serial.read();
    //Serial.print(c); 
    SerialBT.print(c);
  }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert