• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

разные данные у ESP8266 и Arduino

Dejmos

New member
Коллеги, подскажите в чем проблема.
вот такой код в случае загрузки в Arduino выдает значения в монитор порта от 200 до 500 (так и должно быть). Если гружу его в ESP8266, получаю 12648549 в мониторе порта.

/*- WHAT IT DOES: Receives data from another transceiver with
Displays received values on Serial Monitor
1 - GND
2 - VCC 3.3V !!! NOT 5V
3 - CE to Arduino pin 9 esp D2
4 - CSN to Arduino pin 10 esp D8
5 - SCK to Arduino pin 13 esp D5
6 - MOSI to Arduino pin 11 esp D7
7 - MISO to Arduino pin 12 esp D6
8 - UNUSED
/*-----( Import needed libraries )-----*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
/*-----( Declare Constants and Pin Numbers )-----*/
#define CE_PIN 2
#define CSN_PIN 15

// NOTE: the "LL" at the end of the constant is "LongLong" type
const uint64_t pipe = 0xE8E8F0F0E1LL; // Define the transmit pipe
/*-----( Declare objects )-----*/
RF24 radio(CE_PIN, CSN_PIN); // Create a Radio
/*-----( Declare Variables )-----*/
int hall[2]; // массив для данных датчика
void setup() /****** SETUP: RUNS ONCE ******/
{
Serial.begin(9600);
delay(1000);
Serial.println("Nrf24L01 Receiver Starting");
radio.begin();
radio.setDataRate(RF24_250KBPS); // Скорость передачи
radio.setChannel(100); // Номер канала от 0 до 127
radio.setRetries(15, 15); // Кол-во попыток и время между попытками

radio.openReadingPipe(1, pipe);
radio.startListening();;
}//--(end setup )---

void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
if ( radio.available() )
{ // Read the data payload until we've received everything

// Fetch the data payload
radio.read(&hall, sizeof(hall));
Serial.print("Hall = ");
Serial.print(hall[0]);
Serial.print(" ");
Serial.println(hall[1]);
}
}//--(end main loop )---
 

Dejmos

New member
Куда на самом деле?
физически на D8 при подключении ESP. Что должно соответствовать GPIO15.
CE подключен к D2 (GPIO4)/. В скетче эту строку исправил.
Смотрел картинку подключения Wemos D1 mini (у меня такая плата). На Arduino D9 подключал.

Арудино и ESP один и тот же массив данных могут по разному обрабатывать?

вот фрагмент кода передатчика:
sens[0] = 101; // код датчика Холла - 101
sens[1] = dark;
radio.write( sens, sizeof(sens) ); // передали в эфир

Ардуино его правильно расшифровывает
 
Последнее редактирование:

Dejmos

New member
Сверху Снизу