PikaPikaLight

主に光モノ工作の忘備録

Maker Faire Tokyo 2023見学レポ

2023/10/15(日)Maker Faire Tokyo 2023を見学してきました。
興奮冷めやらぬうちに写真中心のレポを残します。


前日、急に行けることになったので慌てて準備。
スタックチャンを持ち込んで記念撮影できると聞いていたので、自作のスタックチャンフラワーを引っ張り出したらサーボの配線部分が完全に故障していて、必死に直そうとするも結局ちゃんと動かず。ピカピカ機構は生きていたのでなんとか見せられるかと思い、持っていくことに。



水色のProtoPediaティーシャツに背中にうちわ花火姿でうろうろしていたのが私です。


まず会場に入ってすぐのところでヒゲキタさんプラネタリウムがちょうど始まるところでした。ラッキー。 ツイッターで実物見ないとすごさが分からないとのコメントを多く見ていたので期待していましたが、期待以上にすごかったです。シンウルトラマンがツボでした。


持ち込んだスタックチャンで記念撮影。 スタックチャン産みの親のししかわさんにもご挨拶できました。 すごい数のスタックチャンに囲まれるの図


小林竜太さんにご挨拶できました。 展示作品どれもかわいい。自宅の3Dプリンタで作成しているとのことでしたが、すごくきれい。 著書にサインをもらいました。


接点事務所さんのウオォォラコースター
LEDテープで作ったジェットコースターですが、マイクが仕込んであって大きな音を出すとスピードアップする仕組み。
LEDテープでジェットコースターというアイデアは自分も考えたことあっていつか作ろうと思っていたのですが、音でコントロールさせるという発想はなかった。こういうインタラクティブ性が自分の作品には不足していると感じているので、見習いたい。


福山大学のMakers さんのシン3次元表示装置
LEDテープ75ピクセルx16本x8本= LED 9600個を8台のRaspberryPiで制御している。この力業感がすごい。


手作り感あふれる6x6x6のLEDキューブ。LEDキューブを手作りした人は無条件で尊敬します。


Kotomania
実物を見れて感激。お琴にプロジェクションマッピングして太鼓の達人的なゲームにしてしまうという傑作。スコアが出る機能が搭載されていることを知りました。どうやって検知しているのかと思ったら柱のところにピエゾセンサがついていてそれで検知している様子。すごい。


音楽研究所さんのロボットバンド NEO
こちらも初めて実物みれました。めっちゃピカピカしてました。


neonさん
8x8のLEDパネルを6面使ったLED CUBEとモーションセンサを使って、どんなに動かしてもLEDの位置が変わらないというガジェット。かなり早く動かしても追従していていてすごかった。


ひらめき空と月
なんと「FlashAir同窓会」と題した同人誌を無料配布していました。今は無きFlashAirですが、5年ほど前によく使っていました。SDカードなのにWi-Fiが使えてWebサーバーにもなり、Lua言語で簡易なバッチ処理までできるというとんでもないカード。
ちょうどIoTでなんかやれと言われていた時期だったので、これを使ってセンサのデータをスマホで見れるWEBアプリを作ったりしてました。今でもESP32使って同じようなことしたりしてます。


無駄な抵抗コースター買いました。1個100円。買うでしょ。


はんだ修理ピットがすごくいい感じでした。


マウザーブースにてProtoPediaの中の人、まなみんさん、ひげだるまさん、ばんのーさんに初めてお会いすることが出来ました。youtubeでしょっちゅう見ているので芸能人に会った感覚。

ヒーローズ・リーグ 2021でProtoPedia賞をいただいた立方体万華鏡×LEDテープを持参していたので、お見せすることできました。


airpocketさんにも初めてお会いすることできました。 メカニカルディスプレイは修理中で動くとこは見れませんでした。残念。


TakSanさんにも初めてお会いすることできました。球形のLEDキューブを作られていて、これはハード、ソフトともに凄すぎる。ご挨拶させていただいたところ、なんと球形LEDキューブ基板をの基板一式をいただいてしまいました。これは作るしかないでしょう。まずはWS2812Bのチップを買うところから始めます。(普段はLEDテープを使っているのでチップを買うのは初めて)


