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

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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    , o- v" [6 x6 ^; R' C# u( K
    matlab与Arduino通讯,按键输入控制LED
    ' h$ |3 Y. z5 Y) `
    • 实验材料
    • 实验步骤
    • 实验现象
    • 函数介绍
    • 利用simulink读取按键状态,控制输出。
      3 C/ p& u$ m, }7 |% }1 U
    3 G" {% u" r) x
    实验材料
    0 ]6 b- }( z# H" [% _8 A/ J• Uno R3开发板$ @6 L" r3 k8 K' c- Z; ^" S
    • 配套USB数据线
    % d$ l" @! Y; }+ z9 H# O1 `9 T# Z: V• 1个轻触按键
    ) K0 S! R9 D) U9 b+ u• 用开发板自带的LED(引脚13)
    4 q" s+ S! P% d3 h  ~: u0 V; p$ _& j$ N( h

    % R/ Y' l  S+ j( _2 Z& n
    2 Y/ ^6 w# Q/ J% {6 o$ ]  b实验步骤( [" C5 |) D% ^8 K) d) p
    ① 根据原理图搭建电路,实验原理图如下图所示:
    * [+ r; z8 z, J8 ?: B+ Q 7 v) M$ \$ m. r. |
    6 ?' Z! m$ d6 L8 k- M
    ② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
    . ?, T5 K7 l5 |6 |/ ], {4 t4 {! b* G2 b) n0 ]! w$ k# m4 {! u

    6 |+ \3 x( ]) R& a5 M( m1 P, Sconst int keyPin = 7; //按键管脚定义
    2 F+ d& G, v: v% C" ~const int ledPin = 13;//LED灯管脚定义+ W+ y6 U$ \/ ?
    /**********************************/4 H& r9 V5 d) ?. V3 o/ S% J4 B
    void setup()4 w5 ]: ^5 A0 L, x) B& i
    {
    . O; Q- E$ N- E  pinMode(keyPin,INPUT);//设置引脚7为按键输入
    % H0 H6 o$ f6 D6 J0 u0 ?: j5 H  pinMode(ledPin,OUTPUT);//设置引脚13为LED输出
    4 w8 w& h5 [' `# A}' [: e* @9 a1 A7 V! d* H8 V
    /**********************************/& O( F7 H$ k* l" h' e
    void loop()
    3 R8 }) Q- j; [{" `. ~* l, b# L# K, q# f1 c
      
    & Z6 G0 {6 r: w( I; _& [  boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value
    / n2 o# Y/ `. e  //检查按键是否按下
    ' w' u  H1 w  e  if(Value ==HIGH )
    . p$ w2 L; s$ m$ s) l' O. t: S9 B  {8 [$ h. }8 Z! d% I
        digitalWrite(ledPin,LOW);
    5 p# h$ w' B0 E  }; M9 J1 f2 t3 T& g
      else+ v7 ?0 @; s0 D: W6 Z* k# f( \! C
      {
    5 |, R( Y% C& Y' Z7 l4 I    digitalWrite(ledPin,HIGH);
    $ C8 S# p$ ], m' E4 k+ q  }5 O( H0 d" @% a* F/ m6 H
    }, g# {- U$ r' @" j; q" \. F& I& d

    2 o2 a: Q) `# S0 |* M; B% N$ U
    % z' v: W5 [$ [0 h
    ( n3 ]* C6 S! M$ q$ i) j$ P4 n实验现象
    9 b. b, N* Z. O, l% }) W按下按键,LED灯点亮。放开按键,LED灯熄灭。
    + |0 K" K- R. D+ O! }8 V5 j! S& ^  w3 D( }& n4 E% h5 Y  F
    函数介绍
      ?! \0 E* P" K' w) cdigitalRead()6 {. `; Z% m3 o6 p8 f/ N. r
    • 描述:读取指定数字引脚的值7 l1 [% @' u/ |/ ?
    • 函数原型:digitalRead(pin)- s1 P: t7 ?5 q/ x1 v
    • 参数:要读取的数字引脚编号: t: Z7 a7 p! X6 |+ W( E: [* E
    • 返回值:HIGH(1)或LOW(0)' R& T' j, C1 f" Y

    6 d3 l& p( u) d5 T+ Q/ g2 c1 r& o! v; s! n2 m" ^/ y  j3 I
    利用simulink读取按键状态,控制输出。* X- k% p* i: H1 w3 G& _4 X
    一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.4 H, }7 D# ^0 |5 R( x
    ! U. r! A! D5 \( T% W

    5 \# G& l; S5 @+ c这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下
    1 ]! {0 u$ f3 q/ L0 z9 t

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-20 16:08 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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