hallo allerseits, ich habe zwei Arduino Uno´s und will diese per Funk mit den Nrf-Module verbinden. Allerdings habe ich Probleme, eine Datenübertragung herzustellen. Auf dieser Seite findet ihr den Beispielcode, mit dem ich testen will, ob überhaupt eine Verbindung stattfindet. https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo Wenn ich den Schaltplan und den Code einfach übernehme, müsste das doch klappen? Aber zuerst sollte ich noch ein paar Grundlagen klären, die ich in dem Code nicht verstehe 1) const uint64_t pipe = 0xE8E8F0F0E1LL; // Define the transmit pipe Warum ist dies genau 0xE8E8F0F0E1LL? Ist dies immer so oder kann das bei mir anders sein 2) radio.write( joystick, sizeof(joystick) ); Damit bestimme ich was übertragen werden soll? Welche Übergabewerte besitzt diese Funktion? 3) radio.openWritingPipe(pipe); radio.openReadingPipe(1,pipe); Hiermit gebe ich an, ob ich lese oder schreibe? Warum habe ich noch eine 1 beim lesen als Übergabe? Ich habe einfach keine Erklärungen zu diesen Funktionen gefunden, die mir weiterhelfen
arduino00 schrieb: > Ich habe einfach keine Erklärungen zu diesen Funktionen gefunden, die > mir weiterhelfen Ups, Google kaputt? http://tmrh20.github.io/RF24/classRF24.html
arduino00 schrieb: > Warum ist dies genau 0xE8E8F0F0E1LL? Ist dies immer so oder kann das > bei > mir anders sein Das Datenblatt zu dem Baustein erklärt, wie eine Adresse auszusehen hat, und auch warum manche Bit Muster Sinn machen, und andere nicht. Und aus der Menge der akzeptablen Adressen kannst du dir frei welche aussuchen.
Bei mir lief auch kein Code, weil ich alles auf nem Breadboard aufgebaut hatte. Man muss die Verlöten ud ganz wichtig einen Kero 100nF und 10µF zwischen GND und VCC direkt am nrf24 anbringen...dann gehts
Danke für eure Antworten, werde das mit dem Kondensator mal versuchen. Ich würde aber gerne noch mehr über die Adresse wissen und wie diese genau auszusehen hat. Konnte im Datenblatt allerdings nicht den richtigen Abschnitt finden.
arduino00 schrieb: > Ich würde aber gerne noch mehr über die Adresse wissen und wie diese > genau auszusehen hat. Aus dem Datenblatt: Note: Addresses where the level shifts only one time (that is, 000FFFFFFF) can often be detected in noise and can give a false detection, which may give a raised Packet-Error-Rate. Addresses as a continuation of the preamble (hi-low toggling) raises the Packet-Error-Rate. Man sollte also zusehen, dass der High/Low Pegel mindestens einmal, besser öfter wechselt. Ich rate dir nicht mehr als 5 gleiche Bit nacheinander zuzulassen. Dieses schränkt den Pool der insgesamt denkbaren Adressen etwas ein. ;-) Es bleiben aber noch genug für dich übrig ;-) Und dann gibts da noch: Each pipe can have up to 5 byte configurable address. Data pipe 0 has a unique 5 byte address. Data pipes 1-5 share the 4 most significant address bytes. The LSByte must be unique for all 6 pipes. Figure 11. is an example of how data pipes 0-5 are addressed. Wobei dieses "Each pipe can have up to 5 byte configurable address." erstmal etwas verwirrend wirken kann. Aber das Bild macht dann klar, was gemeint ist.
1 | Bei mir lief auch kein Code, weil ich alles auf dem Breadboard aufgebaut |
2 | hatte. Man muss die Verlöten ud ganz wichtig einen Kero 100nF und 10µF |
3 | zwischen GND und VCC direkt am nrf24 anbringen...dann gehts |
Ist eine Ansichtssache. Ich habe meine nrf24 auf 2 Steckbretter und funktionieren tadellos ohne zu löten. Gruss
:
Bearbeitet durch User
Peter B. schrieb: > Ich habe meine nrf24 auf 2 Steckbretter und funktionieren tadellos ohne > zu löten. Ja? Auch stabil im Dauerlauf? Auch wenn der Sender sich an der Grenze der Reichweite befindet? Mit ACK? Meine frieren immer wieder ein, d.h. die SPI läuft nicht mehr und liefert nur noch Nullen. Und ich habe alle Module die es es gibt, die mit Antenne, die ohne und die 100mW Typen. Keines läuft dauerhaft stabil als Empfänger und die mit Antenne senden nicht richtig, vermutlich viel zu hohe Last. Ich reagiere per Interrupt auf ein Datenpaket, prüfe zusätzlich im Int dann noch das RX-Bit im Status, ob dieses auch gesetzt ist. Ja, meistens... aber nicht immer. D.h. der RX Int wird ausgelöst aber es sind keine Daten da, die Fifos sind auch leer. Ich finde diese Modul sind Schrott, mit Xbee hatte ich nie solche Probs aber die sind privat zu teuer. Auch die RFM12 sind deutlich besser und stabiler, werde auch wieder auf die umsteigen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.