HC-05 an ftduino

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

Re: HC-05 an ftduino

Beitrag von MasterOfGizmo » 09 Jul 2020, 09:35

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

Es geht wie gesagt auch viel einfacher:
hm10_serial1.png
hm10_serial1.png (48.43 KiB) 7939 mal betrachtet
Hier ist nur die Empfangsleitung angeschlossen und die Kommunikation geht nur vom BT-Modul zum ftDuino, aber nicht umgekehrt. Das ist z.B. für eine Modellfernbedienung per ArduinoBlue völlig ausreichend. Das hat beim Einsatz mit Kindern sogar einen großen Vorteil: Man kann das BT-Modul nicht "verkonfigurieren".

Ich habe auch schon eine Version, die den Port C2 für die Gegenrichtung verwendet, aber zwei weitere Teile benötigt (einen Widerstand und eine LED (das wird für Physiklehrer interessant, denn die LED wird hier nicht wegen ihrer optischen, sondern wegen ihrer elektrischen Eigenschaften genutzt)). Dazu später mehr.

Diese einfache Version sieht dann in der Realität so aus:
ftduino_hm10_c1.jpg
ftduino_hm10_c1.jpg (143.27 KiB) 7939 mal betrachtet
Erste Code-Beispiele (auch für die vorige I2C-Uart-Version) gibt es unter https://github.com/harbaum/ftduino/tree ... /Bluetooth
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 » 09 Jul 2020, 10:35

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

Diese "einfach-Lösung" ist übrigens kein so hässlicher Hack, wie es auf den ersten Blick scheint. Tatsächlich verwenden 99% der Bluetooth-Beispiele für den normalen Arduino die SoftSerial-Bibliothek, da bei den klassischen Arduinos (Uno und Co) der eine vorhandene Hardware-UART bereits für USB verwendet wird. Die ftDuino-einfach-Lösung nutzt dagegen den Hardware-UART des ftDuino. Das geht, da der Prozessor des ftDuino USB direkt unterstützt und der Hardware-UART daher nicht für USB zweckentfremdet werden muss.

SoftSerial scheint auf den ersten Blick praktisch und zuverlässig, allerdings wird es schnell zum Problem, wenn der Arduino noch komplexe Dinge nebenbei erledigen soll. Dann steht nicht genug Rechenleistung für die Software-Steuerung des SoftSerial zur Verfügung. Der Hardware-UART des ftDuino erledigt die wesentlichen Aspekte der Datenübertragung dagegen in Hardware und ein durch andere Softwarekomponenten "abgelenkter" Prozessor fällt kaum ins Gewicht.

Das Bluetooth-Modul direkt in den ftDuino zu verbauen hat m.E. gleich diverse Nachteile: Erstens ist da kaum genug Platz, das Modul müsste also auf die Unterseite der Platine, was die Sache teuer und Aufwändig macht und ich bin nicht sicher, ob der Platz im Gehäuse reicht. Zweitens müsste man sich dann auf ein Bluetooth-Modul festlegen und hätte nur Classic-Bluetooth per HC05 oder HC06 oder aber nur BLE per HM10. Man könnte nicht eben mal wechseln. Und drittens sind diese Module nicht sehr sende- und empfangsstark. Da wäre es nicht hilfreich, wenn das Modul sich zusärtlich in der Nähe der Kupferflächen und Leiterbahnen des ftDuino befindet. Als externes Modul kann man es leicht ein paar cm außer Reichweite aller Störsignale bringen und so die magere Reichweite nicht noch mehr beeinträchtigen.
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
fishfriend
Beiträge: 1819
Registriert: 26 Nov 2010, 11:45

Re: HC-05 an ftduino

Beitrag von fishfriend » 09 Jul 2020, 14:19

Hallo...
Kleine Anmerkung:
Achtung: HC05 <> HC05
Es gibt verschiedene Module!
Ja, das wollte mir ein Händler auch nicht glauben. Ich hatte verschiedene bei zwei Bestellungen bekommen.
Bei manchen gibt es z.B. keine Verbindung zum Pin. Ich hab lange gesucht und lange experimentiert bis ich auf die Lösung gekommen bin.
Leider gibt es auch -verschiedene- (!) Datenblätter.
Um -alle- AT-Befehle zu bekommen muss man zum Programmieren den Taster gedrückt halten.
Ich hab dann einfach eine Wäscheklammer genommen.
Wenn man das nicht macht, hat man nur eine begrenze Auswahl der AT Befehle.

