nakkyi が 2022年06月17日17時40分25秒 に編集
コメント無し
本文の変更
1. はじめに M5Stick Cのエルチカをする為に、自作のHATを作ってみました。 スイッチでLEDをON-OFFさせるもの、3個のLEDを点滅させるもの、3色LEDの色を変えるものの3点を作りました。 2. 目次 ① はじめに ② 目次 ③ エルチカ HAT ④ エルチカ スイッチ HAT ⑤ 3個のLED エルチカ HAT ⑥ 3色LED エルチカ HAT ⑦ おわりに 3. エルチカ HAT 穴あき基板をM5Stick CのHATのサイズにカットし、L型ピンを半田付けします。LED、スイッチ、抵抗を取り付け、配線を行い、UIflowでエルチカを行うプログラムを作りました。 ![キャプションを入力できます](https://camo.elchika.com/b39f90baa3e59556fc47e157b7de422a5739f872/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f32373634336131652d353964332d343831312d623138312d653037356437316137356535/) ![キャプションを入力できます](https://camo.elchika.com/89f32bb237187378cb4d8ba0a7dc74bab03a544a/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f36643931363662392d393266632d346666622d383636382d373235343130383239303063/) Pythonのコード ```from m5stack import * from m5ui import * from uiflow import * import machine import time setScreenColor(0x111111) title0 = M5Title(title="M5 stick C", x=3, fgcolor=0xFFFFFF, bgcolor=0x0000FF) label0 = M5TextBox(16, 31, "nakkyi", lcd.FONT_Default, 0xFFFFFF, rotate=0) circle0 = M5Circle(22, 78, 10, 0xFFFFFF, 0xFFFFFF) circle1 = M5Circle(55, 78, 10, 0xFFFFFF, 0xFFFFFF) triangle0 = M5Triangle(40, 136, 21, 118, 60, 118, 0xf90404, 0xFFFFFF) pin0 = machine.Pin(0, mode=machine.Pin.OUT, pull=machine.Pin.PULL_UP) while True: pin0.on() wait(0.5) pin0.off() wait(0.5) wait_ms(2) ``` 4. スイッチでエルチカ HAT 上記の基板を使って、スイッチのON-OFFで、LEDを点灯させるプログラムです。
@[youtube](https://photos.app.goo.gl/Z4FjDpnHd1ioAbs46)
![キャプションを入力できます](https://camo.elchika.com/63819a104cd41569ef71aad7cdc62dec0b353abc/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f39313937313636332d323465362d343062382d626362342d623863613165326233633264/) ![キャプションを入力できます](https://camo.elchika.com/4ef3e5f76a0ee41656a3c227a6f2bb1259d4d9b3/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f66363531633862612d356266612d343033632d396333362d323435643339663335303836/) ![キャプションを入力できます](https://camo.elchika.com/96c9d7564d37d5cf7c840030b235cdf5a9b67d56/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f62643832643864312d306238312d343064622d616263342d633762376261343637646534/) Pythonのコード ```from m5stack import * from m5ui import * from uiflow import * import machine setScreenColor(0x111111) v = None title0 = M5Title(title="M5 stick C", x=3, fgcolor=0xFFFFFF, bgcolor=0x0000FF) label0 = M5TextBox(16, 31, "nakkyi", lcd.FONT_Default, 0xFFFFFF, rotate=0) circle0 = M5Circle(22, 78, 10, 0xFFFFFF, 0xFFFFFF) circle1 = M5Circle(55, 78, 10, 0xFFFFFF, 0xFFFFFF) triangle0 = M5Triangle(40, 136, 21, 118, 60, 118, 0xf90404, 0xFFFFFF) pin0 = machine.Pin(0, mode=machine.Pin.OUT, pull=machine.Pin.PULL_UP) pin1 = machine.Pin(36, mode=machine.Pin.IN, pull=machine.Pin.PULL_UP) while True: v = pin1.value() if v == 1: pin0.on() else: pin0.off() wait_ms(2) ``` 5. 3個のLED エルチカ HAT 3個のLEDを取り付けたHATを作りました。プログラムはUIflowの通りです。 でも、両端の2個しか点滅しません。いろいろ調べて、GPIO36が入力専用になっている為出力に使えない事が分かりました。そこで、下部のグローブ端子のGPIO33を使うことにしました。 ![キャプションを入力できます](https://camo.elchika.com/f5d5429cd7b0b19d874fe64d353fce5e9ae0af4b/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f33663834643061352d333935662d343063322d616234302d396564383839363235306436/) ![キャプションを入力できます](https://camo.elchika.com/17de20c1f013f634d7f57812e2a07ab63cfe5ed5/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f39333464643134652d616462382d343364302d623564622d646466353139633336616564/) ![キャプションを入力できます](https://camo.elchika.com/d74cb1f7f2e5f8adfb073d31c113f4bcba7bbdec/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f65386534366537342d633962392d343361382d626165312d356535393936366638663966/) GPIO36が使えないにで、2個のLEDのUiFlowにしましたが、GPIO33をつかうことで、下記の3色LED エルチカHATで3個が点滅します。 Pythonのコード ```from m5stack import * from m5ui import * from uiflow import * import machine import time setScreenColor(0x111111) title0 = M5Title(title="M5 stick C", x=3, fgcolor=0xFFFFFF, bgcolor=0x0000FF) label0 = M5TextBox(16, 31, "nakkyi", lcd.FONT_Default, 0xFFFFFF, rotate=0) circle0 = M5Circle(22, 78, 10, 0xFFFFFF, 0xFFFFFF) circle1 = M5Circle(55, 78, 10, 0xFFFFFF, 0xFFFFFF) triangle0 = M5Triangle(40, 136, 21, 118, 60, 118, 0xf90404, 0xFFFFFF) pin0 = machine.Pin(0, mode=machine.Pin.OUT, pull=machine.Pin.PULL_UP) pin1 = machine.Pin(26, mode=machine.Pin.OUT, pull=machine.Pin.PULL_UP) while True: pin0.on() wait(0.5) pin0.off() pin1.on() wait(0.5) pin1.off() wait_ms(2) ``` 6. 3色LED エルチカ HAT ![](https://photos.app.goo.gl/Z4FjDpnHd1ioAbs46) RGBの3色LEDを使った、変色させるHATを作りました。RGBの変化により順に色が変わります。 ![キャプションを入力できます](https://camo.elchika.com/4eaeec8b306ee4abf75e954dc06588d9178d06c4/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f37643138383530372d376162362d343237652d386665392d376165333164316165343564/) ![キャプションを入力できます](https://camo.elchika.com/0c89dd1cc6e59392ec9022d9477f23d9a82d1e25/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f32643033356438322d346666322d343666642d613431342d626138383932306532363535/) ![キャプションを入力できます](https://camo.elchika.com/e734f5c4bffd80e0d9cbb76dbfe042e9b238d144/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f62333466356663372d613730652d343463362d613263362d6132336663343963626131382f64653039346464662d393139632d343032372d626135312d663863666238333262346465/) Pythonのコード ```from m5stack import * from m5ui import * from uiflow import * import machine import time setScreenColor(0x111111) title0 = M5Title(title="M5 stick C", x=3, fgcolor=0xFFFFFF, bgcolor=0x0000FF) label0 = M5TextBox(16, 31, "nakkyi", lcd.FONT_Default, 0xFFFFFF, rotate=0) circle0 = M5Circle(22, 78, 10, 0xFFFFFF, 0xFFFFFF) circle1 = M5Circle(55, 78, 10, 0xFFFFFF, 0xFFFFFF) triangle0 = M5Triangle(40, 136, 21, 118, 60, 118, 0xf90404, 0xFFFFFF) pin0 = machine.Pin(0, mode=machine.Pin.OUT, pull=machine.Pin.PULL_UP) pin1 = machine.Pin(26, mode=machine.Pin.OUT, pull=machine.Pin.PULL_UP) pin2 = machine.Pin(33, mode=machine.Pin.OUT, pull=machine.Pin.PULL_UP) while True: pin0.on() wait(0.5) pin0.off() pin1.on() wait(0.5) pin1.off() pin2.on() wait(0.5) pin2.off() wait_ms(2) ``` 7.おわりに M5stick Cに付けられるHATのようなものでエルチカをしたいと思って作ってみました。UIflowを使うのが初めてなので、取り敢えず動くようなプログラムを作ってみました。これから更に勉強したいと思っています。