今回はスイッチの状態を読み取ります

 

LEDを光らせるデジタル出力とは反対に、回路の状態を読み取ることに挑戦したいと思います。

 

【用意するもの】

プッシュスイッチ×1

ブレッドボード

ジャンパー線×3

抵抗器(10kΩ)

 

【2足プッシュスイッチ50個入り】をメルカリで420円で購入。

 

 

制御回路を作成します。

ピン1番(3.3V)とピン21番(GPIO9)と ピン39番(GND)を使用。

プルダウン

 スイッチを利用すれば、2つの値を切り替える回路を作れます。しかし、スイッチがOFFの状態ではGPIO9が解放状態(何も接続されていない)となってしまいます。こうなると周囲の雑音を拾い値が安定しない状態となってしまいます。

 そこで今回はプルダウンという方法を使ってスイッチがOFFの状態でも安定するように回路を工夫します。

 スイッチがOFFの時はGPIO9が抵抗を介してGNDに繋がります。その際、抵抗には電流が流れないので0Vとなります。スイッチがONになるとVdd(+3.3V)とGPIO9は直結した状態となり、出力はVddと等しくなります。また、VddとGNDは抵抗を介して接続された状態となるため、電流が流れた状態になります。

 

 

ScratchでGPIOを利用するために「cymplecy」で提供している対応スクリプトをダウンロードし、インストールします。

「sudo wget http://goo.gl/dANpKr -O isgh.sh」 

↓ 

「enter」

 

「sudo bash isgh.sh」 

↓ 

「enter」

 

「Scratch GIPO4」plusと「Scratch GIPO4」 のアイコンがデスクトップにでてくるので

 「Scratch GIPO4」をダブルクリック→端末で実行

 「Config21Inを送る」と「pin21センサーの値」を使用して上図のようにプログラミングします。

 

スイッチを押すと猫の言葉が「0」から「1」に変わる。

 

 

さらに、カウント変数を作り、スイッチを押した回数をカウントする機能を追加。↓