TA的每日心情 | 衰 2019-11-19 15:32 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 P) f0 Y2 O2 \* u! `" T3 Omatlab与Arduino通讯,按键输入控制LED3 F. [' v; D3 ^2 {
- 实验材料
- 实验步骤
- 实验现象
- 函数介绍
- 利用simulink读取按键状态,控制输出。( t Z( ]0 R- N
6 ^+ K! P l0 j3 |2 q! J4 }5 t实验材料
) D- ]. W$ Z8 ? y" k• Uno R3开发板
P1 J. `7 N0 a3 \6 j; |9 b6 f• 配套USB数据线, i! a, E5 e) u" a/ U# v' z
• 1个轻触按键# N* n& c, c u7 f8 _% ^
• 用开发板自带的LED(引脚13)7 C( z9 Q, W( r+ H" |' O
& ~9 p4 j& a0 t8 X1 F6 p5 @% O
4 } a$ E! G# ?" X
# W- X* t% Q& T5 H
实验步骤
4 h; D4 i$ h2 B4 b( X① 根据原理图搭建电路,实验原理图如下图所示:
6 r p/ R* O9 @5 s
3 I; D% p- q/ Q* z8 N& P* K; m2 ~; G; w1 t" J) Z
② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。3 G3 r0 o% [! @0 M8 e |6 U
. ?- e" n' V3 |: x
( R; t e9 K/ q$ F. c+ [# z8 ^const int keyPin = 7; //按键管脚定义' ^4 L1 A/ D( f3 b: g5 U6 u, N* H
const int ledPin = 13;//LED灯管脚定义4 Q8 p7 ]6 F& U0 K5 l# ?0 l! W
/**********************************/ Q1 Y6 s: P, f' z
void setup()
* \4 K: u7 o# N1 U1 Q% Q{
+ O' {. V( B" j& E8 F pinMode(keyPin,INPUT);//设置引脚7为按键输入
2 L0 J" Q) q% e4 E: ]0 @# ]# H4 k5 M pinMode(ledPin,OUTPUT);//设置引脚13为LED输出
k6 s! j, a! G1 D1 ^}
$ X) |+ l2 [6 D+ t5 o9 G/**********************************/
& B; p( X, z6 G4 W0 P" Nvoid loop()
& T/ } N5 T: U. i' B{
7 b2 L7 m3 E. f0 x' f# b0 I6 R ) N; g+ C( i" t# @1 S3 B- Y
boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value" \$ j. [# R0 x: B! y6 Q" r
//检查按键是否按下# n$ M) [4 Y. A: Z1 s
if(Value ==HIGH )) K" H# T7 Y2 r, @
{- G, d' d+ k/ b+ v
digitalWrite(ledPin,LOW);$ X* c+ C1 Z0 C/ L$ u3 N
}- L2 l3 K( a/ f6 m7 K n e: i
else
/ P* F* j/ d. U7 W) _1 ` {
/ f, S' L% O( E/ J digitalWrite(ledPin,HIGH);- {; s% Y' H0 f9 d+ D
}
. K0 I$ d. O# l}
; u, A8 s. A+ W
* E" c9 l( C) W1 T% }# |: f0 M/ u3 r" r8 z/ Q
6 ~( V0 @3 H, Y) g实验现象$ g3 R* q$ j. \4 y
按下按键,LED灯点亮。放开按键,LED灯熄灭。
) `8 t; X2 J) X( p- D% g! j3 O) u8 W2 X! ?
函数介绍
4 A- e! Y/ d! o* [* t3 odigitalRead()
7 C5 o" ~/ X" ]4 l; [• 描述:读取指定数字引脚的值6 j' r4 L- T: N. c6 E7 f
• 函数原型:digitalRead(pin)% I5 |# A4 b7 M+ D0 k& h7 r' Z3 s
• 参数:要读取的数字引脚编号: W7 z7 U3 y: X. c0 ]
• 返回值:HIGH(1)或LOW(0). s1 `+ Q: t8 [6 N* l8 S
" }" m7 v0 P2 G) A
+ w4 F8 F' f, Z' \) f, {* k" C& T利用simulink读取按键状态,控制输出。6 r/ r4 ~% ~! M7 h0 @; }) Q- L5 c
一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.1 `; B! I7 \: B7 C' T/ Q8 c; l
" i+ j/ _( l" N& `4 h
% g3 P/ w, F; ]! I) E. j这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下( {: k1 }1 z+ j
|
|