Thanks for the responses.
The code @noiasca's recommended works fine on my 16 x 32 generic OLED. And I am embarrassed I didn't read further on the print function reference page. I only remembered the 2nd parameter as specifying the base ![]()
For future reference:
The OLED driver is from Bill Greiman.
// ARDUINO - AHT20 - OLED
// Target processor: Pro Mini 3v3
//
#include <Wire.h>
//OLED driver from Bill Greiman.
#include "SSD1306Ascii.h"
#include "SSD1306AsciiWire.h"
#define OLED_ADDRESS 0x3C
// Define proper RST_PIN if required.
#define RST_PIN -1
#include "AHT20.h"
AHT20 AHT;
SSD1306AsciiWire oled;
void setup()
{
Serial.begin(9600);
delay(500);
Serial.println("AHT20 Sensor");
AHT.begin();
oled.begin(&Adafruit128x32, OLED_ADDRESS);
oled.setFont(CalLite24);
oled.displayRemap(true); // rotate text 180°
oled.clear();
}
void loop() (
float humi, temp;
int ret = AHT.getSensor(&humi, &temp);
if(ret) { // GET DATA OK
// temp = temp *9/5+32;
temp = 74.12345;
oled.SSD1306Ascii::setCursor(1*8,0);
oled.print(temp,1);
}
else { // GET DATA FAIL
Serial.println("GET DATA FROM AHT20 FAIL");
}
delay(10000);
}
// --- eof ---