M5Stack ハンズオン開催しました
テクノロジー、イベント
立秋の本日、何かと話題の M5Stack で遊んでみようと、ハンズオンを開催しました。社外からは開設5週年パーティーでジャンケンに勝利し M5Stack をゲットされたお2人にご参加いただきました。
言語? もちろん mruby/c です :-D
今回は Ruby のコードで LCD に矩形描画して遊びました。M5Stack の LCD は 16bit カラーで、けっこう表現力があります。
私の方でご用意したサンプルは mruby-lcd-m5stack.gem の README と同様のカラーバーを描画するものでしたが、docker も vim も Ruby も初めてという公務員の方が、コードを少し変更しては make flash するというサイクルを繰り返しておられたのが印象的でした。
また近いうちに集まって M5Stack で遊びたいと思います。
描画中の様子 on YouTube
loop do
greeter.greet
HALF_WIDTH.times do |x|
y = x * HALF_HEIGHT / HALF_WIDTH
c = x & 0x1f
LCD.fill_rect(x, y, FULL_WIDTH, FULL_HEIGHT, LCD.rgb(c, 0, 0))
end
greeter.greet
HALF_WIDTH.times do |x|
y = x * HALF_HEIGHT / HALF_WIDTH
c = x & 0x1f
LCD.fill_rect(HALF_WIDTH, y, HALF_WIDTH - x, FULL_HEIGHT, LCD.rgb(0, c, 0))
end
greeter.greet
HALF_WIDTH.times do |x|
y = x * HALF_HEIGHT / HALF_WIDTH
c = (x & 0x1f) >> 1
LCD.fill_rect(0, HALF_HEIGHT, FULL_WIDTH - x, HALF_HEIGHT - y, LCD.rgb(c, c, 0))
end
greeter.greet
HALF_WIDTH.times do |x|
y = x * HALF_HEIGHT / HALF_WIDTH
c = x & 0x1f
LCD.fill_rect(x, HALF_HEIGHT, HALF_WIDTH - x, HALF_HEIGHT - y, LCD.rgb(0, 0, c))
end
end