未知のモンスターを管理する「Lobotomy Corporation」

こんにちは、インターン生の岡島と申します。

皆さん、音ゲーは好きですか?
よく遊びますか??
作ってみたくないですか???

ゆるーく電子工作未経験の人がコントローラーを作れるようになることを目的として、
電子工作初心者が書いていきます。

前回は、LEDとArduino Unoを使ってLEDを点滅させました。

今回は、音ゲーコントローラーの肝であるスイッチの入力をやります。
しっかりと入力が得られているかを確認するために、スイッチが押されたらLEDが光る、といったものを作ります。

それでは、早速回路を組み立てましょう!
必要なものはこちら↓
・Arduino Uno本体
・LED
・スイッチ(オススメはタクトスイッチ)
・ジャンプワイヤー(オス・オス)
・ブレッドボード
・10kΩの抵抗
・USB-Type B

スイッチとはなんぞ?
ざっくり解説すると、スイッチは押すと回路が繋がり電流が流れるものです。

_/_ ←押す前   ___ ←押してる時
今回は、説明用に手ごろなタクトスイッチを使って説明しますが、音ゲーコントローラーに使うなら三和電子のボタンをオススメします。
(第一回の時に紹介したもので使用しているのは、照光式押しボタン薄型60φ正方形【OBSA-60UK】)

まずは、LEDのプラス(アノード)を13番のピンに刺し、LEDのマイナス(カソード)をGNDピンに刺します。
後は、画像のようにつなげます。

回路が出来たらArduino IDEを起動しましょう!
以下のプログラムを書いてみてください

const int LED =13; // LEDを刺すのは13番ピン
const int SWITCH=0; // スイッチを繋げたのは0番ピン

// void setup(){}は、起動時に一回のみ走るプログラムです。
void setup() {
pinMode(SWITCH,INPUT) ; //スイッチの接続ピンをデジタル入力に設定
pinMode(LED ,OUTPUT) ; //LEDの接続ピンをデジタル出力に設定
}

// void loop(){}は、繰り返し走るプログラムです。
void loop() {
if (digitalRead(SWITCH) == HIGH) { //スイッチの状態を調べる
digitalWrite(LED ,HIGH) ; //スイッチが押されているならLEDを点灯
}
else {
digitalWrite(LED ,LOW) ; //スイッチが押されていないならLEDを消灯
}
delay(20); // チャタリングを防止する為に20ms待つ
}

それでは書き込みましょう!

スイッチを押すとLEDが光りましたか?
おめでとうございます。
如何でしょうか?思ったより簡単で楽しいでしょう?

うまくいかなかった場合は、回路を確認したり、タクトスイッチの場合は向きが正しいかを確認しましょう。

押した時にLEDが僅かに点滅した場合、チャタリングが起きている可能性があります。
押した時の振動で回路をつなぐ部分が引っ付いたり離れたりして起こる現象です。
それを回避するために、今回はdelay()を使っています。
delay()の引数(ミリ秒)を増やせば解消されます。

抵抗が必要な理由は?
スイッチから0番への線、そして抵抗がならんでいます。
なぜ直接GNDにつなげず、抵抗を挟むのか?
答えは、この抵抗がないと0番の値が不安定になってしまうからです。
それで生じる誤反応を防ぐために付けています。(プルダウン抵抗といいます)

Arduino,PCが破損しても責任は負えません、配線等は各自よく調べたうえで実行しましょう!

第一回 お触り、Arduino IDEのインストール
第二回 LED光らせる?(Lチカに挑戦!)
第三回 スイッチを繋げてみよう!
第四回 押したらボタン、光るようにする…?
最終回 キーボードとしてPCに認識させよう

今回は以上です。
次回、ボタンを光らせる為に私が行ったやり方と複数個のスイッチの繋げ方を書きます。
それでは次の記事、押したらボタン、光るようにする…?でお会いしましょう!

興味を持たれた方はお気軽にお問い合わせください。

インターンシップへの申し込み・お問い合わせ先

インターンシップへの申し込み・お問い合わせ先
メールでのお問い合わせは、下記フォームに入力して送信してください。
ご氏名 (例)山田 太郎
メールアドレス 半角英数字:ご入力間違いのないようにご注意ください
メールアドレス(確認用) 半角英数字:ご入力間違いのないようにご注意ください
電話番号 (例)0354339211 ※ハイフン抜きで入力してください
題名
お問合わせ内容

アーカイブ

カテゴリー