找回密码
 注册
关于网站域名变更的通知
查看: 586|回复: 1
打印 上一主题 下一主题

matlab与Arduino通讯,按键输入控制LED(两种方式)

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-2-24 10:35 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    $ G5 W3 |0 R9 F6 w. M7 i
    matlab与Arduino通讯,按键输入控制LED
    . O8 G" k; H* ]/ w& V
    • 实验材料
    • 实验步骤
    • 实验现象
    • 函数介绍
    • 利用simulink读取按键状态,控制输出。# T) |7 X+ D$ E7 \
    # c* b6 u, Z, @" g! c
    实验材料
    4 N; D0 x! v! x* F% S8 ~( v3 I' ^• Uno R3开发板- U7 t1 S, l9 `$ I
    • 配套USB数据线8 T3 I* Q' V5 l8 h6 P8 n8 o5 U
    • 1个轻触按键
    7 h+ w( ]$ K- P% E/ `; ]3 d• 用开发板自带的LED(引脚13)7 P, A: [# S3 o# d/ K
    ' J" [& O' g" x# v( i
    ! x* O5 C. b4 s3 ^, f9 Q
      v5 c" G  @: o. m- [
    实验步骤
    7 t* T. L1 ^; F/ a, w① 根据原理图搭建电路,实验原理图如下图所示:  N0 L7 ], z. ]1 |; g, i" `

    8 n8 c* P3 \3 C5 m+ }$ Q0 d, _! W3 e
    ② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
    / v7 r' v- j- n8 X! {- D: q, A: F# p3 K; w5 W1 R, b5 w- u

    " h1 e  l9 d/ |: |const int keyPin = 7; //按键管脚定义' h( g+ m' g* S2 x% n9 u7 H
    const int ledPin = 13;//LED灯管脚定义5 C( l- T- d' m6 @. M( d
    /**********************************/
    ! G/ p  u8 p0 s) [void setup()& o' n0 Q( ^% N8 b% R9 v5 K% ?
    {
    + ^! Q8 M  f! G. p/ m& k  pinMode(keyPin,INPUT);//设置引脚7为按键输入9 D/ l0 ?. N. E  j! K2 W0 H
      pinMode(ledPin,OUTPUT);//设置引脚13为LED输出! W: N  H& M9 p
    }
    # c. J2 h/ f. R7 T9 U/**********************************/: o# Z4 Q3 a* ^6 ^
    void loop()
    ) }7 g3 m4 z. I$ L/ f3 y6 h( r. f{
    1 [: x$ d* B# a3 g: d  
    1 {7 W) |5 A7 _: j4 ?- E/ d  boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value5 V3 p2 }7 L& X0 u5 S# l, u
      //检查按键是否按下" @) `1 C6 ]( B( W+ K( O
      if(Value ==HIGH )
    ; n' ^/ X& c; ?1 Y- Y  {% T, d8 V5 N% x# G: q$ [& a
        digitalWrite(ledPin,LOW);! F: d( E+ G0 n7 p5 R  g
      }
    $ u. |/ k) N% u+ S9 j  else, E0 O: v/ j5 `  z1 D& h
      {( O% U6 {( U0 c) o
        digitalWrite(ledPin,HIGH);- o1 G2 }7 r% n6 h) m
      }
    - q1 n0 R  v* n; B}
    , v; }4 D" g3 q7 H4 ?
    , z* v! D& ~" t2 L: B* r$ A3 h# j3 T' h6 J5 U: i
      Q: D5 s( B/ _/ W+ F
    实验现象) h5 y* e* X0 R7 z  {
    按下按键,LED灯点亮。放开按键,LED灯熄灭。+ O" e5 ]! P5 Q- p0 p& `# M
    0 L) j, j, F* z6 N1 I# d
    函数介绍6 s. [$ Y0 Z6 c5 N! C8 Y
    digitalRead()
    ! x- v/ K3 i8 B! R. D- @1 i• 描述:读取指定数字引脚的值; F) ~0 H; h' S
    • 函数原型:digitalRead(pin)  k6 b1 J! y2 b  Z; K/ @
    • 参数:要读取的数字引脚编号
    4 I* r4 |  e9 F  a& m1 R( M; Q/ S• 返回值:HIGH(1)或LOW(0)
    # @2 N, y5 _8 h8 \  c4 r
    1 x* o: d  i6 F' b3 L
    * s5 n" M1 P$ w* k; Q利用simulink读取按键状态,控制输出。0 d' F* K) _' h2 O4 ]
    一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.
    / @- o$ {3 x. V- ]
    / W1 H. T; A: h$ [/ J! Q; x6 L* h5 l! O" s) ?# r
    这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下
    8 ^8 q% z' ^, ]( C% b3 |; V# c

    该用户从未签到

    2#
    发表于 2021-2-24 11:10 | 只看该作者
    matlab与Arduino通讯,按键输入控制LED
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 00:06 , Processed in 0.156250 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表