Вывод температуры с 2 датчиков с DS18B20 на OLED

Intenso
Offline
Зарегистрирован: 08.03.2018
Вывод температуры с 2 датчиков с DS18B20 на OLED LCD 0,96 128x32
это первый опыт програмирования arduino, не судите строго.
В конце кода в строка  display.println(); PT(Thermometer1); 
вывод значения температуры на дисплей происходит с переносом на следующую строку. Как пофиксить?
 
Должно быть у текста IN, и OUT
 
 
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 10
// software i2C:
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

#define maxString 21

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress Thermometer1 = {
  0x28, 0xFF, 0x4C, 0x06, 0x54, 0x17, 0x04, 0x8F
};  // адрес датчика DS18B20

DeviceAddress Thermometer2 = {
  0x28, 0xFF, 0x11, 0xE6, 0x53, 0x17, 0x04, 0xC5
}; // адрес датчика DS18B20

char target[maxString + 1] = "";
unsigned char i1, i2, c3;

uint32_t time;
uint16_t pausa = 1000;
bool f_vk = 0;
bool f_nap = 0;
uint16_t h = 0;
static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf3, 0xfc, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf3, 0xfc, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x7, 0xfe, 0x7, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf8, 0x7, 0xfe, 0x1, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0xf, 0xf, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0xf, 0xf, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf, 0x7, 0x8f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xc1, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x3, 0xff, 0xff, 0xfc, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x1e, 0x7, 0x80, 0x1, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x1e, 0x7, 0x80, 0x1, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x0, 0x1f, 0x7, 0x80, 0x1, 0xf0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xf, 0xf, 0x80, 0x7, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0xf, 0xf, 0x0, 0xf, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0xf, 0xf, 0x0, 0xf, 0xe0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x80, 0xf, 0x9f, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0xf, 0xff, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xfe, 0x7, 0xfe, 0x7, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc3, 0xfc, 0x3f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
  0
};

const unsigned char PROGMEM logoBmp[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x07, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x1F, 0xF0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x3F, 0xE0, 0x01, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x3F, 0x80, 0x07, 0xE0, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0xFF, 0x00, 0x0F, 0xC3, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0xFF, 0xE0, 0x0F, 0xC7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1F, 0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1F, 0x03, 0xF3, 0xF0, 0x1F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3F, 0x07, 0xE3, 0xE1, 0xFF, 0xE8, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3F, 0x0F, 0xC0, 0xC1, 0xFF, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3E, 0x0F, 0x87, 0xC3, 0xFF, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3E, 0x1F, 0x0F, 0xC3, 0x3E, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3E, 0x3F, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x08, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3E, 0x7E, 0x0F, 0x80, 0x3E, 0x01, 0xF0, 0x38, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3E, 0x7C, 0x1F, 0x80, 0x7C, 0x03, 0xE0, 0xF8, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3C, 0xF8, 0x1F, 0x00, 0x7C, 0x07, 0xE7, 0xF0, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3D, 0xF0, 0x1F, 0x00, 0x7C, 0x07, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3F, 0xF0, 0x1F, 0x01, 0xFC, 0x2F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x1F, 0x8F, 0xFF, 0xEF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x1F, 0xFF, 0xFF, 0xCF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x1F, 0xFE, 0x7F, 0x8F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x1F, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x0F, 0xC0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                         0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0

                                        };


void setup() {


  sensors.begin();
  display.begin(SSD1306_SWITCHCAPVCC);
  display.cp437(true);
  display.clearDisplay();
  display.drawBitmap(1, 0, logo16_glcd_bmp, 128, 32, WHITE);
  display.display();
  delay(1000);
  display.clearDisplay();
  display.drawBitmap(1, 0, logoBmp, 128, 32, WHITE);
  display.display();
  sensors.begin();
  sensors.setResolution(Thermometer1, 1);
  sensors.setResolution(Thermometer2, 1);
  delay(3000);
}

void PT(DeviceAddress deviceAddress) {
  byte tempC = sensors.getTempC(deviceAddress);

  display.println(tempC);

}

void loop() {

  delay(9000);
  sensors.requestTemperatures();

  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(1);
  display.setCursor(0, 0);
  display.println(utf8rus("In: "));
  display.setTextSize(1);
  display.setCursor(35, 0);
  display.println(); PT(Thermometer1);
  display.setCursor(35, 15);
  display.setTextSize(1);
  display.println(utf8rus("OUT: "));
  display.setTextSize(1);
  display.setCursor(80, 15);
  display.println(); PT(Thermometer2);
  display.setCursor(75, 0);
  display.println("\xB0");
  display.setCursor(115, 15);
  display.println("\xB0");
  display.display();

}

 

 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

. del

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Как раз разница между println и print и есть в том
переносить или не переносить на новую строку.

Intenso
Offline
Зарегистрирован: 08.03.2018

trembo пишет:
Как раз разница между println и print и есть в том переносить или не переносить на новую строку.

Возможно стоит задать правильно или по другому считывание температуры. но если заменить println на print проверка не проходит.

Intenso
Offline
Зарегистрирован: 08.03.2018

Если удалить совсем display.println(); из строки 150 и строки 156.

все встало на свои места!