JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

micro:bit MicroPython analog INPUT テスト

2019-10-28 08:37:30 | micro:bit

 micro:bitは、10bitのA/Dコンバータが内蔵されていて、0~3.3Vのアナログ入力をデジタル(0~1023の数値)に変換することができます。

 アナログ入力ができるPinは、Lチカの記事のmicro:bitのPin配列の図を見ると、P0,P1,P2,P3,P4,P10です。(P3,P4,P10を使うときはLEDをoffにする必要があります)

 下の図のような回路でpin0を使い、アナログ入力のテストをしました。

 スクリプトです。

 pin0.read_analog()でアナログ入力電圧を読み込み0~1023の数値に変換します。それをLEDにスクロール表示します。

 1秒ごとに電圧を読み込みスクロール表示します。

 ブレッドボードと表示の様子(途中)です。

 実際にボリュームを回して、数値の変化を見ると、入力が0V(GND)の時に2を表示し0になりません。

 電圧最大(3.3V)の時は、1023を表示しました。


micro:bit MicroPython digital INPUTテスト

2019-10-27 11:23:27 | micro:bit

 micro:bitのデジタルINPUTをテストします。

 Pin0の電圧で、表示を「H」「L」を表示させます。

 スクリプトです。

 テストした回路です。

 ボリュームを回して電圧を上げていくと、約2.0V以上で表示が「H」が表示されます。

 次に、電圧下げていくと約1.5Vで「L」が表示されました。

 入力回路が、シュミットトリガ回路になっていて、ヒステリシスがあることが分かります。

 また、入力ピンにかかる電圧とVRの抵抗値から、pin0が約12kΩでプルダウンされているこが分かりました。

 pin0,12,8,12,16でも同じことができます。

 LED表示をoffにすれば、LEDが接続されているpinもGPIOとして利用できます。


micro:bit MicroPython ボタンbutton

2019-10-26 08:01:05 | micro:bit

 micro:bitには、AボタンとBボタンがついています。

 このボタンを操作したときにアクションを起こすプログラムです。

 Aボタンが押されたら「A」をBボタンが押されたら「B」をスクロール表示し、A、Bボタンが同時に押されたら、「AB」がスクロール表示されます。

 スクリプトです。

 Aボタンを押したときの表示

Bボタンを押したときの表示

A,Bボタンを同時に押すと、「AB」がスクロール表示されます。


micro:bit MicroPython LED Blink (Lチカ)

2019-10-25 12:39:49 | micro:bit

 micro:bitのピン配列は、下の図のようになっています。

(micro:bitドキュメンテーションから転載)

 幅が広いのは、P0,P1,P3と3VとGNDで、P0,P1,P2はANALOG INと表示されていますが、GPIO(汎用入出力)ピンです。

 また、P8,P12.P14もGPIOです。

 PICやArduinoのプログラミングで最初に行うLEDの点滅(LED Blink いわゆるLチカ)をP0を使ってやってみます。

 LEDは、電流制限抵抗330Ωを介して下のように接続します。

 スクリプトです。

 500ms=0.5秒ごとに点灯と消灯を繰り返します。

 ブレッドボードです。

P1,P2,P8,P12,P16でも同じ動作をします。


micro:bit MicroPython サイコロ

2019-10-24 08:42:07 | micro:bit

 micro:bitがゆさぶられたとき、1から6のランダムな数字(乱数)を表示する電子サイコロのプログラムは、ブロックでは、次のようにプログラミングできます。とても簡単ですね。

 この電子サイコロをMicroPythonでプログラミングしてみましょう。

 既に勉強したジェスチャーと乱数を利用します。

 スケッチです。スクロール表示ですと文字がスクロール後に消えてしまいますので、乱数をstr()関数で数値を文字化して

 disiolay.show()でイメージ表示しています。

 乱数が表示された様子です。

 micro:bitをゆさぶるごとに乱数が表示されます。