HC-05 an ftduino

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
herbert1
Beiträge: 12
Registriert: 16 Okt 2019, 15:34

HC-05 an ftduino

Beitrag von herbert1 » 03 Jul 2020, 14:23

Hallo zusammen,
an meinen Arduino Uno habe ich ein Bluetooth Modul HC-05 an TX Pin2 und RX Pin3 angeschlossen.

Kann ich es auch an meinen ftduino anschliessen und wenn ja wo? Gibt es da auch TX und RX?

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

Re: HC-05 an ftduino

Beitrag von juh » 03 Jul 2020, 17:53

Hallo Herbert,

nein, die einzigen Pins, die direkt rausgeführt sind, sind die I2C-Pin, da könnte man theoretisch was mit SoftSerial machen.

RX und TX liegen über einen 10k Widerstand und mit 10k pullup an C1 und C2, s. Schaltplan im Manual. Ob man serielle Kommunikation mit dieser Beschaltung zum Laufen bringen könnte, weiß ich nicht.

Allgemein haben die bluetooth Module alle 3,3V Logik, kommt also noch das level shifting dazu, wobei es manchmal ja auch ohne geht...

Letzte Möglichkeit, die mir einfällt, wäre eine UART-I2C Brücke, z.B. so was.

Insgesamt wahrscheinlich irgendwie machbar, aber nicht gerade geradlinig.

vg
Jan

Benutzeravatar
fishfriend
Beiträge: 1794
Registriert: 26 Nov 2010, 11:45

Re: HC-05 an ftduino

Beitrag von fishfriend » 03 Jul 2020, 19:57

Hallo...
Ich hatte auch schon daran gedacht es zu machen.
An einem Arduino Uno ist geht man auch zwischen den AVR und dem USB-Bereich.
Am ftduino sind keine Punkte vorgesehen um darnzukommen.
Dennoch sollte es genau so gehen wie am Uno.
Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

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

Re: HC-05 an ftduino

Beitrag von MasterOfGizmo » 03 Jul 2020, 21:52

Edit: Zu Bluetooth am ftDuino gibt es nun ein eigenes Kapitel: https://harbaum.github.io/ftduino/manua ... tion.6.19

Wie beim Uno geht's nicht, da der ftDuino nicht vom Uno sondern vom Leonardo abstammt und USB nicht über den UART des AVR geht.

Es dürfte ein paar Möglichkeiten geben.
  • der schon erwähnte I2C-UART. So welche habe ich sogar hier liegen, aber nie getestet. Sollte ich vielleicht mal tun
  • Statt I²C-UART einfach einen weiteren Arduino (z.B. Nano) nehmen und den zwischen I2C und UART übersetzen lassen. Dürfte einfacher zu besorgen sein, ist aber mehr Arbeit.
  • An die TXD1 und RXD1-Leitungen des AVR im ftDuino gehen. RXD1 liegt wie schon erwähnt am Zählereingang C1. Das ist Absicht, denn die fischertechnik-Ultraschall-Sensoren reden auch über UART und die kann man eben an C1 anschließen. TXD1 liegt an Zähereingang C2. Bei beiden muss man aber ein wenig zwischen HC05 und ftDuino übersetzen. An RXD1 sehe ich kein Problem, das sollte m.E. einfach direkt gehen, der Pullup solte nicht stören. An TXD1, den man dann ja als Ausgang nutzen würde wäre der Serienwiderstand R41 zusammen mit dem Pullup störend und das Ausgangssignal würde nur zwischen 5V und 2,5V wechseln, statt zwischen 5V und 0V wie es soll. Das dürfte man aber mit etwas Glück mit einem externen Pull-Down so weit runterziehen können, dass der angeschlossene HC05 "high" und "low" unterscheiden kann, wenn er nicht zuviel Hysterese an seinen Eingängen hat. Schlimmstenfalls muss man einen OP-Amp oder ähnlich dazwischen schalten.
  • Soft-Serial auf den I2C-Pins dürfte auch gehen und die Pullups dort dürften m.E. nicht stören. Allerdings ist Soft-Serial nicht sehr zuverlässig und beisst sich leicht mit anderen Sachen, die Interrupts verwenden. Vielleicht kann man auch eine Mischung bauen und RXD1 direkt nutzen, aber über einen der I2C-Pins per Soft-Serial senden.
