M5Stack ボタンA,B,Cを押すとDA出力した信号を異なった時間出力するサンプルソフト

DAポート26から0.6VをA,B,Cボタンを押したときそれぞれ10秒、60秒、180秒間だけ出力するサンプルソフト。これが作りたくて色々調べてた
別な回路の動作確認用に使うのに必要だった。M5StackはLCD,ボタンがあって楽だ。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <M5Stack.h>
   
int PIN = 26;
 
int OUT_0_6V = 46;
 
void setup() {
  M5.begin();
  M5.Lcd.setTextSize(3);  //17×10
  M5.Lcd.println("Start");
     
  pinMode(PIN, OUTPUT);
}
   
void loop() {
  M5.update();
 
  if(M5.BtnA.wasReleased()){
    dacWrite(PIN, 0);
    M5.Lcd.println("P26=OFF");
    dacWrite(PIN, OUT_0_6V);
    M5.Lcd.println("P26=ON 10s");
    delay(10000); //10s
    dacWrite(PIN, 0);
    M5.Lcd.println("P26=OFF");
  }else if(M5.BtnB.wasReleased()){
    dacWrite(PIN, 0);
    M5.Lcd.println("P26=OFF");
    dacWrite(PIN, OUT_0_6V);
    M5.Lcd.println("P26=ON 60s");
    delay(60000UL); //60s
    dacWrite(PIN, 0);
    M5.Lcd.println("P26=OFF");
  }else if(M5.BtnC.wasReleased()){
    dacWrite(PIN, 0);
    M5.Lcd.println("P26=OFF");
    dacWrite(PIN, OUT_0_6V);
    M5.Lcd.println("P26=ON 180s");
    delay(60000UL); //60s
    delay(60000UL); //60s
    delay(60000UL); //60s
    dacWrite(PIN, 0);
    M5.Lcd.println("P26=OFF");
  }else if(M5.BtnA.wasReleasefor(700)){
    M5.Lcd.clear(BLACK);
    M5.Lcd.setCursor(0,0);
  }
}

コメント

このブログの人気の投稿

Python OpenCVとWebカメラでバーコードリーダー

VB.net Dictionaryクラスの初期化