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_148886\sketch_jan13a.ino: In function 'void loop()':
C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_148886\sketch_jan13a.ino:35:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
myOLED.print("NTVGTHFNEHF", CENTER, 0); // Выводим надпись "Русский язык"
^
C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_148886\sketch_jan13a.ino:36:35: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
myOLED.print("EKBWF", LEFT, 10); // Выводим надпись "Русский язык"
^
sketch_jan13a:38: error: expression cannot be used as a function
myOLED.print(String(temp1/16()),RIGHT, 10); // Выводим текущее значение температуры датчика, округленное до десятых
^
C:\Users\victo\AppData\Local\Temp\arduino_modified_sketch_148886\sketch_jan13a.ino:41:33: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
myOLED.print("LJV", LEFT, 40); // Выводим надпись "Русский язык"
^
sketch_jan13a:43: error: expression cannot be used as a function
myOLED.print(String(temp2/16()),RIGHT, 40); // Выводим текущее значение температуры датчика, округленное до десятых
^
Несколько библиотек найдено для "OLED_I2C.h"
Используется: C:\Users\victo\OneDrive\Документы\Arduino\libraries\OLED_I2C
Не используется: C:\Users\victo\Desktop\arduino-nightly\libraries\OLED_I2C
exit status 1
expression cannot be used as a function
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Посмотрите в примерах к библиотеке, как правильно выводить значения переменных, String мне кажется там лишним, скорее будет что то вроде: myOLED.print(temp1/16.0) или myOLED.print(temp1/16.0 ,RIGHT, 10). Здесь только догадки.
// Видеообзоры и уроки работы с ARDUINO на YouTube-канале IOMOIO: <a href="https://www.youtube.com/channel/UCmNXABaTjX_iKH28TTJpiqA" title="https://www.youtube.com/channel/UCmNXABaTjX_iKH28TTJpiqA" rel="nofollow">https://www.youtube.com/channel/UCmNXABaTjX_iKH28TTJpiqA</a>
//#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(); // Обновляем информацию на дисплее
}
Это код из третьего поста, насколько понимаю, там все работало кроме вывода правильной температуры.
И сбрось скетчи примеров из библиотеки (все), попробую понять.
Все верно только вот // этого в том коде не было.Щас приеду и сразу скину .А на этом коде температуура считывалась с одного из двух датчиков и выводило на значение Улица и Дом температуру с одного датчика.А ваш скеч я поубирал // и вывелись надписи температура Улица и Дом только без показателей.Так как когда с этих строчек убирал // то ошибка......?
Все верно только вот // этого в том коде не было.
А ваш скеч я поубирал // и вывелись надписи температура Улица и Дом только без показателей.Так как когда с этих строчек убирал // то ошибка......?
// - знак комментария, данная строка не обрабатывается компилятором. Оставил только вывод буквенной информации на дисплей. Осталось научиться выводить переменные.
По второму абзацу, подробнее и понятнее, с "этих" мне ничего не говорит. В коде есть номера строк, ссылайтесь на них.
Если про код из 106 поста, то она и должна быть, т.к. функция к которой мы обращаемся тоже отсутствует.
Жду примеры из библиотеки, смысл на кофейной гуще гадать?
// OLED_I2C_NumberFonts
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
// web: http://www.RinkyDinkElectronics.com/
//
// A quick demo of how to use my OLED_I2C library.
//
// To use the hardware I2C (TWI) interface of the Arduino you must connect
// the pins as follows:
//
// Arduino Uno/2009:
// ----------------------
// Display: SDA pin -> Arduino Analog 4 or the dedicated SDA pin
// SCL pin -> Arduino Analog 5 or the dedicated SCL pin
//
// Arduino Leonardo:
// ----------------------
// Display: SDA pin -> Arduino Digital 2 or the dedicated SDA pin
// SCL pin -> Arduino Digital 3 or the dedicated SCL pin
//
// Arduino Mega:
// ----------------------
// Display: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA pin
// SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL pin
//
// Arduino Due:
// ----------------------
// Display: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA1 (Digital 70) pin
// SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL1 (Digital 71) pin
//
// The internal pull-up resistors will be activated when using the
// hardware I2C interfaces.
//
// You can connect the OLED display to any available pin but if you use
// any other than what is described above the library will fall back to
// a software-based, TWI-like protocol which will require exclusive access
// to the pins used, and you will also have to use appropriate, external
// pull-up resistors on the data and clock signals.
//
#include <OLED_I2C.h>
OLED myOLED(SDA, SCL, 8);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];
void setup()
{
myOLED.begin();
myOLED.setFont(SmallFont);
}
void loop()
{
for (int i=0; i<=10000; i++)
{
myOLED.setFont(MediumNumbers);
myOLED.printNumF(float(i)/3, 2, RIGHT, 0);
myOLED.setFont(BigNumbers);
myOLED.printNumI(i, RIGHT, 40);
myOLED.update();
}
myOLED.setFont(SmallFont);
myOLED.print("|", LEFT, 24);
myOLED.print("|", RIGHT, 24);
myOLED.update();
delay(500);
for (int i=0; i<19; i++)
{
myOLED.print("\\", 7+(i*6), 24);
myOLED.update();
delay(250);
}
myOLED.clrScr();
}
// OLED_I2C_Scrolling_Text
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
// web: http://www.RinkyDinkElectronics.com/
//
// A quick demo of how to use my OLED_I2C library.
//
// To use the hardware I2C (TWI) interface of the Arduino you must connect
// the pins as follows:
//
// Arduino Uno/2009:
// ----------------------
// Display: SDA pin -> Arduino Analog 4 or the dedicated SDA pin
// SCL pin -> Arduino Analog 5 or the dedicated SCL pin
//
// Arduino Leonardo:
// ----------------------
// Display: SDA pin -> Arduino Digital 2 or the dedicated SDA pin
// SCL pin -> Arduino Digital 3 or the dedicated SCL pin
//
// Arduino Mega:
// ----------------------
// Display: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA pin
// SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL pin
//
// Arduino Due:
// ----------------------
// Display: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA1 (Digital 70) pin
// SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL1 (Digital 71) pin
//
// The internal pull-up resistors will be activated when using the
// hardware I2C interfaces.
//
// You can connect the OLED display to any available pin but if you use
// any other than what is described above the library will fall back to
// a software-based, TWI-like protocol which will require exclusive access
// to the pins used, and you will also have to use appropriate, external
// pull-up resistors on the data and clock signals.
//
#include <OLED_I2C.h>
OLED myOLED(SDA, SCL, 8);
extern uint8_t SmallFont[];
void setup()
{
myOLED.begin();
myOLED.setFont(SmallFont);
randomSeed(analogRead(0));
}
void loop()
{
int y = random(0, 56);
for (int i=128; i>=-(34*6); i--)
{
myOLED.print("OLED_I2C Scrolling Text Demo ", i, y);
myOLED.update();
delay(50);
}
}
Теоретически у вас должно быть типа: myOLED.printNumF(float (temp1) /16.0, 2, RIGHT, 0);
Два крайних значения в скобках место вывода информации, 2 - третья справа скорее всего число знаков после запятой.
Попробуйте теперь заменить строки со стрингами на такой формат.
Тщательно прочитайте раздел "Программирование", поизгаляйтесь над своей библиотекой, заставьте температуру бегать по экрану, мигать и что в голову придет. Попробуйте ознакомившись с функциями переделать это на миллис, в той теме есть пример функции, научится можно только так.
да ни чего не видно чисто дерево,столик сам весь сборка и фрезировка морилка и лакировка вся моя ну зимой в домашних условиях все же есть косяки))))в обработке
да ни чего не видно чисто дерево,столик сам весь сборка и фрезировка морилка и лакировка вся моя ну зимой в домашних условиях все же есть косяки))))в обработке
Так и не пойму, как через дерево светит. Или какой то тонкий шпон?
в тех местах где установлен дисплей дерево выбрано фрезером до толщины где то 3-4 мм так же чисто для посветки и для точек высверлены дырочки вставлены светодиодвы
яркость стоит на дисплее 10 из 15 извиняюсь где дисплей может и 2мм так как его было плохо видно.а щас норм да и вроде не очень хрупко в том месте самое главное не бить тяжолым.тоесть аккуратно))))
myOLED.print(String(temp1/16()),RIGHT, 10)
Посмотрите в примерах к библиотеке, как правильно выводить значения переменных, String мне кажется там лишним, скорее будет что то вроде: myOLED.print(temp1/16.0) или myOLED.print(temp1/16.0 ,RIGHT, 10). Здесь только догадки.
День добрый ща попробую.А так вы были правы.
Попробовал не прокатывает там же ошибка.
Сбросьте полный скетч, при котором все надписи читались и ошибок не выдавалось. В том который сейчас, мы что то упустили.
Вот в таком виде компилируется?
Это код из третьего поста, насколько понимаю, там все работало кроме вывода правильной температуры.
И сбрось скетчи примеров из библиотеки (все), попробую понять.
Все верно только вот // этого в том коде не было.Щас приеду и сразу скину .А на этом коде температуура считывалась с одного из двух датчиков и выводило на значение Улица и Дом температуру с одного датчика.А ваш скеч я поубирал // и вывелись надписи температура Улица и Дом только без показателей.Так как когда с этих строчек убирал // то ошибка......?
Вы уж меня извените что я вас достаю....
А ваш скеч я поубирал // и вывелись надписи температура Улица и Дом только без показателей.Так как когда с этих строчек убирал // то ошибка......?
// - знак комментария, данная строка не обрабатывается компилятором. Оставил только вывод буквенной информации на дисплей. Осталось научиться выводить переменные.
По второму абзацу, подробнее и понятнее, с "этих" мне ничего не говорит. В коде есть номера строк, ссылайтесь на них.
44 и 48 строки // убрать то ошибка
Если про код из 106 поста, то она и должна быть, т.к. функция к которой мы обращаемся тоже отсутствует.
Жду примеры из библиотеки, смысл на кофейной гуще гадать?
пример из библеотеки Олед любой?
пример из библеотеки Олед любой?
Если не сможете определить, где работа с переменными, то скидывайте все.
ну вот два примера цифры счет
и бегущая строка олед
myOLED.printNumF(float (i) /3, 2, RIGHT, 0);
Теоретически у вас должно быть типа: myOLED.printNumF(float (temp1) /16.0, 2, RIGHT, 0);
Два крайних значения в скобках место вывода информации, 2 - третья справа скорее всего число знаков после запятой.
Попробуйте теперь заменить строки со стрингами на такой формат.
Сделал так теперь вторая скобка выделяется снизу
Убрал скобку и теперь все работает две температуры
просто писец какой то у меня просто нет слов как я вам благодарен
Вот и победили.))))
В 124 посте рабочий скетч может вам пригодиться
Блин еще раз извените меня может благодаря вам чему нибудь научусь
Это в дом а второй комплект когда придет буду в машину делать с добавлением блютуз
Вот ссылка на столик которы делал все сам из дерева посмотрите оцените работа подсветки по блютуз
В 124 посте рабочий скетч может вам пригодиться
Тщательно прочитайте раздел "Программирование", поизгаляйтесь над своей библиотекой, заставьте температуру бегать по экрану, мигать и что в голову придет. Попробуйте ознакомившись с функциями переделать это на миллис, в той теме есть пример функции, научится можно только так.
Только текст с телефона принемает только английский и теперь там еще температура и влажность пробегает
Хорошо почитаю еще раз спасибо.
https://youtu.be/i9SfKAzAR8w
вот она посмотрите и оцените пожалуйста
Ну как вам?
Симпатично, какая то пленка полупрозрачная на столешнице?
нет столешка двойная и в нутри столещки установлен дисплей и вся подсветка
А вот как выглядит то что вы сделали
https://youtu.be/y3bmk07TopA
нет столешка двойная и в нутри столещки установлен дисплей и вся подсветка
Так не понял, как именно верх сделан, когда выключено фактура чисто деревянная.
А вот как выглядит то что вы сделали
Сотые градуса наверно лишние, попробуйте изменить до десятых или целых.
да ни чего не видно чисто дерево,столик сам весь сборка и фрезировка морилка и лакировка вся моя ну зимой в домашних условиях все же есть косяки))))в обработке
да ни чего не видно чисто дерево,столик сам весь сборка и фрезировка морилка и лакировка вся моя ну зимой в домашних условиях все же есть косяки))))в обработке
Так и не пойму, как через дерево светит. Или какой то тонкий шпон?
в тех местах где установлен дисплей дерево выбрано фрезером до толщины где то 3-4 мм так же чисто для посветки и для точек высверлены дырочки вставлены светодиодвы
Круто, не думал, что такой слой пробить можно.
яркость стоит на дисплее 10 из 15 извиняюсь где дисплей может и 2мм так как его было плохо видно.а щас норм да и вроде не очень хрупко в том месте самое главное не бить тяжолым.тоесть аккуратно))))
как мне фото сюда кинуть?
че то не получается добавить
Здесь.
пробую закинуть но грузиться................................жду
не загружается проходит время а потом опять предлогает выбрать файл