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

实验材料

• Uno R3开发板
• 配套USB数据线
• 1个轻触按键
• 用开发板自带的LED(引脚13)


实验步骤

① 根据原理图搭建电路,实验原理图如下图所示:
在这里插入图片描述
② 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

const int keyPin = 7; //按键管脚定义
const int ledPin = 13;//LED灯管脚定义
/**********************************/
void setup()
{
  pinMode(keyPin,INPUT);//设置引脚7为按键输入
  pinMode(ledPin,OUTPUT);//设置引脚13为LED输出
}
/**********************************/
void loop()
{
  
  boolean Value=digitalRead(keyPin);//读按键的状态赋值给Value
  //检查按键是否按下
  if(Value ==HIGH )
  {
    digitalWrite(ledPin,LOW);
  }
  else
  {
    digitalWrite(ledPin,HIGH);
  }
}

实验现象

按下按键,LED灯点亮。放开按键,LED灯熄灭。

函数介绍

digitalRead()
• 描述:读取指定数字引脚的值
• 函数原型:digitalRead(pin)
• 参数:要读取的数字引脚编号
• 返回值:HIGH(1)或LOW(0)



利用simulink读取按键状态,控制输出。

一如既往的简单,利用硬件支持包中的模块组建如下模型,一个数字量的读,一个数字的写,输入直接给输出,但simulink默认是低电平有效,需要加一个取反模块。环境的配置及部署方式请参见: 我的博客MATLAB与Arduino通讯,点亮双色LED.
在这里插入图片描述
这里就部位大家展现图形化编程的程序了,有兴趣的朋友,自己变一下,图形化编程软件在主页有,可自行下载。
关注我,我们一起进步!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章