Jimmyさんには遭遇できず。。同じ会場にいたはずなのに悔しい。 同じく会場にいらしたはずのからあげ先生にも遭遇できず。もしお会い出来たらサインもらおうと思って著書もっていったのですが。。
とり子さん、youさん、パスコンパスさんも会場にいらしたことを後から知りました。ご挨拶できず残念。
金本さん、高須さん、ギャル電さん、らびあんさん、Niiさんはお見かけしましたが、畏れ多くて声かけられず。


最後に

初めてのMaker Faire Tokyo 見学、予想以上にすごい作品ばかりでした。洗練された作品もあればすごい力技で作られた作品もあって楽しすぎる。いつかは自分もMaker Faire Tokyo に出展できたらと思っていましたが、これはそう簡単なことではないと実感できました。なんというか作品の深みというか情熱というか狂気というか愛というか、そういったパッションを持った作品でないとこの場には立てないんだな、と。
それでもいつの日かここに出たいとの決意もしました。

玄関のカギ監視システムを作って2年経ちました

初めに

2年前のGWに玄関のカギ監視のIoTシステムを作りました。 pikapikalight.hatenadiary.com 1年後の2022年に振り返りをしてみました。 pikapikalight.hatenadiary.com そして2年たった今現在、一度も電池交換することなく玄関カギのIoTを実現できています。 正直ここまで電池持つとは思ってませんでした。TWELITE CUE素晴らしい。

電池残量

カギ監視のキーデバイスはモノワイヤレスのTWELITE CUEを使用しています。玄関のカギに磁石をセロテープでつけてTWELITE CUEに内蔵されている磁気センサで開閉を検知する仕組みです。コイン電池 CR2032 で動きます。 標準のソフトで電源の電圧値も取得できるようになっていたのでそれも記録していました。 2年間の結果がこちらです。 ウチの玄関のカギは2個ついているので2個センサーをつけていて、上側がD1、下側がD2です。
気温と相関ありそうなデータが取れました。2年間問題なく動いていた実績も感慨深いです。
2年経って2.4V程度まで落ちましたがまだちゃんと動いています。 このシステムは開閉を検知した時と定期的に1分に1回の通信をしています。モノワイヤレスのHPによると「1分に1度の定期送信のみの場合、約700日」と記載あります、その通りに2年間1分間隔で動き切りました。素晴らしいです。

感想

玄関のカギ状態監視IoTは自分のような心配性人間(カギかけたっけ症候群)にとって間違いなく有用ですし、子供がちゃんと予定通りに時間に家に帰ってきているのかを確認できるという使い方もあります。個人で実用的なモノを作ったのはこれくらいですが、これは頑張って作ってよかったと思える代物です。

初めてのAliExpress

初めに

昨年末の話ですがクリスマス向けの工作でLEDドット絵クリスマスツリーを作りました。

作っている途中で使用しているLEDテープ(100LEDS/m)が不足する事態に。

LEDテープはたくさん手持ちが有ったので油断してました。持っているのは144LEDS/mサイズのものがほとんどで100LEDS/mがないことに気づかなかった。 100LEDS/mというサイズは1つのドットがちょうど1センチ角になります。他のサイズのテープではドットが長方形になってしまうので、100LEDS/mというサイズが必要なのです。 買い足そうとするもどこも在庫なしで、泣く泣く過去作品をばらして部品取りするということをしました。

その後も100LEDS/mというサイズのLEDテープは国内の通販サイトでは見つからず、 もしかすると2度と入手できないかも。
ドット絵工作はネタを思いついたらやりたくなるので何とか入手したい。

探索範囲を広げるとAliExpressBTF-LIGHTING Official Storeで購入できる事が分かり、 AliExpressに初挑戦することとなりました。

事前調査

日本では入手難しそうな電子部品をAliExpressで輸入している投稿をツイッターでよく見かけていました。なかなか届かない荷物を待ちわびるイメージです。
AliExpressが中国のアリババの通販サイトであることはなんとなく知っていましたが輸入という未知の響きに今まで手を出すことはありませんでした。
やはりクレジットカードの登録に躊躇してしまいます。支払方法に関してネットでざっくり調べてみて、Vプリカというプリペイド式のVISAカードを使うこととしました。

Vプリカ

コンビニで買えるとのことなので近所のローソンで購入しました。Loppiでなんとなくそれっぽいボタンを押していったら無事Vプリカの画面にたどり着きました。
2000円から10000円まで選べますが5000円までは手数料が200円だったので5000円にしました。いきなり1万円は突っ込めない小心者です。

