八耐参加

会場は前回と同じ渋谷のmixiさん

カフェスペース的なところで8時間すごします。

カウントダウンタイマーを作る

少し前から大きいサイズの7セグLEDを使ったカウントダウンタイマーを作ろうとしている。7セグLEDはthingiverseのデータを使って外枠プリントして、NeoPixelをいい感じにはめ込んだもの。

3Dプリントした外枠
セグメントごとにNeoPixelを2個ずつ配置する
NeoPixelの固定はダクトテープでやっつけ。

これを4つとコロンは作ったので、あとはソフトのほうをつくればよい。まずはマイコンを何にするかと電源どうするかを決めねば。

マイコンはPro MicroかPro Miniにしよう。電源はモバイルバッテリ。操作は昨日秋葉原で買ってきたプッシュスイッチを使う。直径24mmのねじ式のやつ。サイズ的には数字一文字分のボックスに3個横並びで配置できそう。

操作は、赤ボタンでタイマーのスタートストップ、青と緑でカウンタ数値(minute)のUp/Downでいいかな。秒の桁はカウンタUp/Downすると0にリセット。秒単位の設定はできない。

7セグは福岡にある

先週、帰福したときに福岡に置いてきたので今日は7セグ実物はなしでマイコンのソフトだけつくる。まったくなにもなしだと寂しいのでテープLEDだけ持ってきた。

それっぽいのができた。1秒ごとにLEDが一つずつ赤色に変わっていって、全部赤になったら虹色ピカピカ。本当は音も鳴らしたいけど、スピーカーやブザーを持ってき忘れたので今日はここまで。

Emacsインストール

東京Emacs勉強会 菊の節句に行ってきた

Emacsを現役でばりばり使っている人たちのいろんな話を聞けてとても良い刺激になった。

久しぶりにしっかり使いたい

大学生のころは普段のノートとるのにもEmacsを使ってたけど、anything.elをうまく使えなかったあたりからEmacsからちょっと遠ざかっていた。(Emacsキーバインドはずっと使ってるけど)

WindowsだとWSLで使うのがよさそう?

WindowsではMeadowとかNTEmacsを使っていたけど、最近はWSLでEmacsを動かすのが普通っぽいのでWSLでEmacsを動かしてみる。

やったこと

WSL有効化

Ubuntuインストール。WindowsStoreに「Ubuntu」「Ubuntu18.04」「Ubuntu16.04」とあるけど、無印入れておくと最新版に更新されていくぽい?ので無印を入れた。/etc/lsb-releaseをみると18.04となってた。

Emacsの新しいの(26)を入れるためにppa追加してインストール。

sudo add-apt-repository ppa:kelleyk/emacs
sudo apt-get update
sudo apt install emacs26

https://www.reddit.com/r/emacs/comments/8pcw5a/what_is_the_most_painless_way_to_install_emacs_26/

X Window Systemを使うためにVcXsrvを入れる。Xmingじゃないのだ。

あとは5月の東京Emacs勉強会で発表されてた資料がとても参考になった。(なったというか、今このスライドみながらインストール中)

最後に

ひさしぶりにWindows上にEmacs環境が整いそう。まだapt installが終わったとこなので、ここからいろいろ面倒なのがあるとおもうけど、ひとまず導入までできたのでよかった。

フォトグラメトリうまくいかず

STYLY Photogrammetry Awards 2019 に応募してみようと思って、フォトグラメトリに挑戦した。

できあがったもの

手ごろな閉空間としてトイレをスキャンしようとしたが、とても中途半端な状態。タンクのとこだけスキャンできた。

初回トライ、衝撃の結果

室内でぐるぐるまわりを見渡す形で撮った。

初回、↑みたいな感じで写真を撮って3DF Zephyr Freeでフォトグラメトリしたら、なんと、棚の上に置いてあるトイレットペーパーの「ふんわりトイレットロール」ってラベルの部分だけが、紙くずみたいに空中に浮いてるものができあがった。

部屋全体を撮ったのに、ラベルだけ。。。

