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

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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    4 h' u% D, Y$ }matlab与Arduino通讯,按键输入控制LED
    4 S: S$ y0 \/ q
    • 实验材料
    • 实验步骤
    • 实验现象
    • 函数介绍
    • 利用simulink读取按键状态,控制输出。) v' y( i: j% v) z& Z
    $ V+ e3 z( y  ?9 E! n
    实验材料
    4 U9 r8 z1 w  P5 h- j; q• Uno R3开发板
    : a3 S, B( R; S6 ]: @• 配套USB数据线# R9 R" f: f3 O& `, S
    • 1个轻触按键; M. W% G" i; O0 }/ r
    • 用开发板自带的LED(引脚13). ^# h( z8 y/ q1 m$ X3 c; K6 y2 h
    # W% D2 r3 C& O7 o/ D

    6 h% l! `$ r5 S+ z2 _! B0 k9 A. O* M
    7 v/ [. X- m) `, x& c实验步骤" d! v2 S# `; ?- n
    ① 根据原理图搭建电路,实验原理图如下图所示:
    : ]5 v* O- r" e# G7 y- t+ B : o0 x% S9 |; N+ O7 [& J- i

    8 v" [: ~; g6 c$ s( f0 y; k( _; k② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。/ k: Y9 @1 L+ V5 {. m3 P/ j. Z
    ( @  Z2 g. j! {' Q/ B6 d' ?/ \- L
    $ y) v/ H  q# y' h; T! @  w
    const int keyPin = 7; //按键管脚定义% o% f8 t2 U0 R: p- C$ m
    const int ledPin = 13;//LED灯管脚定义
    9 H* w7 w2 ^) D- O4 s' Z/**********************************/; p( z' z- J0 s" S; \
    void setup()
    + q$ U/ c$ f% H' Y6 r4 r6 _{
    ' `' `5 @7 n' F- Y/ n+ O' W  pinMode(keyPin,INPUT);//设置引脚7为按键输入
    - t( ~4 x, h( U  pinMode(ledPin,OUTPUT);//设置引脚13为LED输出
    3 e, x0 Z( p1 W3 O& I. d6 [: w}
    8 g5 r8 P3 M7 L6 a/ a/**********************************/
    6 M6 j8 h: l/ u9 A3 \/ O8 uvoid loop()" q, v) ]. j8 t8 S
    {
    5 U7 y8 z& ~% _& \' \% ], C( b8 K4 @  
    ( f" G2 e9 K; {+ m; k, O4 P4 h  boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value$ n! R3 h, {* S& L6 n; X
      //检查按键是否按下
    ; e4 Z2 P  r" G  if(Value ==HIGH )$ C* L4 D, p0 e2 s& C9 j* o* u2 ~
      {
    . V7 t) A9 y2 F0 I    digitalWrite(ledPin,LOW);: K4 k" q; w' @% D+ v0 U, N/ c
      }
    , t0 B. p5 N8 M. }! M* x  else
    : c! j0 |- O% W1 N! ~! w# C  {/ i+ p  O' N. b1 E
        digitalWrite(ledPin,HIGH);8 B1 s5 x( c& X
      }
    % w  Y% v1 \+ g9 @}# R+ M" j  I! H, l% _
    3 U4 }- P0 k! D3 h; P: I( _9 n8 s

    2 e/ u/ ]& r( G! J5 P% _5 D! c3 f8 ?" `3 B! r
    实验现象% P, ~3 i6 W4 Z
    按下按键,LED灯点亮。放开按键,LED灯熄灭。
    * J: }* `: y# G. `5 h% F3 e2 w4 N4 ^( i. U% |
    函数介绍
    * b/ R0 u6 q# a8 p1 U9 T, GdigitalRead()
    + W. x/ V, N7 \+ D/ |" k5 {; h# p• 描述:读取指定数字引脚的值
    9 I) j  [, [( j: _& k/ J2 {8 M; }• 函数原型:digitalRead(pin)
    * F% b# q' G: y' T- w4 c• 参数:要读取的数字引脚编号. g) x+ \3 C# K
    • 返回值:HIGH(1)或LOW(0)
    2 {: d0 N6 g2 P4 B4 m# S& T8 f' o1 @
    : W% l/ Q* [  {% `; C: r' t# W& o9 B8 ]$ \- j* m
    利用simulink读取按键状态,控制输出。  V" J& T# o  B1 R8 p6 K
    一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.
      u& i. e. [7 v$ m
    5 u2 J- ^& j( r9 U1 y  Q" F* u- d  i& _2 d" X# r( I% o
    这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下
    $ l4 K2 O7 s: ]& |

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-23 23:09 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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