見出し画像

M5 StickPlusC アナログ入力

経緯

  • 以前、宝箱の開閉を可変抵抗で判定することを考えた

  • 勢いで、歯車と固定具を3Dプリンターで作りあげた

  • 今回は、可変抵抗の値を、M5 StickPlucCのアナログ入力を使って、確かめることにした

配線

  • M5の3.3ボルトを、ポテンシャルメーター左の端子に接続

  • M5のG36の端子を、ポテンシャルメーター真ん中の端子に接続

  • M5のGNDの端子を、ポテンシャルメーター右の端子に接続

(ちょっとした確認のため、ブレッドボードを使わなかった)

ソースコード

  • MicroPythonで実装することにした

  • ちょっとした確認には、かなり重宝するが、M5Flowがブラウザベースだけになったので、インターネット接続が必要になる

  • 今回は、MicroPythonのREPLで操作を行った

from machine import Pin, ADC
from time import sleep

pin = ADC(Pin(36))
pin.atten(ADC.ATTN_11DB) #Full range: 3.3v

while True:
  value = pin.read()
  print(value)
  sleep(0.1)
  • 以下を参考にした

止まるところまで左に回転した状態

  • 期待通り、0が取得できた

  • 右側の数字が、M5で取得した数値

  • この状態から、右に回転させて、値の変化を確認する

止まるところまで右に回転した状態

  • 右に回転させると

  • 期待通り、4095が取得できた

  • 270度くらい?、回転する

大きな問題に遭遇!

  • ここまで0!

  • このわずかな、5度くらい?で、0から4095まで変化する

  • もちろん、それ以降は、4095で固定

電圧も確認

  • 電圧も測定したが、0.0Vから3.3Vまで変化していた

  • ブレッドボードを使わなかったので、電圧計を含めての撮影ができなかった

教訓

  • 壊れたあるデバイスから回収した可変抵抗のため、仕様が不明であった

  • 可変抵抗の特性を確認する前に、この可変抵抗に合わせた歯車や固定具などを作ってしまった

  • 物事を取り組むときは、最初に段取りを考えたい

最後に

  • アイディアが思い浮かんだときは、段取りとか、計画とか考えずに勢いだけで、突き進んでしまうものだ

  • それがよい方向に作用することもあるので、

  • たまには、そういうのもよいかな、と思ったりもする

この記事が気に入ったらサポートをしてみませんか?