Bluetooth am ftDuino

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 12 Jul 2020, 21:36

Edit: Inzwischen gibt es eine professionelle Lösung für Bluetooth am ftDuino:
https://www.mintronics.de/btadapter

------

Nachdem das Thema im Parallelthread aufkam und dort über die Zeit entwickelt wurde gibt es nun ein zusätzliches Kapitel im Handbuch des ftDuino:

In der PDF-Anleitung findet sich das neue Kapitel hier, online in der HTML-Version findet es sich hier.

Viel Spass.
Zuletzt geändert von MasterOfGizmo am 07 Jan 2021, 11:20, insgesamt 1-mal geändert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 12 Jul 2020, 21:40

Tipp dazu: Wer Spass am grafischen Programmieren hat und ein Android-Handy besitzt könnte sich mal den AppInventor anschauen. Dort lassen sich in Baukastensystem einfache Apps bauen. Dazu gibt es sogar Bluetooth-Unterstützung sowohl für SPP (HC-05) als auch BLE (HM-10). Man kann sich damit also seine persönliche Fernsteuerapp zusammenklicken.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Hugo
Beiträge: 9
Registriert: 12 Jul 2020, 11:19

Re: Bluetooth am ftDuino

Beitrag von Hugo » 13 Jul 2020, 22:03

Das klappt alles bereit recht toll

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 13 Jul 2020, 22:11

Und es wird noch besser:

Mit dem AppInventor-Projekt unter

https://github.com/harbaum/ftduino/rele ... noHM10.aia

kann man eigene Roboter bauen und zunächst mit ArduinoBlue programmieren. Danach kann man im Appinventor auf Basis dieses Projekts ein neu eigene App zum Modell schreiben.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Bluetooth am ftDuino

Beitrag von juh » 16 Jul 2020, 00:51

Hallo zusammen,

zunächst mal: Hut ab, Till, was Du hier in kurzer Zeit schon wieder auf die Beine gestellt hast. Und gleich auch ein neues Kapitel für's Handbuch mit Topp-Erklärungen ergänzt, super. Einen wichtigen Tipp könntest Du noch aufnehmen: bei Android+BLE muss man nicht nur Bluetooth sondern auch die location services (sprich: GPS) aktivieren, damit das Smartphone das HM-10 findet, zumindest bei meiner nicht mehr ganz aktuellen Android-Version.

Ich habe diese Lösungsvariante aus dem Ursprungsthread mal beim Wort genommen
MasterOfGizmo hat geschrieben:
03 Jul 2020, 21:52
Es dürfte ein paar Möglichkeiten geben.
  • An die TXD1 und RXD1-Leitungen des AVR im ftDuino gehen.
und meinen ftDuino ein wenig gemoddet, um RX/TX/5V/GND und zwei weitere pins direkt nach außen zu führen. Eine leicht modifizierte Unterseite des Gehäuses habe ich aus Deinem STL aus github erstellt, dank der topp Dokumentation der Bemaßung im Anhang des Manuals war das noch einfacher. Die Bluetooth Module können damit direkt angesteckt werden.

Die AVR-pins werden bei der Modifikation an den Widerständen der Schutzschaltungen abgegriffen. Ich habe v1.2 des Boards, bei v1.1 ist das Layout glaube ich ein wenig anders:

web_DSC_2520_captions.jpg
web_DSC_2520_captions.jpg (132.16 KiB) 5619 mal betrachtet

So sieht das Ganze mit angestecktem Modul aus:

web_DSC_2552.JPG
web_DSC_2552.JPG (69.03 KiB) 5619 mal betrachtet

Von Außen ist die Modifikation kaum erkennbar:

web_DSC_2555.JPG
web_DSC_2555.JPG (92.66 KiB) 5619 mal betrachtet
web_DSC_2549.JPG
web_DSC_2549.JPG (74.25 KiB) 5619 mal betrachtet

Die an den markierten Stellen angelöteten Litzen werden durch eine neu angebrachte Vertiefung in der Gehäuseinnenseite (leider auf dem Foto kaum zu erkenne) auf die Platinenunterseite geleitet:

web_DSC_2539.JPG
web_DSC_2539.JPG (98.05 KiB) 5619 mal betrachtet