発券して、レジでお金を払うと番号が書かれたレシートを渡されました。5200円と引き換えになったレシートの感熱紙のペラペラ感に一抹の不安を感じる安定の小心者。

スマホアプリをインストールしてカードを登録していきます。最初にアカウント登録する必要ありました。アカウント増えるの嫌ですが仕方なし。
後から知りましたがアカウント開設不要のVプリカギフトなるものもあるみたいなのでそっちのほうが楽だったのかもしれません。
アカウント登録、カード登録自体はサクサク進んで無事カードが使えるようになりました。

AliExpress

うわさでは聞いていましたがAliExpress安いです。異常な安さのモノも多数。 狙いの100LEDS/m LEDテープは1個1185円でした。しかも送料無料。中国からの輸入なのにどうなってるの。
ここは5000円を使い切るために4個買い溜めをすることにしました。

まずはアカウント登録しなきゃと思いきやGoogleTwitterなどの連携が出来るではないですか。アカウント増やしたくない人なのでGoogleアカウントでログインしました。

トラブル発生

カード有効期限を入力する段でトラブル発生。Vプリカアプリ画面のカードのデザイン色が濃い青でちょうど有効期限のところが濃紺で黒文字が判読できない。 画面の拡大もできないしでどうしようかと思いましたがVプリカの有効期限は1年らしいので12月/23年だろうと判断しました。決済できたので正解だったようです。 Vプリカのカードのデザインはベーシックな青のやつとブタ?のキャラのやつの2つから選べたのですが、もしまた使うことがあればブタにしようと心に刻みました。

カード名義を入力する際にもトラブル発生。 Vプリカは本名でなくニックネーム(ここでは仮にABCDE)がカード名義になるのですが、購入画面でABCDEと入れると「姓と名の間はスペース区切り」というエラーメッセージが出て入力できません。なんてこったスペース入れないといけなかったのかと思い、ニックネームの再登録ができないか調べるも、出来なさそう。これは詰んだかと思いましたが、ダメもとで適当にスペース入れてやれと A BCDE ですすめたら無事決済できました。

あとで知りましたがそもそもVプリカのニックネームにスペースは入れられない仕様でした。 そしてFAQにまさにこの問題の対応方法が載ってました。自分の方法は正しかったようです。 vpc.lifecard.co.jp

トラブルを乗り越えて無事購入手続きできました。手続き完了のメールも日本語で届きました。 この日が2022/12/27。到着予定は2023/1/20です。

到着

輸送状況について逐一メールが届きます。2023/1/3に通関手続き完了のメールが来て、翌1/4には日本に届いたとのメールが。では明日あさってくらいに届くなと思っていたら、なんとその日のうちに荷物が届きました。12/27に注文してから8日目です。思ってたよりめちゃめちゃ早かった。

結び

初めてのAliExpressショッピングは無事成功して、LEDテープ(100LEDS/m)を入手することができました。 今回のようにAliExpressでないと買えないものを買うためには今後も使うと思います。

ここ数年、ツイッターを始め、はてなブログを始め、ヒーローズリーグに参加し、Micro Maker Faire に出展しと色々な新しいことにチャレンジしてきて、世界がどんどん広がる楽しさを味わっています。
今年も新しいことにチャレンジする一年を目指します。

この先チャレンジしたいこと
・オリジナルの基板を作る
githubをちゃんと使える人になる
ふるさと納税
・そのことをブログで書く

Hamamatsu Micro Maker Faire 2022に出展した

初めに

LEDテープを使用した電子工作作品を作ってツイッターで公開する事を始めて約2年。やっていることはMekarと言ってもよさそうです。MakerたるものMaker Faireに出展することは憧れです。 地元である浜松でMicro Maker Faireが開催されるとあっては黙っていられません。
makezine.jp 開催日時は2022年 11月5日(土)13:00-17:00
場所は浜松科学館 (ウチから車で15分くらい)
休日も何かと忙しい身である私(主に子供の塾や習い事の送迎)ですが、これなら参加できそうです。 思い切って参加申し込みしたところ、無事に承認されました。

申し込み

