NRF24I01 met controle LED
6 berichten
• Pagina 1 van 1
NRF24I01 met controle LED
Hallo Allemaal,
Ik heb een projectje met 2 arduino's waarbij de ene middels een NRF24I01 DHT22 gegevens verzend naar de andere. Op de ontvanger heb ik een LCD aangesloten waarbij ik de waardes uit kan lezen.
Nu zou ik graag een controle LED willen gebruiken op mijn ontvanger die aan is wanneer er verbinding is. Echter hier kom ik nu niet uit.
Dit is de sketch:
Ik heb een projectje met 2 arduino's waarbij de ene middels een NRF24I01 DHT22 gegevens verzend naar de andere. Op de ontvanger heb ik een LCD aangesloten waarbij ik de waardes uit kan lezen.
Nu zou ik graag een controle LED willen gebruiken op mijn ontvanger die aan is wanneer er verbinding is. Echter hier kom ik nu niet uit.
Dit is de sketch:
- Code: Alles selecteren
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display A4 en A5
LiquidCrystal_I2C lcd(0x27, 16, 2);
// ONTVANGER NODE, RF24 SENSOR NETWERK
// PROGRAMMEERVOORBEELD BITS & PARTS, http://WWW.BITSANDPARTS.EU
// http://www.bitsandparts.eu/blog/rf24-nrf24l01-sensor-netwerk-tutorial/
#include <RF24Network.h>
#include <RF24.h>
#include <SPI.h>
// we definieeren de structuur van het te ontvangen bericht (het envelopje met daarin de gegevens)
struct sensor_bericht
{
float sensor_waarde; // de uitgelezen sensor-waarde
float RV;
};
RF24 radio(9, 10); // nRF24L01(+) transceiver aangesloten met pins 9 en 10
RF24Network network(radio); // netwerk definiëren
const uint16_t deze_node = 0; // adres van onze (ontvanger) node
const uint16_t andere_node = 1; // adres van de andere (sensor) node
//*******************************************************************************
// SETUP
//*******************************************************************************
void setup(void)
{
lcd.begin();
Serial.begin(57600);
SPI.begin();
radio.begin();
network.begin(/*kanaal*/ 90, /*node adres*/ deze_node);
lcd.setCursor(0, 0);
lcd.print("Temp:");
lcd.setCursor(0, 1);
lcd.print("RV:");
lcd.setCursor(0, 2);
Serial.println("Sensor netwerk ontvanger start...");
}
//*******************************************************************************
// HOOFD LOOP
//*******************************************************************************
void loop(void)
{
// houdt het netwerk aan de gang
network.update();
// is er data beschikbaar op het netwerk voor ons?
while ( network.available() )
{
// zo ja, pak de data en print het
// we geven aan dat 'header' de structuur heeft van 'RF24NetworkHeader' (voorgedefinieerd in de RF24network library)
RF24NetworkHeader header;
// we geven aan dat 'bericht' de structuur heeft van 'sensor_bericht'
sensor_bericht bericht;
// we lezen het bericht van het netwerk
network.read(header, &bericht, sizeof(bericht));
// de ontvangen gegevens die in het sensor bericht zaten printen
Serial.print(" Temperatuur: ");
Serial.println(bericht.sensor_waarde, 1);
Serial.print(" RV: ");
Serial.println(bericht.RV, 1);
lcd.setCursor(11, 0);
lcd.print(bericht.sensor_waarde, 1);
lcd.setCursor(11, 1);
lcd.print(bericht.RV, 1);
}
}
Advertisement
Re: NRF24I01 met controle LED
Ik heb het volgende al geprobeerd:
Alleen komen de gegevens niet moor over van de zender, de LED gaat wel aan!?
- Code: Alles selecteren
// is er data beschikbaar op het netwerk voor ons?
while ( network.available() )
digitalWrite(ledPin, HIGH);
Alleen komen de gegevens niet moor over van de zender, de LED gaat wel aan!?
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: NRF24I01 met controle LED
Dat is ook volkomen juist wat er gebeurt. Immers dat geef je ook aan:
cpp code
En dat is anders als in de oorspronkelijke sketch....
cpp code
ALS er netwerk data is voer DAN UITSLUITEND de volgende opdracht uit.....
En dat is anders als in de oorspronkelijke sketch....
Re: NRF24I01 met controle LED
Dat klopt, Was alleen vergeten te melden dat hij uit moet als er geen verbinding is.
Ik ben al bezig geweest met if en else maar loop knel met de while die er al inzit..
Ik ben al bezig geweest met if en else maar loop knel met de while die er al inzit..
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: NRF24I01 met controle LED
Misschien eens een reden om eens na te denken (wat er nou eigenlijk precies gebeurt in die while....
Dit moet je zelf kunnen.... En anders heb je legio voorbeelden in de IDE die je eens zou kunnen bekijken....
Dit moet je zelf kunnen.... En anders heb je legio voorbeelden in de IDE die je eens zou kunnen bekijken....
Re: NRF24I01 met controle LED
hmmm....
Die While kom ik niet uit, maar heb nu if/else geprobeerd, dan lukt het ook alleen knippert hij alleen die tijd dat er gezonden wordt..
Nu moet ik daar weer iets op verzinnen dat hij blijft branden
Die While kom ik niet uit, maar heb nu if/else geprobeerd, dan lukt het ook alleen knippert hij alleen die tijd dat er gezonden wordt..
Nu moet ik daar weer iets op verzinnen dat hij blijft branden
- Code: Alles selecteren
if ( network.available()== true)
{
digitalWrite(ledPin, HIGH); // action A
}
else
{
digitalWrite(ledPin, LOW); // action B
}
6 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 39 gasten