Подключение двух датчиков температуры с выводом на олед дисплей

NVV
Offline
Зарегистрирован: 03.01.2017

Прошу помощи допилить скетч по двум датчикам и олед дисплею

NVV
Offline
Зарегистрирован: 03.01.2017
 
 
#include <OneWire.h>                  // Подключаем библиотеку для взаимодействия с устройствами, работающими на шине и по протоколу 1-Wire
#include <DallasTemperature.h>        // Подключаем библиотеку с функциями для работы с DS18B20 (запросы, считывание и преобразование возвращаемых данных)
 
#include <OLED_I2C.h>                 // Подключаем библиотеку OLED_I2C для работы со шрифтами и графикой
OLED  myOLED(A4, A5, A4);             // Определяем пины I2C интерфейса: UNO и NANO -- SDA - пин A4, SCL - пин A5; MEGA -- SDA - пин 20, SCL - пин 21
extern uint8_t RusFont[];                           // Подключаем русский шрифт
extern uint8_t SmallFont[];                         // Подключаем латинский шрифтом
 
 
#define ONE_WIRE_BUS 2                // Указываем пин подключения data-вывода датчика температуры
#define term_power 4                  // Указываем пин подключения питания датчика температуры
 
OneWire oneWire(ONE_WIRE_BUS);        // Сообщаем библиотеке об устройстве, работающем по протоколу 1-Wire
DallasTemperature sensors(&oneWire);  // Связываем функции библиотеки DallasTemperature с нашим 1-Wire устройством (DS18B20)
 
extern uint8_t BigNumbers[];          // Подключаем шрифт
 
void setup(void)
{
  myOLED.begin();                     // Инициализируем библиотеку OLED_I2C
  pinMode(term_power, OUTPUT);        // Определяем пин подключения питания датчика температуры
}
 
 
float temperature() {                            // Измеряем температуру 10 секунд
  digitalWrite(term_power, HIGH);                // Включаем питание датчика температуры
  delay(200);                                    // Задержка перед первым измерением 
  sensors.requestTemperatures();                 // Запрос на измерение температуры (1-й ошибочный)
  delay(650);                                    // Задержка перед поторным измерением
  sensors.requestTemperatures();                 // Запрос на измерение температуры (повторный)
  float t = float(sensors.getTempCByIndex(0));   // Получаем значение температуры
  digitalWrite(term_power, LOW);                 // Отключаем питание датчика температуры
  delay(1400);                                   // Задержка, чтобы датчик не нагревался от частых измерений
  return(t);                                     // Возвращаем значение температуры в место вызова функци
}
void loop(void)
{
    myOLED.clrScr();                                // Стираем все с экрана
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("EKBWF", LEFT, 0);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 0); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("LJV", LEFT, 40);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 40); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.update();                                // Обновляем информацию на дисплее
inspiritus
Онлайн
Зарегистрирован: 17.12.2012

Если хотите , что бы Вам помогли, научитесь постить текст программы в соответствии с правилами форума,

NVV
Offline
Зарегистрирован: 03.01.2017
// Видеообзоры и уроки работы с ARDUINO на YouTube-канале IOMOIO: https://www.youtube.com/channel/UCmNXABaTjX_iKH28TTJpiqA

#include <OneWire.h>                  // Подключаем библиотеку для взаимодействия с устройствами, работающими на шине и по протоколу 1-Wire
#include <DallasTemperature.h>        // Подключаем библиотеку с функциями для работы с DS18B20 (запросы, считывание и преобразование возвращаемых данных)

#include <OLED_I2C.h>                 // Подключаем библиотеку OLED_I2C для работы со шрифтами и графикой
OLED  myOLED(A4, A5, A4);             // Определяем пины I2C интерфейса: UNO и NANO -- SDA - пин A4, SCL - пин A5; MEGA -- SDA - пин 20, SCL - пин 21
extern uint8_t RusFont[];                           // Подключаем русский шрифт
extern uint8_t SmallFont[];                         // Подключаем латинский шрифтом


#define ONE_WIRE_BUS 2                // Указываем пин подключения data-вывода датчика температуры
#define term_power 4                  // Указываем пин подключения питания датчика температуры

OneWire oneWire(ONE_WIRE_BUS);        // Сообщаем библиотеке об устройстве, работающем по протоколу 1-Wire
DallasTemperature sensors(&oneWire);  // Связываем функции библиотеки DallasTemperature с нашим 1-Wire устройством (DS18B20)

extern uint8_t BigNumbers[];          // Подключаем шрифт