Es geht sicher was, aber ein wenig Trickserei und Hirnschmalz wird man reinstecken müssen. Ich muss mir mal einen HC05 bestellen, glaube ich. Den Bedarf für Bluetooth sehe ich ja durchaus auch ...
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:48, 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: HC-05 an ftduino

Beitrag von MasterOfGizmo » 03 Jul 2020, 22:45

Edit: Zu Bluetooth am ftDuino gibt es nun ein eigenes Kapitel: https://harbaum.github.io/ftduino/manua ... tion.6.19

Hab' mal was gesucht und gegooglet. Also:
  • Die meisten Beispiele zum HC05 im Internet nutzen den Soft-Serial. Das sollte an den beiden I²C-Pins also gehen
  • Einen CJMCU-750 I2C-UART habe ich. Muss ich mir mal anschauen. Der Chip da drauf läuft mit 3,3V, das Board hat einen Spannungsregler für 5V-Betrieb, die IOs sind 5V-tolerant, liefern aber selbst nur 3,3V. Das ist ausgezeichnet, denn:
  • Der HC05 wird zwar mit 5V versorgt, mag an seinen RX und TX-Pins aber nur 3,3V. Da könnten die beiden 5V-Pullups an den I2C-Anschlüssen im ftDuino bei SoftSerial-Betrieb über I2C schädlich sein. Aber genau die Levelshifter, die wir eh beim I²C regelmäßig dort anschließen dürften auch dem HC05 gut tun
Fazit: Hab' mir mal ein HC05 bestellt und werde da mal ein paar Versuche zu machen. Ein Bluetooth-Modul für den ftDuino wäre schon fein ...
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:48, insgesamt 1-mal geändert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

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

Re: HC-05 an ftduino

Beitrag von Dirk Fox » 03 Jul 2020, 23:19

Hallo zusammen,

mit den HC-05 und HC-06-Modulen und dem Arduino habe ich im Zusammenhang mit unserem Buch experimentiert - ich wollte gerne eine Bluetooth-Fernsteuerung für den Buggy und den Flitzer haben. Drei wichtige Erkenntnisse:

- Erstens: Es ist ein ziemliches Gefrickel; erst werden mit AT-Befehlen Einstellungen vorgenommen, dann muss man Pairen.

- Zweitens: Der Betrieb mit 5V ist m.E. unkritisch; ich habe keinen Bericht gefunden, nach dem die Module schlapp gemacht hätten, weil man die 3,3-V-Logik mit 5V betreibt. Habe ich auch gemacht, denn einen Level-Shifter kann man am Arduino ohne Steckbrett (Prototype Shield) schlecht unterbringen, und das wiederum beißt sich mit unserer Verkabelung am Flitzer.

- Drittens: Wenn man eine hübsche Steuerung via Smartphone möchte, schränkt ein HC-05/-06 die Möglichkeiten ein: iOS-Geräte können nämlich nur BLE (Bluetooth 4.x), und das können HC-05/-06 nicht.

Im Buch habe ich mich daher für eine Funk-Fernsteuerung entschieden.

Kürzlich habe ich mir mehrere HM-10-Module besorgt. Sie sind auch via SoftSerial über jeden Arduino-Pin ansteuerbar - und können BLE (verbrauchen praktisch keinen Strom und verbinden ohne Pairing und Pin). Seit gestern laufen Buggy und Flitzer Bluetooth-gesteuert. Mehr Details demnächst auf unserer Buch-Webseite... es gibt ein paar *geniale* Apps für Android und iOS für die Steuerung...

