#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0,SCL,SDA,U8X8_PIN_NONE);
#define TrigPin 3 // 宏定义12号数字端口为触发
#define EchoPin 4 // 宏定义11号数字端口为接收模块反馈信号
int count=0;
float cm;
void display1()
{
u8g2.clearBuffer(); //清除缓存
u8g2.setFont(u8g2_font_ncenB08_tr);
u8g2.drawStr(0,10,"juli:"); //调用函数显示参数为列 行 内容
u8g2.sendBuffer(); //显示
}
void display2()
{
u8g2.clearBuffer(); //清除缓存
u8g2.setFont(u8g2_font_ncenB08_tr);
u8g2.setCursor(0,16);
u8g2.print(cm);
u8g2.sendBuffer(); //显示
}
void key()
{ if(digitalRead(2))
{
delay(15);
if(digitalRead(2))
{
count++;
}
while(digitalRead(2));
}
}
void chaoshenbo()
{
digitalWrite(TrigPin, LOW);//电平触发超声波模块(以下四行)
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米
Serial.print(cm);
Serial.println();
delay(1000);
}
void setup(void)
{
u8g2.begin();
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(TrigPin,OUTPUT);
pinMode(EchoPin,INPUT);
}
void loop(void)
{
key();
switch(count)
{
case 0:
display1();
break;
case 1:
display2();
break;
}
if(count==2) count=0;
Serial.println(count);
}