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

【更好用的单片机】【Stduino】Stduino学习(二十)光遮断器...

[复制链接]
stduino 发布时间:2020-8-8 22:52
37种传感器(二十)光遮断器模块+Stduino Nano&UNO
" w# V2 Q& Z8 I3 X1 R- A" W6 P
0 m) Y# ^" }9 ^% y" b7 b$ a( @
关键词:
51;stm32;arduino;stduino单片机;stduino UNO&Nano;光遮断传感器模块
4 t2 u- z9 H, q4 `# I1 z/ M3 K
说明:* C. I+ Q3 f+ N! G2 S; j3 _& t
光遮断器又可以称为光断续器、光电断续器等等,其实际上就是将发光组件与受光组件面对面排列在“槽”的两侧。当监测物体通过“槽”的时候会遮挡住发光组件,导致受光组件接收不到光。(接收到光是时输出低电平,被遮挡时输出高电平)
20-光遮断器模块展示图jpg.png
利用此原理,可以实现计数、计算物体长度或者计算速度等等功能。
$ {- k) p: e3 m; m/ n- m

: Q* w4 V! _* p0 f
; t" d: [- ~( M# c) b8 |4 @/ p& ^6 `

! u; V0 L# e2 j( ]+ j$ j
实验目的:
利用光遮断器模块计算打孔带打孔数。

1 e4 h% l8 D) G# e, ]4 }
器材:
Stduino UNO/Nano;杜邦线;光遮断器模块;打孔纸带
20-光遮断模块-打孔带.png

) B- T' R- \$ A' W. d5 _% g
电路连接:
20-光遮断模块.png
& [, d& m+ a; \" }8 x

+ d# \3 Y) `# K4 |; e6 u/ h
代码展示:
  1. int LED = 13;
    2 ?/ ?1 ^5 R4 w% |, g
  2. int BUTTON = 8;
    & |" a5 H/ P9 c1 X
  3. int val = 0;//0为连通,1为被遮挡不连通: F: J- g4 u: p3 J2 T, T
  4. int lastValue = 0;//上一次连通情况
    7 i3 r+ f4 k5 B! b5 Q6 y9 m) ~# H  K
  5. int num = 0;& ~, G+ j4 a& }% V6 u
  6. 6 X/ _' l" h/ C- s' r
  7. void setup()
    + ~6 O5 c" I( p$ w1 b/ `
  8. {3 z% W; }4 K4 |. N* x; R
  9.   // put your setup code here, to run once:8 ~4 B  E4 t& I" o" ^& ~7 Q
  10.    pinMode(LED,OUTPUT);+ |; \0 F& m9 ?2 l2 |
  11.    pinMode(BUTTON,INPUT); & m- }  y* Y% g
  12.     Serial.begin(9600);$ a: V! w1 F6 s4 R2 S
  13. }4 Q2 B7 t4 G, K5 A5 p2 e5 [& C/ u6 ^
  14. void loop()
      C# y7 v) r" `  _! {' a  E/ t
  15. {$ M8 q9 L; M2 L) n+ e9 F3 v$ {7 d
  16.   // put your main code here, to run repeatedly:
    9 L, x. B! y$ q8 a. C' z
  17.     val = digitalRead(BUTTON);
    7 ]7 `  ^& p) y, t+ h- K
  18.     if(val == 0 && lastValue != val)//如果连通并且上一次不连通
    + o' Z( y& v1 L
  19.     {
    & E' p4 A6 O+ k( V3 {+ ]; s  K8 ~
  20.         num += 1;
    1 P" l+ t! v5 c8 b
  21.         lastValue = val;
    + H) _/ v$ {0 E3 H# C
  22.         Serial.print("当前孔数为:");! r* Y! ?$ E5 r3 \/ }/ m
  23.         Serial.println(num);
    & Y2 W; `. G! ^
  24.     }3 o) |! l9 O- Y% L0 O
  25.     if(val == 1 && lastValue != val)//如果不连通并且上一次连通0 t( |% t$ N+ D+ `
  26.     {$ D* x8 W4 |6 \$ a8 y
  27.         lastValue = val;
    $ H3 v: k, S$ l9 q& b! @+ p& }" M. g
  28.     }, }$ x$ B( ]1 t! [$ e; Z* v
  29. }
复制代码
3 t& q/ T. X$ `! h
- s8 c) w3 @( `" {- s$ ^- k/ z
实验效果:
! p4 j8 l2 c8 t2 U0 ^ 020-光遮断模块效果图.png
9 ?8 P  K3 I* h3 A( H* U( k5 T* y4 M( ]! N: l" t
3 X7 s( K0 y  M0 M; ~
0 y) N' ~# Q4 q) `. @- G

Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。; V, a7 E- I6 V# F
IDE当前支持的功能有:

  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证)4 f: |+ R2 i( z2 B% t0 b, P+ H
    5 H" o3 w" h" H8 S+ I" j9 r( a+ K
      i  h- c2 c( ?5 a( [

更多功能细节请前往www.stduino.com进行了解

已经支持的芯片&板型列表:

  • 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
    ) ]- o' K7 r) Q+ f% T
    4 q9 N5 c  E) h; P. }0 N( o8 i

    3 Q3 O' k: ^4 j; L  M, x' @8 M, b6 V+ f

更多功能集成正在进行中~


) @3 _9 o0 N$ t+ s  w  r; D* t
* Q, a4 r  ]5 I& m

+ ?8 v) M) _4 ?+ n4 T
" v  j9 [) i! D) ?4 A4 ]
+ l& |) D3 o) n- o, y& r' l
4 L' i  U8 J5 X+ @
赞 收藏 评论0 发布时间:2020-8-8 22:52

举报

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