void setup(void)
{
  myOLED.begin();                     // Инициализируем библиотеку OLED_I2C
  pinMode(term_power, OUTPUT);        // Определяем пин подключения питания датчика температуры
}


float temperature() {                            // Измеряем температуру 10 секунд
  digitalWrite(term_power, HIGH);                // Включаем питание датчика температуры
  delay(200);                                    // Задержка перед первым измерением 
  sensors.requestTemperatures();                 // Запрос на измерение температуры (1-й ошибочный)
  delay(650);                                    // Задержка перед поторным измерением
  sensors.requestTemperatures();                 // Запрос на измерение температуры (повторный)
  float t = float(sensors.getTempCByIndex(0));   // Получаем значение температуры
  digitalWrite(term_power, LOW);                 // Отключаем питание датчика температуры
  delay(1400);                                   // Задержка, чтобы датчик не нагревался от частых измерений
  return(t);                                     // Возвращаем значение температуры в место вызова функци
}
void loop(void)
{
    myOLED.clrScr();                                // Стираем все с экрана
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("EKBWF", LEFT, 0);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 0); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("LJV", LEFT, 40);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 40); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.update();                                // Обновляем информацию на дисплее
} 

 

 

NVV
Offline
Зарегистрирован: 03.01.2017

У меня подключено два датчика через программу FLProg можно глянуть через ком порт и температура хорошо считывается с двух датчико.А на дисплее только с одного и все.Помогите сделать чтоб ч двух.

bwn
Offline
Зарегистрирован: 25.08.2014

Выброси свою бяку, код считывания отсюда, на дисплей выводим temp1, temp2 (взамен Serial.print()).

NVV
Offline
Зарегистрирован: 03.01.2017

Спс попробую и отпишусь позже.Я же только начинаю этим заниматься.А подключать же паразитно к одним пинам?

bwn
Offline
Зарегистрирован: 25.08.2014

NVV пишет:

А подключать же паразитно к одним пинам?

Нахрена? Или для третий провод никак не провести? Паразитное питание - способ найти гемморой. При возможности лучше избегать.

NVV
Offline
Зарегистрирован: 03.01.2017

Ошибку выдает и все.

 

NVV
Offline
Зарегистрирован: 03.01.2017

 

OneWire&nbsp; ds(2);

 

NVV
Offline
Зарегистрирован: 03.01.2017

Вот здесь

bwn
Offline
Зарегистрирован: 25.08.2014

Какая у вас плата, что значит запись: 

OneWire&nbsp; ds(2); должно быть OneWire  ds(2);
Какую ошибку выдает?

NVV
Offline
Зарегистрирован: 03.01.2017

Привет.Я щас на работе.Приеду и попробую.Я когда проверку делаю или пытаюсь загрузить скетч отмечает эту строку.Вот я ее и скопировал.Я приеду и переделаю как ты написал.А что значит в замен (Serial.print())?Как это взамен?

NVV
Offline
Зарегистрирован: 03.01.2017

Плата UNO

bwn
Offline
Зарегистрирован: 25.08.2014

NVV пишет:
Привет.Я щас на работе.Приеду и попробую.Я когда проверку делаю или пытаюсь загрузить скетч отмечает эту строку.Вот я ее и скопировал.Я приеду и переделаю как ты написал.А что значит в замен (Serial.print())?Как это взамен?

Сбросьте потом весь свой скетч и ошибки которые выдает.
Там есть блок с Serial.print-ами, вместо него ваш OLED с правильными переменными.

NVV
Offline
Зарегистрирован: 03.01.2017
Arduino: 1.6.14 Hourly Build 2016/11/25 05:33 (Windows 10), Плата:"Arduino/Genuino Uno"

sketch_jan12a:30: error: expected constructor, destructor, or type conversion before ';' token

 &nbsp;

      ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_714489\sketch_jan12a.ino: In function 'void __vector_6()':