Die ftDuino-Sketche zu unseren Modellen sind auch in Arbeit - da wäre es tatsächlich fein, wenn der ftDuino ein Bluetooth-Modul unterstützen würde. Wenn Du daran gehst, Till, dann solltest Du gleich ein HM-10 verwenden...

Beste Grüße,
Dirk

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: HC-05 an ftduino

Beitrag von Karl » 04 Jul 2020, 00:56

Hallo,
tolle Sachen baut ihr mit Fischertechnik.
Zu dem Bluetooth-Modulen eine Frage und zwar folgende.
Angeboten werden viele HM-10 als kompatible Typten mit folgendem Textzusatz,
"AT-09 CC2540 CC2541 Bluetooth BLE 4.0 Modul für Arduino UART RX TX".
AT-09 scheint wohl der Hinweis auf die Befehle zu sein.
BLE 4.0 ist sicherlich die moderne "spritsparende" Variante und UART-TX-RX sind
mir klar.
Was bedeuten allerdings die Bezeichnungen, CC2540 CC2541, gibt es davon mehrere
Versionen und wenn, was ist zu beachten ? :?

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

Re: HC-05 an ftduino

Beitrag von juh » 04 Jul 2020, 02:47

Hallo Karl,

das sind die auf den Modulen verbauten Chips.

Diese bluetooth Module sind insgesamt eine Wissenschaft für sich. Schon hardwareseitig gibt es Dutzende Varianten HC-..., HM-..., Klone als JDY-... mit unterschiedlichen Chips und dann kommt noch die Firmware dazu. Der Blick ins Datenblatt wird knifflig, weil das richtige manchmal gar nicht so klar zu finden ist.

Für Bastler interessant sind die rohen Module, denn die haben z.B. teilweise auch noch konfigurierbare IO-pins an Bord, die man per AT-Befehl ansprechen kann.

Zu kaufen gibt es meist die Module mit Adapterplatine mit nur 5 oder 6 pins, die dann Spannungsregler, Status-LEDs etc. an Bord haben und nur RX, TX und AT-Modus-pin rausführen oder einen Taster dafür haben. Auch von diesen Adapterplatinen gibt es dutzende Varianten.

Das Thema Firmware ist insofern interessant, als man hier teilweise Features nachrüsten kann, die nur auf teureren Modulen verfügbar sind (wobei das rein preislich keinen großen Ausschlag gibt), z.B. hier beim HC-05 oder hier beim HM-10.

Zum Thema 5V-tolerant (@Dirk) kann ich aus eigener Hand nicht viel sagen, da ich meine Tests mit ESP8266ern gemacht habe, die selbst mit 3,3V laufen, viele Beispiele haben aber zumindest an RX einen Spannungsteiler, da kommt es wohl auch auf das konkrete Modul an.

Eine sehr gute Quelle ist Martyn Currey (z.b. hier zum HM-10), aber da sieht man auch sofort die Tiefe des Themas.

Zum Thema BLE / HM-10 ist zu sagen, dass man zwar Kompatibilität mit iPhones gewinnt, aber Abwärtskompatibilität zu BT 3.0 verliert, das sind zwei unterschiedliche Standards. Bluetooth dongles etc. sind dann wohl nicht möglich, auch HC-05 <> HM-10 Verbindungen gehen nicht. Selbst bin ich mit den HC-... relativ flott zu Ergebnissen gekommen, beim HM-10 ist es mir nicht so recht gelungen, einen BLE-Joystick zum Laufen zu bringen, da muss ich aber auch zugeben, dass ich da nicht mehr besonders in die Tiefe gegangen bin, denn das ist wie gesagt ein Zeitgrab.

Lustig an der Sache ist der AT-Modus. Schöner Flashback, wenn man noch mit Modems und Homecomputer seine ersten Schritte in die vernetzte Welt gemacht hat...

vg
Jan

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: HC-05 an ftduino

Beitrag von Karl » 04 Jul 2020, 07:39

