TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! p" z( X4 |6 Q3 [" zmatlab与Arduino通讯,按键输入控制LED9 a% T* r; U9 h# D6 S. g/ Q$ t
- 实验材料
- 实验步骤
- 实验现象
- 函数介绍
- 利用simulink读取按键状态,控制输出。$ p9 W0 f& h6 d: @6 w
& J* z; l. U4 |4 R7 v0 @; m6 Z实验材料5 n9 W1 A, @2 X, L7 `- x* N% ~
• Uno R3开发板/ G5 ~% O$ D& f; a
• 配套USB数据线& N1 H0 T* `0 x
• 1个轻触按键% |" S( Q5 O: e W1 C+ D
• 用开发板自带的LED(引脚13)
! @/ h0 X7 z* R4 U$ v
( J! z7 G4 L, u* _
/ A. r2 B8 _4 ?2 `9 R& R ]+ B3 S1 F4 ]7 S# B; _, \5 f
实验步骤
9 s5 _* k' Y5 T3 p, p- l① 根据原理图搭建电路,实验原理图如下图所示:' N/ ? B( H: S* y
}/ t- o+ X P1 ~
- O( S" j" F4 t0 {" r! C5 |( P: t② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。' |5 C; V. ^4 O3 ^' U1 v
: a, H- V4 d1 X- S
* F4 L5 ~4 Y9 t, ?const int keyPin = 7; //按键管脚定义
. _) G b5 _ C8 e: Vconst int ledPin = 13;//LED灯管脚定义. ~5 H6 {$ {. p4 t
/**********************************/
* [. C' T8 X& svoid setup()
- g8 \7 m2 @% e5 n- {4 [{
- _- V m+ D3 D0 i1 }1 ` pinMode(keyPin,INPUT);//设置引脚7为按键输入
" M+ ?7 q& k$ a3 e$ E. T pinMode(ledPin,OUTPUT);//设置引脚13为LED输出
6 }$ k; i! A/ w}6 L/ d7 v) B" i% w8 v( d
/**********************************/
! f' R1 \/ A' |' Vvoid loop()
2 y, u5 J ~. @ Z1 p2 w! d4 x0 q{9 ]5 K- {0 b+ A
0 B2 H% w* Y! y2 I8 }, z" b boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value6 O- z7 n- W1 c
//检查按键是否按下
3 n* E5 C' S8 K2 m9 n! x$ \( ?! C if(Value ==HIGH )/ H) g9 Z5 k( _6 L/ t5 z9 c
{4 r$ i0 Q, _4 X! U
digitalWrite(ledPin,LOW);
& R! ^+ d5 x' k; w* ?5 M }1 |2 J9 v& w6 Y3 \: a
else
5 b+ l" B- i3 S/ u$ b {
6 q& m2 _0 G' c) T# o digitalWrite(ledPin,HIGH);
0 B9 e' N6 `4 l }9 ^- K) k+ F# t& ^5 v/ c# V9 D
}- W# P, [( G) n* J1 [& @+ ]$ P
9 B, V9 W( F! i! @' T! S/ ?
! S' Q; _5 l3 X" }: d+ a5 [; j K
}0 H7 F8 @/ s4 Y) r, N实验现象5 z* Q: p& U4 o
按下按键,LED灯点亮。放开按键,LED灯熄灭。: t, k* z; o! \5 B
; v+ a# I9 v7 g4 {' j; Q函数介绍 M7 p0 B3 v- I6 B5 y. p7 r
digitalRead()5 L" n8 @+ j9 v$ c& o0 P
• 描述:读取指定数字引脚的值
0 Y8 V+ { f2 u4 l( ?+ s2 u: o• 函数原型:digitalRead(pin)
4 W2 s- Y |! N( d% v" G9 x• 参数:要读取的数字引脚编号
7 P i5 m+ v6 F8 A$ c4 S) m• 返回值:HIGH(1)或LOW(0)
) y ]) ?! o9 h" F: o1 B# Y1 ?- ?% U j! A
8 Y3 M: X ^6 C5 O7 h6 _" K
利用simulink读取按键状态,控制输出。
( U) w6 \0 M- w9 |# t- V一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.
6 B% r0 e% p3 J. U4 e+ e
* h/ r" _- p- p% V0 ]1 q: e) P. U+ E9 L/ Z2 t6 V: T8 |) v5 E( r
这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下
0 J( p; F6 H, S% Z0 m |
|