sketch_jan12a:34: error: 'nbsp' was not declared in this scope

 if (n) {ds.reset();&nbsp; // сброс шины

                     ^

sketch_jan12a:38: error: 'nbsp' was not declared in this scope

 else&nbsp;&nbsp; {ds.reset();

      ^

sketch_jan12a:38: error: 'nbsp' was not declared in this scope

 else&nbsp;&nbsp; {ds.reset();

            ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_714489\sketch_jan12a.ino:41:68: warning: value computed is not used [-Wunused-value]

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp1 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;

                                                                    ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_714489\sketch_jan12a.ino:46:68: warning: value computed is not used [-Wunused-value]

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp2 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта &nbsp;

                                                                    ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_714489\sketch_jan12a.ino: At global scope:

sketch_jan12a:49: error: expected constructor, destructor, or type conversion before ';' token

 &nbsp;

      ^

sketch_jan12a:50: error: expected constructor, destructor, or type conversion before ';' token

 &nbsp;

      ^

exit status 1
expected constructor, destructor, or type conversion before ';' token

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

 

NVV
Offline
Зарегистрирован: 03.01.2017

вот поменял как ты написал в начале и теперь самая нижняя строчка вот такая ошибка

NVV
Offline
Зарегистрирован: 03.01.2017
#include <OneWire.h>
OneWire ds(2);
byte addr1[8]={0x28,0x04,0x13,0x80,0x06,0x00,0x00,0xF8};
byte addr2[8]={0x28,0x47,0x1F,0x5C,0x06,0x00,0x00,0xE6};

volatile int temp1,temp2;

void setup(void) {
Serial.begin(9600);
WDTCSR=(1<<WDCE)|(1<<WDE); //установить биты WDCE WDE (что б разрешить запись в другие биты
WDTCSR=(1<<WDIE)| (1<<WDP2)|(1<<WDP1); // разрешение прерывания + выдержка 1 секунда
// (55 страница <a href="<a href="<a href="http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf" rel="nofollow">http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf</a>" rel="nofollow"><a href="http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf" rel="nofollow">http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf</a></a>" rel="nofollow">даташита</a>)
// снять все ремарки если нужно поменять разрешение
//&nbsp; ds.reset(); // сброс шины
//&nbsp; ds.select(addr2); //выставить адрес
//&nbsp; ds.write(0x4E); // разрешение записать конфиг
//&nbsp; ds.write(0x7F); // Th контроль температуры макс 128грд
//&nbsp; ds.write(0xFF); //Tl контроль температуры мин -128грд
//&nbsp; ds.write(0x60); // 0x60 12-бит разрешение, 0x00 -9бит разрешение
}

void loop(void) {
Serial.print("Temp1= ");
Serial.print(temp1/16.0);
Serial.print("&nbsp;&nbsp; ");
Serial.print("Temp2= ");
Serial.println(temp2/16.0);

}
&nbsp;
ISR (WDT_vect){ //вектор прерывания WD
static boolean n=0; // флаг работы: запрос температуры или её чтение
n=!n;
if (n) {ds.reset();&nbsp; // сброс шины
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0xCC);//обращение ко всем датчикам
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0x44);// начать преобразование (без паразитного питания) &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
else&nbsp;&nbsp; {ds.reset();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.select(addr1);&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0xBE); // Read Scratchpad (чтение регистров) &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp1 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // получение с 2-го датчика
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.reset();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.select(addr2);&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0xBE); // Read Scratchpad (чтение регистров) &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp2 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
}
&nbsp;
&nbsp;
  
 

 

NVV
Offline
Зарегистрирован: 03.01.2017

поменял вторую строчку как ты написал

NVV
Offline
Зарегистрирован: 03.01.2017

теперь на 50 ошибка.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Вместо пробелов вставляются HTML-коды неразрывного пробела...

NVV
Offline
Зарегистрирован: 03.01.2017
Arduino: 1.6.14 Hourly Build 2016/11/25 05:33 (Windows 10), Плата:"Arduino/Genuino Uno"

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_904842\sketch_jan12a.ino: In function 'void loop()':

sketch_jan12a:26: error: 'myOLED' was not declared in this scope

     myOLED.clrScr();                                // Стираем все с экрана

     ^

sketch_jan12a:27: error: 'BigNumbers' was not declared in this scope

     myOLED.setFont(BigNumbers);                     // Инициализируем шрифт

                    ^

sketch_jan12a:28: error: expression cannot be used as a function

     myOLED.print(String("Temp1= "()),CENTER, 10); // Выводим текущее значение температуры датчика, округленное до десятых

                                   ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_904842\sketch_jan12a.ino: At global scope:

sketch_jan12a:31: error: expected constructor, destructor, or type conversion before ';' token

 &nbsp;

      ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_904842\sketch_jan12a.ino: In function 'void __vector_6()':

sketch_jan12a:35: error: 'nbsp' was not declared in this scope

 if (n) {ds.reset();&nbsp; // сброс шины

                     ^

sketch_jan12a:39: error: 'nbsp' was not declared in this scope

 else&nbsp;&nbsp; {ds.reset();

      ^

sketch_jan12a:39: error: 'nbsp' was not declared in this scope

 else&nbsp;&nbsp; {ds.reset();

            ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_904842\sketch_jan12a.ino:42:68: warning: value computed is not used [-Wunused-value]

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp1 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;

                                                                    ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_904842\sketch_jan12a.ino:47:68: warning: value computed is not used [-Wunused-value]

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp2 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта &nbsp;

                                                                    ^

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_904842\sketch_jan12a.ino: At global scope:

sketch_jan12a:50: error: expected constructor, destructor, or type conversion before ';' token

 &nbsp;

      ^

sketch_jan12a:51: error: expected constructor, destructor, or type conversion before ';' token

 &nbsp;

      ^

Несколько библиотек найдено для "OLED_I2C.h"
 Используется: C:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C
Не используется: C:\Users\victo\Desktop\arduino-nightly\libraries\OLED_I2C
exit status 1
'myOLED' was not declared in this scope

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

 

NVV
Offline
Зарегистрирован: 03.01.2017

щас вот такую ошибку когда я начал добавлять дисплей

NVV
Offline
Зарегистрирован: 03.01.2017
#include <DallasTemperature.h>
#include <OLED_I2C.h>
OLED  myOLED(A4, A5, A4);             // Определяем пины I2C интерфейса: UNO и NANO -- SDA - пин A4, SCL - пин A5; MEGA -- SDA - пин 20, SCL - пин 21
#include <OneWire.h>
OneWire ds(2);

extern uint8_t BigNumbers[];          // Подключаем шрифт

byte addr1[8]={0x28,0x04,0x13,0x80,0x06,0x00,0x00,0xF8};
byte addr2[8]={0x28,0x47,0x1F,0x5C,0x06,0x00,0x00,0xE6};

volatile int temp1,temp2;

void setup(void){
myOLED.begin();                     // Инициализируем библиотеку OLED_I2C
{
Serial.begin(9600);
WDTCSR=(1<<WDCE)|(1<<WDE); //установить биты WDCE WDE (что б разрешить запись в другие биты
WDTCSR=(1<<WDIE)| (1<<WDP2)|(1<<WDP1); // разрешение прерывания + выдержка 1 секунда
// (55 страница <a href="<a href="<a href="http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf" rel="nofollow">http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf</a>" rel="nofollow"><a href="http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf" rel="nofollow">http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf</a></a>" rel="nofollow">даташита</a>)
// снять все ремарки если нужно поменять разрешение
//&nbsp; ds.reset(); // сброс шины
//&nbsp; ds.select(addr2); //выставить адрес
//&nbsp; ds.write(0x4E); // разрешение записать конфиг
//&nbsp; ds.write(0x7F); // Th контроль температуры макс 128грд
//&nbsp; ds.write(0xFF); //Tl контроль температуры мин -128грд
//&nbsp; ds.write(0x60); // 0x60 12-бит разрешение, 0x00 -9бит разрешение
}

void loop(void)
{
    myOLED.clrScr();                                // Стираем все с экрана
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String("Temp1= "()),CENTER, 10); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.update();                                // Обновляем информацию на дисплее
}
&nbsp;
ISR (WDT_vect){ //вектор прерывания WD
static boolean n=0; // флаг работы: запрос температуры или её чтение
n=!n;
if (n) {ds.reset();&nbsp; // сброс шины
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0xCC);//обращение ко всем датчикам
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0x44);// начать преобразование (без паразитного питания) &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
else&nbsp;&nbsp; {ds.reset();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.select(addr1);&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0xBE); // Read Scratchpad (чтение регистров) &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp1 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // получение с 2-го датчика
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.reset();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.select(addr2);&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds.write(0xBE); // Read Scratchpad (чтение регистров) &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; temp2 =&nbsp; ds.read() | (ds.read()<<8); //прочитаны 2 байта &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
}
&nbsp;
&nbsp;
  
 

 

NVV
Offline
Зарегистрирован: 03.01.2017

Сделал вот так и теперь другая ошибка

NVV
Offline
Зарегистрирован: 03.01.2017
Arduino: 1.6.14 Hourly Build 2016/11/25 05:33 (Windows 10), Плата:"Arduino/Genuino Uno"

C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_905524\sketch_jan12a.ino: In function 'void setup()':

sketch_jan12a:31: error: a function-definition is not allowed here before '{' token

 {

 ^

sketch_jan12a:37: error: 'nbsp' was not declared in this scope

 &nbsp;

  ^

In file included from C:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino/Arduino.h:30:0,

                 from sketch\sketch_jan12a.ino.cpp:1:

sketch_jan12a:38: error: expected unqualified-id before string constant

 ISR (WDT_vect){ //вектор прерывания WD

 ^

sketch_jan12a:38: error: a function-definition is not allowed here before '{' token

 ISR (WDT_vect){ //вектор прерывания WD

               ^

sketch_jan12a:57: error: expected '}' at end of input

 &nbsp;

      ^

Несколько библиотек найдено для "OLED_I2C.h"
 Используется: C:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C
Не используется: C:\Users\victo\Desktop\arduino-nightly\libraries\OLED_I2C
exit status 1
a function-definition is not allowed here before '{' token

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

 

arDubino
Offline
Зарегистрирован: 12.01.2017

чет у вас с методологией не то.

надо датчики подключить к плате дисплей тоже к плате. соответственно плата посредник между этими устройствами. соответственно вы можете в циклей через опред. промежутки получать опрашивая оба по очереди их анные а потом выводить по очереди тоже оба.

ну или если вы хотите чтоб дисплей управлял платой т.е. задавал опрос датчиков.

то в цикле у вас опрашивается дисплей на нажатием кнопки. проверяется какая кнопка нажать а затем опрашивается нужный датчик

bwn
Offline
Зарегистрирован: 25.08.2014

NVV, вы как код вставляете? Никакого "nbsp" там быть не должно.

NVV
Offline
Зарегистрирован: 03.01.2017

да ни то что с митодологией я просто только начал изучать ну можно сказать по мелочи.Вот почему такая белиберда.А в этом скетче как сделать я уже сделал что данных двое на дисплее но показания одинаковы что тут не так?

NVV
Offline
Зарегистрирован: 03.01.2017
// Видеообзоры и уроки работы с ARDUINO на YouTube-канале IOMOIO: https://www.youtube.com/channel/UCmNXABaTjX_iKH28TTJpiqA

#include <OneWire.h>                  // Подключаем библиотеку для взаимодействия с устройствами, работающими на шине и по протоколу 1-Wire
#include <DallasTemperature.h>        // Подключаем библиотеку с функциями для работы с DS18B20 (запросы, считывание и преобразование возвращаемых данных)

#include <OLED_I2C.h>                 // Подключаем библиотеку OLED_I2C для работы со шрифтами и графикой
OLED  myOLED(A4, A5, A4);             // Определяем пины I2C интерфейса: UNO и NANO -- SDA - пин A4, SCL - пин A5; MEGA -- SDA - пин 20, SCL - пин 21
extern uint8_t RusFont[];                           // Подключаем русский шрифт
extern uint8_t SmallFont[];                         // Подключаем латинский шрифтом


#define ONE_WIRE_BUS 2                // Указываем пин подключения data-вывода датчика температуры
#define term_power 4                  // Указываем пин подключения питания датчика температуры

OneWire oneWire(ONE_WIRE_BUS);        // Сообщаем библиотеке об устройстве, работающем по протоколу 1-Wire
DallasTemperature sensors(&oneWire);  // Связываем функции библиотеки DallasTemperature с нашим 1-Wire устройством (DS18B20)

extern uint8_t BigNumbers[];          // Подключаем шрифт

void setup(void)
{
  myOLED.begin();                     // Инициализируем библиотеку OLED_I2C
  pinMode(term_power, OUTPUT);        // Определяем пин подключения питания датчика температуры
}


float temperature() {                            // Измеряем температуру 10 секунд
  digitalWrite(term_power, HIGH);                // Включаем питание датчика температуры
  delay(250);                                    // Задержка перед первым измерением 
  sensors.requestTemperatures();                 // Запрос на измерение температуры (1-й ошибочный)
  delay(850);                                    // Задержка перед поторным измерением
  sensors.requestTemperatures();                 // Запрос на измерение температуры (повторный)
  float t = float(sensors.getTempCByIndex(0));   // Получаем значение температуры
  digitalWrite(term_power, LOW);                 // Отключаем питание датчика температуры
  delay(1500);                                   // Задержка, чтобы датчик не нагревался от частых измерений
  return(t);                                     // Возвращаем значение температуры в место вызова функци
}
void loop(void)
{
    myOLED.clrScr();                                // Стираем все с экрана
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("NTVGTHFNEHF", CENTER, 0);           // Выводим надпись "Русский язык"
    myOLED.print("EKBWF", LEFT, 10);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 10); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("LJV", LEFT, 40);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 40); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.update();                                // Обновляем информацию на дисплее
} 

 

NVV
Offline
Зарегистрирован: 03.01.2017

Объясни как я же сказал я можно сказать ниже 1 класса пробую читаю но вот пока не получается вы же уже как знающий человек.

bwn
Offline
Зарегистрирован: 25.08.2014

Этот вставился нормально, а что с предыдущим, на который ссылку давал?

NVV
Offline
Зарегистрирован: 03.01.2017

Ты?Какой первый?

NVV
Offline
Зарегистрирован: 03.01.2017

bwn пишет:

NVV, вы как код вставляете? Никакого "nbsp" там быть не должно.

 

Оно у меня там везде)))))