Ich hab mir aus Spass verschiedene Module mal bestellt.
Auf manchen sind einfach mehr Bauteile drauf. Es gibt auch welche die angeblich 5,5V vertragen. Ich habs nicht ausprobiert. Die Widerstände sind nicht so ganz das Problem - finde ich. Manche Anleitungen im www machen es einfach mit 5V ohne darauf einzugehen...
Es gibt auch welche, die nicht mit allen anderen HC05 (also von anderen Firmen) kommunizieren wollen.

Der große Vorteil von den HC05 ist aber auch, wenn man einen, wie auch immer riechenden Kurzschluss hat, ist der schon mal weg vom PC.

Um nicht bei dem alten Standart zu bleiben, würde ich vorschlagen neue Module mit dem neusten BLE zu nehmen. Gerade die Ortung über das Antennen-Array wird sehr sehr viele Möglichkeiten zur Positionsbestimmung im Raum bringen. Roboter, Ladestationen... sind nicht nur in Richtung sondern auch in der Entfernung bestimmbar. Auch der Energieverbrauch ist nun minimal.
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 » 09 Jul 2020, 15:42

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

Es ist gar nicht so kompliziert. In 99% der Fälle bemerkt der User nicht, was für eine genaue Version er hat und er wird das Modul in keiner Weise irgendwie konfigurieren wollen. Diese Dinger sind alle brauchbar ab Werk eingestellt. Man schließt sie einfach an, verbindet sich mit PC oder Smartphone und los geht's. Diese ganzen "AT-Kommandos" braucht man dafür erstmal nicht und man muss auch keine Tasten am Gerät drücken oder sowas.

Eine einzige Entscheidung muss man treffen: HC05 oder HM10. Und das ist recht einfach: Wer gerne vom PC aus per virtuellem COM-Port Daten über Bluetooth mit dem Duino austauschen will nimmt irgendein HC05/HC06 und wer primär mit dem Smartphone Spass haben will nimmt den HM10. Und mehr muss man erstmal nicht wissen und nicht können. Damit hat man dann ein paar Tage bis Wochen Spass und wenn man _dann_ irgendwelche Spezialfeatures nutzen will, dann hat man auch genug Know-How gesammelt und kann sich mit den Details auseinandersetzen.
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:50, 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 » 09 Jul 2020, 21:19

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

Und nun die einfache bidirektionale Version:
hm10_serial1_bidir.png
hm10_serial1_bidir.png (52.1 KiB) 7830 mal betrachtet
Hier kommen wie gesagt ein 100k-Ohm-Wiederstand (da kann man den aus dem ft-Elektronikkasten nehmen) und eine LED zum Einsatz. Als LED gehen leider nicht die weissen aus den ft-Kästen. Aber praktisch jede andere billige Siliziumleuchtdiode geht. Das Problem mit C2 ist nämlich, dass er am ftDuino ein Eingang ist und eine Eingangsschutzschaltung hat. Wenn man ihn als Ausgang nimmt hat man dummerweise Signalpegel zwischen 2,5 und 5 Volt. Das Bluetooth-Modul erwartet aber irgendwas kleiner 0,8V also Low und irgendwas zwischen zwei und 3,3V als high. Hier kommt die Leuchtdiode ins Spiel. Diese einfachen Leuchtdioden haben einen Spannungsabfall von ca. 2Volt. Aus 2,5 und 5V werden also 0,5 und 3 Volt. Da die Leuchtdiode in eine Richtung sperrt sorgt der 100k-Widerstand dafür, dass das Signal auch wirklich auf 0,5V sinkt.

Bei der Leuchtdiode kommt es auf die korrekte Polarität an. Sie muss mit dem langen Bein (der Anode) an den C2-Anschluss des ftDuino. Wenn sie richtig angeschlossen ist leuchtet sie sogar ganz schwach.

Damit kann man HC05, HC06 und HM10 am ftDuino bidirektional betreiben. Man muss nicht löten, ein paar ft-Steckerchen reichen.

Und das sieht dann so aus:
ftduino_hm10_c1_c2.jpg
ftduino_hm10_c1_c2.jpg (117.65 KiB) 7830 mal betrachtet
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:50, insgesamt 1-mal geändert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

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

Re: HC-05 an ftduino

Beitrag von juh » 09 Jul 2020, 22:31

@Holger, dass verschiedene Module nicht miteinander reden können, habe ich noch nicht erlebt, im Gegenteil, bei mir konnte z.B. ein HC-05 gut mit einem HC-05-kompatiblem JDY-30 (wobei ich letztere bevorzuge, da der AT-Modus wie auch beim HM-10 viel einfacher ist, man braucht keinen Button, Wäscheklammer oder was auch immer, der AT-Modus ist einfach per default aktiv, solange keine Verbindung besteht).
MasterOfGizmo hat geschrieben:
09 Jul 2020, 15:42
Eine einzige Entscheidung muss man treffen: HC05 oder HM10.
@Till: Als Faustregel ja, aber mit der kleinen Ergänzung, dass man zumindest als nicht-Apple-Jünger in beide Richtungen nicht wirklich festgelegt ist. Für den HC-05 und kompatible gibt es auch verschiedene Android-Apps für klassisches Bluetooth, die nicht ganz so schick sind wie die BLE-App von Dirk, aber ein einfaches Joypad auch gut hinbekommen. Und für BLE/BT4.0 gibt es auch USB-dongles, von denen ich annehme, dass sie für die Anbindung an den PC taugen sollten.

vg
Jan

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

Re: HC-05 an ftduino

Beitrag von MasterOfGizmo » 10 Jul 2020, 10:02

Edit: Zu Bluetooth am ftDuino gibt es nun ein eigenes Kapitel: https://harbaum.github.io/ftduino/manua ... tion.6.19
juh hat geschrieben:
09 Jul 2020, 22:31
@Till: Als Faustregel ja, aber ...
Na das meine ich ja. Später wenn man's verstanden hat kann man auch exotischere Dinge angehen. Dazu zähle ich Classic-Bluetooth mit HC05 am -Android-Smartphone und BLE mit HM10 am PC/Raspberry-Pi/TXT. Da geht überall was. Da habe ich ja selbst mal einen c't-Artikel zu geschrieben: Spielzeug-Roboter mit dem Raspberry Pi steuern

Aber ich bleibe dabei: Wer loslegen will nimmt sich als PC-User ein HC05 und als Smartphone-User ein HM-10.
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:50, insgesamt 1-mal geändert.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

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

Re: HC-05 an ftduino

Beitrag von fishfriend » 10 Jul 2020, 16:45

Hallo...
Ich hab einige ft-Modelle mit einer App von http://www.keuwl.com/ angesteuert.
Die Übertragung ist sehr einfach gehalten und hat eine sehr gute Erklärung (und Experimente).

Wenn man ein HC05 Modul nimmt, kann man einem Arduino Uno auch mit RoboPro den steuern,
da halt eine COM-Schnittstelle da ist.
Ich werd das mal mit dem ftduino probieren.

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 » 11 Jul 2020, 11:57

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

Hier noch eine etwas einfachere Schaltung:
kompliziert.png
kompliziert.png (8.16 KiB) 7556 mal betrachtet
Eignet sich wegen der Batterie besonders gut für mobile Modelle.

Ich weiss, dass die vielen Teile ggf. etwas schwierig zu handhaben sind. Fischertechnik bietet dafür extra doppeladrige Kabel an. So kann man die Zahl der benötigten Teile auf drei reduzieren.
Zuletzt geändert von MasterOfGizmo am 12 Jul 2020, 13:50, insgesamt 3-mal geändert.
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 » 12 Jul 2020, 00:21

Hallo,
die "Verstrippung" des "Stromturmes von Fischershausen" sieht ja für ein mobiles
Modell nicht gerade vertrauenserweckend aus.
Noch ein bischen mehr Zubehör, US-Sensor u. a. Sensoren sowie Adapter...,
es wird sicherlich noch schlimmer.

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

Re: HC-05 an ftduino

Beitrag von Hugo » 12 Jul 2020, 11:24

Karl hat geschrieben:
12 Jul 2020, 00:21
die "Verstrippung" des "Stromturmes von Fischershausen"
Wunderbarer Humor. Findet man heute leider nur noch selten.

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

Re: HC-05 an ftduino

Beitrag von Karl » 12 Jul 2020, 11:34

Hallo,
finde ich nicht schön den "ehemaligen Stromturm" auszutauschen.
Der "neue Rote" sollte aufgerichtet werden, dann fällt der Strom schneller runter und das
Lämpchen leuchtet heller. ;)
Außerdem wird der Stromspeicher besser entleert.

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

