Помогите поправить код

voodoo-
Offline
Зарегистрирован: 20.12.2018
#include <SPI.h>      // Библиотека для протокола SPI
#include <nRF24L01.h> // Библиотека для nRF24L01+
#include <RF24.h>     // Библиотека для радио модуля
#include <OLED_I2C.h> // Библиотека экрана
#include <Adafruit_Sensor.h> // Библиотека датчика 
#include <Adafruit_BME280.h> // Библиотека Датчика
#include <Wire.h>  // Библиотека I2C
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
unsigned long delayTime;

const uint64_t pipe = 0xF0F1F2F3F4LL; // идентификатор передачи
RF24 radio(9,10);  // Для MEGA2560 замените на RF24 radio(9,53);

//OLED myOLED(SDA, SCL, 8); // Инициализация библиотеки I2C
OLED myOLED(A4, A5, 8);
extern uint8_t SmallFont[]; // Подключение маленьких шрифтов 
String txt1="";

void setup()
{
  Serial.begin(9600);  // включаем последовательный порт
  radio.begin();       // включаем радио модуль
  radio.setChannel(0x60); // выбираем канал 
  delay(2);

  radio.setChannel(0x60);            // устанавливаем канал 
  radio.setDataRate(RF24_1MBPS);  // скорость передачи данных
  radio.setPALevel(RF24_PA_HIGH); // мощность передатчика
  radio.openReadingPipe(1, pipe); // открываем первую трубу
  radio.startListening();         // начинаем слушать трубу
  
  myOLED.begin(); // инициализация экрана
  myOLED.setFont(SmallFont);
  myOLED.setFont(BigNumbers);
}

void loop() {
  float data[3];
  
  if (radio.available())             // проверяем буфер обмена
  {
    
    radio.read(&data, sizeof(data)); // читаем данные

  Serial.print("Humidity: ");
  Serial.println(data[2]);          // выводим данные влажности 
  Serial.print("Temperat: ");
  Serial.println(data[0]);          // выводим данные температуры
  Serial.print("Pressure: ");
  Serial.println(data[1]);           // выводим данные давления
  delay(1000); 

  //Температура
   txt1="Temp="; 

        txt1= txt1+String(data[0]);   

         txt1= txt1+" ~C";

         myOLED.print(txt1, CENTER, 10); 

//Влажность
        txt1="Vla="; 

        txt1= txt1+String(data[2]);   

         txt1= txt1+" %";

         myOLED.print(txt1, CENTER, 25);

//Давлкение
         txt1="Dav="; 

        txt1= txt1+String(data[1]);   

         txt1= txt1+" mm Hg";

         myOLED.print(txt1, CENTER, 40);
         
         myOLED.update();
  }
}

 

 

хотел цифры покрупней , но чтото не хватает знаний подскажите где поправить 

 

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

а автор скетча чо говорит?

voodoo-
Offline
Зарегистрирован: 20.12.2018

автор я. я его лепил из двух, база взята https://3d-diy.ru/wiki/arduino-datchiki/datchik-bme280/  датчик с передатчиком на улице а приемник с монитором дома. 

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

voodoo- пишет:

хотел цифры покрупней , но чтото не хватает

А вот это строчка в коде ни на какие мысли не наводит?

extern uint8_t SmallFont[]; // Подключение маленьких шрифтов 
voodoo-
Offline
Зарегистрирован: 20.12.2018

это максимальный шрифт. Можно только отдельно цефры увеличить http://mynobook.blogspot.com/2016/11/oledi2c.html

35   myOLED.setFont(BigNumbers);

MediumNumbers

BigNumbers 

 

 

 

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

Ну, значит надо либо искать другой шрифт (другую библиотеку), либо рисовать свой шрифт. Я бы делал второе.