作品の写真のリンクや説明を記載する必要がありましたが、ProtoPediaに作品登録していたおかげて簡単に書き上げることできました。
PikaPikaらいと | ProtoPedia
展示作品ですが、「立方体万華鏡×LEDテープ」は出すとして、他をどうしようかちょっと悩みました。私の作品はほとんど光ものなので明るい環境だとよく見えないという弱点があります。しかしやはり実物を見てもらいたいので「LEDテープでおウチ花火」、「虹を投影する懐中電灯」、「ドレミえ~る」を出すということで申し込みをしました。

申し込みをした後、メールの返信が来るはずだったのですがなかなか来ない。と思っていたら、なんと迷惑メールに振り分けられていました。そのままにしてたら承認メールにも気付かないところでした。危なかった。

事前準備

Makerの展示会に出展するのは初めてですし、見に行ったこともほとんどありません。展示物の準備はいいとして、他に何を用意したらいいものか。そんな時に頼りになったのはやっぱりからあげ先生のブログでした。ありがたや。 karaage.hatenadiary.jp

学んだ事

  • 必要なものをリストアップしておく。
     工具や文具、デジカメなど意外と当日忘れやすいのでリストでチェック。
  • 名刺があるとGood → 今回結局準備できなかったですが、あったほうがよかったと思いました。
  • 説明資料を用意する。SNS OK,写真OKを明記する。

今回の会場は電源が基本的にない(希望者のみ)という厳しい環境です。作品すべてモバイルバッテリーで4時間動作させる必要があります。とりあえず手持ちのバッテリーをかき集め、さらに大きめのもの一つ購入、さらに乾電池式のモバイルバッテリーを一台購入し、乾電池を20個ほど用意しました。

説明資料はパワーポイントで作成し、ProtoPediaの作品リンクのQRコードを入れておきました。QRコード作成はこちらのサイトを使わせていただきました。 m.qrqrq.com プリントを机に直貼りするのはよくないと思い100円ショップでテーブルクロスを購入。
撤収時に資料をはがす必要なくそのまま片付け出来て良かったです。

当日準備

11時から出展者の受け付け開始で13時開始。1時間もあれば準備できると思い、11時に家を出るという余裕をかましたら浜松市駅北駐車場が思ったより混んでいて時間を取られてしまい11時40分に会場到着。そこから必死で設営して12時40分でなんとか完了。焦りました。初心者が余裕かますのはダメですね。他の出展者さんの展示を見る余裕もなく始まってしまいました。

服は目立つように、昨年のヒーローズリーグでいただいたProtoPedia賞の副賞のProtoPedia Tシャツを着ていきました。実はM5Stack Tシャツとどっちにしようか迷っていたのですが、自分のブースの真正面がSeeedさんのブースだったのでM5Stackは自粛しました^^;
行く前にProtoPedia Tシャツ来てる姿をツイッターに載せるつもりが余裕なくて出来ませんでしたが、来場者のツイッター投稿でProtoPedia Tシャツ来てる私がバッチリ写っていて、ProtoPedia の中の人に気付いてもらえました。

各作品の反響

「立方体万華鏡×LEDテープ」

protopedia.net 一番リアクションあったのはこれでした。のぞいた瞬間「すごい」と言ってくれる方が多かったです。(体感だと100人くらい、実際は30人くらいかな) どういう仕組みか聞いて来られる方も多く、その都度説明をしました。掲示資料にはQRコードを載せてここを見てねしか書いてなかったのですが、もう少し詳しく書いてもよかったと思いました。 説明資料のQRコードを撮影して、自分でも作ってみようという方も何人かおられ、展示した甲斐がありました。 反省点としては、パッと見はただの箱なので「穴のところを覗いてみてください」と声掛けしないとなかなか見てもらえないということが分かりました。もし今度これを展示する機会があれば穴のところに「ここ覗いてみて」とポップを貼っておこうと思います。

「虹を投影する懐中電灯」

protopedia.net 子供受けが良かったです。
明るい会場なので、はっきり見せるのが難しかったですが、白いボードを用意してそれなりに虹が見えるようにしたのが正解でした。

浜松科学館の館員のかたも熱心に見てくれました。中身を見せただけでピンホールカメラだと理解され、上下が逆に投影されることをすぐに気付かれました。さすがです。

「LEDテープでおウチ花火」