特徴を増やしてみた

壁が白すぎて情報が少ないのだと思って、ちょっと壁にオブジェを張り付けてトライしてみた。具体的にはアートナイフとニッパーとアクリル製のフロッピーディスク。

こんだけ小さいとオブジェ張り付けてるの見えないかな・・・

これでも結果としては、トイレットペーパーのラベルだけ・・・

文字ぐらいの細かさがいる?

オブジェ3個ぐらいじゃダメかと思って新聞紙をちぎって壁に貼り付けてみた。

こんだけはっても全然だめだった。

うまくいかなさすぎてデータを保存してないけど、この状態でも全然だめだった。まばらに壁が認識されたけど、ぼこぼこに膨らんだりへこんだり。

模様つけた(やけくそ)

壁に新聞張り付けてもだめだったので、やけくそで全体的にテープを貼ったった。

写真小さくて見えんと思うけどかなり異常なトイレットルーム。

これだけ模様つけるとさすがにある程度は認識されるようになったけど、冒頭にのせた写真の通り、トイレのタンク部分より下はまったく認識されず。

最後に

10回以上トライしたけど結局満足いくスキャンはできず。応募あきらめました。(数時間かけてトイレ写真を500枚以上撮ったことに・・・)

今度はもうちょっと情報量が多くていろんな角度から写せるものでやってみる。

電卓完成

TENTAKUに刺激を受けて電卓を作りだして3か月半ほど、ぼちぼち作り続けてて、いちおう完成した。

完成品の写真

こんな感じ。TENTAKUの未来感ある見た目とは正反対のレトロ調。

自作電卓TUTUculatorの正面写真

外装はFusion360でデザインして3Dプリンタで印刷。フィラメントは当初PETGで印刷してたけど、テカテカして安っぽくなってしまうので最終版はPLAで印刷した。

全体の形状はCasio MiniのCM-605あたりを参考につくった。ちゃんと開け閉めできる電池蓋をつくれたのがうれしい。

工夫したところ

現在の形に落ち着くまでにかなり試行錯誤したけど、キーキャップのレーザー印字はTENTAKUを作ったときに比べるとかなり進化した。

TENTAKUのレーザー刻印
二世代目プロトタイプの大失敗レーザー刻印

2.5Wのレーザーカッターなのでパワー不足だとあきらめかけていたけど、刻印中の様子をよくよく観察してると、ススがほんのちょっとキーキャップに付着した瞬間に、一気に焦げ焦げが広がることに気がついた。

どんなに薄くて表面だけの層であっても、黒色でありさえすればレーザーのエネルギーをしっかり吸収してくれる!ということで、ホワイトボード用のマーカーで表面を黒塗りして刻印してみたら大成功。レーザー出力20%ぐらいで十分だった。

フォントはBrieというのを使った

昇華インクを転写するのも試してみようと思って、印刷を注文してたけど、レーザーが思った以上にうまく刻印できたので転写は次回作に向けて取っておくことにする。

中身など

構成はプロト版からあまり変わってなくて(途中、7セグLED使ったりしてたけど)、最終的にマイコンはArduino互換機のPro mini、表示器は16文字x2行の秋月LCD。キースイッチはGATERONの青軸でキーキャップは遊舎工房の白色DSA。電源は単4電池一本で秋月の5V昇圧モジュールをつないでいる。

電池ケースをかっちり固定するところまで作り込めなくてホットボンドで接着した・・・

キーボード部分はだいぶんこなれてきて、かなり安定して作れるようになった。枠組みはプロト版はうすい一枚板だっだけど、最終版ではキースイッチの引っかかる部分だけ薄く残して枠の内側は厚くすることで強度を大幅UP。足もつけたのでキーボード部分だけでしっかり自立できるようになった。

9本の足と、枠の中央部は厚くしつつも、キースイッチのツメが引っかかるところは薄いまま。そして空中配線もちょっとだけ上達、高低差をしっかりつけることでスズメッキ線で交差部分を接触させずに配線できた。
基板とキーボード部分の接続はEHコネクタを使ってみた。けど、コネクタのピン圧着するのにある程度太い配線が必要になるので、かなりかさばってしまった。ここはUEW線のほうがよかったかも・・・

