OLED显示超声波距离
Sensor-Ultrasonic+点阵显示超声波距离
所需硬件
电路搭建 将Ultrasonic+传感器接到Hub的IIC引脚。
代码 #include <Microduino_Ultrasonic.h> //引用超声波库文件
#include <U8glib.h>
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); //设置OLED型号
//-------字体设置,大、中、小
#define setFont_L u8g.setFont(u8g_font_timB18)
#define setFont_M u8g.setFont(u8g_font_fixed_v0r)
#define setFont_S u8g.setFont(u8g_font_chikitar)
uint16_t Distance, lastDis; //定义变量
uint32_t oledTime = millis();
Ultrasonic Ultrasonic1(ULTRASONIC_ADDR_1);//将Ultrasonic实例化
void setup() {
Serial.begin(115200); // 串口初始化
Ultrasonic1.begin(); //超声波初始化
delay(2000);
}
void loop() {
Distance = Ultrasonic1.getDistance(); //获取超声波测得的距离
Serial.println(Distance); //串口打印距离值
oled(Distance) ;
}
void oled(uint16_t Dis) {
u8g.firstPage();
do {
u8g.setDefaultForegroundColor();
setFont_L; //设置字体
u8g.setPrintPos(10, 45); //设置文字开始坐标
u8g.print(Dis); //
u8g.setPrintPos(112, 45); //设置文字开始坐标
setFont_M; //设置字体
u8g.print("mm");
}
while ( u8g.nextPage() );
}
|