運動學教具(超音波)
#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;
}