В чем ошибка в коде?

Тема в разделе "Arduino & Shields", создана пользователем dndv279, 22 янв 2016.

Метки:
  1. dndv279

    dndv279 Нерд

    Взял уже готовый код, но он не хочет работать. Жалуется на строки: 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);
    }
     
  2. Mestniy

    Mestniy Гуру

    Так приятнее смотреть. Глаза не напрягаются:
    Код (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);
    }
     
  3. Mestniy

    Mestniy Гуру

    Объявите все переменные, которые вы использовали. Пока у меня нет времени... Может кто другой найдется. Вот статья: http://arduino.ru/Tutorial/Variables
     
  4. AlexVS

    AlexVS Гик

    Самая первая ошибка: у вас объявлена переменная (вернее константа) constint led=5, а в тексте вы обращаетесь к led1 (digitalWrite (led1, HIGH);)
    Далее воще не понятно :confused: Зачем текст скетча введен два раза? Вы так и компилируете что ли?
    Вот IDE и ругается на переопределение OneWire oneWire(ONE_WIRE_BUS);
     
  5. sanik

    sanik Гик

    Первая ошибка 74 строка кода led1 от куда? Было led Копируете текст ошибок и в переводчик более понятно становиться