Помогите с кодом, пожалуйста!!!

Тема в разделе "Arduino & Shields", создана пользователем WinTor228, 27 окт 2018.

  1. WinTor228

    WinTor228 Нерд

    Я сейчас разбераюсь где же находятся эти класы в библиотеке
     
  2. Максим B

    Максим B Гуру

    Можно еще попробовать скомпилировать код в более низкой версии IDE. Например: 1.0.5
     
  3. parovoZZ

    parovoZZ Гуру

    А можно ничего не пробовать, а поставить нормальную IDE и там все сделать.
     
  4. WinTor228

    WinTor228 Нерд

    Нормальная IDE Это другая программа или одна из версий Arduino IDE?
    Если другая программа, тогда как перенести в нее библиотеки?
     
    Последнее редактирование: 29 окт 2018
  5. parovoZZ

    parovoZZ Гуру

    Это атмел студио с visual micro.
     
  6. WinTor228

    WinTor228 Нерд

    Не могу понятьчто нужно поменять здесь
    Код (C++):
    int readData = dht.read22(dataPin);
    Ошибка вылазит, что тут что-то не так
     
  7. ZAZ-965

    ZAZ-965 Гуру

    @WinTor228, не увидел от вас ссылку на библиотеку, погуглил сам. Судя по всему используется эта библиотека https://playground.arduino.cc/Main/DHTLib. Распакуйте вложение в Arduino\libraries и вернитесь к первоначальной версии скетча.
    Т.к. у меня библиотек DHT вагон и тележка, файлы dht.h и dht.cpp поместил в папку со скетчем и подключил так
    Код (C++):
    #include "DHT.h"
     

    Вложения:

    Последнее редактирование: 30 окт 2018
  8. WinTor228

    WinTor228 Нерд

    https://github.com/adafruit/Adafruit_Sensor
    Стоит такая библиотека. Во время очередной ошибки вылезло окошко, что нет файла Adafruit_sensor.h
     
  9. WinTor228

    WinTor228 Нерд

    Сейчас вылазит вот такая ошибка



    sketch_sep08a:7:1: error: 'DHT' does not name a type

    DHT dht;

    ^

    C:\Users\Yegor Stopnik\Documents\Arduino\sketch_sep08a\sketch_sep08a.ino: In function 'void loop()':

    sketch_sep08a:19:17: error: 'dht' was not declared in this scope

    int readData = dht.read22(dataPin);

    ^

    exit status 1
    'DHT' does not name a type
     
  10. ZAZ-965

    ZAZ-965 Гуру

    Чтоб не разбираться, что за библиотеки у вас стоят поместите файлы dht.h и dht.cpp в папку C:\Users\Yegor Stopnik\Documents\Arduino\sketch_sep08a и #include <DHT.h> замените на #include "DHT.h"
     
  11. WinTor228

    WinTor228 Нерд

    ДААА!!! ПОЛУЧИЛОСЬ !!!! Спасибо большое что помгли мне с этим кодом! Но это к сожелению это только вторая часть метеостанции... Надо еще главную часть написать. Скорее всего я еще вернусь) Еще раз спасибо))
     
  12. WinTor228

    WinTor228 Нерд

    Я все таки вернулся) Этот код я к сожелению тупо скопировал (слишком сложно для нуба вроде меня). И все равно вылезли какието проблемы. Вот код:
    Код (C++):
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    #include <dht.h>
    #include <DS3231.h>
    #include <U8g2lib.h>
    #include <Wire.h>
    #define dataPin 8 // DHT22 sensor
    dht DHT; // Creats a DHT object
    DS3231  rtc(SDA, SCL);
    U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
    RF24 radio(10, 9); // CE, CSN
    const byte address[6] = "00001";
    char text[6] = "";
    int readDHT22, t, h;
    String inTemp, inHum, outTemp, outHum;
    String rtcTime, rtcDate;
    int draw_state = 0;
    unsigned long previousMillis = 0;
    long interval = 3000;
    #define Temperature_20Icon_width 27
    #define Temperature_20Icon_height 47
    static const unsigned char Temperature_20Icon_bits[] U8X8_PROGMEM = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00,
      0xc0, 0xe1, 0x00, 0x00, 0xe0, 0xc0, 0x01, 0x00, 0x60, 0x80, 0xf9, 0x03,
      0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x79, 0x00,
      0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0xf9, 0x03,
      0x60, 0x80, 0x01, 0x00, 0x60, 0x80, 0x01, 0x00, 0x60, 0x8c, 0x79, 0x00,
      0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0xf9, 0x03,
      0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x79, 0x00,
      0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0xf9, 0x03,
      0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00, 0x60, 0x9e, 0x01, 0x00,
      0x70, 0x9e, 0x03, 0x00, 0x38, 0x1e, 0x07, 0x00, 0x18, 0x3e, 0x0e, 0x00,
      0x1c, 0x3f, 0x0c, 0x00, 0x0c, 0x7f, 0x18, 0x00, 0x8c, 0xff, 0x18, 0x00,
      0x8e, 0xff, 0x38, 0x00, 0xc6, 0xff, 0x31, 0x00, 0xc6, 0xff, 0x31, 0x00,
      0xc6, 0xff, 0x31, 0x00, 0x8e, 0xff, 0x38, 0x00, 0x8c, 0xff, 0x18, 0x00,
      0x0c, 0x7f, 0x1c, 0x00, 0x3c, 0x1c, 0x0e, 0x00, 0x78, 0x00, 0x06, 0x00,
      0xe0, 0x80, 0x07, 0x00, 0xe0, 0xff, 0x03, 0x00, 0x80, 0xff, 0x00, 0x00,
      0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    };
    #define Humidity_20Icon_width 27
    #define Humidity_20Icon_height 47
    static const unsigned char Humidity_20Icon_bits[] U8X8_PROGMEM = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
      0x00, 0x70, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00,
      0x00, 0xdc, 0x01, 0x00, 0x00, 0x8e, 0x01, 0x00, 0x00, 0x86, 0x03, 0x00,
      0x00, 0x06, 0x03, 0x00, 0x00, 0x03, 0x07, 0x00, 0x80, 0x03, 0x06, 0x00,
      0x80, 0x01, 0x0c, 0x00, 0xc0, 0x01, 0x1c, 0x00, 0xc0, 0x00, 0x18, 0x00,
      0xe0, 0x00, 0x38, 0x00, 0x60, 0x00, 0x30, 0x00, 0x70, 0x00, 0x70, 0x00,
      0x30, 0x00, 0xe0, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x18, 0x00, 0xc0, 0x01,
      0x1c, 0x00, 0x80, 0x01, 0x0c, 0x00, 0x80, 0x03, 0x0e, 0x00, 0x80, 0x03,
      0x06, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x07,
      0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x06,
      0x63, 0x00, 0x00, 0x06, 0x63, 0x00, 0x00, 0x06, 0x63, 0x00, 0x00, 0x06,
      0xe3, 0x00, 0x00, 0x06, 0xc7, 0x00, 0x00, 0x06, 0xc6, 0x01, 0x00, 0x07,
      0x86, 0x03, 0x00, 0x03, 0x0e, 0x1f, 0x00, 0x03, 0x0e, 0x1e, 0x80, 0x01,
      0x1c, 0x00, 0xc0, 0x01, 0x38, 0x00, 0xe0, 0x00, 0x78, 0x00, 0x70, 0x00,
      0xf0, 0x00, 0x38, 0x00, 0xe0, 0x07, 0x1f, 0x00, 0x80, 0xff, 0x0f, 0x00,
      0x00, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
    };
    void setup() {
      radio.begin();
      radio.openReadingPipe(0, address);
      radio.setPALevel(RF24_PA_MIN);
      radio.startListening();
      u8g2.begin();
      rtc.begin();
    }
    void loop() {
      if (radio.available()) {
        radio.read(&text, sizeof(text)); // Read incoming data
        outTemp = String(text[0]) + String(text[1]) + char(176) + "C"; // Outdoor Temperature
        outHum = String(text[2]) + String(text[3]) + "%"; // Outdoor Humidity
      }
      unsigned long currentMillis = millis();
      if (currentMillis - previousMillis > interval) {
        previousMillis = currentMillis;
        u8g2.firstPage();
        do {
          switch (draw_state ) {
            case 0: drawDate(); break;
            case 1: drawInTemperature(); break;
            case 2: drawInHumidity(); break;
            case 3: drawOutTemperature(); break;
            case 4: drawOutHumidity(); break;
          }
        } while ( u8g2.nextPage() );
        draw_state++;
        if (draw_state > 4) {
          draw_state = 0;
        }
      }
    }
    void drawDate() {
      String dowa = rtc.getDOWStr();
      dowa.remove(3);
      rtcDate = dowa + " " + rtc.getDateStr();
      u8g2.setFont(u8g2_font_timB14_tr);
      u8g2.setCursor(0, 15);
      rtcTime = rtc.getTimeStr(); // DS3231 RTC time
      rtcTime.remove(5);
      u8g2.print(rtcDate);
      u8g2.setFont(u8g2_font_fub30_tf);
      u8g2.setCursor(8, 58);
      u8g2.print(rtcTime);
    }
    void drawInTemperature() {
      readDHT22 = DHT.read22(dataPin); // Reads the data from the sensor
      t = DHT.temperature; // Gets the values of the temperature
      inTemp = String(t) + char(176) + "C";
      u8g2.setFont(u8g2_font_helvR14_tr);
      u8g2.setCursor(24, 15);
      u8g2.print("INDOOR");
      u8g2.setFont(u8g2_font_fub30_tf);
      u8g2.setCursor(36, 58);
      u8g2.print(inTemp);
      u8g2.drawXBMP( 0, 17, Temperature_20Icon_width, Temperature_20Icon_height, Temperature_20Icon_bits);
    }
    void drawInHumidity() {
      h = DHT.humidity; // Gets the values of the humidity
      inHum = String(h) + "%";
      u8g2.setFont(u8g2_font_helvR14_tr);
      u8g2.setCursor(24, 15);
      u8g2.print("INDOOR");
      u8g2.setFont(u8g2_font_fub30_tf);
      u8g2.setCursor(36, 58);
      u8g2.print(inHum);
      u8g2.drawXBMP( 0, 17, Humidity_20Icon_width, Humidity_20Icon_height, Humidity_20Icon_bits);
    }
    void drawOutTemperature() {
      u8g2.setFont(u8g2_font_helvR14_tr);
      u8g2.setCursor(12, 15);
      u8g2.print("OUTDOOR");
      u8g2.setFont(u8g2_font_fub30_tf);
      u8g2.setCursor(36, 58);
      u8g2.print(outTemp);
      u8g2.drawXBMP( 0, 17, Temperature_20Icon_width, Temperature_20Icon_height, Temperature_20Icon_bits);
    }
    void drawOutHumidity() {
      u8g2.setFont(u8g2_font_helvR14_tr);
      u8g2.setCursor(12, 15);
      u8g2.print("OUTDOOR");
      u8g2.setFont(u8g2_font_fub30_tf);
      u8g2.setCursor(36, 58);
      u8g2.print(outHum);
      u8g2.drawXBMP( 0, 17, Humidity_20Icon_width, Humidity_20Icon_height, Humidity_20Icon_bits);
    }
    Вот такая ошибка вылезла:
    open sketch\Meteostation_Inside.ino.cpp: Access is denied.
    Ошибка компиляции для платы Arduino Nano.
    Помогите мне пожалуйста! Зарание спасибо!
     
  13. DetSimen

    DetSimen Guest

    Для нуба написано конкретней некуда:
    Переведи.
     
  14. WinTor228

    WinTor228 Нерд

    Как я могу это исправить?
     
  15. ZAZ-965

    ZAZ-965 Гуру

    Попробуйте запустить IDE от имени администратора.
     
  16. WinTor228

    WinTor228 Нерд

    Теперь вот это вылезло:

    Meteostation_Inside:6:21: error: U8g2lib.h: No such file or directory

    compilation terminated.

    exit status 1
    U8g2lib.h: No such file or directory

    Хотя библиотеку я скачал и добавил в Arduino
     
  17. U8g2lib, уверены? Не u8g?
    Да и проверьте папку с библиотекой, оба файла присутствуют .cpp и .h?
     
  18. WinTor228

    WinTor228 Нерд

    Я перенес файли .h и .cpp в сам проект (поевились две вкладки) и вылезла вот такая ошибка
    In file included from sketch\U8g2lib.h:50:0,

    from C:\Users\Yegor Stopnik\Desktop\Meteostation_Inside\Meteostation_Inside.ino:6:

    U8x8lib.h:45:18: error: u8x8.h: No such file or directory

    compilation terminated.

    exit status 1
    u8x8.h: No such file or directory
     
  19. ZAZ-965

    ZAZ-965 Гуру

    Вложения:

    • DS3231.zip
      Размер файла:
      152,2 КБ
      Просмотров:
      202
  20. WinTor228

    WinTor228 Нерд

    У меня уже стоит эта библиотека DS3231 и с ней проблем нет. Я подключил эту бтблиоткеу и там есть два варианта
    Код (C++):
    #include <U8g2lib.h>
    #include <U8x8lib.h>
    Нужно два подключить или какой то один