protopedia.net 会場の入り口の近くの机だったので来場者はすぐにこれが目に入ったはずですが、やはり明るい場所では見えずらかったためか、花火を表現していることに気付かれない方も多かったです。
バッテリー節約のためLEDのパワーを小さくしていたのですが、もっと明るくすればよかった。

「ドレミえ~る」

protopedia.net おもちゃのピアノを用意していたので、子供の食いつきはよかったです。ただ小さいお子様の場合はドレミが光っていることなどお構いなしで単純にピアノを楽しんでました。
M5StickC内臓マイクを使っているので、周りの声などを拾ってしまって、すぐ全体が真っ赤になってしまうという弱点も分かりました。展示会に出すには表示スケールの自動調整機能が必要です。今後の検討課題です。

展示中の出来事

これまで身バレしないようにツイッターなどをやっていましたが、地元でリアル展示ということで、知り合いが来るかもと覚悟していました。そしたら閉場間際で「〇〇さんですよね」との声が。以前仕事でお世話になった大学の先生に見つかりました。初めての身バレですが信頼できる方なので問題なしです。来年は自分も出展したいと意欲を見せてましたのでライバル登場です。

展示中はツイッターを見る余裕もなく、終わった後で確認したところ、衝撃の事実が。 なんと、からあげ先生がご家族で来場していたではありませんか。 karaage.hatenadiary.jp しかも動画を見るとお嬢様が「ドレミえ~る」を試されているし、奥様とおぼしき「カタツムリかわいい」の声、さらに「立方体万華鏡×LEDテープ」も撮影してくださっている。
間違いなく会話していると思うのですが、お顔など全く覚えていません。なんてこった。

全体の感想

Maker Faireで面白いのは世界で1台しかない装置が大集合しているところですね。「よく作ったなこれ」って作品を見ると自分はまだまだだなと思い知らされ、逆にやる気につながります。

今回、初めての展示会出展で、初めてリアルいいねを体験することができました。 ツイッターのいいねもうれしいですが、リアルでのいいねは何よりうれしいものでした。

今回、自分の展示でいっぱいいっぱいで他の方のブースを見て回る余裕がほとんどなく、せっかくMakerの方と直接お話しできる機会だったのにもったいないことをしました。来年リベンジしたいです。

MicroとはいえMaker Faireに自分が作品を出展する日が来るとは2年前には想像できませんでした。それまでは仕事以外ではんだ付けやプログラムをしたことなかったのですが、いったん自分のための電子工作やってみると面白すぎる。気付けばこんなところまで沼にはまっている。

初めての展示会出展、非常に貴重な経験でした。関係者の皆様ありがとうございました。 いつの日かTokyo Maker Faireに出れるくらいの作品を生み出せるよう精進します。 

アノマロカリスロボ作成記

初めに

これまで動くものを作ったことはなかったのですが、スタックチャンを作るためにサーボモーターを購入し、そこから動くものへの工作意欲がわいてきました。勉強のため機構に関する書籍を探していたのですが、そこで出会った一冊がこちらです。

この中にあったアノマロカリスロボ。これにとても心惹かれ、3Dプリンタで作れないか検討する日々が始まりました。

作成の記録

Tweitterで過程を紹介していたのでまとめます。

機構のキモ

書籍の中ではコの字クランクで実現する方法を紹介されていますが3Dプリンタで作成するのは困難だったので、円柱を位相をずらして並べる構造にしました。 縦にプリントします

3Dデータ公開

データを公開しました。 アノマロカリスロボに興味を持ってもらった方はこのデータにとらわれずに、ぜひ自分なりの実現方法の模索やアレンジをして欲しいです。 github.com

泳がせてみた記録

最終的には泳がせたいです。現行品をお風呂で無理やり泳がせてみた結果・・・こいつ泳げます。
モーターを防水する方法を考えないと。

ドット絵カメラシステムを作った

初めに

昨年末にLEDドット絵の世界に足を踏み入れました。 pikapikalight.hatenadiary.com ドット絵のデータはExcelを駆使してそれなりに効率化できたのですが、それでもなかなか大変な作業でした。
カメラで撮った絵をリアルタイムでドット絵に変換できたら簡単にドット絵が作れて楽しそうと思い、挑戦してみました。

完成品

結論を先に。こんなのを作ることが出来ました。 youtu.be

ハードウェア

