「Arduino」を使ったマイコンのプログラミングを子供と一緒に学習するブログ。子供と一緒に楽しみながら気長にアップしてく予定です。プッシュボタンスイッチ編です。プッシュボタンスイッチを利用することで「デジタル入力」について理解していきます。回路図とブレッドボード図を追記。スケッチ(コード)を見やすいように修正。本Lesson解説で使用しているのはArduino互換品です。互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。そのため互換品の品質も悪くなく、それでいて値段は安いです。正規品本体の値段程度で豊富な部品が多数ついています。Yahoo!正規品の本体単品がほしい方はこちらとなります。05では、プッシュスイッチを利用して発行ダイオード(以下LED)をオン、オフして遊びます。スイッチでLEDをオン、オフってプログラムいらないのでは?と思うかもしれませんね。このLessonでは、機械的にスイッチを使ってLEDをオン、オフさせるわけではありません。スイッチを「押した」「押してない」という行為をデジタル信号としてUNOに認識させるということです。その認識した結果により、UNOから電源が供給されLEDのオン、オフが制御されます。05目標スイッチを使ってLEDをオン、オフさせます。UNOにスイッチを「押した」「押していない」というのを認識させます。上記によりLEDに電源が供給されLEDの「オン」「オフ」を確認します。「押した」「押してない」という行為をデジタル信号だと理解することが一番の目標です。「押した」「押していない」という行為。デジタルの「1」、「0」の2値と考えることもできます。今回も、楽しんで遊ぶことも目標の1つです。今回のLessonの準備に取り掛かりましょう。wireと抵抗は今後も頻繁に利用しますのセットで購入することをお勧めします。–メス」の3種類を揃えておくことをお勧めします。Yahoo!今後のLessonでもLEDを多数使用します。遊びで多数のLEDを光らせたい方は、セットで購入がおすすめです。種類が豊富で色々と楽しめます。新たに登場した部品について説明していきます。プッシュスイッチ(以下スイッチ)下の図が、スイッチです。スイッチは、ボタンを押すか、レバーを回すことでスイッチがオン、オフします。足が4本ついており紛らわしいですが、DとCは使用しないので無視しください。AとBだけを考えれば単純なスイッチとして使えることがわかるかと思います。手持ちがないかたはこちらからどうぞ。03を参照してください。スイッチの使い方ここではスイッチの使い方について説明していきます。1つ目のスイッチスイッチの片側をGNDに接続しておきます。ボタンを押すことでUNOのポートにGNDが供給されます。UNOにGNDが供給されたら、出力ポートからHighを出力します。上記の動作によりLEDに電源を供給しオンさせます。2つ目のスイッチスイッチの片側をGNDに接続しておきます。ボタンを押すことでUNOのポートにGNDが供給されます。UNOにGNDが供給されたら、出力ポートからLowを出力します。上記の動作によりLEDの電源を遮断しオフさせます。この二つのボタンの制御によってLEDのオン、オフをします。この動作をプログラム化しUNOで制御するということになります。最初に回路図を確認してください。次に、回路図に合わせて部品を接続します。最後にコードを書いて、プッシュボタンスイッチを動かしていきましょう。Arduinoのピン配置を確認したい方は番外編02を参照してください。arduinoの入門編を書いていて、arduino自体の説明をしたいと考えていました。arduino自身のことを理解しておいた方が良いですよね。いうことで番外編...omoroya.com回路図ブレッドボードを使用してUNO、LED、抵抗、スイッチを配線で接続しましょう。IOの「5、8、9」と「GND」です。8番と9番ピンはプッシュボタンスイッチに接続。5番ピンは抵抗とLEDに接続します。LEDを保護するために電流制限抵抗を入れるのを忘れないでください。電源に直接接続すると焼ききれます。スイッチの片側が「GND」に接続されていることに注目してください。どちらもスイッチを押すとポートとGNDが接続されるということです。こちらがブレッドボード図。回路図は「fritzing」を利用しています。「fritzing」の使い方は下記を参照してください。fritzingUNOの実際の回路を写真で掲載しても、接続がわかりずらいかなと考えていました。前々から「fritzing」を利用して回路を描くことで、わかりやすくしたいと考えていました。回路図またはブレッドボード図を参考にUNO、LED、抵抗、スイッチを配線で接続しましょう。穴に挿入しづらいときは、ラジオペンチなどを使用してください。繰り返しになりますが・・・スイッチの片側が「GND」に接続されていることに注目!どちらもスイッチを押すとポートとGNDが接続される!LEDを保護するために電流制限抵抗を入れるのを忘れないでください。電源に直接接続すると焼ききれます。コードの書き込み接続が終わったら、USBケーブルを使用してUNOにプログラムを書き込んで行きましょう。ELEGOOののキッドを購入されたかたは、そちらのコードを利用してもかまいません。Kitから、チュートリアル入手し、その中にコードが梱包されています。下記に示すコードは、私が書いたコードです。本ブログのLessonでは、できるかぎりスケッチ(コード)は自作します。説明しやすいというのもありますし、好きなように遊べるからといのもありす。自己学習も兼ねています。購入編を参照ください。梱包されているコードを使用したいかたは、IDE統合環境の「ファイル」⇒「開く」で梱包されているコードを開きます。ファイル名は「Digital_Inputs.ino」です。開いたら、編集しても良いように「ファイル」⇒「名前を付けて保存」で保存しておきましょう。コマンド説明コードの説明をしていきたいと思います。これまでのLessonにでてきていないコマンドについて説明します。指定したピンの値を読み取ります。その結果はHIGHまたはLOWとなります。deitalRead(pin)変数valに入力ピンの状態が入ります。byte型は0から255までの8bitの数値を格納します。符号無しのデータ型で、これは負の数値は扱えないという意味です。pin::設定したいピンの番号mode:INPUT,OUTPUT,INPUT_PULLUPINPUT_PULLUPは、内部プルアップ抵抗を有効にできます。INPUTを指定すると、内部プルアップは無効となります。※プルアップするとは?ピンに何も繋がっていなくても「High」にできるということです。サンプルコードLEDのON、OFFをプッシュボタンスイッチで制御できるようにしています。}スケッチ(コード)の内容を説明すると下記のようになります。初期設定した後に下記を実行1Aのスイッチが押されたら、9番ピンにLowが送られ、5番ピンにHighを送る。⇒LEDがオン2Bのスイッチが押されたら、8番ピンにLowが送られ、5番ピンにLowを送る。⇒LEDがオフスイッチによってLEDのオンとオフを確認することはできましたでしょうか?本Lessonの勘所は8番ピン、9番ピンをプルアップ(通常High)にしておくことです。プルアップにしておくことで、スイッチを押したときはGNDになります。この動作が「High」「Low」のデジタルの役割をしていることを理解することが重要!その「High」「Low」をUNOで認識し出力の5番ピンから電源を供給(「High」「Low」の信号を出力)しています。実際に「オン」「オフ」しているところがこちら。オンオフまとめ今回は以下の内容について理解してもらいました。UNOにスイッチを「押した」「押していない」というのを認識させる。認識させる方法はスイッチを割り当てたピンをプルアップ(通常High)しておくことで、押したときはGNDになるようにする。この動作が「High」「Low」のデジタルの役割をしている。その「High」「Low」をUNOで認識し出力の5番ピンから電源を供給(「High」「Low」の信号を出力)してLEDをオン、オフする。楽しんで遊ぶことはできましたでしょうか。【デジタル入力編】はここまで。みなさんも子供と一緒にやられてみることをお勧めします。06は【電子ブザー編】です。ブザーに通電する周期を変えて遊びます。本Lessonでは電子ブザー(アクティブブザー)を使い、電圧を掛けるだけで決まった音程のブザー音を出します。digitalWrite関数、delay関数を利用しブザーのON時間、OFF時間を周期的に制御することで音程が変わることを楽しみます...omoroya.com最後に疑問点、質問などありましたら気軽にコメントください。この電子部品の解説をしてほしい!などなどなんでもOKです。リンク切れなどあればコメントいただけると助かります。Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。Arduino入門編で使用しているUNOはAmazonにて購入可能です。互換品とは言え、Arduinoはオープンソース。複製して販売するのもライセンス的に問題なし。そのため互換品の品質も悪くなく、それでいて値段は安いです。正規品本体の値段程度で豊富な部品が多数ついています。学習用、遊び用、お試し用には安価な互換品がおすすめです。Yahoo!上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。Yahoo!Amazonでお得に買う方法Amazonでお得に購入するなら、Amazonギフト券がおすすめです。現金でチャージするたびに、チャージ額に応じたポイントが付与されます。本Lessonでは、抵抗とLEDを使いLEDの輝度を変更する。作業を通してUNOの5V電源ポートの存在と、ブレッドボードの使い方を覚える。フォトレジスタは「光センサー」です。「其の1」では、基本的なコードを理解しました。【ジョイスティック編】(2)「Arduino」を使ったマイコンプログラミングを子供と一緒に学習するブログ。ジョイスティック編(2)です。Lesson13で学習したことを利用して、ジョイスティックで4色のLEDを制御します。【ライブラリインストールおよびPCとの接続編】ライブラリはセンサなどの部品を簡単にArduinoに接続して使用するためのコードの集まりです。接続はArduinoにコードをアップデートするために、COMポートを設定し、PCとArduinoを接続する作業です。LCDと温湿度センサ編です。本Lessonでは、液晶ディスプレイ+温湿度センサに挑戦です。今回の目標は温湿度センサで取得した値を液晶に表示させることです。液晶ディスプレイを理解するための最後のLessonです。「Arduino」を使ったマイコンプログラミングを子供と一緒に学習するブログ。温湿度センサモジュールを利用して温度と湿度を測定します。今回は、安価なDHT11を利用します。MEGAを勉強してますが、Lesson5は急にプルアップが出てきて理解できずが困っておりました。分かりやすい解説を有難うございました。PMKUMAさん、コメントありがとうございます。kitは説明不足な箇所が多いですよね。?がわかる記事をこれからも更新していきたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。