Написал скетч собираю данные с датчиков и отправляю их на сервер скомпилил загрузил всё работает отсоединяю microUSB подключаю питание от ТВ приставки эффекта НОЛЬ -> светодиоды горят, но данные из скетча не посылаются на сервер подключаю зарядник от планшета эффекта НОЛЬ -> светодиоды горят, но данные из скетча не посылаются на сервер подключаю зарядник от телефона эффекта НОЛЬ -> светодиоды горят, но данные из скетча не посылаются на сервер в чём может быть проблема? P.S. подключаю через microUSB к компьютеру - всё работает! использовал два разных зарядника 1 от ТВ приставки output 5V 2A 2 от планшета 5V 3A 3 от телефона 5V 1A
Код (C++): #include <Wire.h> #include <Ethernet2.h> #include <util.h> #include <l3g4200d.h> #include <lis331dlh.h> #include <lis3mdl.h> #include <LPS331.h> #include <troyka-imu.h> #include <SPI.h> #include <TroykaDHT11.h> DHT11 dht(11); Barometer barometer; byte mac[] = { 0x90, 0xA2, 0xDA, 0x10, 0x1A, 0x4C }; IPAddress ip(192, 168, 1, 7); char server[] = "weatheruu.azurewebsites.net"; int sensorPin = A1; EthernetClient client; void setup() { Serial.begin(9600); dht.begin(); barometer.begin(); if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); Ethernet.begin(mac, ip); } delay(1000); loop(); } void loop() { float ilum = analogRead(sensorPin); float humidity; float pressure = barometer.readPressureMillibars(); float temperature = barometer.readTemperatureC(); int check; check = dht.read(); switch (check) { case DHT_OK: humidity = dht.getHumidity(); break; case DHT_ERROR_CHECKSUM: break; case DHT_ERROR_TIMEOUT: break; default: break; } String data = "GET /Home/AddData?t="; data.concat(temperature); data.concat("&h="); data.concat(humidity); data.concat("&p="); data.concat(pressure); data.concat("&i="); data.concat(ilum); data.concat(" HTTP/1.1"); if (client.connect(server, 80)) { Serial.println("connected"); Serial.println(data); client.println(data); client.println("Host: weatheruu.azurewebsites.net"); client.println("Connection: close"); client.println(); client.stop(); } else { Serial.println("connection failed"); } delay(1000); }
1 от ТВ приставки output 5V 2A отдельное гнездо 2 от планшета 5V 3A microUSB 3 от телефона 5V 1A microUSB
Единственное предположение - это где-то происходит "игра" на задержках. Когда вы подключились к компьютеру, то отладочные данные уходят по USB. Когда подключения нет, они теряются, т.е. программа выполняется быстрее. В качестве шаманства можно попробовать заменить (или дописать после всех) serial.print на delay(10)
тогда почему, после того как я протестировал на розетке ардуину, потом просто подключил по usb в компу, он начал работать??? я не запускал студию