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

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

[复制链接]
s554585 发布时间:2020-7-31 18:28
利用HC-SR04超声波传感器测量到目标物体的距离,并利用GDB调试窗口显示。
% [3 C* ?9 s- \
  V5 a3 G; w* j具体而言,在模块trig端输出一个至少10us的高电平信号,则该模块内部将循环发射8个40KHz频率的脉冲;若检测由回波信号,则会在echo端产生高电平信号。
7 F  D' s! {; e, b+ n5 g+ p  T三、实验器材:7 w9 i7 a: ?/ B) W2 y. O. x: f
1.stm32小蓝板一块
8 A- [1 g; W2 Z- @2 s3 O) @
6 X8 K6 b. }6 t  H7 Z, F' e2.超声波传感器HC-SR04一个; N, w2 }' N' m( f( b. {

) N7 M7 E2 Y* E3.杜邦线4根。
3 b: P  Q0 z0 H+ u" X7 R, h2 \  ]5 i; o1 g' }! `, c# m
4.stlink下载器一个+ C0 }! l7 A" a& r) J; N
$ B& R* @7 Z/ t" ]: y; |/ s
5.usb供电线一根
# T3 F' l2 {+ _! Z5 W7 ]/ S8 G- a8 O/ ?) T6 [
& f8 m  W2 Z: y. [: L2 x" `
注意:该超声波传感器模块需工作在5.0V电压,所以仅仅有stlink下载器3.3v供电是不够的,需要再加上usb5.0v供电2 u; x# B1 i" Q
0 |4 \4 Z5 l; I2 c7 u- [  L' s
% ~  o/ n: `  ^; _0 K! U) B+ A1 B$ a; U
话不多说了,上代码:. a- N2 X/ N% R0 I% j9 {; I
  1. int trig =PA4;//Trig端
    . N0 ]& `) b/ y; E' ~) o; m
  2. int echo = PA5;//Echo端
    / F5 x" t" B9 F) a& s
  3. float d=0.0;
    * b# L, z- B; G* }/ q4 {, |; G
  4. unsigned long time = 0;- ~1 A/ U5 k2 f, s3 u) }! C* `! P! h
  5. float Distance() {
    1 B) W& P% ^2 b0 n
  6.     digitalWrite(trig,HIGH);" C! Q9 z( w3 X" ^( s/ }' f
  7.     delayMicroseconds(15);//需要大于106 s; R( ~7 B  k! U. z
  8.     digitalWrite(trig,LOW);! |% S) x. g1 b  M; O. n
  9.     time = pulseIn(echo,HIGH);//高电平传回超声波从发射到接收所经过的时间。, V# d/ v1 t) o' S) e3 ~' I
  10.     float S = time/58.00; //使用浮点计算出距离,单位为cm,time除以58是由速度乘以时间换算而来; |4 ~& w5 S9 c* J& X0 {
  11.     Serial.println(S);% m2 W5 n# X6 g2 H; t
  12.     time = 0;
    ! ^( |* m- @8 `& V  L/ W7 i
  13.     return S;
    2 P( h: c, v6 o5 T
  14. }3 P0 q- h; l5 w: t- b0 {) B1 }* ?  Q
  15. void setup()
    2 d8 \) G+ [7 \
  16. {
    % ?6 \" H/ T0 E& G3 U" A* ?/ \
  17. // put your setup code here, to run once:7 g2 c' z/ P9 @' h0 @8 x1 K
  18.     pinMode(echo,INPUT);$ p& s+ _9 f9 A- C
  19.     pinMode(trig,OUTPUT);
    9 [. h: d: ?' |9 {/ |# C
  20.     Serial.begin(9600);% k) z) `% v2 n/ @6 r
  21. }6 U/ a8 d1 p( w0 C2 u
  22. void loop()
    ! W7 B' p, j/ O' f7 k8 j
  23. {; q) h# a; s$ L" L
  24. // put your main code here, to run repeatedly:8 C3 r' q0 f; ^7 A' o
  25.     d=Distance();3 B( `  b) i3 ?( k
  26. //GDB调试状态下通过display d 即可查看其值
    8 t; t! j* Z  e' Y( ~  _
  27.     Serial.println(d);
    - Z3 e& }3 Y6 i
  28. //串口调试状态下查看其值
    & b6 H' @5 o& g1 S9 u- p% F, X
  29.     delay(1000);1 U$ ^- y, k2 F) ~  R( c
  30. }
复制代码
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
9 `1 t$ m. Q# J1 W7 ~3 i& a4 u* c% i$ f
IDE当前支持的功能有:" G  J. R$ _$ O( C
  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证)
  • 更多功能细节请前往进行了解# j6 u9 p7 u& `0 k6 b

2 J* ^- F9 ?2 ^# a# Z9 r
; Y! @  I, w6 J已经支持的芯片&板型列表:
& p6 ^* O: ]$ Q4 B* p2 Y# T
  • 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 boards/ N9 x8 M" G! m9 {: U1 k9 k
6 A# l( o/ x9 Z2 A; k
更多功能集成正在进行中~
$ b0 x  M" s, v4 A

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

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

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版