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

【更好用的单片机】【Stduino】Stduino学习(二十三)按键开...

[复制链接]
stduino 发布时间:2020-8-11 20:52
37种传感器(二十三)按键开关模块+Stduino Nano&UNO1 F' e6 A# u+ ^: L1 m# v2 Z4 a
( a4 q" B, I2 Y' P% _2 A
; Q# C* x1 N+ ~; [. W3 _/ q
关键词:
51stm32arduinostduino单片机stduino UNO&Nano按键开关模块
& E7 L; j! W$ I3 J- E* n: N
说明:. y+ X1 ?) w( g( e+ g
按键开关可以依据模块是否按下来输出高低电平信号。当按键被按下时,输出高电平,反之亦然。
23-按键开关模块01.png
9 h* W/ v) d7 Q8 M7 w$ a5 i
实验目的:
利用按键开关控制板载LED。

1 I" H# U' k- U2 }5 L3 Z器材:
Stduino UNO/Nano;杜邦线;倾斜开关
; W  O8 U) h" p! \; x6 ^
电路连接:
23-按键模块.png

& a# z1 O8 a$ ?
代码展示:8 P4 H4 i: ?7 K8 `
按键按下,灯亮;按键松开灯灭。
  1. const int BUTTON = 8;
    4 ~9 p9 n$ r5 F+ r5 i9 B
  2. const int LED = 13;8 G  ]0 @$ `' N5 P3 a9 |
  3. int value;
    ) y, X1 t7 @  K8 }" X8 y
  4. void setup()
    / v' u# E2 T' _3 u, E
  5. {* b/ U9 R2 |# e
  6.   // put your setup code here, to run once:* {% e8 t1 {! z/ J. A0 U. Y
  7.     pinMode(BUTTON, INPUT);8 q6 q0 F7 B- X- d8 [
  8.     pinMode(LED, OUTPUT);% s5 R+ `2 j# M' ^
  9. $ c0 M- `( B6 _7 ?# s" h
  10. }: Q) v: x6 z+ l& Y0 l7 i
  11. void loop()
    / [2 d7 ]2 N" c, Q. X& |' [: C
  12. {
      M/ i: U! }' ~1 K0 B9 N* J/ F
  13.   // put your main code here, to run repeatedly:
    # ~5 [# ]: }! y7 w& h( ^+ n
  14.     value = digitalRead(BUTTON);  // 读取按键开关
      ^' e  V) y( N! W% t
  15. 5 }& c" U& E" Y3 F" ]
  16.     if(value){
    5 [) r( p+ _4 a/ J' Q8 y
  17.         digitalWrite(LED, HIGH);// 按键按下,输出高电平/ x3 L7 M# |9 S' _& D7 t
  18.     }else{
    . {' ?9 {! k; D" G; C3 M) T4 R
  19.         digitalWrite(LED, LOW);// 按键送开,输出低电平7 \" k, j# q3 w- H- s" {
  20.     }
    0 n5 K* U3 W3 f5 H9 o9 ]2 _  f
  21.     delay(100);
    4 J- ]3 E: I. z# d* ^' y
  22. }
复制代码

8 f7 C5 `. y9 W
按键按下一次,灯亮;按下第二次,灯灭

  1. const int BUTTON = 8;
    ! O7 r/ T' X$ y  g, h9 o
  2. const int LED = 13;, Z1 p! ]7 A  y) l3 g6 h- u, Q: L- J' j
  3. int value = 0;//记录按键当下按下状态,0为送开,1为按下
    3 L/ v: M" A! G$ b5 `( ^
  4. int lastValue = 0;//记录上一次按键状态
    7 n2 q4 N+ O. [. \4 r$ i
  5. int keyValue = 0;//记录当前LED状态) {+ ^, Y8 H9 p! W. }& B  f; C
  6. void setup()
    2 F2 T+ D# y: X5 ]
  7. {; R9 F: Z( [' i
  8.   // put your setup code here, to run once:2 {& Y; g" c. P& `+ ~
  9.     pinMode(BUTTON, INPUT);6 J. J. u; ?) W% N' [# R* `
  10.     pinMode(LED, OUTPUT);
    - A( o6 s5 i7 V, L% J

  11. + w5 ]- l7 K% o! ]
  12. }
    4 o& H" L9 A# m, B1 ^& D" Z
  13. void loop()
    ( x1 P0 D7 Z2 l2 H) A3 s
  14. {; t, _  f- n8 g: w  D1 z1 t
  15.   // put your main code here, to run repeatedly:
    ; a$ w4 T! U( F, Y+ G- c3 a. [5 p7 H
  16.     value = digitalRead(BUTTON);  // 读取按键开关
    0 |, L' A& M4 E5 {9 W
  17.     if(value !=lastValue){
    1 ~0 \6 }4 l8 ]: Y6 \3 x, a8 K
  18. keyValue =! keyValue;- V0 i6 v$ h2 X8 C2 i
  19. }" v: k' [( ^& P
  20. lastValue = value;
    / w9 v" S+ L# {( F* Q( p8 u

  21. 6 y4 G' q( u" U- \, z
  22.     if(keyValue){
    & {' p# k1 a8 x5 {) e7 I0 l! T
  23.         digitalWrite(LED, HIGH);// 按键按下,输出高电平
    " [, q7 k: x6 O, e
  24.     }else{, d6 r4 I! w3 L
  25.         digitalWrite(LED, LOW);// 按键送开,输出低电平
    5 Q& u; i; f( t3 r! \
  26.     }( ^2 L" q; L' Z0 d; }. @$ X
  27.     delay(100);
    ' n+ U& A. X' i. F: A: k3 y' q# \
  28. }
复制代码

- M+ L5 w. }( g

Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
" R" ^. [& V; ~' x' H, r, N+ NIDE当前支持的功能有:

  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证)
    ! y) i5 Q4 q9 V6 j

    * K, a0 e' F, ]

    " o0 Q# J: C& X/ [6 Z4 x8 Z

更多功能细节请前往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
    6 w* r8 g# b2 {& @" |

    3 |" \' Q3 \! a# d( V# C9 a8 O. j
    / ^/ B& u( `0 @/ M6 D

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

9 \  t, Q& j7 C, J8 J
收藏 评论0 发布时间:2020-8-11 20:52

举报

0个回答

所属标签

相似分享

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