NVV
Offline
Зарегистрирован: 03.01.2017
// Видеообзоры и уроки работы с ARDUINO на YouTube-канале IOMOIO: https://www.youtube.com/channel/UCmNXABaTjX_iKH28TTJpiqA

#include <OneWire.h>                  // Подключаем библиотеку для взаимодействия с устройствами, работающими на шине и по протоколу 1-Wire
#include <DallasTemperature.h>        // Подключаем библиотеку с функциями для работы с DS18B20 (запросы, считывание и преобразование возвращаемых данных)

#include <OLED_I2C.h>                 // Подключаем библиотеку OLED_I2C для работы со шрифтами и графикой
OLED  myOLED(A4, A5, A4);             // Определяем пины I2C интерфейса: UNO и NANO -- SDA - пин A4, SCL - пин A5; MEGA -- SDA - пин 20, SCL - пин 21
extern uint8_t RusFont[];                           // Подключаем русский шрифт
extern uint8_t SmallFont[];                         // Подключаем латинский шрифтом


#define ONE_WIRE_BUS 2                // Указываем пин подключения data-вывода датчика температуры
#define term_power 4                  // Указываем пин подключения питания датчика температуры

OneWire oneWire(ONE_WIRE_BUS);        // Сообщаем библиотеке об устройстве, работающем по протоколу 1-Wire
DallasTemperature sensors(&oneWire);  // Связываем функции библиотеки DallasTemperature с нашим 1-Wire устройством (DS18B20)

