arduino 温度和时钟在oled上显示
时间: 2024-01-07 09:04:43 浏览: 100
要在OLED上显示Arduino的温度和时钟,您需要连接温度传感器和RTC模块到Arduino,并编写相应的代码。以下是一个简单的示例程序,演示如何在OLED上显示温度和时钟:
```C++
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DS3231.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
DS3231 rtc(SDA, SCL);
OneWire oneWire(2);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
rtc.begin();
sensors.begin();
display.clearDisplay();
display.display();
}
void loop() {
DateTime now = rtc.now();
sensors.requestTemperatures();
float tempC = sensors.getTempCByIndex(0);
float tempF = (tempC * 1.8) + 32;
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.print("Temperature: ");
display.print(tempC);
display.print("C / ");
display.print(tempF);
display.println("F");
display.print("Time: ");
display.print(now.hour(), DEC);
display.print(':');
display.print(now.minute(), DEC);
display.print(':');
display.print(now.second(), DEC);
display.display();
delay(1000);
}
```
此代码假定您已经正确连接了温度传感器和RTC模块。在此代码中,我们使用了DS3231库来读取RTC模块中的当前时间,并使用DallasTemperature库来读取温度传感器的当前温度。然后,我们使用Adafruit_SSD1306库来在OLED显示器上显示温度和时间。
阅读全文