最後に

かなり難儀したけど、単独で使えるモノとして作りあげることができたのがよかった。本職のはずのソフト部分がいちばんやっつけでつくってしまってるのがかなり残念だけども・・・

背の低いキースイッチを使った薄型バージョンや、キーの数をもっと減らした2進数電卓、パソコンにつないでテンキーとして使える電卓など、いろいろと作ってみたい電卓案はあるので、電卓道楽として、これからもぼちぼち作り続けていきたい。

VR KIT ハッカソンに行ってきた

Nintendo Labo VR KIT でわいわい楽しむ 1Day ハッカソンに行ってきた。

会場はこの間のxR Tech Tokyoと同じ、六本木ヒルズ – メルカリさん。

心構え

「VR KITのラボ機能を使ってオリジナルVRコンテンツを作る集まり」なんだけど、CONNPASSのイベント説明ページに”段ボール等の持ち込みは大歓迎です”とあったので、段ボール工作をするつもりで参加申し込みした。

VR KITは基本のHMDだけ。あとはAmazonの段ボール。

もくもく作成

切断装備がアクリルカッターとアートナイフだけだったので段ボール相手としてはかなり苦しかった。まともなデカいカッターがあればもうちょっと楽に切れたはず。

あと、どうしても段ボールくずが出てしまうので、コロコロ代わりにダクトテープでこまめに集めてたつもりだけど、ちょっとは回収しきれてないのが残ってるかも・・・申し訳なし。。。

今回初めてダクトテープ使った。銀色でかっこええ。

つくったものは

段ボール製のVRホルダーをつくった。これは去年のMakerFaireTokyoに出展したハッピーフォンホルダーと、そのあとに作ったハッピーフェイスマスクに続くハッピーシリーズ第三弾!ハッピーVRホルダー。

ハッピーフォンホルダー。今回のVRホルダー作成はこれを逆向きに掛けたときの目隠しされてる感覚がヒントになった。
ハッピーフェイスマスク。一応これも内側にVRのHMD入ってるのでVRホルダーと言えなくもない。

現地で完成品だけをキレイに撮影してなかったので、帰ってから取り直した写真が↓コレ。

ダクトテープ巻き巻き、かつ角ばってるのでメカ感がある?
手の部分は自分の手を段ボール上でなぞってカッターで切り抜いたので実物サイズ。
あと、見切れてて映ってないけど背面端っこのところにカウンターウェイトとして水入りペットボトルを差し込むようになってる。
こだわりポイントはダクトテープで作った切り文字の”LABO”。あと縁取りも幅を測ってVR KITに合わせてる。

最後に

twitterにいくつか写真や動画があげてもらってるけど、皆さん興味を持ってくれて順々に試してもらえたので大満足。ほかの参加者の方々が作られた、まっとうな?VRコンテンツはどれもよくできていて素敵だった。

今回は自分も含めて参加者の皆さん全体的にラボ慣れしてない人ばかりで、みんなで手探りしながらノウハウを物理でつぶやいて共有していく感じが楽しかった。

前々からVRホルダーの試作をしようとおもってたので、今回のハッカソンがちょうどよい機会になって無事試作完成できてよかった。もし次回があって参加できそうだったら今度はちゃんとしたコンテンツ作りもやってみたい。良い機会をつくってくださった@ikkouさんに感謝。

電卓づくり現状

ぼちぼち進んできたのでいったん記事にまとめる

キーパッド部分をつくった

キーパッドはメカニカルキーを使う。キースイッチは基板へのハンダ付けだけで固定するのと、基板との間に固定用のプレートをいれる方法があるらしい。

今のところ基板つくってないので固定用プレートが必要!ということで、先日入手したレーザー彫刻機でボール紙をカットしてプレート作成。彫刻用なのでG-code的な動きに対応してなくて、かなり時間がかかった。四角く切り取るだけなのに・・・

