你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Stduino IDE stm32 最小系统 小蓝板 驱动超声波传感器(四)

[复制链接]
s554585 发布时间:2020-7-31 18:28
利用HC-SR04超声波传感器测量到目标物体的距离,并利用GDB调试窗口显示。4 X* i& y  P( F' K3 e5 l) l- a

5 A  N! ^* u' p! j具体而言,在模块trig端输出一个至少10us的高电平信号,则该模块内部将循环发射8个40KHz频率的脉冲;若检测由回波信号,则会在echo端产生高电平信号。
! }9 L( H% ]2 P4 t- `' E三、实验器材:( b# a. i" \4 u, f' |, m
1.stm32小蓝板一块9 y8 b  {: v  q- C
+ g0 U4 e! z, x
2.超声波传感器HC-SR04一个  A# x  s- u0 H2 {+ R( @+ Y
7 u6 r- V* f) I" t# F
3.杜邦线4根。& d4 g3 v  r5 W. d

4 A! h$ u, u, |, B0 ?! I/ a8 N4.stlink下载器一个
# V! s0 o/ g! u1 L3 F
  Q! o" ]+ c  N3 {1 n! Q5.usb供电线一根  n" V, s7 j" H" @2 q

& E& ?, Y7 k$ K* h4 `1 u; o# \6 `. n3 x# ]& ~: G$ H( y1 c- |3 B' v
注意:该超声波传感器模块需工作在5.0V电压,所以仅仅有stlink下载器3.3v供电是不够的,需要再加上usb5.0v供电
9 o* v' U* e1 L, @- s/ Z4 I9 f5 B" T# @' q% k. c1 A' m. d

) Q( k# g- b& m5 |' ?0 A话不多说了,上代码:& K, f# H& B" @+ K0 g  r
  1. int trig =PA4;//Trig端
    : d0 v! f. A3 T0 y  g
  2. int echo = PA5;//Echo端
    / m9 k  W0 ^( O7 S* ~# g
  3. float d=0.0;
    ! s  d4 T3 y) z0 N( X- e
  4. unsigned long time = 0;" z+ K2 M3 ?/ x7 F- e. g  _; p% i
  5. float Distance() {: y0 b0 Y; O* Q! e
  6.     digitalWrite(trig,HIGH);
    - @7 K+ A; ]0 F, G4 s' u8 R4 l3 Q2 b
  7.     delayMicroseconds(15);//需要大于104 ^* g- ~2 N! W& e6 r. K
  8.     digitalWrite(trig,LOW);
    3 Y: R. V& [# s
  9.     time = pulseIn(echo,HIGH);//高电平传回超声波从发射到接收所经过的时间。
    7 K+ I$ V9 a7 U
  10.     float S = time/58.00; //使用浮点计算出距离,单位为cm,time除以58是由速度乘以时间换算而来
    " I/ p: [) R1 r% M5 h: l% q0 q
  11.     Serial.println(S);/ D/ p3 o9 o4 X( ^  M
  12.     time = 0;& d( x% X7 H& S
  13.     return S;. ?6 D- i: g1 n' D! P- n- A
  14. }
    3 g! r# R! Z0 ]+ U0 ~/ n
  15. void setup()7 J! D! n# U" A  d5 K2 d. y
  16. {
    - B" q6 E7 N" r4 s7 o
  17. // put your setup code here, to run once:* @& N1 Q( P3 n( }
  18.     pinMode(echo,INPUT);/ L3 ?9 U7 J' G) b( f5 S6 T
  19.     pinMode(trig,OUTPUT);0 i0 e5 w' D+ T: C
  20.     Serial.begin(9600);
    8 [6 _, `& Z3 S, b6 h
  21. }
    + S) q# u8 _- A/ l
  22. void loop()5 W( C, w$ f" V7 Z) n; n7 f* I
  23. {
    ; }1 Y9 c9 [- |9 c  H
  24. // put your main code here, to run repeatedly:( b7 n2 D0 r# n
  25.     d=Distance();9 ?0 _( Y7 @  ^
  26. //GDB调试状态下通过display d 即可查看其值$ @9 |- o0 a' p
  27.     Serial.println(d);  |5 W1 f: Q7 H9 t- d, q3 `
  28. //串口调试状态下查看其值) r( v( z9 K: {  x$ y
  29.     delay(1000);0 {  X! Q8 b$ B! q- i
  30. }
复制代码
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
8 s- ?% W. C" \4 f, ~, P
" ?" o5 m9 D! f3 E& F  PIDE当前支持的功能有:' U' @$ Y2 ^5 Z% d9 ?( _: P4 X! t6 S
  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证)
  • 更多功能细节请前往进行了解
    : f0 d0 n. j3 i% ?3 N$ P3 ~4 n
/ ?9 k: |% G. x* B

/ q7 n6 j3 y) @* ]已经支持的芯片&板型列表:
% J& u9 I* t( p# k( w
  • Stduino UNO&Nano
  • Nucleo 144 boards
  • Nucleo 64 boards
  • Nucleo 32 boards
  • Discovery boards
  • Eval boards
  • STM32MP1 series coprocessor boards
  • Generic STM32F0 boards
  • Generic STM32F1 boards
  • Generic STM32F3 boards
  • Generic STM32F4 boards
  • Generic STM32H7 boards
  • Generic STM32L0 boards
  • 3D printer boards
  • LoRa boards
  • Electronic Speed Controller boards
  • Generic flight controllers
  • Garatronics boards
  • Midatronics boards1 _% R- [1 ]# {$ X$ v" v

* n7 A0 n8 U2 }& J更多功能集成正在进行中~& h# [; l8 K- m

超声波测距模块距离测量值

超声波测距模块距离测量值
赞 收藏 评论0 发布时间:2020-7-31 18:28

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版