Взял уже готовый код, но он не хочет работать. Жалуется на строки: DallasTemperature sensors(&oneWire); Сообщение об ошибке: Arduino: 1.6.7 (Windows 10), Плата:"Arduino/Genuino Uno" C:\Users\User\Documents\1\sketch\sketch.ino: In function 'void loop()': sketch:74: error: 'led1' was not declared in this scope digitalWrite (led1, HIGH); ^ sketch:78: error: 'led1' was not declared in this scope digitalWrite(led1, LOW); ^ C:\Users\User\Documents\1\sketch\sketch.ino: At global scope: sketch:88: error: redefinition of 'OneWire oneWire' OneWire oneWire(ONE_WIRE_BUS); ^ sketch:7: error: 'OneWire oneWire' previously declared here OneWire oneWire(ONE_WIRE_BUS); ^ sketch:89: error: redefinition of 'DallasTemperature sensors' DallasTemperature sensors(&oneWire); ^ sketch:8: error: 'DallasTemperature sensors' previously declared here DallasTemperature sensors(&oneWire); ^ sketch:91: error: redefinition of 'byte mac []' byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 }; ^ sketch:10: error: 'byte mac [6]' previously defined here byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 }; ^ sketch:93: error: redefinition of 'EthernetClient client' EthernetClient client; ^ sketch:12: error: 'EthernetClient client' previously declared here EthernetClient client; ^ sketch:94: error: redefinition of 'char server []' char server[] = "*************"; // РёРјСЏ вашего сервера ^ sketch:13: error: 'char server [14]' previously defined here char server[] = "*************"; // РёРјСЏ вашего сервера www.arduino.ru ^ sketch:95: error: redefinition of 'int buff' int buff=0; ^ sketch:14: error: 'int buff' previously defined here int buff=0; ^ sketch:96: error: redefinition of 'const int led' const int led=5; ^ sketch:15: error: 'const int led' previously defined here const int led=5; ^ C:\Users\User\Documents\1\sketch\sketch.ino: In function 'void setup()': sketch:98: error: redefinition of 'void setup()' void setup() ^ sketch:17: error: 'void setup()' previously defined here void setup() ^ C:\Users\User\Documents\1\sketch\sketch.ino: In function 'void loop()': sketch:106: error: redefinition of 'void loop()' void loop() ^ sketch:25: error: 'void loop()' previously defined here void loop() ^ sketch:155: error: 'led1' was not declared in this scope digitalWrite (led1, HIGH); ^ sketch:159: error: 'led1' was not declared in this scope digitalWrite(led1, LOW); ^ exit status 1 'led1' was not declared in this scope Код программы: #include <SPI.h> #include <Ethernet.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 }; EthernetClient client; char server[] = "*************"; // имя вашего сервера www.arduino.ru int buff=0; const int led=5; void setup() { Ethernet.begin(mac); sensors.begin(); pinMode( led, OUTPUT); digitalWrite(led, LOW); } void loop() { sensors.requestTemperatures(); if (client.connect(server, 80)) { client.print( "GET /add_data.php?"); client.print("temperature="); client.print( sensors.getTempCByIndex(0) ); client.print("&"); client.print("&"); client.print("temperature1="); client.print( sensors.getTempCByIndex(1) ); client.println( " HTTP/1.1"); client.print( "Host: " ); client.println(server); client.println( "Connection: close" ); client.println(); client.println(); delay(200); while (client.available()) { char c = client.read(); if ( c=='1') { buff=1; } if ( c=='0') { buff=0; } } client.stop(); client.flush(); delay(100); } else { client.stop(); delay(1000); client.connect(server, 80); } if ( buff==1) { digitalWrite (led1, HIGH); } else { digitalWrite(led1, LOW); } delay(500); } #include <SPI.h> #include <Ethernet.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 }; EthernetClient client; char server[] = "*************"; // имя вашего сервера int buff=0; const int led=5; void setup() { Ethernet.begin(mac); sensors.begin(); pinMode( led, OUTPUT); digitalWrite(led, LOW); } void loop() { sensors.requestTemperatures(); if (client.connect(server, 80)) { client.print( "GET /add_data.php?"); client.print("temperature="); client.print( sensors.getTempCByIndex(0) ); client.print("&"); client.print("&"); client.print("temperature1="); client.print( sensors.getTempCByIndex(1) ); client.println( " HTTP/1.1"); client.print( "Host: " ); client.println(server); client.println( "Connection: close" ); client.println(); client.println(); delay(200); while (client.available()) { char c = client.read(); if ( c=='1') { buff=1; } if ( c=='0') { buff=0; } } client.stop(); client.flush(); delay(100); } else { client.stop(); delay(1000); client.connect(server, 80); } if ( buff==1) { digitalWrite (led1, HIGH); } else { digitalWrite(led1, LOW); } delay(500); }
Так приятнее смотреть. Глаза не напрягаются: Код (C++): #include <SPI.h> #include <Ethernet.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 }; EthernetClient client; char server[] = "*************"; // имя вашего сервера www.arduino.ru int buff=0; const int led=5; void setup() { Ethernet.begin(mac); sensors.begin(); pinMode( led, OUTPUT); digitalWrite(led, LOW); } void loop() { sensors.requestTemperatures(); if (client.connect(server, 80)) { client.print( "GET /add_data.php?"); client.print("temperature="); client.print( sensors.getTempCByIndex(0) ); client.print("&"); client.print("&"); client.print("temperature1="); client.print( sensors.getTempCByIndex(1) ); client.println( " HTTP/1.1"); client.print( "Host: " ); client.println(server); client.println( "Connection: close" ); client.println(); client.println(); delay(200); while (client.available()) { char c = client.read(); if ( c=='1') { buff=1; } if ( c=='0') { buff=0; } } client.stop(); client.flush(); delay(100); } else { client.stop(); delay(1000); client.connect(server, 80); } if ( buff==1) { digitalWrite (led1, HIGH); } else { digitalWrite(led1, LOW); } delay(500); } #include <SPI.h> #include <Ethernet.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 }; EthernetClient client; char server[] = "*************"; // имя вашего сервера int buff=0; const int led=5; void setup() { Ethernet.begin(mac); sensors.begin(); pinMode( led, OUTPUT); digitalWrite(led, LOW); } void loop() { sensors.requestTemperatures(); if (client.connect(server, 80)) { client.print( "GET /add_data.php?"); client.print("temperature="); client.print( sensors.getTempCByIndex(0) ); client.print("&"); client.print("&"); client.print("temperature1="); client.print( sensors.getTempCByIndex(1) ); client.println( " HTTP/1.1"); client.print( "Host: " ); client.println(server); client.println( "Connection: close" ); client.println(); client.println(); delay(200); while (client.available()) { char c = client.read(); if ( c=='1') { buff=1; } if ( c=='0') { buff=0; } } client.stop(); client.flush(); delay(100); } else { client.stop(); delay(1000); client.connect(server, 80); } if ( buff==1) { digitalWrite (led1, HIGH); } else { digitalWrite(led1, LOW); } delay(500); }
Объявите все переменные, которые вы использовали. Пока у меня нет времени... Может кто другой найдется. Вот статья: http://arduino.ru/Tutorial/Variables
Самая первая ошибка: у вас объявлена переменная (вернее константа) constint led=5, а в тексте вы обращаетесь к led1 (digitalWrite (led1, HIGH) Далее воще не понятно Зачем текст скетча введен два раза? Вы так и компилируете что ли? Вот IDE и ругается на переопределение OneWire oneWire(ONE_WIRE_BUS);
Первая ошибка 74 строка кода led1 от куда? Было led Копируете текст ошибок и в переводчик более понятно становиться