Здравствуйте, был код: Код (C++): #include <Wire.h> #include <iarduino_DHT.h> // Библиотека для DHT-22 #include "U8glib.h" // Библиотека для 12864 iarduino_DHT sensor(9); // Объявляем объект, указывая номер вывода, к которому подключён модуль U8GLIB_ST7920_128X64_1X u8g(12); // Создаём объект u8g для работы с дисплеем, указывая номер вывода CS для аппаратной шины SPI short unsigned int humidity, temperature, ground; void setup() { delay(10); } void loop() { ground = map(analogRead(A0), 0, 1023, 100, 0); //Влажность почвы switch (sensor.read()) //Темепратура и { //Влажность case DHT_OK: //Воздуха humidity = sensor.hum ; temperature = sensor.tem ; break; case DHT_ERROR_CHECKSUM: humidity = 1; temperature = 99; break; case DHT_ERROR_DATA: humidity = 1; temperature = 99; break; case DHT_ERROR_NO_REPLY: humidity = 1; temperature = 99; break; default: humidity = 1; temperature = 99; break; } delay(2000); u8g.firstPage(); do { u8g.setColorIndex(1); u8g.drawBox(0, 0, 128, 16); u8g.drawBox(0, 32, 128, 16); u8g.setFont(u8g_font_9x15); u8g.setColorIndex(0); u8g.drawStr(1, 13, "HUM: %"); u8g.setPrintPos(36, 13); u8g.print(humidity); u8g.drawStr(1, 45, "SOIL: %"); u8g.setPrintPos(45, 45); u8g.print(ground); u8g.setColorIndex(1); u8g.drawStr(1, 29, "TEMP: *C"); u8g.setPrintPos(45, 29); u8g.print(temperature); delay(1000); } while (u8g.nextPage()); } С помощью которого на дисплей выводятся значения влажности и температуры окружающей среды и влажность почвы. Понадобилось подключить датчик атмосферного давления BMP-280. Дописал код для него: Код (C++): #include <Adafruit_BMP280.h> #include <Adafruit_Sensor.h> #include <Wire.h> #include <iarduino_DHT.h> // Библиотека для DHT-22 #include "U8glib.h" // Библиотека для 12864 iarduino_DHT sensor(9); // Объявляем объект, указывая номер вывода, к которому подключён модуль Adafruit_BMP280 bmp; U8GLIB_ST7920_128X64_1X u8g(12); // Создаём объект u8g для работы с дисплеем, указывая номер вывода CS для аппаратной шины SPI short unsigned int humidity, temperature, pressure, ground ; void setup() { delay(10); } void loop() { pressure = (bmp.readPressure() * 0.0075 - 1); //Давление воздуха ground = map(analogRead(A0), 0, 1023, 100, 0); //Влажность почвы switch (sensor.read()) //Темепратура и { //Влажность case DHT_OK: //Воздуха humidity = sensor.hum ; temperature = sensor.tem ; break; case DHT_ERROR_CHECKSUM: humidity = 1; temperature = 99; break; case DHT_ERROR_DATA: humidity = 1; temperature = 99; break; case DHT_ERROR_NO_REPLY: humidity = 1; temperature = 99; break; default: humidity = 1; temperature = 99; break; } delay(2000); u8g.firstPage(); do { u8g.setColorIndex(1); u8g.drawBox(0, 0, 128, 16); u8g.drawBox(0, 32, 128, 16); u8g.setFont(u8g_font_9x15); u8g.setColorIndex(0); u8g.drawStr(1, 13, "HUM: %"); u8g.setPrintPos(36, 13); u8g.print(humidity); u8g.drawStr(1, 45, "SOIL: %"); u8g.setPrintPos(45, 45); u8g.print(ground); u8g.setColorIndex(1); u8g.drawStr(1, 29, "TEMP: *C"); u8g.setPrintPos(45, 29); u8g.print(temperature); u8g.drawStr(1, 63, "PRES: MM"); u8g.setPrintPos(45, 63); u8g.print(pressure); delay(1000); } while (u8g.nextPage()); } И почему-то второй код отказывается работать. Не выводит на экран совсем текст и линии. Прошу помочь найти ошибку и при возможности ее устранить. Фото к 1-му и 2-му коду, фото устройства.Дисплей блеклый из-за нехватки напряжения. https://yadi.sk/i/KlTJJy3s3PJvBw https://yadi.sk/i/HlrWrqwk3PJvEX https://yadi.sk/i/OLmynyTI3PJvGP
три фото пустого экрана? У вас экран и датчик подключены к одной и той же I2C - читайте как управлять взаимодействием нескольких устройств
На фото не очень передаётся, если посмотрите внимательнее увидите текст и полоски. Вы про 0X77 и 0X76? Если я не ошибаюсь это так пишется и это их адреса?!