1

Topic: Нужна помощь с Ethernet shield W5100

#define REMOTEXY_MODE__ETHERNET_LIB_CLOUD
#include <Ethernet.h>
/* Ethernet shield used pins: 10(SS) */
#include <SPI.h>
/* SPI interface used pins: 51(MOSI), 50(MISO), 52(SCK) */

#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_ETHERNET_MAC "DE:AD:BE:EF:EF:ED"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "517013aeb970e17fcde566d5f98b6c80"


// конфигурация интерфейса 
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =   // 478 bytes
  { 255,8,0,22,0,215,1,16,13,1,130,1,28,40,36,33,238,130,1,0,
  0,28,88,65,2,1,3,37,22,11,35,202,31,31,79,78,0,49,0,2,
  1,3,55,22,11,35,202,31,31,79,78,0,50,0,2,1,3,73,22,11,
  35,202,31,31,79,78,0,51,0,130,1,0,88,63,12,53,2,1,40,91,
  20,7,36,244,31,31,79,78,0,79,70,70,0,129,0,4,92,27,4,34,
  208,161,208,184,208,179,208,189,208,176,208,187,208,184,208,183,208,176,209,134,
  208,184,209,143,0,129,0,38,58,14,4,34,208,145,208,190,208,185,208,187,
  208,181,209,128,0,2,1,35,46,21,8,1,26,31,31,79,78,0,79,70,
  70,0,129,0,11,20,7,3,46,208,161,208,181,209,130,209,140,0,130,1,
  28,17,35,23,20,129,0,39,42,11,4,34,208,157,208,176,209,129,208,190,
  209,129,0,2,1,35,63,21,8,1,26,31,31,79,78,0,79,70,70,0,
  2,1,35,79,21,8,1,26,31,31,79,78,0,79,70,70,0,129,0,34,
  19,22,4,34,208,158,209,129,208,178,208,181,209,137,208,181,208,189,208,184,
  208,181,0,129,0,42,25,7,3,46,208,148,208,178,208,190,209,128,0,129,
  0,40,75,10,3,46,208,160,208,181,208,183,208,181,209,128,208,178,0,2,
  1,35,29,21,8,1,26,16,24,79,78,0,79,70,70,0,130,1,28,0,
  35,17,96,129,0,41,0,7,3,46,208,148,208,190,208,188,32,0,67,5,
  29,7,15,9,1,26,3,129,0,30,4,13,2,46,208,162,208,181,208,188,
  208,191,208,181,209,128,208,176,209,130,209,131,209,128,208,176,0,67,4,46,
  7,15,9,1,26,11,129,0,48,4,11,2,32,208,146,208,187,208,176,208,
  182,208,189,208,190,209,129,209,130,209,140,0,129,0,10,0,8,3,32,208,
  154,208,190,209,130,208,181,208,187,0,67,5,5,23,19,9,1,26,5,129,
  0,8,4,12,2,46,208,162,208,181,208,188,208,191,208,181,209,128,208,176,
  209,130,209,131,209,128,208,176,0,67,5,7,7,15,9,1,26,3 };
// структура определяет все переменные и события вашего интерфейса управления
struct {

    // input variables
  uint8_t switch_1; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_2; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_3; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_6; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_7; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_8; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_5; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_4; // =1 если переключатель включен и =0 если отключен

    // output variables
  char text_2[3];  // =строка UTF8 оканчивающаяся нулем
  char text_3[11];  // =строка UTF8 оканчивающаяся нулем
  char text_4[5];  // =строка UTF8 оканчивающаяся нулем
  char text_1[3];  // =строка UTF8 оканчивающаяся нулем

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

#define PIN_SWITCH_1 2
#define PIN_SWITCH_2 3
#define PIN_SWITCH_3 4
#define PIN_SWITCH_6 7
#define PIN_SWITCH_7 8
#define PIN_SWITCH_8 9
#define PIN_SWITCH_5 6
#define PIN_SWITCH_4 5
#include "DHT.h"
#define DHTPIN 12
#define DHTPIN_2 11
DHT dht11(DHTPIN_2, DHT11);
DHT dht(DHTPIN, DHT11);
#define DHTPOW 33
#define DHTPOW2 31
#define DHTPOW3 32
#include "EmonLib.h"
EnergyMonitor emon1;
void setup()
{
  RemoteXY_Init ();
  Serial.begin(9600);// эта и нижняя строка для сериал принта (скорость передачи данных)
  dht.begin();
  dht11.begin();
  pinMode (PIN_SWITCH_1, OUTPUT);
  pinMode (PIN_SWITCH_2, OUTPUT);
  pinMode (PIN_SWITCH_3, OUTPUT);
  pinMode (PIN_SWITCH_6, OUTPUT);
  pinMode (PIN_SWITCH_7, OUTPUT);
  pinMode (PIN_SWITCH_8, OUTPUT);
  pinMode (PIN_SWITCH_5, OUTPUT);
  pinMode (PIN_SWITCH_4, OUTPUT);
  pinMode (DHTPOW, OUTPUT);
  pinMode (DHTPOW2, OUTPUT);
  pinMode (DHTPOW3, OUTPUT);
   emon1.current(A1, 155);
  // TODO you setup code

 
}

void loop()
{
  RemoteXY_Handler ();
 
  digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==1)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==1)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_3, (RemoteXY.switch_3==1)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_6, (RemoteXY.switch_6==1)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_7, (RemoteXY.switch_7==1)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_8, (RemoteXY.switch_8==1)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_5, (RemoteXY.switch_5==1)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_4, (RemoteXY.switch_4==1)?LOW:HIGH);
  digitalWrite(DHTPOW, HIGH);
  digitalWrite(DHTPOW2, HIGH);
  digitalWrite(DHTPOW3, HIGH);
   float temp = dht.readTemperature();     (датчик температуры)
float hum = dht.readHumidity();
  dtostrf(temp, 0, 1, RemoteXY.text_2);
  dtostrf(hum, 0, 1, RemoteXY.text_3);
 
  double vol = emon1.calcIrms(1480);  (измеритель напряжения в сети)
  dtostrf(vol, 0, 1, RemoteXY.text_4);

  // не используйте функцию delay()


}
Вот код, проблема заключается в работе шилда интернета Ethernet shield W5100. Когда я прописываю еще одну переменную, к примеру для еще одного датчика температуры и вливаю её в плату Arduino mega 2560, интернет шилд просто перестает подключаться к облаку, и выдает ошибку Board not connected to the cload server, то есть, если я введу например float temp1 = dht.readTemperature();
dtostrf(temp1, 0, 1, RemoteXY.text_1); и залью это на плату, шилд перестанет конектица, хотя до этого всё было в норме. Пробовал менять сами переменные, вместо float double и так далее, тоже не помогает. Прошу знающих рассказать как исправить эту проблему, и возможно ли вообще что то сделать с этим

2

Re: Нужна помощь с Ethernet shield W5100

Контакты 10-13 Arduino используются для аппаратного SPI для связи с платой W5100. Не используйте их для подключения ваших датчиков.

3

Re: Нужна помощь с Ethernet shield W5100

Спасибо