差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
gimmickkouza:electronic_basic:5:2_digitalread [2024/06/17 21:49] – ■残り:プルアップ/プルダウンの回路図的な奴 lutamestagimmickkouza:electronic_basic:5:2_digitalread [2024/06/21 18:33] (現在) – [5-2-3_digitalRead_input_pullup] lutamesta
行 5: 行 5:
  
 <text background="success"> 本項は割と長いので、疲れたら適度に休憩しつつ、無理せずご自身のペースで学習してください。</text> <text background="success"> 本項は割と長いので、疲れたら適度に休憩しつつ、無理せずご自身のペースで学習してください。</text>
 +  
 ===== スイッチの解説 ===== ===== スイッチの解説 =====
 ==== スイッチの種類(オルタネートスイッチとモーメンタリスイッチ) ==== ==== スイッチの種類(オルタネートスイッチとモーメンタリスイッチ) ====
行 172: 行 172:
 この**誤認識を防ぐための2つの方法が「プルダウン」と「プルアップ」**です。 この**誤認識を防ぐための2つの方法が「プルダウン」と「プルアップ」**です。
 (ちなみに、この回路はそもそも抵抗がないのでボタンを押すと短絡するという危険もあります) (ちなみに、この回路はそもそも抵抗がないのでボタンを押すと短絡するという危険もあります)
-<alert type="danger">回路図で可視化できたほうがいいかも</alert> +/*<alert type="danger">回路図で可視化できたほうがいいかも</alert>*/ 
 +  
 ==== プルダウンの仕組み ==== ==== プルダウンの仕組み ====
 先ほどみなさんが作った回路では「プルダウン」という手法を使っています。 先ほどみなさんが作った回路では「プルダウン」という手法を使っています。
行 181: 行 181:
 2番ソケット行きのワイヤの手前に抵抗を挟むことで、スイッチが押されていない間は2番ソケットはGNDと直結した状態となり、安定して「0V」を観測できるようになります。 2番ソケット行きのワイヤの手前に抵抗を挟むことで、スイッチが押されていない間は2番ソケットはGNDと直結した状態となり、安定して「0V」を観測できるようになります。
 これが「プルダウン」です。 これが「プルダウン」です。
-ちなみにこの抵抗はプルダウンとしての役割以外にも、ボタンを押したときに5VがGNDに直接流れる(=短絡する)ことを防ぐ用途も兼ねています。+(ちなみにこの抵抗はプルダウンとしての役割以外にも、ボタンを押したときに5VがGNDに直接流れる(=短絡する)ことを防ぐ用途も兼ねています) 
 + 
 +===プルダウンの回路図=== 
 +プルダウンは回路図で示すと、このような形になります。 
 +   
 +{{:gimmickkouza:electronic_basic:5:pulldown.png?400|}}
      
 ---- ----
行 212: 行 217:
 そしてボタンが押されました!その瞬間、電気はスイッチの右から左を通ってGNDに流れます。この時、2番ソケットでは「0V」を観測します。 そしてボタンが押されました!その瞬間、電気はスイッチの右から左を通ってGNDに流れます。この時、2番ソケットでは「0V」を観測します。
 プログラムでは入力が「LOW=ボタンON」と判定します(プルダウンではHIGH=ボタンON) プログラムでは入力が「LOW=ボタンON」と判定します(プルダウンではHIGH=ボタンON)
-なのでプルアップ用のサンプルコード5-2-2_digitalRead_pullup.inoでは、10行目の書き方はif (digitalRead(SWpin) == LOW){ } となっています。(14行目のHIGHもLOWとなります)+なのでプルアップ用のサンプルコード5-2-2_digitalRead_pullup.inoでは、10行目の書き方はif (digitalRead(SWpin) == LOW){ } となっています。 
 +(14行目のHIGHもLOWとなります) 
 + 
 +===プルアップの回路図=== 
 +プルアップは回路図で示すと、このような形になります。 
 +   
 +{{:gimmickkouza:electronic_basic:5:PULLUP.png?400|}}
      
 ==== サンプルコード解説 ==== ==== サンプルコード解説 ====
行 279: 行 290:
 この内蔵プルアップ抵抗を利用することで、ブレッドボード上の回路を簡素化できます。 この内蔵プルアップ抵抗を利用することで、ブレッドボード上の回路を簡素化できます。
 今回はプルアップ/プルダウンの説明の為、敢えて最後に出しましたが__**これを使うと便利**__です。 今回はプルアップ/プルダウンの説明の為、敢えて最後に出しましたが__**これを使うと便利**__です。
 +  
 ==== 配線図 ==== ==== 配線図 ====
 {{:gimmickkouza:electronic_basic:5:5-2-6.png?600|}} {{:gimmickkouza:electronic_basic:5:5-2-6.png?600|}}