123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- Description: Display the distance measured by ultrasonic
- */
- #include <M5Stack.h>
- TFT_eSprite Terminalbuff = TFT_eSprite(&M5.Lcd);
- void setup() {
- // put your setup code here, to run once:
- M5.begin();
-
- Wire.begin(21,22);
-
- Terminalbuff.createSprite(160, 80);
- Terminalbuff.fillRect(80,20,160,80,BLACK);
-
- Terminalbuff.pushSprite(80,20);
- Terminalbuff.setTextFont(4);
- M5.Lcd.setCursor(105, 0, 4);
-
- M5.Lcd.print("Ultrasonic");
- }
- float readEUS()
- {
- uint32_t data;
- Wire.beginTransmission(0x57);
- Wire.write(0x01);
- Wire.endTransmission();
- delay(120);
- Wire.requestFrom(0x57,3);
- data = Wire.read();data <<= 8;
- data |= Wire.read();data <<= 8;
- data |= Wire.read();
- return float(data) / 1000;
-
- }
- void loop() {
-
- float newvalue = 0;
- while(1)
- {
- newvalue = readEUS();
- Terminalbuff.fillRect(80,20,160,80,BLACK);
- Terminalbuff.setCursor(30,50);
- if(( newvalue < 1500 )&&( newvalue > 20 ))
- {
- Terminalbuff.printf("%.2fmm",newvalue);
- Terminalbuff.pushSprite(80,20);
- }
- delay(100);
- }
- }
|