M5Stack FireでUIFlowプログラミング(その3)スイッチでLED制御

M5Stack FireをUIFlowでプログラミング、昨日に引き続いてブレッドボード上の電子回路に接続して行います。

今回はタクトスイッチ(押している間だけつながるタイプ)を追加して、スイッチを押している間だけLEDを点灯するようにします。

PortB(I/O用)は2本のGPIOが使えます。LEDにはG26ピンをつなげてありましたので、もう1本のG36ピンをタクトスイッチにつなぎます。

スイッチを押すとG36ピンに3.3Vの電圧がかかり「押された」と判断します。PortBからは「5V」しか取れませんので、抵抗を使って分圧し、5V→3.3Vします。(抵抗の都合で、5V→3Vになっています。)

Blockyでのプログラミングです。

「pin1をデジタルで読み取る」ブロックで、タクトスイッチの状態を調べます。pin1はG36ピンで、押されている時は「1」、押されていない時は「0」になります。

読み取った結果が「1」(つまり、押されていたら)であれば、「pin0にHIGHを書き出す」(LEDを点灯)、
そうでないなら(つまり、押されていないなら)、「pin0にLOWを書き出す」(LEDを消灯)

これを「ずっと」ブロックの中で繰り返します。

Pythonではこんな感じです。

条件文if(条件)(正しい場合の処理)else(正しくない場合の処理)でプログラミングされています。(20〜23行目)

実際に動きです。

次回はセンサーユニットをつないでプログラミングしていきます。

コメントする