не удаётся передать температуру по nRF24L01+
- Войдите на сайт для отправки комментариев
Втр, 11/10/2016 - 16:36
Добрый день. Возникла проблемма, нужно мерить температуру датчиком LM35 установленном на Arduino nano Atmega 168 и передавать при помощи датчика nRF24L01+. Принимать информацию должна Arduino uno, тем же nRF24L01+. В итоге, температура мериется, в порту отображается, но до порта Uno ничего не доходит... Подскажите, что делаю не так.
код передачи температуры
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #include <RF24_config.h> RF24 radio(9,10); //номера каналов приема и передачи const uint64_t pipe = 0xE8E8F0F0E1LL; // адрес канала передачи int temp1_val=0; //переменная для хранения значения сенсор 1 int tempC; int reading; int tempPin = 1; void setup() { radio.begin(); radio.openWritingPipe(pipe); // Открываем канал передачи radio.openReadingPipe(1,pipe); //открываем один из 6-ти каналов приема radio.startListening(); //начинаем слушать эфир analogReference(INTERNAL); Serial.begin(9600); } void loop() { reading = analogRead(tempPin); tempC = reading / 9,31; Serial.println(tempC); delay(1000); radio.write(tempC, tempPin); }
код приёмника
#include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #include <RF24_config.h> RF24 radio(9,10); //номера каналов приема и передачи const uint64_t pipe = 0xE8E8F0F0E1LL; // адрес канала передачи int temp_out; int param; int done; void setup(void) { radio.begin(); radio.openReadingPipe(1,pipe); //открываем один из 6-ти каналов приема radio.startListening(); //начинаем слушать эфир Serial.begin(9600); } void loop(void) { //слушаем, что передает вторая ардуина первой.. // if (radio.available()) // { // bool done = false; // while (done); // { radio.read(temp_out, param); // } // } Serial.println(temp_out); Serial.println(param); delay(1000); }
Ура, справился сам)))))
Вот что форум волшебный делает! :)
Теперь возникла другая проблема. Как вычислять потерянные пакеты...
Теперь возникла другая проблема. Как вычислять потерянные пакеты...
35 строку замените на
if(radio.write(tempC, tempPin))
Serial.println("квитанция получена);
else
Serial.println("квитанция не получена);
Теперь возникла другая проблема. Как вычислять потерянные пакеты...
Спасибо, справился.