Hello,
I have written a simple code to control the LED (1 button turn on LED lights and second turns off LED). How can I make when disconnected arduino with transmitter from the power supply led ( arduino with receiver) still burning ?? (As for loop "if (radio.available ()")
#include <SPI.h> // SPI Arayüzünü dahil ettik.
#include "RF24.h" // RF24 kütüpanelerini dahil ettik.
byte data[1]; // Göndereceğimiz data değişkenini oluşturduk.
boolean var; // Bit şeklinde var değişkeninini oluşturduk.
const uint64_t pipe = 0xF0F0F0F0A1LL; // Paralel veri yolu adresleri tanımlamasını yaptık.
RF24 radio(9,10); // Modülün CE pinini 9.pin CS pinini de 10.pine bağlayacağımızı belirttik.
void setup(){
pinMode(3, OUTPUT); // Arduino'nun 2.pinini çıkış olarak ayarladık.
radio.begin(); // Kablosuz iletişimi başlattık.
radio.openReadingPipe(1,pipe); // Veri alacağımız kanalın ID'sini tanımladık.
radio.startListening();
}
void loop(){
if(radio.available()){
var = false;
while(!var){
var =
radio.read(data, 1);
if(data[0] == 0){
digitalWrite(3, LOW);
}
if(data[0] == 1){
digitalWrite(3, HIGH);
}
if(data[0] == 2){
digitalWrite(3, LOW);
}
}
}
}
"radio.available()" tells you if a message has been received.
If you need to know when wireless communication fails you need a system in which the TX sends a message at regular intervals. Then if the RX does not get a message for a longer interval it will know there is a problem.
HI, I'm trying to do to maintain the pin in a high state i.e.. if the radio is not available and was led on, it stays on (although radion not available) keep holding on HIGH.
#include <SPI.h> // SPI Arayüzünü dahil ettik.
#include "RF24.h" // RF24 kütüpanelerini dahil ettik.
byte data[1]; // Göndereceğimiz data değişkenini oluşturduk.
boolean var; // Bit şeklinde var değişkeninini oluşturduk.
const uint64_t pipe = 0xF0F0F0F0A1LL; // Paralel veri yolu adresleri tanımlamasını yaptık.
RF24 radio(9,10); // Modülün CE pinini 9.pin CS pinini de 10.pine bağlayacağımızı belirttik.
int ledPin = 3;
boolean currentButton = LOW;
boolean lastButton = LOW;
boolean ledOn = false;
boolean debounce(boolean last)
{
boolean current =digitalRead(ledPin);
if (current != lastButton)
{
delay(5);
current = digitalRead(ledPin);
}
return current;
}
//boolean wartosc_wyjscia;
void setup(){
//pinMode(3, OUTPUT); // Arduino'nun 2.pinini çıkış olarak ayarladık.
// pinMode(4, OUTPUT); // Arduino'nun 4.pinini çıkış olarak ayarladık.
pinMode(ledPin, OUTPUT);
radio.begin(); // Kablosuz iletişimi başlattık.
radio.openReadingPipe(1,pipe); // Veri alacağımız kanalın ID'sini tanımladık.
radio.startListening();
}
void loop(){
if(radio.available()){
var = false;
while(!var){
var =
radio.read(data, 1);
//if(data[0] == 0){
//digitalWrite(3, LOW);
// digitalWrite(4, LOW);
// }
if(data[0] == 1){
digitalWrite(ledPin, HIGH);
}
if(data[0] == 2){
digitalWrite(ledPin, LOW);
}
}
}
else
delay(100);
currentButton = debounce(lastButton);
if (currentButton == HIGH && lastButton == LOW) ledOn = !ledOn;
lastButton = currentButton;
digitalWrite(ledPin, ledPin);
}
//}
//}
Hi, I'm trying to do led'em control with arduino + nRF24L01. Using a tutorial and generally works, but I wanted to make in the program after lighting LEDs (after receiving a signal from the second arduino with nrf = remote control) light burning all the time regardless of whether "radio.available ()". I tried to write code to maintain the state average, but something does not work = work;] you can look where I make an error (maybe the whole concept is wrong) through
#include <SPI.h> // SPI Arayüzünü dahil ettik.
#include "RF24.h" // RF24 kütüpanelerini dahil ettik.
byte data[1]; // Göndereceğimiz data değişkenini oluşturduk.
boolean var; // Bit şeklinde var değişkeninini oluşturduk.
const uint64_t pipe = 0xF0F0F0F0A1LL; // Paralel veri yolu adresleri tanımlamasını yaptık.
RF24 radio(9,10); // Modülün CE pinini 9.pin CS pinini de 10.pine bağlayacağımızı belirttik.
int ledPin = 3;
boolean currentButton = LOW;
boolean lastButton = LOW;
boolean ledOn = false;
boolean debounce(boolean last)
{
boolean current =digitalRead(ledPin);
if (current != lastButton)
{
delay(5);
current = digitalRead(ledPin);
}
return current;
}
void setup(){
//pinMode(3, OUTPUT); // Arduino'nun 2.pinini çıkış olarak ayarladık.
pinMode(ledPin, OUTPUT);
radio.begin(); // Kablosuz iletişimi başlattık.
radio.openReadingPipe(1,pipe); // Veri alacağımız kanalın ID'sini tanımladık.
radio.startListening();
}
void loop(){
if(radio.available()){
var = false;
while(!var){
var =
radio.read(data, 1);
//if(data[0] == 0){
//digitalWrite(3, LOW);
// digitalWrite(4, LOW);
// }
if(data[0] == 1){
digitalWrite(ledPin, HIGH);
}
if(data[0] == 2){
digitalWrite(ledPin, LOW);
}
}
}
else
delay(100);
currentButton = debounce(lastButton);
if (currentButton == HIGH && lastButton == LOW) ledOn = !ledOn;
lastButton = currentButton;
digitalWrite(ledPin, ledPin);
}