カメラはM5StackのUNIT-Vを使いました。以前こいつで色々やっていて、UNIT-VのMicroPythonはWS2812が動かせることを覚えていたのです。 pikapikalight.hatenadiary.com ここで問題が一つ、UNIT-VのGroveコネクタは5V出せるのですが電流はほとんど流せない。とてもじゃないけど16x16=256個のLED点けることはできない。LEDパネルとUNIT-Vの電源を別々にとるしかないけれど、それだと配線がすっきりしない。
考えた末に閃きました。以前作成した「虹を投影する懐中電灯」と同じく、パネルの方に先に電源をつないでそこからコントローラーの方に電源をつなぐことで配線をすっきりさせる手法です。 電源コネクタにはUSB-Cを、UNIT-Vとの接続にはGroveコネクタを使えるように改造しました。

ソフトウェア

恥ずかしながらコードを公開します。
私はこれまでほとんどC言語しか使ったことがなく、このUNIT-Vで初めてPythonにふれました。正直、言語としての良さは理解できてません。 けれどたったこれだけのコードでこれが作れる事実はすごいなと思います。

import sensor, image, time, lcd
from Maix import GPIO
from modules import ws2812
from fpioa_manager import *
fm.register(board_info.CONNEXT_A)
class_ws2812 = ws2812(board_info.CONNEXT_A,256)
while 1:
    try:
        sensor.reset()
        break
    except:
        time.sleep(0.1)
        continue
sensor.set_hmirror(1)
sensor.set_vflip(1)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.B64X64)
sensor.skip_frames(time = 1000)
sensor.set_contrast(-2)
sensor.set_saturation(2)
sensor.set_auto_gain(True)
sensor.run(1)
r_num = 0
g_num = 0
b_num = 0
for i in range(10):
    a = class_ws2812.set_led(i,(10,10,10))
    a=class_ws2812.display()
    img = sensor.snapshot()
    img2 = img.resize(1, 1)
    print(img2.get_pixel(0, 0))
    r_num = r_num + img2.get_pixel(0,0)[0]
    g_num = g_num + img2.get_pixel(0,0)[1]
    b_num = b_num + img2.get_pixel(0,0)[2]
    time.sleep(0.1)
print(r_num)
print(g_num)
print(b_num)
rgb_ave = (r_num + g_num + b_num) / 3
print(rgb_ave)
r_factor = rgb_ave / r_num
g_factor = rgb_ave / g_num
b_factor = rgb_ave / b_num
print(r_factor)
print(g_factor)
print(b_factor)
sensor.set_auto_gain(False,sensor.get_gain_db())
print(sensor.get_gain_db())
try:
    while(True):
        img = sensor.snapshot()
        img2 = img.resize(16, 16)
        img2 = img2.histeq()
        k = 0
        sc = 5
        for i in range(8):
            for j in range(16):
                rr = img2.get_pixel(i * 2, j)[0] * r_factor
                gg = img2.get_pixel(i * 2, j)[1] * g_factor
                bb = img2.get_pixel(i * 2, j)[2] * b_factor
                rr = int(rr) / sc
                gg = int(gg) / sc
                bb = int(bb) / sc
                rgb = (int(rr),int(gg),int(bb))
                a = class_ws2812.set_led(k,rgb)
                k = k + 1
            for l in range(16):
                rr = img2.get_pixel(i * 2 + 1, 15 - l)[0] * r_factor
                gg = img2.get_pixel(i * 2 + 1, 15 - l)[1] * g_factor
                bb = img2.get_pixel(i * 2 + 1, 15 - l)[2] * b_factor
                rr = int(rr) / sc
                gg = int(gg) / sc
                bb = int(bb) / sc
                rgb = (int(rr),int(gg),int(bb))
                a = class_ws2812.set_led(k,rgb)
                k = k + 1
        a=class_ws2812.display()
        time.sleep(0.1)
except KeyboardInterrupt:
    pass

コードのポイント

sensor.set_framesize(sensor.B64X64)

framesizeを正方形にしておくことで16x16に変換したときに歪まないようになります。

sensor.set_contrast(-2)
sensor.set_saturation(2)

こうしたほうがなんとなく色がくっきりするような気がしたのでこうしてますが、気のせいである可能性大です。

