Помогите со скетчем для nrf24lo1
- Войдите на сайт для отправки комментариев
Ср, 21/01/2015 - 12:13
#include <SPI.h>
#include "RF24.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
int led=3;
// Set up nRF24L01 radio on SPI bus plus pins 9 & 10
//Контакты от радиомодуля NRF24L01 подключаем к пинамнам -> Arduino
//SCK -> 13
//MISO -> 12
//MOSI -> 11
//CSN -> 10
//CE -> 9
int da=0;
RF24 radio(9, 10);
const uint64_t pipes[2] = {
0xF0F0F0F000LL, 0xF0F0F0F0FFLL};// адреса каналов приема и передачи
LiquidCrystal_I2C lcd(0x27,16,2);
void setup(){
radio.begin();
radio.setDataRate(RF24_250KBPS); // Скорость передачи
radio.setChannel(100); // Номер канала от 0 до 127
radio.setRetries(15,15); // Кол-во попыток и время между попытками
radio.openWritingPipe(pipes[0]); // Открываем канал передачи
radio.openReadingPipe(1, pipes[1]); // Открываем один из 6-ти каналов приема
radio.startListening(); // Начинаем слушать эфир
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
lcd.init(); // initialize the lcd
lcd.backlight();
}
void loop(){
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
if(radio.available()) {
char data[32] = "";
radio.read(&data, 32); //принимает пакет с Arduino №1
if (data[0] == '1') da=data[0]; digitalWrite(led, HIGH); digitalWrite(2, LOW); delay(10000); lcd.clear(); digitalWrite(2, LOW); digitalWrite(led, LOW);
if (data[0] == '2') digitalWrite(led, LOW);
radio.stopListening();
radio.write(&data, 32); // и отправляет обратно в Arduino №1
radio.startListening();
}
if(da >= 0){
lcd.print(da);
delay(30000);
lcd.clear();
}else{
lcd.print("nope");
}
delay(50);
}
В общем не могу понять что не так там...По идее должно принять данные и вывести на экран,но что то видимо идет не так...Экран даже не загорается подсветкой