помогите со скетчем

Тема в разделе "Флудилка", создана пользователем lol, 13 июн 2019.

  1. lol

    lol Нерд

    если я в сокращении любой строки вместо nig пишу night то всё нормально, а просто nig ,то выдаёт ошибку компиляции..... вот часть скетча в котором загвоздка:
    Код (C++):
     void light(){
      lcd.setCursor(0,1);
      lcd.print("ToD:");
      lcd.setCursor(5,1);
      if(phSensor < 500 && phSensor > 300 ){
        lcd.print("Evn");
      }
      if(phSensor < 300){
        lcd.print("Nig");
      }
      if(phSensor > 500){
        lcd.print("Day");
      }
    }
    вот весь скетч :
    Код (C++):
    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <LiquidCrystal_I2C.h>
    #define ONE_WIRE_BUS 13
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensor(&oneWire);
    LiquidCrystal_I2C lcd(0x20,20,4);
    int powerButt;
    int choiseButt;
    int downButt;
    int upButt;
    int cols = 0;
    int rows = 0;
    int phSensor;
    boolean buttPowFlag = 0;
    boolean power = 0;
    boolean powerLed = 0;
    boolean menuOptions = 0;
    unsigned long timing1;
    unsigned long timing2;
    float temp;
    byte simvol1[8] = {
    0b00000,
    0b01100,
    0b00010,
    0b11111,
    0b00010,
    0b01100,
    0b00000,
    0b00000
    };

    void setup() {
      lcd.init();
      lcd.backlight();
      pinMode(2,OUTPUT);
      pinMode(A0,INPUT_PULLUP);
      pinMode(A1,INPUT);
      pinMode(4,INPUT_PULLUP);
      pinMode(5,INPUT_PULLUP);
      pinMode(6,INPUT_PULLUP);
      lcd.createChar(1,simvol1);
     
    }

    void loop() {
      upButt = !digitalRead(6);
      downButt = !digitalRead(5);
      choiseButt = !digitalRead(4);
      powerButt = !digitalRead(A0);
      phSensor = analogRead(A1);
      if(powerButt == 1&& buttPowFlag == 0&& millis()- timing1 > 10){
        timing1 = millis();
        power = !power;
        buttPowFlag = 1;
      }
      if(powerButt == 0 && buttPowFlag == 1){
        buttPowFlag = 0;
      }
      if(power == 1){
        powerLed = 1;
        menuOptions = 1;
        digitalWrite(2,1);
      }
      if(power == 0){
        lcd.clear();
       
        digitalWrite(2,0);
        menuOptions = 0;
      }
      if(menuOptions == 1 ){
        ds18b20();
        light();
      }
    }
    void ds18b20(){
     
      if( millis()- timing2 > 1500){
      sensor.begin();
      sensor.setResolution(12);
      sensor.requestTemperatures();
      temp = sensor.getTempCByIndex(0);
      lcd.setCursor(0,0);
      lcd.print("TempC:");
      lcd.setCursor(7,0);
      lcd.print(temp);
      timing2 = millis();
      }
    }
    void light(){
      lcd.setCursor(0,1);
      lcd.print("ToD:");
      lcd.setCursor(5,1);
      if(phSensor < 500 && phSensor > 300 ){
        lcd.print("Evn");
      }
      if(phSensor < 300){
        lcd.print("Nig");
      }
      if(phSensor > 500){
        lcd.print("Day");
      }
    }
    Пожалуйста помогите... Очень надо.....
    Просто странная ситуация а сокращение мне очень нужно
     
  2. NikitOS

    NikitOS Король шутов Администратор

    А ошибку дать?
    Хрустальные шары нынче дорогие...
     
    Tomasina нравится это.
  3. lol

    lol Нерд

    ошибка компиляции в Arduino Uno
     
  4. Airbus

    Airbus Радиохулиган Модератор

    А че пишет то?Компилятор в смысле.Да и смысл сокращения?Ничего не выиграете.Выигрыш в типе переменной (char,int,long,double)а не в имени.
     
  5. lol

    lol Нерд

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.

    и всё

    я на этой строке ещё печатать буду

    чтобы уместить на той же строке
     
    Последнее редактирование модератором: 13 июн 2019
  6. Airbus

    Airbus Радиохулиган Модератор

    Скопировать сообщение об ашипке там есть?
     
  7. lol

    lol Нерд

    Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Плата:"Arduino/Genuino Uno"

    C:\Users\�������\Documents\Arduino\libraries\OneWire\OneWire.cpp: In member function 'write':

    C:\Users\�������\Documents\Arduino\libraries\OneWire\OneWire.cpp:261:1: internal compiler error: Segmentation fault

    }

    ^

    Please submit a full bug report,

    with preprocessed source if appropriate.

    See <http://gcc.gnu.org/bugs.html> for instructions.

    lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

    compilation terminated.

    c:/program files/windowsapps/arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

    collect2.exe: error: ld returned 1 exit status

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
  8. parovoZZ

    parovoZZ Гуру

    arkadyf нравится это.
  9. lol

    lol Нерд

  10. Airbus

    Airbus Радиохулиган Модератор

    Вот здеся ������� русские символы?Низзя срочно перенести в корень диска С как у меня C:\Program Files\Arduino еще лучше так C:\Arduino.
    А этот скетч компилиться?
    Код (C++):
    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <LiquidCrystal_I2C.h>
    #define ONE_WIRE_BUS 13
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensor(&oneWire);
    LiquidCrystal_I2C lcd(0x20,20,4);
    int powerButt;
    int choiseButt;
    int downButt;
    int upButt;
    int cols = 0;
    int rows = 0;
    int phSensor;
    boolean buttPowFlag = 0;
    boolean power = 0;
    boolean powerLed = 0;
    boolean menuOptions = 0;
    unsigned long timing1;
    unsigned long timing2;
    float temp;
    byte simvol1[8] = {
    0b00000,
    0b01100,
    0b00010,
    0b11111,
    0b00010,
    0b01100,
    0b00000,
    0b00000
    };

    void setup() {
      lcd.init();
      lcd.backlight();
      pinMode(2,OUTPUT);
      pinMode(A0,INPUT_PULLUP);
      pinMode(A1,INPUT);
      pinMode(4,INPUT_PULLUP);
      pinMode(5,INPUT_PULLUP);
      pinMode(6,INPUT_PULLUP);
      lcd.createChar(1,simvol1);
    }

    void loop() {
      upButt = !digitalRead(6);
      downButt = !digitalRead(5);
      choiseButt = !digitalRead(4);
      powerButt = !digitalRead(A0);
      phSensor = analogRead(A1);
      if(powerButt == 1&& buttPowFlag == 0&& millis()- timing1 > 10){
        timing1 = millis();
        power = !power;
        buttPowFlag = 1;
      }
      if(powerButt == 0 && buttPowFlag == 1){
        buttPowFlag = 0;
      }
      if(power == 1){
        powerLed = 1;
        menuOptions = 1;
        digitalWrite(2,1);
      }
      if(power == 0){
        lcd.clear();
     
        digitalWrite(2,0);
        menuOptions = 0;
      }
      if(menuOptions == 1 ){
        ds18b20();
        light();
      }
    }
    void ds18b20(){
      if( millis()- timing2 > 1500){
      sensor.begin();
      sensor.setResolution(12);
      sensor.requestTemperatures();
      temp = sensor.getTempCByIndex(0);
      lcd.setCursor(0,0);
      lcd.print("TempC:");
      lcd.setCursor(7,0);
      lcd.print(temp);
      timing2 = millis();
      }
    }
    void light(){
      lcd.setCursor(0,1);
      lcd.print("ToD:");
      lcd.setCursor(5,1);
      if(phSensor < 500 && phSensor > 300 ){
        lcd.print("Evn");
      }
      if(phSensor < 300){
        lcd.print("Night");
      }
      if(phSensor > 500){
        lcd.print("Day");
      }
    }
     
  11. lol

    lol Нерд

    этот скетч компилирует

    я перенёс папку Arduino на диск C , а как к ней путь в IDE указать???
     
    Последнее редактирование модератором: 13 июн 2019
  12. Airbus

    Airbus Радиохулиган Модератор

    В настройках
     
  13. parovoZZ

    parovoZZ Гуру

    У меня AtmelStudio всё нормально переносит. Видимо, дело в кривом инструменте.
     
    lol нравится это.
  14. Airbus

    Airbus Радиохулиган Модератор

    Саму IDE надо в корень диска С установить.

    Скетч ТС скомпилился?
     
    Последнее редактирование модератором: 13 июн 2019
    lol нравится это.
  15. NikitOS

    NikitOS Король шутов Администратор

    @Airbus, а обязательно на диск С пихать? :)
     
    lol нравится это.
  16. lol

    lol Нерд

    спасибо большое всё работает , но странно что с 3 символами ошибку выдаёт, а если 5 , то норм, но пасиб

    спасибо за помощь
     
  17. Airbus

    Airbus Радиохулиган Модератор

    Желательно.Но без кириллицы обязательно.
     
  18. NikitOS

    NikitOS Король шутов Администратор

    А если у меня нет диска С? :(
     
    parovoZZ нравится это.
  19. Airbus

    Airbus Радиохулиган Модератор

    У меня оба скетча компилятся.Проверил

    Он всегда есть.Тот где система
     
  20. NikitOS

    NikitOS Король шутов Администратор

    На пингвине нету..