TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
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 |
|