• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / Arduino / Arduino基礎編 / ArduinoでSTEM教育​ 基礎編:プッシュスイッチ

ArduinoでSTEM教育​ 基礎編:プッシュスイッチ

2019年9月28日 by STEMSHIP 2 コメント

今回は、プッシュスイッチを使用して、LEDをオン/オフする方法を紹介します。​イッチを押すとLEDが点灯し、もう1つのスイッチを押すとLEDが消灯します。

目次

  • 使用する部品一覧
  • LEDの特徴や取り扱い方法
  • プッシュスイッチの特徴や取り扱い方法
  • 回路図
  • 配線図
  • 組立完成写真
  • プログラム
  • 動かしてみよう
  • 今回学んだポイント
  • 改造してみよう

使用する部品一覧

使用する部品は図のとおりです。これらの部品は、すべて「ELEGOO Arduino用のMega2560スタータキット」に含まれています。​Arduinoは、もちろんunoやnanoでも問題ありません。

  • Arduino MEGA2560 R3 …1個
  • 830穴 ブレッドボード …1個
  • 5mm red LED …1個
  • 220 ohm 抵抗 …1個
  • プッシュスイッチ …2個
  • ジャンパワイヤ(オス-オス) …7個

LEDの特徴や取り扱い方法

LEDは電気を流すと光る部品で、あらゆる電気製品で使われています。​
蛍光灯よりも高寿命なため、照明器具にも使用されています。​
​
抵抗には極性がありませんが、LEDには極性があります。足が長いほうが+端子で、短いほうがマイナス端子です。もし、逆に接続した場合は電気がほとんど流れないため光りませんので、注意してください。​
​
LEDは電流を多く流すほど、明るく光りますが、流しすぎると壊れてしまいます。電流が流れすぎないように、直列抵抗を入れる必要があります。​

プッシュスイッチの特徴や取り扱い方法

今回使用するプッシュスイッチには、4つの端子がありますが、2端子が1組になっており、その間にスイッチがあります。​
​
スイッチがオフのときは、電気的にHIGHでもLOWでもない状態となります。一般的に、オープンや不定と言われる状態です。この状態でArduinoの通常の入力端子に入力すると、動作が不安定になります。そのため、スイッチオフ状態をHIGHもしくはLOWで安定させる必要があります。具体的な方法はプログラムの項目で説明します。​

回路図

LEDは抵抗と直列で、5番のデジタルピンに接続し、もう片方をGNDに接続します。​
プッシュスイッチS1は、9番のデジタルピンに接続し、もう片方をGNDに接続します。​
プッシュスイッチS2は、8番のデジタルピンに接続し、もう片方をGNDに接続します。​
​

配線図

ブレッドボードを使用した配線は図のとおりになります。

組立完成写真

実際に組み立てた写真です。同じようにできましたか?​

プログラム

プログラムでは、最初にピン番号の設定が必要です。​
先程接続したピンと同じピン番号を設定してください。​
LEDピンは5番、プッシュスイッチは8番と9番です。​
​
次に、ピンの入出力設定をします。これはsetup()内で行います。​
LEDピンは出力なので、pinModeで”OUTPUTに設定します。​
プッシュスイッチは入力なので、pinModeでINPUTに設定したいところですが、​ 冒頭に説明したように、プッシュスイッチはオフ状態の時は値が不定になります。​ そのため、不定状態のときにHIGHに固定させるために”INPUT_PULLUP”を設定します。​
​
最後は、メインループ内でスイッチによるLEDのON/OFFを記述します。​
まず、スイッチが押されているかどうかを判断するために、if()とdigitalRead()を使用します。​ if()は、括弧内の条件が成立した場合にのみ、以後のプログラムを実行します。​

1つ目のif文は、プッシュスイッチが押されたとき、すなわち、9番ピンがGNDに接続されたとき、if文が成立します。​ そして、そのときにdigitalWrite()でLEDピンをHIGHにすることで点灯します。​

2つ目のif文は、もう片方のプッシュスイッチが押されたとき、すなわち、8番ピンがGNDに接続されたとき、if文が成立します。​そして、そのときにdigitalWrite()でLEDピンをLOWにすることで消灯します。​
​
​

ソースコード:https://www.elegoo.com/download/

動かしてみよう

プログラムを書き込んで、実際に動かしてみてください。

今回学んだポイント

  • LEDは極性がある。​
  • LEDは抵抗で電流を制限する必要がある。​
  • Arduinoの入力端子をオープン状態にするときは、プルアップ機能を使用する。​
  • スイッチ入力は、”digitalRead()”で読み取る。

改造してみよう

もう少し理解を深めるために、自分で改造してみてください。​

  1. スイッチが押されてから、1秒後にLEDが点灯する。​
  2. スイッチが2個押されたときだけ、LEDが点灯する。

Filed Under: Arduino基礎編 関連タグ:スイッチ

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2025年5月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 10月    

Copyright © 2025 · STEMSHIP.COM