extern uint8_t BigNumbers[];          // Подключаем шрифт

void setup(void)
{
  myOLED.begin();                     // Инициализируем библиотеку OLED_I2C
  pinMode(term_power, OUTPUT);        // Определяем пин подключения питания датчика температуры
}


float temperature() {                            // Измеряем температуру 10 секунд
  digitalWrite(term_power, HIGH);                // Включаем питание датчика температуры
  delay(250);                                    // Задержка перед первым измерением 
  sensors.requestTemperatures();                 // Запрос на измерение температуры (1-й ошибочный)
  delay(850);                                    // Задержка перед поторным измерением
  sensors.requestTemperatures();                 // Запрос на измерение температуры (повторный)
  float t = float(sensors.getTempCByIndex(0));   // Получаем значение температуры
  digitalWrite(term_power, LOW);                 // Отключаем питание датчика температуры
  delay(1500);                                   // Задержка, чтобы датчик не нагревался от частых измерений
  return(t);                                     // Возвращаем значение температуры в место вызова функци
}
void loop(void)
{
    myOLED.clrScr();                                // Стираем все с экрана
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("NTVGTHFNEHF", CENTER, 0);           // Выводим надпись "Русский язык"
    myOLED.print("EKBWF", LEFT, 10);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 10); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("LJV", LEFT, 40);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 40); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.update();                                // Обновляем информацию на дисплее
} 

 