Hallo Jan,
danke für die Antwort. Dachte schon es wären zwei, evtl. teilweise, verschiedene Modelle.
Softwareseitig habe ich mich schon im elektrischen Netz umgeschaut und auch Unterschiede
gelesen. Den von Dir aufgeführten Link betreffend Quelle ist Martyn Currey habe ich auch
schon auf dem Schirm gehabt.

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: HC-05 an ftduino

Beitrag von Karl » 04 Jul 2020, 10:14

Hallo,
es gibt ein Config-Tool für diverse Blauzahn-Transceiver, u. a. auch für den HM-10.
http://www.dsdtech-global.com/2017/11/d ... -tool.html
https://drive.google.com/file/d/1TZ0W3A ... Xyu1-/view
Vorschau funktionierte bei mir nicht, download, entzippen und *.exe aufrufen schon.

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

Re: HC-05 an ftduino

Beitrag von MasterOfGizmo » 04 Jul 2020, 15:39

Der übliche Ebay-"CJMCU 750" auf Basis des "SC16IS750" läuft ganz fein am ftDuino und stellt einen UART an der I²C-Schnittstelle zur Verfügung. Nun warte ich mal auf einen Schwung Bluetooth-Module, die ich bestellt habe.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: HC-05 an ftduino

Beitrag von Karl » 04 Jul 2020, 16:30

Hallo,
mal eine blöde Frage; "Kann man zwei "ftduinos" oder evtl. mehrere, jeder "ftduino" mit einem Bluetooth-Modul versehen, direkt
miteinander, bzw. untereinander "quatschen" lassen ? So eine Art "Modell-WLan" ?

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

Re: HC-05 an ftduino

Beitrag von Dirk Fox » 04 Jul 2020, 17:19

Hallo Karl,
Karl hat geschrieben:
04 Jul 2020, 16:30
Kann man zwei "ftduinos" oder evtl. mehrere, jeder "ftduino" mit einem Bluetooth-Modul versehen, direkt miteinander, bzw. untereinander "quatschen" lassen?
natürlich kann man auch zwei Controller miteinander "Pairen".
Ob das mit dem ftDuino geht, ist noch zu klären - mit dem Arduino ist das kein Problem: Eines der Module wird dafür in den "Slave", eines in den "Master"-Modus versetzt (über AT-Befehle).

Das ging sogar schon mit den TX-Controllern - theoretisch; praktisch hat das m.W. nicht so richtig stabil funktioniert. Mit den TXTs sollte es ebenfalls (in ROBO Pro) funktionieren; das habe ich aber noch nicht ausprobiert.

Beste Grüße,
Dirk

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: HC-05 an ftduino

Beitrag von Karl » 04 Jul 2020, 22:44

Hallo Dirk,
danke für die Infos.

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

Re: HC-05 an ftduino

Beitrag von juh » 05 Jul 2020, 17:50

Hallo,

noch zwei weitere Lösungsideen:

Habe ich selbst noch nicht getestet, aber es gibt auch BT-Module mit I2C-Interface an Bord: https://www.mouser.de/ProductDetail/Mic ... 3I2Q%3D%3D

Oder man dreht die Geschichte um und lässt einen BT-fähigen Controller wie den ESP32 den ftDuino mit Slave-Sketch per I2C ansteuern. Programmieren lässt sich der wie der Arduino/ftDuino, läuft aber auch nur mit 3,3V, braucht also noch einen level shifter. WLAN wäre dann nebenbei auch noch dabei.

vg
Jan

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

Re: HC-05 an ftduino

Beitrag von MasterOfGizmo » 07 Jul 2020, 15:25

Edit: Zu Bluetooth am ftDuino gibt es nun ein eigenes Kapitel: https://harbaum.github.io/ftduino/manua ... tion.6.19

