運動學教具(超音波)

#include <Wire.h>

#include <SoftwareSerial.h>

#include <LiquidCrystal_I2C.h>

#define Trig 4

#define Echo 5

LiquidCrystal_I2C lcd(0x27,16,2);

SoftwareSerial BT(3,2);

float Temp=30 ;

double dist,t,x1,x2;

unsigned long x ;

int num[5];

void setup() {

Serial.begin(9600);

BT.begin(38400);

lcd.init();

lcd.backlight();

pinMode(Trig, OUTPUT);

}

void loop() {

bt();

if(BT.available()>0){

int cmd = BT.read();

if(cmd==97){

for(int i=0;i<4;i++){

BT.print(num[i]);

}

}

}

}

void bt(){

x1=0;

for(int j=0 ; j<10 ; j++){

digitalWrite(Trig, LOW);

delayMicroseconds(2);

digitalWrite(Trig, HIGH);

delayMicroseconds(10);

digitalWrite(Trig, LOW);

t = pulseIn(Echo, HIGH);

dist = (331+0.6*Temp)*t/20000 ;

x1=x1+dist;

delay(10);

}

x2=x1/10;

Serial.println(x2);

lcd.setCursor(0,0);

lcd.print(x2);

lcd.setCursor(10,0);

lcd.print("cm");

x = x2;

num[0]=x%10000/1000;

num[1]=x%1000/100;

num[2]=x%100/10;

num[3]=x%10;

}