|
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
光遮断器又可以称为光断续器、光电断续器等等,其实际上就是将发光组件与受光组件面对面排列在“槽”的两侧。当监测物体通过“槽”的时候会遮挡住发光组件,导致受光组件接收不到光。(接收到光是时输出低电平,被遮挡时输出高电平) 利用此原理,可以实现计数、计算物体长度或者计算速度等等功能。 $ {- 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;杜邦线;光遮断器模块;打孔纸带
) B- T' R- \$ A' W. d5 _% g
电路连接: & [, d& m+ a; \" }8 x
+ d# \3 Y) `# K4 |; e6 u/ h
代码展示: - int LED = 13;
2 ?/ ?1 ^5 R4 w% |, g - int BUTTON = 8;
& |" a5 H/ P9 c1 X - int val = 0;//0为连通,1为被遮挡不连通: F: J- g4 u: p3 J2 T, T
- int lastValue = 0;//上一次连通情况
7 i3 r+ f4 k5 B! b5 Q6 y9 m) ~# H K - int num = 0;& ~, G+ j4 a& }% V6 u
- 6 X/ _' l" h/ C- s' r
- void setup()
+ ~6 O5 c" I( p$ w1 b/ ` - {3 z% W; }4 K4 |. N* x; R
- // put your setup code here, to run once:8 ~4 B E4 t& I" o" ^& ~7 Q
- pinMode(LED,OUTPUT);+ |; \0 F& m9 ?2 l2 |
- pinMode(BUTTON,INPUT); & m- } y* Y% g
- Serial.begin(9600);$ a: V! w1 F6 s4 R2 S
- }4 Q2 B7 t4 G, K5 A5 p2 e5 [& C/ u6 ^
- void loop()
C# y7 v) r" ` _! {' a E/ t - {$ M8 q9 L; M2 L) n+ e9 F3 v$ {7 d
- // put your main code here, to run repeatedly:
9 L, x. B! y$ q8 a. C' z - val = digitalRead(BUTTON);
7 ]7 ` ^& p) y, t+ h- K - if(val == 0 && lastValue != val)//如果连通并且上一次不连通
+ o' Z( y& v1 L - {
& E' p4 A6 O+ k( V3 {+ ]; s K8 ~ - num += 1;
1 P" l+ t! v5 c8 b - lastValue = val;
+ H) _/ v$ {0 E3 H# C - Serial.print("当前孔数为:");! r* Y! ?$ E5 r3 \/ }/ m
- Serial.println(num);
& Y2 W; `. G! ^ - }3 o) |! l9 O- Y% L0 O
- if(val == 1 && lastValue != val)//如果不连通并且上一次连通0 t( |% t$ N+ D+ `
- {$ D* x8 W4 |6 \$ a8 y
- lastValue = val;
$ H3 v: k, S$ l9 q& b! @+ p& }" M. g - }, }$ x$ B( ]1 t! [$ e; Z* v
- }
复制代码 3 t& q/ T. X$ `! h
- s8 c) w3 @( `" {- s$ ^- k/ z
实验效果:
! p4 j8 l2 c8 t2 U0 ^
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% T4 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+ @
|