NVV
Offline
Зарегистрирован: 03.01.2017

Вот над которым я мучался просто добавляя строчки сделал на дисплее ДОМ и УЛИЦА но показания с одного на двух одинаковы

bwn
Offline
Зарегистрирован: 25.08.2014

Который от dimax, если он такой же в IDE, как и здесь на экране, то работать никогда не будет.

NVV
Offline
Зарегистрирован: 03.01.2017

ну а который последний скинул чкетч может там как то подправить можно?Он со 2 пина берет а если второй в 3 пин кинуть?

bwn
Offline
Зарегистрирован: 25.08.2014

Короче, код с сайта ты вставляешь через задницу. Разворачиваешь код, наводишь курсор, справа высветится окошко, в нем наводишь на иконку "code", нажимаешь. Код откроется в новом окне, из этого окна копируешь и вставляешь в IDE. Прозит.
Не забудь прописать свои адреса датчиков.

NVV
Offline
Зарегистрирован: 03.01.2017

IDE?

arDubino
Offline
Зарегистрирован: 12.01.2017

да не в адресах проблема то :))))

там температура при инициализацию в сетапа ж меряется.

а потом в цикле он ее передает ... одну и ту же которая и была прочитана при старте системы

bwn
Offline
Зарегистрирован: 25.08.2014

