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.
在這裏插入圖片描述
這裏就部位大家展現圖形化編程的程序了,有興趣的朋友,自己變一下,圖形化編程軟件在主頁有,可自行下載。
關注我,我們一起進步!


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