TA的每日心情 | 衰 2019-11-19 15:32 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' a3 l) g2 T) S( G4 a: ^
matlab与Arduino通讯,按键输入控制LED% C( v8 W. n( L0 }- a
- 实验材料
- 实验步骤
- 实验现象
- 函数介绍
- 利用simulink读取按键状态,控制输出。
/ W7 m& c, Q* `, f8 } + P! Y$ e2 R) R. w3 s L7 u
实验材料
6 W% e ?6 h( s1 }- T, `7 {3 |9 O& @• Uno R3开发板
4 Z) g! c7 k0 s4 r! p* u% W8 I• 配套USB数据线
" W2 F5 S$ _& O4 e+ L• 1个轻触按键: k) Y: i1 Q* e9 T2 h- Z) W) F8 \
• 用开发板自带的LED(引脚13); Y3 V: e3 Y: ^' V+ P
. ~; D$ g9 w, f- n
/ ^" Y6 \% p: m- H* @/ U" N1 P
/ @5 y5 o6 o; ?/ K3 w+ M. G实验步骤( v/ u9 g* \/ ?8 T% D2 H
① 根据原理图搭建电路,实验原理图如下图所示:: D" g' R/ l- G% R) e" _4 [) j7 t! N
" J/ E! [5 {* e7 _/ ?4 n- Q
5 w U2 Z' x, e- e4 n# j7 L② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。 V8 {5 i: X* |( e3 i, `
- Y( M* u8 ?8 \8 Z) U6 w
* e/ _) \) C2 Pconst int keyPin = 7; //按键管脚定义8 ~, w) W; r; G+ L. |0 Z" K+ P2 E
const int ledPin = 13;//LED灯管脚定义
I- V, O3 s& w/**********************************/5 c/ s( \% D7 @% B6 h. r
void setup()
2 N" c3 \- S! N. Q! B) b1 z/ s3 s{
% l7 t$ Z- V% P* \# H$ B, K! A/ x pinMode(keyPin,INPUT);//设置引脚7为按键输入
0 q0 z+ Y6 y- N$ B# ?2 W) z pinMode(ledPin,OUTPUT);//设置引脚13为LED输出
5 J; h X6 R" L: P}
& P* W/ N% l# k2 {( B: n/**********************************/1 a4 t* W/ b% e. O6 |
void loop()& p' ]; K" C$ W8 P. n
{1 v" [- I$ w9 J
* \. Y5 `* k/ U boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value( F2 J; E& K0 m$ W( e+ B
//检查按键是否按下
' A) a$ M6 h0 i* g( {/ ?' I if(Value ==HIGH )
2 r! d- O" j6 |3 ? l1 ~3 M {% I$ I& x }8 y2 a
digitalWrite(ledPin,LOW);
; x; s9 y' }1 ` Q }
* | }& H1 W$ P7 @' ` else5 I( G o: s( G
{1 B% K7 b, m4 E/ J1 T
digitalWrite(ledPin,HIGH);& b' C5 S! U; j( }* ]: r* ^
}
$ f/ L( I1 {# w0 I6 e" l2 y# x; W/ @: t}3 K6 A9 j) X/ r
% Q8 O! M% U) `9 Q) t3 h$ r5 H+ Z* S G0 d: L& g8 l( r; `, ?* m
9 L4 k& {/ [* c, W, H6 q( f! F W
实验现象& A2 ]" V8 O9 g7 m& s3 c9 D+ d
按下按键,LED灯点亮。放开按键,LED灯熄灭。
2 d* J' c' w0 l# j0 r- w
e% F5 @7 L' C9 F4 I% n1 {函数介绍
7 _7 b. v2 v$ i% l2 Q; RdigitalRead()
1 Z4 o! c# @0 Q0 m• 描述:读取指定数字引脚的值; j* t' \7 _3 M4 Q" `
• 函数原型:digitalRead(pin)
C; m; M: V* q- p• 参数:要读取的数字引脚编号: L2 L0 a7 I" }3 k; z
• 返回值:HIGH(1)或LOW(0)
9 }9 W% B2 x; z, T! p+ L& s+ {& d) _+ a# T
/ e) c5 ]( f5 b3 u; K: X
利用simulink读取按键状态,控制输出。+ o4 l- K$ k" I$ u9 q$ z) d. k
一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.
) W. M4 h" |# }+ y% ^+ Q9 Z
8 S6 K# _/ v) ?* q* a, g
9 a3 \5 s' B! }% \2 @' ^/ G- \2 p
这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下' _8 Z9 l, U" @3 E9 c
|
|