Вывод значение температуры на OLED дисплей

wan4ester
Offline
Зарегистрирован: 07.11.2021

Помогите люди, не могу вывести на дисплей, значение с датчика температуры, п.с. не орите сильно, я только учусь)))

 

==================================================
 
 
 
 
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wan4ester пишет:

я только учусь)))

Вот и поучитесь задавать вопросы на форуме. Начните отсюда.

wan4ester
Offline
Зарегистрирован: 07.11.2021
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Adafruit_SSD1306.h>                 // Подключаем библиотеку программных драйверов для монохромных дисплеев
#include <Adafruit_GFX.h>                     // Подключаем библиотеку для работы с текстом и графикой
#include <Wire.h>
#include "OLED.h"
#define ONE_WIRE_BUS 0

OLED display(4, 5);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

float temp;  
char auth[] = "***************";
char ssid[] = "*******************";
char pass[] = "****************";

    void setup()
    {
     Serial.begin(9600);
     display.begin();
     sensors.begin();
     Blynk.begin(auth, ssid, pass);  
     display.print("Hello World!!!");
     delay(3000);
     display.clear();
    }

void sendTemps()
    {
  sensors.requestTemperatures();
  temp  = sensors.getTempCByIndex(0);
  Serial.println(temp);
  Blynk.virtualWrite(V0, temp); 
    }

    void loop()
    {
      Blynk.run();
      sendTemps();
      char(temp);
      display.print(temp);
      display.print("TEMP =");
    }

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

А так выводит?

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Adafruit_SSD1306.h>                 // Подключаем библиотеку программных драйверов для монохромных дисплеев
#include <Adafruit_GFX.h>                     // Подключаем библиотеку для работы с текстом и графикой
#include <Wire.h>
#include "OLED.h"
#define ONE_WIRE_BUS 0

OLED display(4, 5);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

float temp;  
char auth[] = "***************";
char ssid[] = "*******************";
char pass[] = "****************";

    void setup() {
     Serial.begin(9600);
     display.begin();
     sensors.begin();
     Blynk.begin(auth, ssid, pass);  
     display.print("Hello World!!!");
     delay(3000);
     display.clear();
    }

void sendTemps() {
  sensors.requestTemperatures();
  temp  = sensors.getTempCByIndex(0);
  Serial.println(temp);
  Blynk.virtualWrite(V0, temp); 
    }

    void loop() {
      Blynk.run();
      sendTemps();
      display.print("TEMP =");
      display.print(temp);
      delay(2000);
      display.clear();
}

 

wan4ester
Offline
Зарегистрирован: 07.11.2021

 

Вот что выдает: C:\Users\rufer\Documents\Arduino\libraries\ESP8266-OLED_Display_Library\src/OLED.h:32:20: note:   initializing argument 1 of 'void OLED::print(char*, uint8_t, uint8_t)'

   32 |   void print(char *s, uint8_t r=0, uint8_t c=0);
      |              ~~~~~~^
 

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

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Может после display.begin надо добавить display.on ?

temp надо преобразовать в строку - функция умеет только строку выводить

или другая библиотека нужна, которая умеет выводить разные типы переменных

wan4ester
Offline
Зарегистрирован: 07.11.2021

На счёт display.on сейчас попробую

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

Вроде смотрел много видео на ютубе и у них всё работает,а у меня вообще не пойму почему не хочет преобразовывать

Может и правда дело в библиотеке, хз

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

закомментируй строку с ошибкой - хоть что то выводит на экран ?

wan4ester
Offline
Зарегистрирован: 07.11.2021

Выводит у меня всё нормально, кроме значения температуры.

Всё выводит как по коду.

Пишет Hello world, потом стирает и выводит TEMP =

А вот как значение вывести, не знаю

 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

snprintf используйте

wan4ester
Offline
Зарегистрирован: 07.11.2021

Команду для вывода? Или это библиотека, уточните пожалуйста

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

wan4ester пишет:

А вот как значение вывести, не знаю

А может документацию почитать? Там примеры есть. Или это не по-пацански?

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

это преобразование из любого типа в строку

wan4ester
Offline
Зарегистрирован: 07.11.2021

У меня настал момент, смотрю в книгу вижу фигу.... я ищу в данный момент, но не нахожу

Думал здесь подскажут быстрее что не так

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

wan4ester пишет:

У меня настал момент, смотрю в книгу вижу фигу.... я ищу в данный момент, но не нахожу

Думал здесь подскажут быстрее что не так

Дык подсказали - преврати число в текст и выводи ....

Если от гугла отлучили за порнуху - воспользуйтесь яндексом.

wan4ester
Offline
Зарегистрирован: 07.11.2021

Пожалуйста, не надо язвить, если не получается превратить число в текст уже второй день пытаюсь.

sadman41
Offline
Зарегистрирован: 19.10.2016
mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Мне особенно понравилось "Настя 38 - не замужем" она же (по фото) "Алина 32 - не замужем". Так и хочется продолжить - она же "Сонька золотая ручка..." А так текст по теме.

sadman41
Offline
Зарегистрирован: 19.10.2016

А у меня "Распродажа выделенных серверов". Таргетированная реклама, никуда не деться.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:
А у меня "Распродажа выделенных серверов". Таргетированная реклама, никуда не деться.

а у меня углубленный курс пайтон для детей 11-14 лет )))

PS а также - Simple-Scada. Простая SCADA-система

wan4ester
Offline
Зарегистрирован: 07.11.2021

Спасибо, ОГРОМНОЕ ВСЁ ПОЛУЧИЛОСЬ!

Вот такого я ответа и ждал, как ваш.

Может, я не так гуглил или не то искал, я обыскал много сайтов и посмотрел много видео, но не получалось никак, а по твоей ссылке сделал всё быстро.

Благодарю от всей души

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sadman41 пишет:
Таргетированная реклама, никуда не деться.
Да, уж. Кто что чаще ищет, то ему выдают :-)

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

ЕвгенийП пишет:

Да, уж. Кто что чаще ищет, то ему выдают :-)

Ч..шшш. У меня жена рядом в Ведьмака3 играет. А вы тут кричите...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

У меня хуже. Вся домашняя сеть на одном IP. Как чего поискал - у всех выдаётся :-)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

У меня хуже. Вся домашняя сеть на одном IP. Как чего поискал - у всех выдаётся :-)

и чего, VPN не можете на своём компе поднять, тот же TOR WDRAKULA рекламировал?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

ua6em пишет:

и чего, VPN не можете на своём компе поднять, тот же TOR WDRAKULA рекламировал?

Не... Там скорость не та. Порну.., извините, софт медленно грузится.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

и чего, VPN не можете на своём компе поднять, тот же TOR WDRAKULA рекламировал?

Зачем мне эти лабутены? Если мне надо плюнуть на блокировки, я знаю как это делается. А в остальном - нафига?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

 А в остальном - нафига?

а я всегда вспоминаю про бесплатный сыр )))