Die Module sind vor ein paar Minuten angekommen. Erste Ergebnisse:
  • Der bereits erwähnte SC16IS750 funktioniert am I²C des ftDuino und man kann darüber HC05, HC06 und HM10 ansteuern. Man muss dazu etwas löten. Das dokumentiere ich die nächsten Tage noch
  • SoftSerial am I²C-Anschluss des ftDuino geht leider nicht. Die beiden dort anliegenden Pins 2 und 3 sind laut SoftSerial-Dokumentation beide nicht als Empfangsleitungen (RX) nutzbar
  • Serial1 an ftDuino-Zählereingang C1 geht aber als RX. Man kann also die TXD-Sende-Leitung des Bluetooth-Moduls direkt an C1 als Empfänger (RX) anschließen. TX/senden vom ftDuino (z.B. über C2) habe ich noch nicht probiert, aber rein BT-TXD -> ftDuino-C1/RX erlaubt es, den ftDuino per Bluetooth fernzusteuern
Dirk hat mich auf eine nette Smartphone-Anwendung hingewiesen: ArduinoBlue (gibt's für IOS und Android, ich habe nur Android ausprobiert). Damit kann man sowohl über den SC16IS750, als auch direkt am C1-Anschluss den ftDuino per HM10-Modul vom Smartphone aus steuern.

Soweit für die, die direkt experimentieren wollen. Für alle anderen arbeite ich das noch etwas aus und dokumentiere es in der Anleitung des ftDuino.
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:49, 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: HC-05 an ftduino

Beitrag von MasterOfGizmo » 07 Jul 2020, 16:28

Edit: Zu Bluetooth am ftDuino gibt es nun ein eigenes Kapitel: https://harbaum.github.io/ftduino/manua ... tion.6.19

C2 als Sendeleitung in Richtung HC05 geht auch, wenn man einen 2,7k-Widerstand zwischen C2 und GND schaltet. Damit gibt es zwei Methoden, diese Module am ftDuino zu betreiben:
  • Elegant per SC16IS750 (z.B. als CJMCU-750) via I²C
  • oder etwas rustikaler direkt an C1/C2 des ftDuino
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:49, 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: HC-05 an ftduino

Beitrag von MasterOfGizmo » 08 Jul 2020, 14:54

Edit: Zu Bluetooth am ftDuino gibt es nun ein eigenes Kapitel: https://harbaum.github.io/ftduino/manua ... tion.6.19

Der sauberste Weg, das HC05, HC06 oder HM10 an den ftDuino anzuschließen sieht so aus:
i2c_uart.png
i2c_uart.png (39.75 KiB) 8270 mal betrachtet
Das in der Mitte ist ein CJMCU-750. Und im echten Leben sieht das so aus:
i2c_uart_hm10.jpg
i2c_uart_hm10.jpg (49.78 KiB) 8267 mal betrachtet
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:49, insgesamt 1-mal geändert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: HC-05 an ftduino

Beitrag von PHabermehl » 08 Jul 2020, 17:27

Sehr schön!

Kriegt man das bisschen Bluetooth nicht noch auf die Platine des ftDuino für die nächste Revision?

Gruß Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

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

Re: HC-05 an ftduino

Beitrag von Dirk Fox » 08 Jul 2020, 19:27

Hallo zusammen,

die von Till erwähnte App "ArduinoBlue" (gibt es für iOS und Android) ist genial - sie übermittelt über BLE Steuerungsdaten ("virtueller Joystick"), konfigurierbare Knöpfe, die Neigungsdaten (umgerechnet auf eine Skala von 0-99) und Textnachrichten an den Arduino und kann von diesem Textnachrichten empfangen. Die Auswertung der Daten ist mit der ArduinoBlue-Bibliothek ein Kinderspiel. Inzwischen lassen sich Buggy und Flitzer damit steuern; die Sketche und die Beschreibung des Anschlusses des HM-10-Moduls gibt es in Kürze auf unserer Buch-Webseite...
ArduinoBlue.PNG
ArduinoBlue.PNG (138.05 KiB) 8215 mal betrachtet

Antworten