Arduino Nano und NRF24l01 Schalter einlesen und einen high Pin ausgeben

Du kannst in der IDE in das Serial Fenster gehen strg und C drücken und das alles hier als CODE/ einfügen so ist das nicht lesbar

Und zeige jetzigen Cod

Ich habe den Aufbau aus dem Startpost nachgebaut. Funktioniert bei mir.

Ab und Zu kommt ein "Senden fehlgeschlagen". Das liegt aber daran, dass du zu schnell hintereinander sendest. Eine Reduzierung durch anpassen des Delays auf 200, lässt diesen Fehler verschwinden.

Ich vermute bei dir ein Fehler in der Schaltung.

Du solltest darüber nachdenken, nur zu senden, wenn es nötig ist. Schalter ändert sein Zustand z.B. Das würde das floaten beseitigen.

Warum weigerst du dich denn deine Info (Taster gedrückt) als Text zu senden ?

Text an sich, ist bei nRF24 nicht optimal. Das Payload ist auf 32Byte begrenzt (pro Senden). Klar kann man den Text auf mehrere Packete aufteilen. Aber das verkompliziert das alles.

Ein senden eines Bytes ist am einfachsten, und dieser kann schon 256 Werte annehmen.

wie hast du den Schalter den verkabelt ich habe jetzt ein Kabel von Ground zum Schalter und eins von D4 zum Schalter

und beim Empfänger habe ich eins auf Ground und das andere auf D4

Das ist hier sicher nicht das Problem.
Es geht nur darum, das der TO weiter kommt, da er wie er schreibt, schon Texte übertragen konnte.
Also ein Zeichen alst Text verwenden.

Grundsätzlich verwende ich doch erst mal das was funktioniert und optimiere es anschließend.

Ich dreh ab ich habe den Code grade noch mall neu hoch geladen und alles über prüft und jetzt geht es habe zwar nichts gefunden aber gut

Ersetzt mal im setup der beiden Codes den Teil:
Sender:

  radio.begin();
  radio.openWritingPipe(address);   // Set the address
  radio.stopListening();            // Set as transmitter
  Serial.println("Sender bereit.");

in

  if(radio.begin()){
    radio.openWritingPipe(address);   // Set the address
    radio.stopListening();            // Set as transmitter
    Serial.println("nRF24 bereit.");
  }
  else Serial.println("nRF24 nicht bereit");

Empfänger:

  radio.begin();
  radio.openReadingPipe(0, address); // Set the address for pipe 0
  radio.startListening();            // Set as receiver
  Serial.println("Empfänger bereit.");

in

  if(radio.begin()){
    radio.openReadingPipe(0, address); // Set the address for pipe 0
    radio.startListening();            // Set as receiver
    Serial.println("nRF24 bereit.");
  }
  else Serial.println("nRF24 nicht bereit");

Dadurch siehst du, ob dein nRF24 schonmal funktioniert.

Prosa ist da immer fehl am Platz, am besten machst du ein Schaltplan.

Schön das es funktioniert. Steckbretter und Jumperkabel haben oft einen "wackligen"

Man kann doch Byte senden zB. 1, oder 0.

So wie habe in Erinnerung sogar Serial hat Problem mit Bool, das ist "nichts"

Ja.

nRF24 hat keine Probleme mit bool.

Ja, so sind sie, die Fehler die keiner haben will, die aber auch keinem weiterhelfen.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.