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 и так далее, тоже не помогает. Прошу знающих рассказать как исправить эту проблему, и возможно ли вообще что то сделать с этим