|
37种传感器(二)之超声波传感器模块+Stduino Nano&UNO 本文转载自:http://www.stduino.com/forum.php?mod=viewthread&tid=24&extra=page%3D2 关键词:
& j+ ~+ V. B/ g& Q+ }. F6 ~2 q. p51、stm32、arduino、stduino、单片机、stduino UNO&Nano、超声波传感器模块 超声波测距原理简析:
4 G2 h! U/ \* f# o" Z' e" }& `超声波传感器能够发射超声波并接收反射回的超声波信号。利用发射与接收的时间差以及传播速度(即声速,声音在空气中传播的速度约为340m/s)即可计算传感器到障碍物体的距离。单片机向超声波传感器发送脉冲,超声波传感器被此脉冲触发后会产生一个40 kHz的脉冲电信号,通过激励换能器处理以后,转换成机械振动,频率约在20 kHz以上,由此形成了超声波。 该信号经锥形“辐射口”处将超声波信号发射出去。接收器接收到反射回来的超声波信号后,将超声波变成微弱的电振荡,并将信号进行放大,就可得到所需的脉冲信号,此脉冲信号再返回给单片机。
: e- B8 j3 ]- Q( r1 D) m
实验目的:
) C! K/ v) q' o* d9 q9 m- o, \7 F8 B利用HC-SR04超声波传感器测量到目标物体的距离,并利用串口通信窗口显示。 具体而言,在模块trig端输出一个至少10us的高电平信号,则该模块内部将循环发射8个40KHz频率的脉冲;若检测由回波信号,则会在echo端产生高电平信号。 器材:, }8 d% Q6 N+ ~' ]+ R% H4 t0 w
Stduino Uno/Nano、超声波传感器HC-SR04、杜邦线4根 电路连接:
4 K4 D$ j: \2 U/ a
代码展示: - int trig = 8;//Trig端
& K5 E" m+ C6 u1 D - int echo = 9;//Echo端
+ i6 X$ H' K0 C - void setup() - X* u: q8 i/ z, e2 y% l# b; [; @; ]
- {
) P6 s' l0 N; x5 S" } - // put your setup code here, to run once:) k* G0 n$ Z7 G! N( R
- pinMode(echo,INPUT);
- ^5 g8 _7 X8 M( W, Y - pinMode(trig,OUTPUT);
3 I4 w: v+ U/ s0 S8 D/ z - Serial.begin(9600);3 A1 W( l' L7 y- a$ b% F
- }
9 U) M! k& a j0 Z1 I! y( ~+ X - void loop()0 l+ r' K2 U3 }' w0 L" {
- {: p1 }1 Y. ] \6 N4 A( u
- // put your main code here, to run repeatedly:
2 _ T) y+ j8 q! Q9 W - unsigned long time = 0;
$ @, y/ ~8 N9 _' M& R - while(1){
; J9 `# K- c' r5 j1 O - digitalWrite(trig,HIGH);5 Q- F0 @, Z2 t4 E6 \
- delayMicroseconds(15);//需要大于10
9 d* w7 b% C, L4 M' G - digitalWrite(trig,LOW);
, p4 s8 s' F- `( O {
7 t6 g) q9 e6 t- time = pulseIn(echo,HIGH);//高电平传回超声波从发射到接收所经过的时间。
7 S) j( R. I1 y) N a0 J - float S = time/58.00; //使用浮点计算出距离,单位为cm,time除以58是由速度乘以时间换算而来; q6 O+ a! Q4 Z4 {9 k) w( B
- Serial.println(S);+ J8 f/ @) D4 f+ J
- S = 0;: X: P/ S0 W0 F7 e8 m+ i
- time = 0;8 _: T0 ]3 ?, d9 S- c
- delay(500);7 U8 u l1 K; P* |- @2 P0 D
# n' T8 }6 w) l# `' R- w- }
, I' [4 e, V$ |& f( A - }
复制代码 0 c% O" P9 B' E3 X- X! K; q" q/ r
超声波传感器连接:
: ^9 c0 G' I* Y' w" X7 a( j( h
' C$ G$ G& @9 Y& r
0 x" o1 n" z) `* ?7 m7 t
+ J9 [+ T" r; {9 @7 c
0 W$ T9 t* r: m) t" a1 @4 P1 B7 O
|