Eine 8-polige Präzisionsbuchsenleiste rastet ohne Kleber in die entsprechende Aussparung ein, die 2 extra-Pins außen dienen als mechanischer Halt:

web_DSC_2522.JPG
web_DSC_2522.JPG (129.51 KiB) 5619 mal betrachtet

Im Prinzip könnte man hier die Litzen direkt anlöten, ich wollte es steckbar haben und daher noch zusätzlich eine kurze 6-polige Präzisionsbuchsenleiste als Stecker verwendet:

web_DSC_2528.JPG
web_DSC_2528.JPG (105.37 KiB) 5619 mal betrachtet

So sieht das modifizierte Gehäuse aus, bei Bedarf stelle ich die Datei gerne z.B. als commit zur Verfügung. Leider habe ich aus Versehen nicht die letzte Version gedruckt, die Beschriftung fehlt daher auf meinen Fotos:

Screenshot_20200716_000451.png
Screenshot_20200716_000451.png (82.64 KiB) 5619 mal betrachtet

Die Nutzung des Mods ist nicht auf Bluetooth Module beschränkt. Die Pins können wie normale Arduino-Pins angesprochen werden, z.B. so:

Code: Alles auswählen

  pinMode(0, INPUT_PULLUP);  // RX/INT2 <--> BT TX
  pinMode(1, INPUT_PULLUP);  // TX/INT3 <--> BT RX
  pinMode(9, INPUT_PULLUP);  // PCINT5  <--> BT STATE
  pinMode(10, INPUT_PULLUP); // PCINT6  <--> BT ENable
Man könnte damit z.B. auf pin 9 den STATE-pin der BT-Module abfragen, um den Verbindungsstatus auszulesen. Oder hat ohne BT vier direkte Eingänge für sonstige Anwendungen.

vg
Jan
Zuletzt geändert von juh am 16 Jul 2020, 01:28, insgesamt 1-mal geändert.

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Bluetooth am ftDuino

Beitrag von juh » 16 Jul 2020, 01:21

Und auch ein erster kurzer Test mit Infrarot-Empfänger war erfolgreich:

DSC_2557.JPG
DSC_2557.JPG (91.44 KiB) 5616 mal betrachtet

Damit steht neben Bluetooth noch eine zweite sehr einfache Möglichkeit zur Fernbedienung zur Verfügung. 433Mhz RF-Module wie das von Dirk und Thomas empfohlene RXB8 sollten auch gehen und wären dann die dritte neue Möglichkeit.

vg
Jan

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 16 Jul 2020, 09:00

Wow. Sehr cool. So einen Stecker hätte ich mal direkt auf dem Board als Bestückoption vorsehen sollen. Aber das nachzurüsten wird kaum gehen. Ich glaube nicht, dass ich irgendwo am Platinenrand noch den nötigen Platz auf der Untersseite habe. Aber das schaue ich mir mal an.

Und der Rest Deiner Beschreibungen ist ja auch fast zu schade, um hier im Forum zu altern. Ggf. mache ich daraus (mit Deiner Erlaubnis natürlich) einen Abschnitt im Community-Kapitel der Anleitung.

Till
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1833
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Bluetooth am ftDuino

Beitrag von Dirk Fox » 16 Jul 2020, 09:05

Hallo Jan,

sehr cool! Wenn ein Gehäuse so "gemodded" wird, heißt das ja umgekehrt, dass es eigentlich schon zum "Establishment" gehört ;-)
Und mit der IR-Empfängerdiode laufen jetzt auch die IR-Fernsteuerungen aus unserem Buch auf dem ftDuino...

Sehr fein.

Herzlicher Gruß,
Dirk

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 16 Jul 2020, 09:15

Ich würde annehmen, dass Du die IR-Empfänger-Diode auch einfach direkt an C1 anschließen kannst. Mal schauen, ob ich noch eine in irgendeiner Grabbelkiste finde ...
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 16 Jul 2020, 15:25

Das sehe ich ja jetzt erst, dass das gar kein von mir "ab Werk" installiertes Display in Deinem ftDuino ist. Ist das mit dem schwarzen Plasik der Anschlussstifte nicht etwas zu dick, um unter den Deckel zu passen? Ich entferne den Plastikteil immer und verwende stattdessen etwas dickeres Doppelklebeband, um das Display auf der Platine zu befestigen.

