本帖最后由 唐唐llll 于 2015-5-9 19:02 编辑
- const int Ltrigpin=5;
- const int Lechopin=4;
- const int Rtrigpin=3;
- const int Rechopin=2;
- float Between=4.50;
- float Distance,Ldistance,Rdistance,Angle;
- void setup()
- {
- Serial.begin(9600);
- pinMode(Ltrigpin,OUTPUT);
- pinMode(Rtrigpin,OUTPUT);
- pinMode(Lechopin,INPUT);
- pinMode(Rechopin,INPUT); //定义端口输入输出
- }
- float distance(float a,float b,float c)
- {
- float d;
- d=sqrt((a*a/2)+(c*c/2)-(b*b/4));
- return d;
- }//长度函数
- float angle(float b,float c,float d)
- {
- float angle;
- angle=90-acos((c*c)+(d*d)-(b*b/4)/b*d);
- return angle;
- }//角度函数
- void loop()
- {
- digitalWrite(Ltrigpin,LOW);
- delayMicroseconds(2);
- digitalWrite(Ltrigpin,HIGH);
- delayMicroseconds(10);
- digitalWrite(Ltrigpin,LOW);
- Ldistance=pulseIn(Lechopin,HIGH)/58.00;//左传感器距离
- delayMicroseconds(1500);
- digitalWrite(Rtrigpin,LOW);
- delayMicroseconds(2);
- digitalWrite(Rtrigpin,HIGH);
- delayMicroseconds(10);
- digitalWrite(Rtrigpin,LOW);
- Rdistance=pulseIn(Rechopin,HIGH)/58.00;//右传感器距离
- Distance=distance(Rdistance,Between,Ldistance);
- Angle=angle(between,Ldistance,Distance);
- Serial.print(Ldistance);
- Serial.println();
- Serial.print(Rdistance);
- Serial.print();
- Serial.print(Distance);
- Serial.print();
- Serial.print(Angle);
- Serial.println();
- Serial.println();
- delay(1500);
-
复制代码 |