Banggoodで買った1万円ちょいのレーザー彫刻機(3W)でボール紙をカット
キースイッチをはめこんだ様子。紙製と思えないぐらいいい感じ!

ボール紙のプレートでいけそうな感触だったので、今度は3Dプリンタで土台を作ってみた。

おためし4キー。コンパクトでかわいさがある。
電卓用に4×5。細長いキーは支えるのが面倒なのでこんかいは全部1uサイズ。
キーを押したときにフチがぴったりくるようにしてみた。
裏面は空中配線。線がかさばりすぎたので、このあとUEWに置き換えました。

表示器は悩みすぎた

TENTAKUを参考に7セグLEDを使おうとしたのだけど、ちょうどいいサイズのが見つからず迷い始める。10桁表示目指そうとするとどうしても、ちっちゃくなって数字が見づらいし、でかくすると横幅はみ出すし・・・

結局、まずは秋月で500円ぐらいで買ったLCD(2行16桁)をつかってみることにした。

2行16桁のLCD、文字も表示できる。

マイコンはPro mini Nono(もどき?)

先日の記事ではPro microを買ったと書いてたけど、ちょっとお値段が高くてもったいない気持ちになったので、AmazonでPro mini Nano 5個セットを購入。一つ370円。

電池1本で動かしたかったのでDCDC昇圧モジュールというのも買った。

とりあえず合体

背面プレートは段ボール製。プロトタイプ感がある。
とにかく電池ケースがでかくてツライ。LEDじゃなくて液晶だからコイン電池でもそこそこいけるのかな。

最後に

いちおうハードウェア部分はなんとか形になってきたので、ようやくソフトのほう作る気持ちになってきた。とりあえず四則演算ぐらいはできるようにしよう。

形になってきたといいつつ、実はキーパッドの右端の列がおかしい(左端の列と同じキー押したことになってしまう)。隣の列ならまだしもなんで両端同士が?と不思議だけど。。。 どこかがショートしてるのだろうか。

なんにしても、こうやって単独で動かせる形でモノつくるのはいろいろわからないことが多くて、いろいろと楽しめました。基板も設計して発注してみたいし、ケースもカッコよくしたいし。自作電卓、たっぷり楽しめそうです。

電卓つくってみようかな!

前回の記事で、TENTAKUを作った話を書いたけど、電源スイッチが操作しづらいのと、キー同時押ししたときに0が入力されるのをなんとかしたいと思った。

自作するしか・・・

TENTAKUのソースコードが手に入れば、同時押しのほうは対処出来るかと思ったのだけどやはりコード公開は難しい様子。

ということで、自力で作ってみる。

マイコンはなににする?

マイコンは、自作キーボード界隈をちょっとだけ調べてみるとPro microというボードがよく使われている様子。TENTAKUは今手元にないので詳細見れないのだけどマイコンチップ単品で乗ってたような気がする。

とりあえずお手軽にPro microを使ってみる。とりあえず遊舎工房で売ってたスイッチサイエンス版Pro microというのを買った。
(下のリンクはスイッチサイエンス販売の SparkFun版 )

表示器はどうする?

こちらはまだ迷い中。白黒LCDが電池持ち最高っぽいけど、青色7セグLEDの見た目の良さも捨てがたい。LCDはi2cコントローラ付きで簡単制御できそうだけど、7セグのほうは別途コントローラIC使わないとピンの数的に苦しそう。

ひとまず

いくつか部品を買ってきたのでブレッドボードでお試し動作してみよう。電源どうするかも動かしながら考えてみよう!

こうやってひとまとまりのモノとして電子工作しようとすると、いろいろと難しいポイントが見えてくる・・・。センサーとか有機ELとかを単品でお試しで動かすだけなら簡単だけど。ちゃんとつくるって大変だ。たくさん作ろうとなるといよいよ大変。

HicarixバッジとかTENTAKUとか、本当にすごいなあと思う。