Hast Du den Bootloader angepasst? Die "OLED"-Version schreibt einen ftDuino-Schriftzug beim Booten auf's Display.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Bluetooth am ftDuino

Beitrag von juh » 16 Jul 2020, 19:31

MasterOfGizmo hat geschrieben:
16 Jul 2020, 09:00
Und der Rest Deiner Beschreibungen ist ja auch fast zu schade, um hier im Forum zu altern. Ggf. mache ich daraus (mit Deiner Erlaubnis natürlich) einen Abschnitt im Community-Kapitel der Anleitung.
Klar, gerne. Der Vollständigkeit halber hier noch mal die Belegung im Bild, STL und FCStd schicke ich Dir per Mail.

web_DSC_2549_captions.jpg
web_DSC_2549_captions.jpg (58.47 KiB) 5455 mal betrachtet

Gerade habe ich die vier Pins auch noch mal als Ausgänge getestet, digitalWrite() funktioniert soweit einwandfrei.

Dass mit PCINT5 und PCINT6 zusäztlich die Pins der Counter-Eingänge genutzt wurden, hat den Vorteil, dass beide Interrupt-Pins und beide PWM-fähig sind. Wobei ich nicht tief genug in die ftDuino-Interna geschaut habe, um zu sehen, wie sich Beides mit der Standardfirmware beißt. Ein PWM per analogWrite() auf den Pins 9 und 10 ging jedenfalls im Test nur ohne Import der ftDuino.h. Ich nehme an bei den Interrupts wäre es ähnlich, was meine optimistische Aussage zu RF-Empfangsmodulen wieder relativieren würde, da die in der Regel mit einem der Interrupts arbeiten. Oder würde hier die lokale ftduino.h|c des ArduinoBlue-Sketches helfen?
MasterOfGizmo hat geschrieben:
16 Jul 2020, 15:25
Das sehe ich ja jetzt erst, dass das gar kein von mir "ab Werk" installiertes Display in Deinem ftDuino ist. Ist das mit dem schwarzen Plasik der Anschlussstifte nicht etwas zu dick, um unter den Deckel zu passen? Ich entferne den Plastikteil immer und verwende stattdessen etwas dickeres Doppelklebeband, um das Display auf der Platine zu befestigen.

Hast Du den Bootloader angepasst? Die "OLED"-Version schreibt einen ftDuino-Schriftzug beim Booten auf's Display.
Ja, das habe ich selbst nachgerüstet, und ja, der Pinsockel ist etwas zu dick, man sieht auf meinem vierten Foto oben auch, dass es den Deckel ein ganz wenig wölbt. Hat bisher nicht wirklich gestört, werde ich aber noch mal umlöten. Und nein, bisher ist der alte Bootloader drauf. Zum Ansteuern verwende ich die wunderbare U8g2 Library von Oli Kraus. Bei der Adafruit Library hat mich immer gestört, dass man das Display im Quelltext der Library selbst ändern musste, was nervt, wenn man unterschiedliche nutzt.

vg
Jan

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Bluetooth am ftDuino

Beitrag von MasterOfGizmo » 17 Jul 2020, 13:24

juh hat geschrieben:
16 Jul 2020, 19:31
Ein PWM per analogWrite() auf den Pins 9 und 10 ging jedenfalls im Test nur ohne Import der ftDuino.h.
Keine Ahnung, was da kollidiert. Kann aber gut sein, dass man die Pins aus der ftduino.cpp entfernen muss.
juh hat geschrieben:
16 Jul 2020, 19:31
Bei der Adafruit Library hat mich immer gestört, dass man das Display im Quelltext der Library selbst ändern musste, was nervt, wenn man unterschiedliche nutzt.
Das hat sich geändert und man muss nun einfach den richtigen Include wählen. Aber ja, u8g hat noch mehr Vorteile. Wenn man die simpel-Version nimmt hält sie z.B. kein Abbild des Videoinhaltes im Speicher und man spart 512 Bytes wertvolles RAM.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Antworten