技術書典には、3からサークル参加をして新刊を出し続けています(12回目)。
当初は VS Code 関連本でしたが、ここ2回はハマっている電子工作の本を出しています。
今回も電子工作の本を出します。
74thの電子工作の課題意識
電子工作を楽しんでいますが、いくつか課題意識がありました。
- NeoPixel を光らせるにも CPU で GPIO を制御しようとしても上手くいかず、そしてどうやれば上手くいくかの見当が付いていない。
- Arduino で制御は書けるが、Arduino のサポートがないとどう書けばいいのかわからない。
- マイコンのデータシート、レファレンスマニュアルには多くのページがあるが、その内容を読み解けるほど理解していない。
- Timer、DMA など、マイコン特有の機能を理解していない。
- RP2040 のプログラマブルIOは良いと聞くが、どう便利なのかわかっていない。
NeoPixel を制御したい、それだけなのに、簡単に思いつく GPIO のH/Lのセットと、delay の組み合わせでは実装できず、ならばどうやれば制御できるのか理解していませんでした。
多くのモジュールは I2C、UART をプロトコルとして持っており、それを利用するファームウェアであれば、Arduino で実装できるくらいのスキルです。しかし、I2C、UARTではないとわかった途端、マイコンにはそれ以外にも機能はあるようですが、どうやって取り組めば良いのかわかっていませんでした。
また、マイコンにはデータシートとリファレンスマニュアルがあり、多くのことが書かれています。しかし、Arduino で触るだけではこれらの内容を必要としたことがなく、一体どういうことが書かれていて、それをどのように使ったら良いのかわかっていませんでした。
RP2040のプログラマブルIOは優れているという記事をいくつか見て、良い機能なのだろうなと思っていましたが、その機能をどうやって使えば良いのかわかっていませんでした。是非使いこんでみたいとおもっていました。
これらの課題意識から、本書の執筆を通して克服し、それをフォローアップするような本を作りたいと思いました。
本書の内容
これは、NeoPixel と呼ばれたりするフルカラーLED WS2812 の制御する方法を、様々なマイコンの機能を使って紹介する内容になっています。制御の仕方の説明ですが、違うマイコンで遭っても通用するように、各機能の「概念」をわかることを目標に書いています。
制御のやり方は、最初は CPU をフル回転させて制御する所から始まり、CPUを使わずにできるマイコンの機能 DMA を使ったり、SPIを流用したりします。すこしだけですが、ESP32のRMTにも触れています。CPUフル回転のところでは、CH32V003という20円で買えるマイコンも使っています。
また、RP2040 のプログラマブルIOについては、プログラマブルIOの概念を理解できるように紹介し、実際にプログラマブルIOで実装した WS2812 の制御コードを記載しています。
なお、32ページのサクッと読めるサイズの本になっています。
目次
目次は以下の通りです。
- フルカラー LED の仕様
- CPU を使って制御する
- タイマーと DMA を使って制御する(STM32F103)
- SPI を使って制御する
- RP2040 の Programable IO で制御する
- その他の方法
- PWM を使った方法
- ESP32 の RMT を使った方法
本書で扱わないこと
STM32 等のマイコンの持つ DMA の機能や、タイマーの機能は多彩であり、それを全て説明するものにはなっていません。
また、NeoPixelを制御するためにアウトプットすることを目標にしており、他のモジュールからデータをインプットすることについては触れていません。
プログラマブルIOの機能も使っているのはほんの一部であり、全てを使い込んだ説明があるわけではありません。
内容のサンプルは技術書典マーケットサイトで公開中
既に技術書典のマーケットプレイスには本書の情報をアップロード済みです。 また、目次、およびサンプルページも掲載しています。
技術書典14オフラインにて
技術書典14 は 5/20(土)からですが、オフラインイベントも5/21(日)に池袋サンシャインシティ 展示ホールD(文化会館ビル2F) にて開催されます。入場無料ですが、入場券が必要です。
当日は、見た目は一緒ですが、制御方法の違うマイコンが動作する様子を展示する予定です。 ぜひ立ち読みだけでもしていただければと思います。
ブース番号は「お07」です。
利用した開発ボードもグッズとして販売予定
なお、今回利用した ProMicroサイズ開発ボードキットも、少数ですが販売予定です。是非良ければこちらも見ていってください。 (そのため、在庫確保のため一時的に Booth から引き上げています)
なお、こちらはオフライン限定です。オフライン終了後に Booth に在庫を戻しますので、オンライン参加の方は5/22以降にboothより購入を検討ください(すぐ発送します!)。
お品書き
最後にお品書きを載せておきます。技術書典オフラインとオンラインではよろしくお願いします。