TENTAKUを買ってレーザー刻印した

電卓自作キット

最近、自作キーボードが流行ってますが、その流れ?で電卓の自作キットというのも販売されてます。

テンキー型 電卓自作キット”TENTAKU”

気になってたけど買ってなかった

以前からメカニカルキーの電卓が欲しいなと思っていたので、気になってたけど、キースイッチとキーキャップが付属してなくて、別途入手しないといけないというのが面倒で、手を出してなかった。(このあたりをカスタマイズできるのがキットのいいとこだと思うので付属してないのが当然とは思いますが)

遊舎工房なら一気に全部揃えられそう

TENTAKUは通販のみと思ってたけど、自作キーボード専門店の遊舎工房でも売られてるというのを知って、トライしてみようという気持ちが強まった。

無事ゲット、そして少し困った

福岡から横浜に出張中なので、秋葉原は1時間かからずに行ける。ということで遊舎工房で人気のキースイッチとTENTAKUで使えるキーキャップを教えてもらって、一式購入。

キーボードは好きだけどキースイッチやキーキャップには詳しくなかったのでいろいろ教えてもらったんだけど、一つ困ったのがテンキー部分が印字されたキーキャップのセットというのが存在しないということ。

英字のとこまで含めたフルキー分の印字ありセットを買えばテンキー部分もついてくるけど、いらない英字キー部分までついてくるのでかなり割高になってしまう。

お店の人のアドバイスで、無刻印のキートップとデカールのキットを買った。これを張り付ければ一応それっぽくなるはず。

組み立てとはんだ付け

こまかいチップ部品とかははんだ付けされた状態で、キースイッチだけはんだ付けすればいいのでかなり簡単に完成できた。

どうせならレーザー刻印

デカールは張り付けた後にコーティングが必要だったりとかで、ちょっと手間がかかりそうだったのと、前々からレーザー刻印が気になってたので、よい機会と思って格安レーザー彫刻機を買ってみることに・・・

レーザー彫刻機

Bang goodは値引きの変動が激しいのでよくわからんけど、1万3千円ぐらいで買ったはず。。。

レーザーレーザー

ファブ施設にあるようなすごいのに比べると、めちゃくちゃパワーが弱いので瞬発力に欠ける。ということでゆっくりビームあてると今度は焦げてしまう。のだとおもう。

それでもどら焼きの焼き印みたいなのはできた。

肝心のキートップはどうだったかというと

なんだか焦げ焦げ。さすがに市販キーボードのレーザー刻印みたいにはいかないと思ってたけど、焦げすぎ感がひどい。

レーザー強度と移動速度が調整できるのいろいろいじってみたけど、まったく刻印できない状態の次が真っ黒こげ。ちょうどいい中間状態みたいなのが実現できず。

なんとかぎりぎり妥協できるラインをさぐってできあがったのがこちら。

ソフトのバグなのかレーザーの特性なのか、印刷し始めの上端がかすれ気味(とくに4がひどい)だけど、焦げ跡もふくめて味がある感じに仕上がったということで。。

最後に

電卓自作キットをきっかけにレーザー刻印にも挑戦できてよかった。キットの電源スイッチがちょっと操作しづらいので改造するか、電卓の完全自作にも挑戦してみたい。

ARCore1.7触ってみた その2

先週の土曜日に福岡工業大学で開催されたXR制作会 in 八耐に参加してきたのでその記録。

作ろうとしたもの

ARCoreのAugmented Faces紹介記事によく出てきてる、顔がミスティークみたいなアニメーションで金色になるのと、Developersサイトに載ってる、顔の上にメッシュが透過で描画されるものを作ろうとした。

できなかったこと

イチからのARCoreアプリ作成

新規のシーンからAugmented Facesのアプリを作れなかった。UnityのARCore SDKから、Examples – Augmented Faces – Scenes – AugmentedFacesだとうまく顔認識されるのに、新しいシーンを作って、そこにAR Core Deviceを追加する方法ではうまく動かなかった。

