|
本帖最后由 ahua7336 于 2020-12-9 10:17 编辑
已测试正常!!!
解决办法:单片机选择其他任意引脚为 OLED屏低电位复位引脚。OLED复位引脚:程序:按需选择引脚!!!
- void setup() {
- // 初始化串口
- Serial.begin(9600);
- // 初始化 DHT11
- dht.begin();
- //OLED复位
- pinMode(8, OUTPUT);
- digitalWrite(8, LOW); // 低电平复位
- delay(100); // 等待100毫秒
- digitalWrite(8, HIGH); // 高电平
- }
复制代码
——————————————————————————————————————————
视频:显示位置会有跳动 和设置显示位置有出入!!!
代码如下:
- #include <DHT.h>
- #include <DHT_U.h>
- #include <U8glib.h>
- #define DHTPIN 2 // Digital pin connected to the DHT sensor
- #define DHTTYPE DHT11 // DHT 11
- U8GLIB_SSD1306_128X64 u8g(12, 11, 10, 9); // SW SPI Com: SCK = 12, MOSI = 11, CS = 10, A0 = 9
- DHT_Unified dht(DHTPIN, DHTTYPE);
- //draw函数用于包含实现显示内容的语句
-
- void draw() {
- sensors_event_t event;
- // 设置字体
- u8g.setFont(u8g_font_unifont);
- // 获取温度并显示
- dht.temperature().getEvent(&event);
- u8g.setPrintPos(0,10);
- u8g.print(String("WD:")+event.temperature);
- // 获取湿度并显示
- dht.humidity().getEvent(&event);
- u8g.setPrintPos(0,22);
- u8g.print(String("SD:")+event.relative_humidity);
- }
- void setup() {
- // 初始化串口,并开启调试信息
- //Serial.begin(9600);
- // 初始化 DHT11
- dht.begin();
- }
- void loop() {
- u8g.firstPage();
- do {
- draw();
- } while( u8g.nextPage() );
- delay(500);
- }
复制代码
|
|