Go Down

Topic: Begriff mit Wert über Serial senden/empfangen (Read 3075 times) previous topic - next topic

stef308

Ja, so habe ich das schon verstanden. Habe es auch ausgetauscht, aber das ändert nichts... Da empfange ich genau das selbe.

combie

Salami:
Jetzt gibts auch plötzlich noch einen Rückkanal....

Ich hoffe es ist nun klarer!
Nicht wirklich.
Und damit gebe ich auch hier auf.






Gefährlich, was Theorien aus Menschen machen können.
Schlimmer, was Menschen aus Theorien machen.

stef308

Also, ich habe mich heute Abend nochmals hingesetzt und das Handbuch studiert. Das wird zu kompliziert dieser Weg. Ich möchte mich entschuldigen, dass ich mich vielleicht nicht so genau ausdrücken konnte, aber das Thema Xbee ist ganz neu für mich und bei Arduinos habe ich bis jetzt nur einfache Beispiele gemacht.
Nichts desto trotz, ich gebe nicht auf und habe eine relativ einfache Lösung gefunden.

Die Xbees haben am Modul selbst digitale Ein-/ und Ausgänge. Einer dieser Ausgänge, nämlich der Pin 6 gibt ein RSSI Wert aus. Dieser wiederspiegelt die Sendeleistung in dBm. Wenn ich nun die Xbees im normalen AT Modus belasse und meine Werte ganz normal mit Serial.write() und Serial.read() sende und empfange, dann klappt ja alles. Nun kann ich einfach eine weitere Abfrage im Empfänger-Arduino hinzufügen, um den digitalen Ausgang des Xbee (PWM Signal) am Arduino auszulesen.
 
Code: [Select]
rssi = pulseIn(digitalPin(), LOW, 200);

Sobald ein kritischer Wert erreicht wird, kann ich gleich beim Empfänger den Befehl geben alles anzuhalten ohne diesen Befehl nochmals zu senden oder sonstwas. Vor allem ist (sollte) der Programmablauf dadurch nicht gross gestört (sein).

Jetzt muss ich mich mal schlau machen, was das für Werte sind die da ausgegeben werden und von wo bis wo die gehen, sprich was diese dann auch bedeuten. Dann kann ich das sicherlich ganz einfach umsetzen.

Ich entschuldige mich nochmals für meine Verbissenheit und Festsetzung auf diesen Sketch. Auch ist es nicht immer ganz einfach (oder man denkt wohl nicht an alles), alles ganz genau bis ins letzte Detail mitzuteilen was, wie, warum und wo. Da ich auch relativ neu auf dem Gebiet bin, habe ich noch nicht das Wissen, was es alles bräuchte oder was man alles genau wissen sollte.

Grüsse

Stef

Tommy56

Du weißt, dass pulsIn blockiert bis das Pulsende da ist oder ein (ziemlich langer) Timeout abgelaufen ist?

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

stef308

Ja, aber wenn ich wie oben 200 definiere, das sind ja Mikrosekunden.... Also ein fünftel Sekunde..... ist ja nicht so lange. Das sollte gehen. Vielleicht kann ich das ja allenfalls noch bisschen nach unten korrigieren.

postmaster-ino

200 Milisekunden wären 1/5tel Sekunde.
200 Mikrosekunden wären 1/5000stel Sekunde - drei zehnerpotenzen kleiner.
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

stef308

Ja, stimmt! Am Abend arbeitet das Hirn nicht mehr so schnell  :D  Das ist ja überhaupt kein Thema! Man stellt sich nur mal diesen Wert vor wie schnell das ist... Das reicht allemal.

SkobyMobil

Hallo,
vielleicht hilft es Dir dabei für die XBee mehr Verständnis aufzubauen.

Lib

Guide

Buch


Gruß und Spaß
Andreas
die zweite Maus bekommt den Speck...

stef308

Hallo Andreas

Danke für die Links. Das werde ich sehr gerne mal anschauen. Das Buch habe ich noch nicht gekannt. Die Lib hab ich mal ein bisschen angeschaut, aber dann verworfen. Für dieses Projekt werde ich es mit einem Kabel an Pin 6, welches an einen digitalen PWM Eingang des Arduinos geht machen. Das ist die einfachst Lösung und bietet genau diesen Wert den ich brauche. Der wird automatisch bei jedem Empfang gesendet und kann somit gleich ausgewertet werden. Sofern ich dann bemerke, dass ich in einen kritischen Bereich komme, kann ich alles anhalten. Das kann ich ja sogar in die while-Schleife für Serial.available setzen, dass die Daten des letzten bisschens Empfang nicht mehr ankommen und auf "anghalten" bleiben. Eine schnell umsetzbare und einfache Lösung.

Das Buch und die Lib werde ich aber gerne für ein anderes Projekt mal näher studieren. Ist ja schon interessant was die kleinen Dinger alles können (wenn mans denn braucht).

Danke Dir und Gruss

Stef

Go Up