Re: HC-05 an ftduino

Beitrag von PHabermehl » 12 Jul 2020, 11:36

Ich möchte mal darauf hinweisen, das Threadzerstörern durchaus Sanktionen widerfahren können.
Schönen Sonntag!
Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

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

Re: HC-05 an ftduino

Beitrag von MasterOfGizmo » 12 Jul 2020, 11:57

PHabermehl hat geschrieben:
12 Jul 2020, 11:36
Ich möchte mal darauf hinweisen, das Threadzerstörern durchaus Sanktionen widerfahren können.
Schönen Sonntag!
Peter
Keine Panik. Das neue Kapitel in der ftDuino-Anleitung ist längst in der Mache und ich verlinke wenn es fertig ist von hier dorthin. Die Erklärungen hier werden dann nicht mehr benötigt und können entfernt werden. Das ist dann ja eher ein Aufräumen redundanter Informationen.
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 » 12 Jul 2020, 13:46

So, ist nun alles in die Anleitung eingeflossen:
https://harbaum.github.io/ftduino/manua ... ction.6.19

Ich bitte um Erlaubnis, die langen Texte hier kürzen, entfernen und durch Links ersetzen zu dürfen.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

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

Re: HC-05 an ftduino

Beitrag von PHabermehl » 12 Jul 2020, 17:42

MasterOfGizmo hat geschrieben:
12 Jul 2020, 13:46
So, ist nun alles in die Anleitung eingeflossen:
https://harbaum.github.io/ftduino/manua ... ction.6.19

Ich bitte um Erlaubnis, die langen Texte hier kürzen, entfernen und durch Links ersetzen zu dürfen.

Hi Till,
da brauchst Du nicht um Erlaubnis zu bitten...
Vielleicht wäre aber ein neuer, kurzer Thread und ein Verweis von hier dorthin die sauberste Lösung.

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

viele Grüße
Peter

herbert1
Beiträge: 12
Registriert: 16 Okt 2019, 15:34

Re: HC-05 an ftduino

Beitrag von herbert1 » 22 Jul 2020, 17:58

Was ihr hier auf die Beine gestellt habt ist der Wahnsinn.
Ich habe einen HC05 per SC16IS750 (z.B. als CJMCU-750) via I²C an den ftduino angeschlossen.
Hat evt. jemand ein Beispielsketch für mich?

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

Re: HC-05 an ftduino

Beitrag von MasterOfGizmo » 22 Jul 2020, 18:21

Findet sich in der Anleitung und unter:

https://github.com/harbaum/ftduino/tree ... h/I2C_Uart
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

herbert1
Beiträge: 12
Registriert: 16 Okt 2019, 15:34

Re: HC-05 an ftduino

Beitrag von herbert1 » 22 Aug 2020, 16:18

Hallo zusammen,
kann mir mal jemand schreiben, wie ich die Eingabe über den SC16IS750 richtig im Programm auswerte?

Dieses klappt nicht:

if(BluetoothData=='a') { EIN = true; }
if(BluetoothData=='A') { EIN = false; }

----------------------------------------------------------------------
#include "SC16IS750.h"
#include <Wire.h>
#include <Ftduino.h>

SC16IS750 i2cuart = SC16IS750(SC16IS750_PROTOCOL_I2C,SC16IS750_ADDRESS_BB);

char BluetoothData; // the data received from bluetooth serial link

bool EIN = 0;
void setup()
{
Serial.begin(9600);
i2cuart.begin(9600);

pinMode(LED_BUILTIN, OUTPUT);
};

void loop()
{
while(i2cuart.available() && Serial.availableForWrite())
Serial.write(i2cuart.read());

if(Serial.available() && i2cuart.availableForWrite())
i2cuart.write(Serial.read());

if(BluetoothData=='a') { EIN = true; }
if(BluetoothData=='A') { EIN = false; }

if (EIN) {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW); }

delay(1000);
};

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

Re: HC-05 an ftduino

Beitrag von PHabermehl » 22 Aug 2020, 16:57

Ich hab von Bluetooth keine Ahnung und ich kenn' die Programmiersprache nicht...

Aber BluetoothData bekommt nirgendwo einen Wert zugewiesen...

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

viele Grüße
Peter

Antworten