• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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
Сверху Снизу