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

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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    $ g' d9 ^; i" V; f& N: Amatlab与Arduino通讯,按键输入控制LED
    , I. Z0 c; c2 q2 K; v/ u7 V
    • 实验材料
    • 实验步骤
    • 实验现象
    • 函数介绍
    • 利用simulink读取按键状态,控制输出。
      . D' i  M! L) H" Y4 @- O7 ^" l
    / c9 }& D* b, J0 C: K+ p$ N
    实验材料% Z& z# |) z1 ]! S3 n
    • Uno R3开发板
    : u7 r6 f9 I, _4 G• 配套USB数据线4 A2 ~- S; f) q, j  Q
    • 1个轻触按键
    7 G" b& e! i) P( {+ f# V3 E4 ^) h* A• 用开发板自带的LED(引脚13)5 T4 B9 O, I/ J

    , Q7 l: J3 Q$ J% @; [
    ' g; c9 n9 u. w3 {$ P8 O2 Z) {+ Q/ ^3 K
    实验步骤
    3 Z, r" A* z2 O: U, m7 A① 根据原理图搭建电路,实验原理图如下图所示:
    8 W9 G8 j" @2 }" G& O  D 8 D2 g3 M4 c. ]! y; P" H% ?7 Q
    7 c- f9 O4 I' t+ w
    ② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
    , ?: p4 F$ j3 A
    ' M4 a/ x( i. Y, [  p/ ^
    ' O5 d: a7 ~% E2 F2 s/ nconst int keyPin = 7; //按键管脚定义
      z% i* z( G8 A! t, b. ^2 J  y2 Sconst int ledPin = 13;//LED灯管脚定义
    % S4 X5 b; {3 {* l2 q* i' R/**********************************/
    " Z- K1 `, X  E: {% Fvoid setup()
    * L1 }" u+ p2 u: u5 q& g9 q{& y+ d# I' Z) F4 x: ]# i( N: M
      pinMode(keyPin,INPUT);//设置引脚7为按键输入
    $ j8 [9 ]2 C* D- @+ T, T0 ]  pinMode(ledPin,OUTPUT);//设置引脚13为LED输出) X9 {! d' R3 X9 f2 g: H( \
    }; J( }) @" F4 N' [
    /**********************************/! C4 e6 z: n, v
    void loop()
    0 R! h9 y, }3 a5 e! ?3 a{; x% z: K! {# V7 ]& L
      
    * @) H6 A8 l7 z3 C7 a0 ^$ y! j; _  boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value+ {8 A% H/ ]2 j1 s# i6 x
      //检查按键是否按下
    3 v* u! v: y/ B: e% a, Q  if(Value ==HIGH )
    / |- q/ T4 g  ^6 W' J  {$ H  c/ G$ V0 V$ X& q% E- _" ~
        digitalWrite(ledPin,LOW);
    / R& s7 h  ]) @4 T  }
    3 S/ v2 O6 B9 l) x* u( _" r" F  else' ?5 c% ~! m. D; h, c) U0 e: @
      {, v4 k+ K0 _' G! Z* E
        digitalWrite(ledPin,HIGH);
    9 J3 x( ^0 [0 T& U/ E* W5 V% k: Y  }& X) g! K( e8 |; q. ]  j9 V
    }8 S) ~4 J: M, `# t3 X

    ! {/ f' O2 Q; {6 n. a7 ?
    7 g* Q, E4 f+ D$ w8 W  b9 H- J, ^6 k+ s! J3 }0 w
    实验现象% s. `$ B- m: g$ H4 {: V
    按下按键,LED灯点亮。放开按键,LED灯熄灭。% G' b9 G2 R0 n

    - r: q6 i8 s' e6 `函数介绍: Q7 M0 T% U& r  D. |0 U1 Q
    digitalRead()! P7 P; q9 L7 ]9 r, D% Z* I
    • 描述:读取指定数字引脚的值
    + b2 _+ g* `* @4 ?1 O• 函数原型:digitalRead(pin)  P1 m4 \7 i# I+ C' @, H# w
    • 参数:要读取的数字引脚编号2 [2 ^- x7 j* e. B( @
    • 返回值:HIGH(1)或LOW(0)
    - E* X! L$ i$ d8 _9 u
    # N$ H. t1 E- x" C% L" M
    , D6 c4 J0 n" a; o6 }% p% H. g) R' Y利用simulink读取按键状态,控制输出。
    ! j* z2 K. w$ Z3 L一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.( c2 i/ r8 A3 z( g, m0 o# b7 x9 t

    3 C# o0 e* g" r. \( p& Q
    6 f  D& t6 J; o5 m) }* g8 f2 d这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下" f; J6 g) L/ Z1 {* \4 s

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-31 07:17 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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