r_num = 0
g_num = 0
b_num = 0
for i in range(10):
    a = class_ws2812.set_led(i,(10,10,10))
    a=class_ws2812.display()
    img = sensor.snapshot()
    img2 = img.resize(1, 1)
    print(img2.get_pixel(0, 0))
    r_num = r_num + img2.get_pixel(0,0)[0]
    g_num = g_num + img2.get_pixel(0,0)[1]
    b_num = b_num + img2.get_pixel(0,0)[2]
    time.sleep(0.1)
print(r_num)
print(g_num)
print(b_num)
rgb_ave = (r_num + g_num + b_num) / 3
print(rgb_ave)
r_factor = rgb_ave / r_num
g_factor = rgb_ave / g_num
b_factor = rgb_ave / b_num

起動時にホワイトバランスを補正するシーケンスです。起動時に白いものにカメラを向けて補正値を算出することで色の再現性を上げられないかと考えたコードです。本当は16x16個分の補正値を出した方がいいんでしょうが、そこまでやってません。 img.resize(1, 1)で1画素データにしてしまってそのRGBの補正値を出しています。この辺、今後の検討課題です。

sensor.set_auto_gain(False,sensor.get_gain_db())

auto_gainをFalseにするのは必須です。これをしないとチカチカしちゃいます。

img2 = img.resize(16, 16)

カメラの画像を16x16にするたった一行の呪文です。

    k = 0
        sc = 5
        for i in range(8):
            for j in range(16):
                rr = img2.get_pixel(i * 2, j)[0] * r_factor
                gg = img2.get_pixel(i * 2, j)[1] * g_factor
                bb = img2.get_pixel(i * 2, j)[2] * b_factor
                rr = int(rr) / sc
                gg = int(gg) / sc
                bb = int(bb) / sc
                rgb = (int(rr),int(gg),int(bb))
                a = class_ws2812.set_led(k,rgb)
                k = k + 1
            for l in range(16):
                rr = img2.get_pixel(i * 2 + 1, 15 - l)[0] * r_factor
                gg = img2.get_pixel(i * 2 + 1, 15 - l)[1] * g_factor
                bb = img2.get_pixel(i * 2 + 1, 15 - l)[2] * b_factor
                rr = int(rr) / sc
                gg = int(gg) / sc
                bb = int(bb) / sc
                rgb = (int(rr),int(gg),int(bb))
                a = class_ws2812.set_led(k,rgb)
                k = k + 1

sc = 5 はRGB値を5分の一に下げて、明るさ=消費電流を下げる処置です。 16個ごとに逆転させているのは使用したLEDパネルがそういう並びのものだったからです。

完成

スナフキンのフィギュアがいい感じに出たときは感動しました。

玄関のカギ監視システムを作って一年経ちました

初めに

一年前のGWに玄関のカギ監視システムを作りました。 pikapikalight.hatenadiary.com 運用して一年経ちましたので、その後の話をします。

トラブル

最初はM5AtomLiteで運用していたのですが、数か月後データが途切れるようになりました。どうもWi-Fiが切れてしまっているようで、電源OFF/ONで復帰するのですがたびたびトラブル発生するようになりました。
M5AtomLiteのアンテナに問題ありという情報もありましたので、M5Stack Basicに変更してみました。プログラムはUARTのピン番号のみ変更するだけでほぼそのままです。その後は安定して通信できるようになりました。

カギ監視

1年間運用してみて問題なく鍵の状態をスマホで監視できています。これは思った以上に便利でした。
ウチの子供は小学校低学年なのですがちゃんと想定時間に帰宅していることがスマホで確認できます。
家族で長時間のお出かけするときなども間違いなく鍵をかけたことがスマホで確認できます。
心配性な自分にとって、もはやなくてはならないIoTです。

電池残量

TWELITE CUEはコイン電池 CR2032 で動きます。運用して一年経っても電池交換なしに動いています。
TWELITE CUE標準のソフトでは磁気センサの状態の他に電源の電圧値も取得できるようになっていたのでそれも記録していました。
その結果がこちらです。 ウチの玄関のカギは2個ついているので2個センサーをつけていて、上側がD1、下側がD2です。
徐々に減っていくのは当然なのですが、今年の2月中旬以降は上がっています。これを見るに電池の電圧は残量以外に気温にも連動しているようです。
この感じだとあと半年ほどは電池交換なしでいけそうです。

感想

電池交換なしに一年以上運用できました。コストパフォーマンス的には十分イケてるんじゃないでしょうか。