M5Stack MicroPython の API を弄り倒す その1
目次
公式リファレンスへの不満(どうでもいいから飛ばしてもOK)
いきなり失礼なことを書きますが、
GitHubにある公式のリファレンス
あれ死ぬほど分かりにくくありません?
(私はバカなので簡潔な文章では理解できません。)
これのこと↓
https://github.com/m5stack/M5Cloud/blob/master/README_JP.md
自分は情報の少なさ(不備)を感じました。
例をあげましょう
ね?
rotate から wrap までの説明が一切ない!!
説明文は無くてもいいのでせめて値の範囲か使用例を欲しいものですね。
スイッチサイエンスさん...どうにかしてくださいよ
と、愚痴を垂らしても仕方がないので確かめていこうと思います。
GPIOをつかってみる
公式はこれ↓
https://github.com/m5stack/M5Cloud/blob/master/README_JP.md#gpio
いままでの経験から行くとおそらく
pinout = machine.Pin(使用ピン番号, machine.Pin.OUT) pinout.value(HIGH or LOW)
こういうことなんでしょうね。さて確認しましょう
コードはこれ 18ピンをHIGHにしたいわけです。
from m5stack import lcd
from m5stack import machine
pinout = machine.Pin(18, machine.Pin.OUT)
pinout.value(1)
すると
やりました!つきました!
pinout.value(0)に変更すると消灯したので
0 = LOW
1 = HIGH
ということでいいでしょう。
次はpininを使ってみよう
outのほうで 0 = LOW, 1 = HIGH ということがわかったので、おそらく戻り値が0,1なんでしょう。
確認のためにコードを書きました。
from m5stack import lcd
from m5stack import machine
result = 0 after = 3 while 1: pinin = machine.Pin(2, machine.Pin.IN) result = pinin.value() if(result != after): if(result == 1): lcd.clear(0x00FF40) if(result == 0): lcd.clear(0xFF0040) after = result
これで2ピンで電圧入力を感知して、入力がHIGHであれば緑、LOWであれば赤に光るようにしました。
Vcc未接続時
Vcc接続時
いいですね
画像を表示させたい
次に画像を表示させるという基本的なことをしたいと思います。
公式はこれのようですね
https://github.com/m5stack/M5Cloud/blob/master/README_JP.md#lcdimagex-y-file-scale-type
lcd.image(x, y, file [,scale, type])
えっ、めっちゃ簡単やん....
こんなん秒やん....書くか....
青で囲ったところで画像をあげて、あとは書くだけと。
映らないだと...
なんでよ
さ、こういう時は先人の知恵を借りよう(パクろう)
え~と
参考にした方々
https://dev.classmethod.jp/hardware/m5stack-m5cloud-tasting/
あっ、クォーテーションを忘れていたのね
あと画像は中央に配置すればいいのね
キターーーー( `ー´)ノ
画像ではISOが合わずぼけていますが、実際はきれいに映っております。
違う画像も表示してみたい!
やるぞー!!
映ってない....なんでや(二回目)
こういう時は千じn(二回目)
参考にした方々
https://macsbug.wordpress.com/2018/01/20/tetris-with-m5stack/
なんだって、jpgでも適合しないものもあるのか
じゃあこの人の言う通りにこのサイト↓で変換してと
https://convertimage.net/convert-a-picture/
映ったああああああああああああばばばばばばばばばばばばばばばばば
こんなこともあるんだね
困惑しちゃったよ
(それがブログ始めた理由なんですけどね)
疲れたので何回かに分けたいと思います。
書くの楽しいけどすっごい時間食われるから疲れちゃうわ
それでは楽しいプログラミングライフを~~~ じゃあの!