公式サイトの手順通りに新規作成したつもりで、Exampleのシーンと、一から作ったシーンで、オブジェクトのInspectorの内容を一つずつ見比べたりしてみたけど、違いを見つけられず。
https://developers.google.com/ar/develop/unity/augmented-faces/developer-guide
新規シーンを一から作れるようになりたかったので3時間ぐらい、いろいろと試したけどどうにもならなかったのでいったんあきらめた。

透過のワイヤーフレーム表示

透過のワイヤーフレーム表示ができなかった。

「Unity ワイヤーフレーム表示」で検索して出てきたページを参考に、meshにsetIndiciesでMeshTopology.LineとかLineStripとかを設定してみた。
https://qiita.com/2dgames_jp/items/231a18454348cfebd49d

最初、ARCoreAugmentedFaceMeshFilter.csのAwake()でSetIndiciesしてたけどまったく反映されず、_UpdateMesh()のとこで都度都度更新されているようだったので、UpdateMesh()に、

m_Mesh.SetIndices(m_Mesh.GetIndices(0),MeshTopology.LineStrip, 0);

というのを追加してみたら、ひどいことになった。

点をつなぐ順番がめちゃくちゃになってしまってるぽい。何が悪いのかよくわからず。 前回記事に書いた方法でFaceTextureを描画させると、透過はしてないけど、いい感じのMeshに見えるのに。

できたこと

顔が金色になるのモドキ

顔を覆う白色マスクがブラインドチックなアニメーションで動くもの。(ワールド座標基準なので顔を傾けたりしてもブラインドは傾かない・・・)

作り方は次回に続く・・・

ARCore 1.7を触ってみた

テーマ変えたせいか、タイトルのところアルファベット大文字しか入らない。なんでか。

ARCore 1.7がでた

ARCoreがアップデートされて1.7になったそうです。紹介記事で女の人の顔が認識されて金色になる動画がめっちゃかっこいい。しかもすごくきれいに顔の形がとれてるようにみえる。

ぜひ試してみたいということで、ひさびさUnityを起動してAugmented Facesのサンプルアプリを動かしてみました。

手順は完全に公式サイト通り。

UnityにARCoreのSDKを導入

Augmented Facesのサンプルシーンを開く

スクリーンショット取り忘れたので貼りませんが、スマホアプリのSNOWみたいな狐の耳と鼻がオーバーレイ表示されるというサンプルでした。

金色の顔メッシュはどうやれば・・・

Unityど素人なのでまったくどうすればいいのかわからないまま、サンプルシーンのCSファイルを読んでみたり、シーンに配置されているオブジェクトのInspectorのところを見て回った結果、なんとなくARCoreAugmentedFaceMeshFilter.csというところでAugmentedFaceのVerticesとかから顔のMeshを作り上げてるような気がした。

「Unity MeshFilter」とかでググってみたところ、MeshFilterというのがMesh情報の生まれてくるところで、MeshRendererでそれをどうやって描画するか決めるっぽい。あとシェーダーはよくわからん。

よくわからないままサンプルシーンのオブジェクトをいじりまわした結果、FaceTextureというのだけいじればよさそうなので。狐耳鼻のオブジェクトは削除。

サンプルアプリの状態だとFaceTextureに隈取みたいな絵が入ってるようなので試しに黄色一色に置き換えてみたのがこちら。

あと一歩!

FaceTextureのMaterialのShaderというところ、TransparentになってるのをVR/SpatialMapping/Wireframeに変えてみたらそれっぽくなった!(何が起きてるのか理解していない)

最後に

Unity素人すぎてなんか変なことやってる気もするけど、試してみたかったことはできたので満足。次はこのメッシュを保存してBlenderとかで表示してみたい。

あと、MeshFilterとMeshRendererのこともすこしだけ学べてよかった。AR関係なしでシンプルなプリミティブ図形を生成するようなアプリも試してみよう。

スクリーンショットをTwitterに投稿してたやつ、全部Augmentedの綴りを間違っとった。恥ずかしい。

つつうらら