3.0 Schnittstellen und Module Überblick
- UART
- Serieller Monitor
- Bluetooth-Modul ansprechen
- Beispiel Df-player mini
- I2C
- LCD-Anzeige
- BMP280 Drucksensor im I2C-Modus
- Beispiel Automat im Museum Tübingen
- 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:
- Amazon: DSD TECH HM-10 Bluetooth 4.0 BLE iBeacon UART Modul mit 4 PIN Base Board für Arduino UNO R3 Mega 2560 Nano
- HM-10 Bluetooth MASTER/SLAVE Modul BT 4.0 BLE (für iOS)
- iOS-Software BitBlue
- Heise: Bluetooth: Auf den blauen Zahn gefühlt
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);
}
}