電子工作遍歴をたどる(1)

電子工作遍歴をたどる(1)

経緯

最近、Rubyの界隈で自作キーボードからの派生も含めて電子工作を始める人が増えているようで、もう少し前からやってた自分としては、そんな状況がとても嬉しく小躍りしてます。

私は色々動画とか見つつ、それに憧れて、真似をしたり創作をしたりを繰り返して、だんだん作りたいものを作るのに何をすればよいか判断できるようになってきました。

一応組み込みに近い開発やら研究やらPMの仕事をしてきましたが、直接的にマイコンを触ることはほとんどなかったので、背景知識はありつつも、それ以外は初心者からスタートした人間です。

最初のハードルの高さを超えると一気に楽しくなった実感があるので、そのハードルを下げるお手伝いを色々したいなと思っています。

話は変わりますが、先日、PicoRuby Overflow会議というのがあり、少しポスターセッション的な枠で参加したりして、とてもいい時間を過ごしてきました。そこで色々新しいことの挑戦される方の話を聞いて、応援したい気持ちが更に高まりました。

支援の一つとして、昔書いた「ゼロから始めるmrubyデバイス作り」のLight版を無償公開しました。

https://kishima.github.io/my_books/20250719/my_mruby_device_light_v1.0.pdf

私も最初から、基板を作ったりしたわけではなく、色々既存のものを組み合わせたり、真似したりして楽しむところからのスタートでした。ネットを眺めるとすごい作例ばかり目につきますが、誰でも最初は小さなところからのスタートだったはずなので、その過程の例を紹介できれば、電子工作の気持ちの面での壁を超えるサポートができるかと思って、作例を紹介することにしてみました。守破離の流れをお伝えできればと思います。

最初の2つは思い出話から。写真とかはなく。

作例1 じゃんけんマシン

小学生のころ、小学校の図書館にあった工作の本に、ICとか使わずに配線だけで、じゃんけん対戦ができる装置の作り方が書いてありました。

夏休みの自由研究でそれを見様見真似で作ったことがあります。多分これが記憶に残っているうちで最初の電子工作だと思います。

はんだ付けもした記憶があります。ホームセンターに売ってる安いはんだごてで、人にも聞かずだいたいは一人で延々と取り組んでた記憶があります。当時の状況を思うと、感傷的になる思い出です。

どんな回路だったんだろうなあ。あの本をもう一度読んでみたい。

作例2 音でLEDが光るマシン

多分その次の年の夏休みに作ったもの。小学6年生でしょうか。

当時かそのちょっと前、音に反応してくねくねするダンシングフラワーが流行っていて、それを見て、音で反応するトリガーにできるのなら、何か光らすことができるんじゃないかと思い、ダンシングフラワーを分解しました。

ダンシングフラワーのコアを、スイッチを入れると複数のLEDがチカチカする電子工作キットのスイッチとして無理やり合体させました。

電圧とか電流とかよくわかってないのに、よくやったなあ、と思います。

たぶんこれが最初の創作電子工作だと思います。

それ以降は、BASICを触り始めたり、部活が忙しくなって、電子部品関連触るのは大学の工学部の授業までおあずけになります。

大学では電気系だったので、最低限の電気回路関係の基礎は学びました(不真面目な生徒でしたが)。当時はどうやって使う知識なのかよくわかってなかったですが、電子工作を始めてやっと肌身をもって感じことができた知識も多いです。

作例3 ラズパイ遊びとUSBスピーカー

ここからが本番です。

時間は流れて、2017年。2016年まで仕事で海外行ったり来たりで、人生で最高にやばい時間を過ごしてた反動で、何かいままでやりたいと思ってできてなかったこととして、電子工作にも手を出そうと思いました。

それと、確かその前のやばい仕事で、HW屋さんとソフトウェアのPMとして初めてバチバチやりあった経験もあって、HW屋さんとの会話について行けるように電子機器の基礎知識を付けたいという思いもありました。仕事で長年組み込みやっているフリーランスの方にもArduino使った治具作ってもらって助けてもらったのもあり、それくらい自分で作れるようになりたい、という思いとかいろいろ重なっていたように思います。

で、まずはラズパイ3を買って、モニタ付きのセットに乗せてみたりしました。

ゲームを動かしたりしたくて、USBスピーカーを繋ぎましたが、ちょっと市販品が大きかったので、練習がてら、小さなスピーカー+アンプ回路+USBオーディオ変換を合体させて、小さなUSBスピーカーを作りました。

ここのあたりからコロナ期になるまでの数年間集中的にいろいろ作りました。

市販のUSBスピーカーを繋ぐ
ラズパイ搭載モニタ
USBオーディオ変換を分解して信号と電源を横取り
アンプの基板(秋月?)
なんか試してた。はんだ付け汚い

Read more

関西Ruby会議08で発表してきました

関西Ruby会議08で発表してきました

ありがたいことに投稿した発表が採択されたので、2025/6/28 京都にて開催された関西Ruby会議08にて、発表してきました。 とてもよい2日間だったので、その記憶を残しておきたいと思います。 CFPに応募した経緯 2月にあったTokyu.rb(=飲み会)に参加した際に、どんな話の流れだったか覚えてないですが、@makicamelさんから、kishimaさんも参加しましょうよ!という話をしてもらって、それがきっかけで、イベントの存在を知りました。 遠征するのであれば、発表するくらいの理由がほしいと思っているのと、久しぶりに個人開発も再開していきたいと思ったので、会議ドリブン開発も意図して応募してみました。 直近の半年くらいのお仕事がROS 関係でだいぶ忙しく、その分、未知の分野の経験が蓄積された感触があったので、これをなんとかRubyの世界に引っ張ってきたいと思って生まれたテーマです。 当日までの準備 久しぶりに本格的にmruby触るので、勘所復習するところからで、なかなか大変でした。特にビルド環境整理したり、寄り道でPicoRuby関係のデバッグしたりに時間をだい

By kishima

PicoRubyベースのミニコンピュータ

先日、SNSを見ていたらPicoCalcというデバイスを見つけた PicoCalc | ClockworkPiClockworkPi - Creators of PicoCalc uConsole DevTerm and GameShell, Open Source Portable Hardware for Every Dev.ClockworkPi これはclockworkから出ているRaspberryPi Picoをコアとして、キーボードとモニタを搭載したスタンドアロンなポケットコンピュータキットです。 clockworkはRaspberryPiベースのロマンあふれるデバイスをこれまで提供している会社で、私も昔クラウドファンディングに参加したこともありました。 私自身も、以前、ラズパイをタカチケースに入れて気合でポケコンもどきを作ったりしたこともあったので、この洗練された筐体には当然心が躍りました。 デフォルトで動くのはBasicで、これもまた味わいがあってよきですが、やはり自分としてはmruby動かしたい、ということで、Raspi PicoといえばPicoRubyの出

By kishima

PicoRubyを理解する1

PicoRubyA Ruby interpreter implementation for one-chip microcontrollers - PicoRubyGitHub ちゃんと中身を理解できてなかったので、コードや資料を読んで理解したい。 特にパーサーやVMの周りをどうやって小さくできているのか。 まずは基礎知識から。 公式情報 PicoRuby DocumentationAPI documentationPicoRuby Documentation 羽角さんの資料 2025 MicroRuby: True Microcontroller RubyRubyKaigi 2025, #rubykaigiRubyKaigiRubyKaigi 2025 で発表したMicroRubyとはなんだったのかMicroRuby: True Microcontroller Ruby というタイトルの発表をしました。hasumikin MicroRubyとは? Ruby会議には参加できてないので、詳細はブログの記事からの理解ですが、以下のような、図のような感じなのかと

By kishima

RubyとROS 2

普段仕事でROSを触るときはPythonかC++を利用することになるが、Ruby好きとしては、やはりRubyでもノードを書いたりしたくなる。 ということで、すこし調べてみた。 ROS 2以前 調べるとROS 2ではなくて、ROSに関する取り組みはあるようだった。 GitHub - OTL/rosruby: ruby ROS client.ruby ROS client. Contribute to OTL/rosruby development by creating an account on GitHub.GitHubOTL 九州工業大学の田中先生の研究室の学生さんの記事。対象はNoetic。 【Ruby】RubyでROSを動かしてみた - Qiita九州工業大学 田中和明研究室の大学院生です。Rubyと産業用ロボットに関する研究に携わっています。背景ROSでロボットを動かす場合、一般的にはPythonやC++を使用したプログラムが基本です。…Qiitatytymch ROS 2対応のrclrb やはり今ならROS 2使いたいので、調べてみると1

By kishima