Projects
# 2024 # RP2040 # 3D-print # Cyberdeck # adns5050 # rp2040 # gboard # STM32 # Keyboard # RaspberryPi # keyboard # AVR # 2023 # HCI # PCB # pick # 2022 # M5 # PC # 2021 # Ryzen # 2020 # Trackball # 2019 # CNC # laser-cutter # 2018 # Rust # JavaScript # wood # toy # arduino # mp3 # music # tool # Touch # Instruments # command # 2017 # TensorFlow # IR # power # sample # Phone # i2c # Web # React # Security # Scrypt # 2016 # ESP8266 # WebAPI # Tool # OLED # Arduino # 2015 # IoT # ProgrammingLanguage # I2C # 2013 # Ruby # 2010 # 2009 # PIC80% version of Happy hacking keyboard: Mini Hacking keyboard (MHKB)
Happy Hacking keyboardを80%に縮小したキーボード: Mini Hacking keyboard (略称: MHKB)
# 2023 # 3D-print # keyboard # HCI # RP2040 # pickMobile Foldable Keyboard: Pittheus
持ち歩ける折り畳めるキーボード: ピッテウス
# 2022 # 3D-print # keyboard # HCI # STM32 # pickWe created longer keyboard.
長いキーボードを作った。
# 2022 # 3D-print # keyboard # HCI # AVR # M5 # PCB # gboard5th daily-driver DIY keyboard. 常用してる自作キーボード5つ目
# 2020 # 3D-print # keyboard # HCI # Trackball # pick # adns5050名刺サイズキーボードオンリーイベント「meishi展」に出すために作ったキーボード
実用に使うよりは、展示に出すのが目的なので、できる限りの技術を駆使して自作割合を増やすのにこだわった。
# 2019 # CNC # laser-cutter # AVR # HCI # keyboard自作キーボード3つ目。
東京に引っ越してから、通勤時間がだいぶ増えた。 混雑した電車内だとノートPCを取り出すのが難しい時があるのと、 ノートPCはオフラインなのでインターネットに繋ってる方がいいなと思い、 携帯をつないで使う形のキーボードを作成する事にした。
# 2018 # laser-cutter # AVR # HCI # keyboardMost difficult jigsaw puzzle in 9 piece. ピース数が少なくてなるべく難しいジグソーパズルを作った。
# 2018 # laser-cutter # Rust # JavaScript # wood # toygitlab.com/ikeji/linda ちょっとしたシェルスクリプトを書く時に、 ロックが必要になる事は多い。 単純なのならflockコマンドで済むんだけど、 Producer Consumerモデルをやりたいとかなると、 シェルスクリプトだけでは難しい。
そこで、並列プログラミング言語Lindaを、コマンドラインで実装した物を作る事にした。
コマンドラインなので、タプルではなく一行の文字列を正規表現でマッチする事にした。
プロトタイプはSchemeで書いてみたが、 面白そうな話題だったので、各種言語で書いて比較してみるなどした。 最終的には、Rustが一番手頃で良かった。
日々のスクリプトの中で地味に便利に使ってる。
# 2018 # command3軸加速度センサーを組み込んだ杖。 TensorFlowでジェスチャを認識し、赤外線で家電を操作する。
# 2017 # laser-cutter # AVR # HCI # TensorFlow # IRノギスに電源としてスーパーキャパシタをつけた。
何を作るにしてもノギスで測る事は多い。 このノギスは安いのに便利に使ってたのだけど、 いつの間にか電池が無くなってる事が多い。 スライドすると勝手に電源が入るため、 持ち歩いてると電源が入ってしまう事が多いようだ。 ボタン電池は予備の準備も少ないし、 使えないでイライラする事が多い。。
そこで、電池の変りにスーパーキャパシタをつけた。
3.3VのDC/DCコンバータを使って充電してる。
電圧が変動するのが不安だったが、 今の所、壊れたり、不正確になったりしてはいない。
一回充電したら1日使えるし、充電自体も30秒ぐらいで終わる。
もしくは、常に充電しっぱなしにしておいてもいいかもしれない。
# 2017 # tool # power3Dプリンタで印刷する時に、 どこまで下がなくて済むか調べるためにサンプルを作った。
このプリンタでは20度では全く問題ないし、30度でも実用上問題なさそう。
# 2017 # 3D-print # sampleレーザーカッターを使って物を作るようになった。
普通のCADでデザインしてカットしても良いが、 できればプログラマティックな方法でデザインできたら良いなと思い、 JavaScriptでSVGを作るライブラリを作った。
# 2017 # laser-cutter # JavaScript俺が使った物では角が丸い物体を作る事が多い。 しかし、どんぐらい角をまるくするのがいいか決めるのが難しい事が多い。 そこで、物の丸みを調べたり、自身がサンプルになってる物を作った。
# 2017 # 3D-print # sample携帯型ゲーム機を作ってみた。
古いゲームでも、 難易度をあげておくと 意外と面白くなるという知見がえられた。
ボタンなどを含んだケース全体をデザインするという練習。
# 2016 # 3D-print # AVR # OLED同僚の机の上にある鉢植えが水やりを忘れるせいで枯れかかってしまっていた、 そこで、土壌湿度センサを使い、水が足りないと警告を出すようにしてみた。
しかし、警告を無視してしまい、結局枯れた。
# 2016 # RaspberryPiIoT機器から、部屋の電気をつけたり消したりしたいという要望は多いと思うが、 実際作るとなると、100Vが通る線を作らねばならないので敷居が高い。
壁のスイッチの操作が可能だと聞いて、 そこで、壁のスイッチをネットワーク経由で操作できるようにしてみた。
# 2016 # 3D-print # Arduino # ESP8266冷蔵庫の牛乳が切れた時に押すと、メールでお父さんの携帯に通知され、 お父さんが買ってきて冷蔵庫に補充されるシステム。
そもそも有用かわからなかったので、 何回かプロトタイプを作った。
まず、最初に作ったのが、RaspBerryPiにスイッチをガムテープでつけたモデル。 電源はコンセントから取得する。
これがViableであると確認できたので、次に作ったのが、ESP8266で作ったバージョン。 ブレッドボードでさくっと作った。 スイッチ側の電池ケースに単三電池2本を入れて動作している。
この構成で、電池の持ちなどを確認した後、スイッチに収めたバージョンを作成した。 こちらは、ESP8266のモジュールの裏に直接部品を付けて作った。 見た目は元のプッシュスイッチと同じだが、Wifiに接続している。
普段はスリープモードに入っていて、 スイッチを検出してWifi接続、メールの送信を行い、 またスリープモードになる。
これで普通の使い方で半年ぐらいのバッテリー寿命だった。
# 2015 # ESP8266 # IoT今、ブラウザで動くプログラムを書こうと思ったら、 基本的にはJavaScriptで書く事になるわけだけど、 だいたい冗長になる事が多い。 同じようなコードを繰り返し書く事も多いし、 そもそも、functionって長い。
これを短かく済ますにはマクロが欲しい。 型チェッカなんかよりずっと欲しい。 そう思って、自分用にプリプロセッサ処理系を作った。
これ以降、趣味のJavaScriptを書く時はこの処理系を使うようにしてる。
# 2015 # JavaScript # ProgrammingLanguage各種センサーを買ってきていじってたけど、 毎回PCとのインターフェースを作るのが面倒になってきた。
そんな時、rerofumiさんのつみょんを見て、 これいいな、と思ったのがはじまり。 ただ、通信はi2cメインにしようと思った。
そこで、i2c-tiny-usbというアダプタを作り、 それを使いまわす事を考えた。 このアダプタはLinuxカーネルに直接ドライバが入っていて、 /dev/i2c-xxxに繋ってるという優れもの。
あんまり積みすぎると、プルアップが大きくなりすぎたり、 アドレスが衝突したりして、通信できなくなる。
直接RaspberryPiのi2cバスを変換する基板も作った。
# 2015 # AVR # I2Cどこかで見た、毎日笑顔を書きこむ式のカレンダーを自動生成するページを作ってみた。
運動した、喧嘩しなかった、笑顔で話せた、など決めた事を達成したら、 笑顔を書き込んで使う。
最初のバージョンはRubyで直接PDFを生成してた。
今のバージョンはReactとjspdfっていうライブラリで作ってある。
# 2013 # Web # React # JavaScript # Ruby指が8本あれば、1バイトの入力が可能のはず。 という謎理論によって作ったコード入力式キーボード。
結構練習したが、結局ものにならなかった。 学習初期で、一応実用になる速度がでるのがだいじ。
モバイル向けにピボットしたりしたが、計画破棄。
# 2009 # PIC # keyboard