Springe zum Inhalt oder Footer
SerloDie freie Lernplattform

Bluetooth Controlpad

Die Bluefruit LE Connect App bietet iOS- und Android-Geräten eine Vielzahl von Tools zur Kommunikation mit deinem Feather Board.

Die iOS-App kann kostenlos aus dem App Store von Apple heruntergeladen werden.

Die Android-App kann kostenlos aus dem Google Play Store heruntergeladen werden .

Installiere die App auf deinem Smartphone, falls noch nicht getan.

Das Programm

Um die App zu verwenden, müssen wir zuerst ein kleines Programm erstellen. Kopiere den folgenden Code in eine neue Datei und speichere unter dem Namen bluefruitconnect_controlpad.py auf deinem Board.

1from adafruit_ble import BLERadio
2from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
3from adafruit_ble.services.nordic import UARTService
4from adafruit_bluefruit_connect.packet import Packet
5
6# Only the packet classes that are imported will be known to Packet.
7from adafruit_bluefruit_connect.button_packet import ButtonPacket
8
9ble = BLERadio()
10uart_server = UARTService()
11advertisement = ProvideServicesAdvertisement(uart_server)
12
13while True:
14    print("WAITING...")
15    # Advertise when not connected.
16    ble.start_advertising(advertisement)
17    while not ble.connected:
18        pass
19
20    # Connected
21    ble.stop_advertising()
22    print("CONNECTED")
23
24    # Loop and read packets
25    while ble.connected:
26
27        # Keeping trying until a good packet is received
28        try:
29            packet = Packet.from_stream(uart_server)
30        except ValueError:
31            continue
32
33        # Only handle button packets
34        if isinstance(packet, ButtonPacket) and packet.pressed:
35            if packet.button == ButtonPacket.UP:
36                print("Button UP")
37            if packet.button == ButtonPacket.DOWN:
38                print("Button DOWN")
39            if packet.button == ButtonPacket.LEFT:
40                print("Button LEFT")
41            if packet.button == ButtonPacket.RIGHT:
42                print("Button RIGHT")
43            if packet.button == ButtonPacket.BUTTON_1:
44                print("Button 1")
45            if packet.button == ButtonPacket.BUTTON_2:
46                print("Button 2")
47            if packet.button == ButtonPacket.BUTTON_3:
48                print("Button 3")
49            if packet.button == ButtonPacket.BUTTON_4:
50                print("Button 4")
51
52    # Disconnected
53    print("DISCONNECTED")

Die App

Bild

Aktiviere Bluetooth auf deinem Smartphone und starte die App.

Wähle unter Filter die Checkbox Must have UART Service

Tippe jetzt auf den CONNECT Button neben dem Namen deines Boards

Bild

Wähle das Modul Controller aus.

Bild

Wähle nun Control Pad.

Bild

Tippe auf einen der acht Bottons und beachte die Serielle Ausgabe im MU-Editor.

Gratulation, du kannst jetzt deinen Feather mit deinem Telefon steuern.

Schaffst du es, einen Servomotor per Smarphone anzusteuern?

Weiterführende Links


Dieses Werk steht unter der freien Lizenz
CC BY-SA 4.0Was bedeutet das?