Bluetooth Arduino - Arduino Bluetooth
|
17.04.2015, 12:04
(Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2016 20:56 von Bitklopfer.)
Beitrag #1
|
|||
|
|||
![]()
Guten Tag,
ich hoffe das jemand mir helfen kann. Ich habe 2 Arduino (einen Uno und einen Mega). Beide verstehen sich über einen HC-06 Adapter hervorragend. An dem einen (Uno) habe ich einen RFID Leser und einen BMP180 für Luftdruck. An dem Anderen (Mega) habe ich dran einen DHT11 (Temp-Luftfeuchtigkeit) einen MQ-2 (Gas-Melder) und einen IR Empfänger. Der Uno soll nun die daten an den Mega schicken nur das Problem ist das er nicht das Komplette versendet sondern immer einzelne Buchstaben und die Daten beim Mega auch so ankommen. zb. Co. 0 Temp20 L Co.0 Temp20 u Co.0 Temp20 f Co.0 Temp20 t Co.0 d ..... usw. (Also steht am ende "Luftdruck: 1000" untereinander anstatt in einer Zeile. Das selbe passiert mit den Daten vom RFID :-( Wie kann ich das ändern das der Uno auf den vollständigen Satz wartet? Über eine Idee oder vorschlag würde ich mich sehr freuen! |
|||
17.04.2015, 14:11
Beitrag #2
|
|||
|
|||
RE: Bluetooth Ardurino - Arduino Bluetooth
Hi,
Du kannst Dir ein Start- und ein Endezeichen definieren. Beide sollten ansonsten nicht in der Nachricht vorkommen. Z.B. nehmen wir mal an, dass Du nur Buchstaben, Zahlen und das Leerzeichen verschickst. Dann kannst Du "$" als Startzeichen und "%" als Endezeichen nehmen. Du musst dann einfach immer warten, bis ein "$" kommt. Dann alle Zeichen ab da einlesen. Wenn das "%" kommt, dann ist die Nachricht fertig. Gruß, Thorsten Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen. |
|||
17.04.2015, 14:12
Beitrag #3
|
|||
|
|||
RE: Bluetooth Ardurino - Arduino Bluetooth
Hallo,
nun da wir alle keine Glaskugel zum nachsehen deines Codes besitzen ![]() wäre es hilfreich hier den Code deiner beiden Ardi's zu posten damit wir mitlesen können. Aber ich vermute mal das du eben nur einzelne Zeichen übertragen tust ohne die dann wieder in einen String einzulesen bis ein Zeilenendezeichen gesendet wird was das Carriage Return kurz CR (Hex 0x0d) ist. Wenn du dann den so eingelesenen String ausgibst sieht die Welt gleich anderster aus. lg bk 1+1 = 10 ![]() ![]() |
|||
26.09.2016, 15:37
Beitrag #4
|
|||
|
|||
RE: Bluetooth Ardurino - Arduino Bluetooth
Du solltest dir Kennzeichen ausdenken, statt ellenlange Texte zu schicken. So macht man das nicht
![]() Statt "Luftdruck: 1000" schickst du z.B. "$01000" $ = Startzeichen 0 = Luftdruck 1 = Temperatur uswusw. Endezeichen kann entfallen, da du einfach eine feste Satzlänge aufbaust. So z.B.: Wenn du auch noch feste Zeichenlängen für die Werte nimmst, wird das zerlegen einfacher Also z.B. $01000.0# > Für den Luftdruck 1000 $10021.5# > Für 21,5 Grad Wenn du also ein $-Zeichen empfängst, dann zählst du die empfangenen Zeichen und setzt die zu einem String zusammen. Ist die Länge erreicht -> verarbeiten. Danach weiter empfangen. Das nächte sollte wieder ein $ sein. |
|||
26.09.2016, 20:51
Beitrag #5
|
|||
|
|||
RE: Bluetooth Ardurino - Arduino Bluetooth
@AlphaRay, ..ich glaube das interessiert den TE auch nicht mehr da er am 17.4.16 das letzte mal im Forum angemeldet war.
lgbk 1+1 = 10 ![]() ![]() |
|||
26.09.2016, 21:04
(Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2016 21:04 von AlphaRay.)
Beitrag #6
|
|||
|
|||
RE: Bluetooth Arduino - Arduino Bluetooth
Ups..irgendwie wurde mir das Thema als ungelesen ganz oben angezeigt
![]() ![]() |
|||
26.09.2016, 21:40
Beitrag #7
|
|||
|
|||
RE: Bluetooth Arduino - Arduino Bluetooth
@AlphaRay, also solche Datentelegrammprobleme hatten wir schon öfter hier..
..ich glaub ich mach das alte Thema mal zu. Falls sich einer darin wiederfindet kann er sich ja bei uns Mod's melden dann machen wir das wieder auf. lgbk 1+1 = 10 ![]() ![]() |
|||
|
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste