Zenden en ontvangen

Beste forum,

wie kan mij helpen met twee of drie sketchs te controleren en aan te passen zodat ik een zender en een ontvanger heb.
Ik heb twee identieke proefopstellingen gemaakt op twee breadboards de werking is goed totdat ik er een zend en ontvangfunctie m.b.v. twee nRF24L01+ delen op worden gemaakt.
Het gaat denk niet zozeer om de hardware maar om de software.
In de bijlage zal ik een werkende sketch zetten met de naam "Werkend"
Dit is dus een werkende sketch in combinatie met mijn proefopstellingen op het breadboard.

Het enigste wat ik wil bereiken is dat als de beep() HOOG is dat er dan bij de ontvanger een 5 volt relais wordt bekrachtigt. Gaat de beep() uit dan moet het relais weer afvallen.
Ik heb een voorzetje voor een zender en een ontvanger. Deze zitten ook in de bijlage.
Maar ik kom er niet uit om dit werkend te krijgen.
Mijn kennis is hieromtrent zeer beperkt.
Kan wel wat hardware in elkaar knutselen maar programmeren is niet voor mij weggelegd.

Ik hoop dat er iemand is die deze uitdaging aan durft te gaan.

Werkend.ino (2.89 KB)

zender.ino (3.65 KB)

Ontvanger.ino (690 Bytes)

Goeiedag,

wat is preceis het probleen, wat werkt er dan niet meer?

en voor de rest ik heb nog nooit met deze modules gewerkt maar al wel veel over gelezen.
en zo goed al iedereen zegt dat de NRF24L01 een power probleem heeft.
wat opgelost kan worden om een capacitor tussen de 3.3 uF tot 10 uF direct op GND en 3.3+ van de module tesolderen.

en heb je ook al BV geprobeert om deze sketch eerst tedraaien.
Link, GettingStarted
omtezien of dit werkt.

Het verhaal van de condensator is mij bekend. Ook heb ik de bibliotheek al in gebruik.

Het verhaal is dat ik zo'n armatuur ben dat ik geen kans zie om zend/ontvanger modules op de juiste manier in mijn sketch te zetten.
Waar n.l. beep() staat in de sketch daar moet een pin van mijn Arduino Nano HOOG worden.
En aan de ontvangende zijde wil ik een relais laten werken.
Dus (even) de juiste regels op de goede plek in de sketch zetten.

Wat betekent de foutmelding in de bijgevoegde sketch;
expected identifier before numeric constant

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>

int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int LED1 = 3;

void setup(void){

Serial.begin(9600);

radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();

pinMode(LED1, OUTPUT);
}

void loop(void){
if (radio.available()){
bool done = false;
while (!done){
done = radio.read(msg,[1]);
Serial.println(msg[0]);

if (msg[0] == 111){delay(10);digitalWrite(LED1, HIGH);}
if (msg[0] == 222){delay(10);digitalWrite(LED1, LOW);}

delay(10);}
}
else { Serial.println("No radio available"); }

}

als eerst op regel 26 volgens mij.

done = radio.read(msg,[1]);

moet zijn msg[1] ZONDER "," er tussen.
en de radio.read functie verwacht 2 variable en niet 1

maar ik zie nu niet zo snel hoe deze functie werkt.

ik zie nu BDW een sketch dat heet "led_remote" kijk daar nog een goed naar dat is volgens mij wat je wilt.
behalfe geen led maar relay maar dat maakt niets uit.

spirit:
als eerst op regel 26 volgens mij.

done = radio.read(msg,[1]);

moet zijn msg[1] ZONDER "," er tussen.
en de radio.read functie verwacht 2 variable en niet 1

maar ik zie nu niet zo snel hoe deze functie werkt.

Nou dat zou ik in dit geval niet doen. Maar ik had hem al geantwoord op het nederlandse forum zie: Het Nederlandstalig Arduino forum - Bekijk onderwerp - Codes samen voegen

Het moet namelijk in dit geval

done = radio.read(msg,1);

zijn. Wat inhoud dat hij de radio lees in buffer msg via pipe 1.