NVV пишет:

IDE?

Там, где скетчи пишешь и чем в Ардуинку заливаешь. Надеюсь не блокнотом.))))

NVV
Offline
Зарегистрирован: 03.01.2017

вот как ты сказал сделал прога его проверила и все норм.Теперь надо добавить библеотеки олед и адреса?

NVV
Offline
Зарегистрирован: 03.01.2017

уже понял

bwn
Offline
Зарегистрирован: 25.08.2014

arDubino пишет:

да не в адресах проблема то :))))

там температура при инициализацию в сетапа ж меряется.

а потом в цикле он ее передает ... одну и ту же которая и была прочитана при старте системы

Ты код смотрел? Там ни сетапа, ни хрена нет. Одни служебные символы.

bwn
Offline
Зарегистрирован: 25.08.2014

NVV пишет:

вот как ты сказал сделал прога его проверила и все норм.Теперь надо добавить библеотеки олед и адреса?

Оставляешь свою OLED библиотеку и что с ней связано. Все от DallasTemperature в топку.
Должны быть OLED и OneWire/

arDubino
Offline
Зарегистрирован: 12.01.2017

а температуре фукция в нее надо тогда передавать номер нужного датчика.

 

NVV
Offline
Зарегистрирован: 03.01.2017
#include <OLED_I2C.h>
#include <OneWire.h>
#include <OLED_I2C.h>
OLED  myOLED(A4, A5, A4);             // Определяем пины I2C интерфейса: UNO и NANO -- SDA - пин A4, SCL - пин A5; MEGA -- SDA - пин 20, SCL - пин 21
extern uint8_t RusFont[];                           // Подключаем русский шрифт
extern uint8_t SmallFont[];                         // Подключаем латинский шрифтом  
OneWire  ds(2);
byte addr1[8]={0x28,0x04,0x13,0x80,0x06,0x00,0x00,0xF8};
byte addr2[8]={0x28,0x47,0x1F,0x5C,0x06,0x00,0x00,0xE6};

volatile int temp1,temp2;
extern uint8_t BigNumbers[];          // Подключаем шрифт

void setup(void){
myOLED.begin();   
{
Serial.begin(9600);
WDTCSR=(1<<WDCE)|(1<<WDE); //установить биты WDCE WDE (что б разрешить запись в другие биты
WDTCSR=(1<<WDIE)| (1<<WDP2)|(1<<WDP1); // разрешение прерывания + выдержка 1 секунда
// (55 страница <a href="<a href="<a href="http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf" rel="nofollow">http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf</a>" rel="nofollow"><a href="http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf" rel="nofollow">http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf</a></a>" rel="nofollow">даташита</a>)
// снять все ремарки если нужно поменять разрешение
//  ds.reset(); // сброс шины
//  ds.select(addr2); //выставить адрес
//  ds.write(0x4E); // разрешение записать конфиг
//  ds.write(0x7F); // Th контроль температуры макс 128грд
//  ds.write(0xFF); //Tl контроль температуры мин -128грд
//  ds.write(0x60); // 0x60 12-бит разрешение, 0x00 -9бит разрешение
}

void loop(void) {
myOLED.clrScr();                                // Стираем все с экрана
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("NTVGTHFNEHF", CENTER, 0);           // Выводим надпись "Русский язык"
    myOLED.print("EKBWF", LEFT, 10);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 10); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.setFont(RusFont);                            // Инициализируем русский шрифт
    myOLED.print("LJV", LEFT, 40);           // Выводим надпись "Русский язык"
    myOLED.setFont(BigNumbers);                     // Инициализируем шрифт
    myOLED.print(String(temperature()),RIGHT, 40); // Выводим текущее значение температуры датчика, округленное до десятых
    myOLED.update();                                // Обновляем информацию на дисплее
} 

}
 
ISR (WDT_vect){ //вектор прерывания WD
static boolean n=0; // флаг работы: запрос температуры или её чтение
n=!n;
if (n) {ds.reset();  // сброс шины
        ds.write(0xCC);//обращение ко всем датчикам
        ds.write(0x44);// начать преобразование (без паразитного питания)  
       }
else   {ds.reset();
        ds.select(addr1);    
        ds.write(0xBE); // Read Scratchpad (чтение регистров)  
        temp1 =  ds.read() | (ds.read()<<8); //прочитаны 2 байта       
        // получение с 2-го датчика
        ds.reset();
        ds.select(addr2);    
        ds.write(0xBE); // Read Scratchpad (чтение регистров)  
        temp2 =  ds.read() | (ds.read()<<8); //прочитаны 2 байта  
       }
}
 
 
  
 

 

