【センサーを使ってみる】参考にならない電子工作#3

Uncategorized
スポンサーリンク
  • 開発環境: Arduino IDE 2.3.10
  • 使用ボード: : Elegoo Nano(Arduino Nano 互換品)
    • Arduino IDEの「ツール」>「プロセッサ」の設定は「ATmega328P」で動作確認しました。ボード選択したら出てくるよ。
    • もし書き込みエラー(stk500_getsync()`など)が出る場合は、製造時期(ロット)による違いの可能性があるため、代わりに「ATmega328P (Old Bootloader)」を試してみるといいらしいです。

今回はタッチセンサーを使ってみます。

センサーが反応したときだけLEDを付けるっていうのをしてみますよ~

使用するセンサーとELEGOO Nanoの配線手順

使用するパーツ

  • TTP223:触れると反応する、今回主役のタッチセンサーモジュール。
  • ミニブレッドボード(mini breadboard):半田付けをせずに、パーツ同士の電気の線を簡単に繋ぐための土台。
  • ジャンパー線:ELEGOO Nanoとタッチセンサーをブレッドボード上で繋ぐための配線コード(3本)。

TTP223はこんな。Amazonで購入です。

配線方法

TTP223(センサー)ELEGOO Nano役割
VCC5V電源供給
GNDGNDグランド(マイナス)
SIG (または I/OD2デジタル入力(信号読み取り)

図にするとこんな感じ。

実際につなぐとこんな感じ。

Arduinoのプログラムの作成

コード補完できるように設定

File > Preferenceを立ち上げます。

Editor Quick Suggestionsにチェックを入れてOKします。

タッチセンサーを動かすプログラムコード

先に使用するボードを選択します。

プログラムこんなです。

//ピンの定義
const int TOUCH_PIN = 2; //TTP223のI/OピンをD2に接続
const int LED_PIN = 13; //ELEGOO Nanoの内臓LED(D13)

//最初の1回実行
void setup() {
  pinMode(TOUCH_PIN, INPUT); //タッチセンサーピンを入力に設定
  pinMode(LED_PIN, OUTPUT); //LEDピンを出力に設定

  Serial.begin(9600); //シリアルモニタ通信開始(PCでのチェックが不要な場合はいらない)
}

void loop() {
  //センサーの状態を読み取る(タッチ=HIGH(1/5V)、離す=LOW(0/0V)が入る)
  int touchState = digitalRead(TOUCH_PIN); 

  /*
  プログラムの中で使っている HIGH や LOW という言葉は、Arduinoが最初から『HIGH = 1』『LOW = 0』と自動的に定義してくれています。
  そのため、自分で新しく定義しなくても、そのまま使うことができます!
  */

  if (touchState == HIGH) {
    //センサーが反応した場合(タッチされているとき)
    digitalWrite(LED_PIN, HIGH); //LEDを点灯
    Serial.println("Touched!"); //モニターにタッチしたよって表示する
  }else {
    //それ以外の場合(センサーから手が離れているとき)
    digitalWrite(LED_PIN, LOW); //LEDを消灯
  }

  delay(50); //動作を安定させるため(チャタリング防止)のための短いウェイト
}

ボードを接続します。

→で書き込み。

なんでかエラーが出ました。ポートを選択してなかったことが原因みたいです。

Unknownになってるポートを選択して

ポートが選択されたらOKします。できたらもっかい書き込み。

センサに触ると内臓LEDとTXが光ります。TXはPCと通信してますよっていうお知らせで光ってるっぽい。

右上の虫眼鏡マーク押してシリアルモニターを表示すると、センサーを触ったときにTouched!って表示されます。

免責事項・ご注意

本記事に掲載している回路、プログラム、手順等は、あくまで個人の実験記録であり、動作や安全性を保証するものではありません。万が一、掲載された情報によって機材の破損、怪我、トラブル等が発生した場合でも、当方は一切の責任を負いかねます。実際に試される際は、必ずご自身で仕様や安全性を確認した上で、自己責任にて行っていただきますようお願いいたします。

タイトルとURLをコピーしました