E01. 遙控器: 按鈕控制 LED

專案說明

設計一個簡單的遙控器介面,按下按鈕可點亮開發板上的 LED

LinkIt Remote 是一個讓開發者輕鬆設計手機操作介面來控制LinkIt 7697 開發板的一個功能。

開發者只要在 BlockyDuino 上設計好操作介面,使用 LinkIte Remote 這個 App,就可以透過藍芽將 7697 上設計好的操作介面下載到手機端來操作

手機軟體

請先下在手機上的 App

舉 iOS 的下載介面為例



積木畫布

初始化

  • 創建一個直立式的遙控器,寬度為 3,高度為 5
  • 取個獨特的名字,之後在手機上的 App 才找的到自己的開發板
  • 新增想要加上去的控制元件,此範例在 (0,0) 的位置加了一個文字標籤,在(0,2) 的位置加了一個方形按鈕
  • 建議可以先在紙上上畫出自己想要的遙控器模樣和擺放位置,在依照設計拉出積木

重複執行

  • 在最上面放入"處理手機程式指令"積木,每一次重複執行時,就會和 App 去互相更信最新狀態
  • 判斷是否按鈕狀態有改變,若壓下擇點亮板子上的 LED, 若放開則關掉 LED




產生的 Arduino 程式如下

#include <LRemote.h>

LRemoteLabel label1;
LRemoteButton button1;

void setup()
{
  LRemote.setName("My Remote");
  LRemote.setOrientation(RC_PORTRAIT);
  LRemote.setGrid(3, 5);
  label1.setPos(0, 0);
  label1.setText("按鈕測試");
  label1.setSize(3, 1);
  label1.setColor(RC_ORANGE);
  LRemote.addControl(label1);

  button1.setPos(0, 2);
  button1.setText("按下點亮");
  button1.setSize(3, 2);
  button1.setColor(RC_BLUE);
  LRemote.addControl(button1);
  LRemote.begin();
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  LRemote.process();
  if (button1.isValueChanged()) {
    if (button1.getValue() == 1) {
      digitalWrite(LED_BUILTIN, HIGH);

    } else {
      digitalWrite(LED_BUILTIN, LOW);
    }
  }
  delay(100);
}


操作步驟 : 

▼打開 LinkIt Remote App,找到你的裝置名稱。有時更改名稱因為手機作業系統會有暫存,不會馬上更新,可以點選右上方的刷新來更新


▼進入你設計的遙控器介面,按下藍色按鈕,就可以看到開發板上的 LED 會亮起