NVV
Offline
Зарегистрирован: 03.01.2017

Вот ошибка

NVV
Offline
Зарегистрирован: 03.01.2017
Arduino: 1.6.14 Hourly Build 2016/11/25 05:33 (Windows 10), Плата:"Arduino/Genuino Uno"

C:\Users\victo\Desktop\arduino-nightly\arduino-builder -dump-prefs -logger=machine -hardware C:\Users\victo\Desktop\arduino-nightly\hardware -tools C:\Users\victo\Desktop\arduino-nightly\tools-builder -tools C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr -built-in-libraries C:\Users\victo\Desktop\arduino-nightly\libraries -libraries C:\Users\victo\OneDrive\Документы\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10614 -build-path C:\Users\victo\AppData\Local\Temp\arduino_build_163057 -warnings=all -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr -verbose C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_54110\sketch_jan12d.ino
C:\Users\victo\Desktop\arduino-nightly\arduino-builder -compile -logger=machine -hardware C:\Users\victo\Desktop\arduino-nightly\hardware -tools C:\Users\victo\Desktop\arduino-nightly\tools-builder -tools C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr -built-in-libraries C:\Users\victo\Desktop\arduino-nightly\libraries -libraries C:\Users\victo\OneDrive\Документы\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10614 -build-path C:\Users\victo\AppData\Local\Temp\arduino_build_163057 -warnings=all -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr -verbose C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_54110\sketch_jan12d.ino
Using board 'uno' from platform in folder: C:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr
Detecting libraries used...
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\sketch\sketch_jan12d.ino.cpp" -o "nul"
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "-IC:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C" "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\sketch\sketch_jan12d.ino.cpp" -o "nul"
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "-IC:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C" "-IC:\Users\victo\Desktop\arduino-nightly\libraries\OneWire" "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\sketch\sketch_jan12d.ino.cpp" -o "nul"
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "-IC:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C" "-IC:\Users\victo\Desktop\arduino-nightly\libraries\OneWire" "C:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C\DefaultFonts.c" -o "nul"
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "-IC:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C" "-IC:\Users\victo\Desktop\arduino-nightly\libraries\OneWire" "C:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C\OLED_I2C.cpp" -o "nul"
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "-IC:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C" "-IC:\Users\victo\Desktop\arduino-nightly\libraries\OneWire" "C:\Users\victo\Desktop\arduino-nightly\libraries\OneWire\OneWire.cpp" -o "nul"
Generating function prototypes...
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "-IC:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C" "-IC:\Users\victo\Desktop\arduino-nightly\libraries\OneWire" "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\sketch\sketch_jan12d.ino.cpp" -o "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\preproc\ctags_target_for_gcc_minus_e.cpp"
"C:\Users\victo\Desktop\arduino-nightly\tools-builder\ctags\5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\preproc\ctags_target_for_gcc_minus_e.cpp"
Компиляция скетча...
"C:\Users\victo\Desktop\arduino-nightly\hardware\tools\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10614 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR   "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\cores\arduino" "-IC:\Users\victo\Desktop\arduino-nightly\hardware\arduino\avr\variants\standard" "-IC:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C" "-IC:\Users\victo\Desktop\arduino-nightly\libraries\OneWire" "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\sketch\sketch_jan12d.ino.cpp" -o "C:\Users\victo\AppData\Local\Temp\arduino_build_163057\sketch\sketch_jan12d.ino.cpp.o"
C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_54110\sketch_jan12d.ino: In function 'void setup()':

sketch_jan12d:30: error: a function-definition is not allowed here before '{' token

 void loop(void) {

                 ^

Несколько библиотек найдено для "OLED_I2C.h"
 Используется: C:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C
Не используется: C:\Users\victo\Desktop\arduino-nightly\libraries\OLED_I2C
Используем библиотеку OLED_I2C в папке: C:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C (legacy)
Используем библиотеку OneWire версии 2.3.2 из папки: C:\Users\victo\Desktop\arduino-nightly\libraries\OneWire 
exit status 1
a function-definition is not allowed here before '{' token

 

NVV
Offline
Зарегистрирован: 03.01.2017

У меня они все в одни и теже пины подключены их подключить в разные?