TeensyというArduinoで開発できるボードをご存じでしょうか?
そこそこハイスペックで安価というのが個人的な印象ですが、新しく出た Teensy 4.0 がめちゃくちゃすごいんです。
「やりすぎだろ!」って言いたくなるようなハイスペックなので気になっていたのですが、ようやく手に入ったので使ってみました。
マイコンボード Teensy 4.0 を試してみました

TeensyというArduinoで開発できるボードをご存じでしょうか?
そこそこハイスペックで安価というのが個人的な印象ですが、新しく出た Teensy 4.0 がめちゃくちゃすごいんです。
「やりすぎだろ!」って言いたくなるようなハイスペックなので気になっていたのですが、ようやく手に入ったので使ってみました。
マウスでもダブルクリックやドラッグができるように、ただの押しボタンスイッチでもいろんなアクションをさせたいと思いました。
実装しようにもあまりいい方法が思いつかないんですよね。
1回状態が変化してから一定時間でどれだけ状態が変化したかで見るのはなんとなく分かりますが...
Arduinoでセンサの値を受け取るなどのプロトタイピング的なことをすることは多いですが、そのときに嫌でもついてくるのが「信号処理」です。
別に生データを見るくらいなら特に気にすることもないのですが、それを使って解析するのであれば「それらしい値」が必要です。
自前でプログラムを書いてもいいのですが、面倒じゃないですか。
だったら素晴らしい有志の方が公開しているライブラリを使わない手はありません。
ESP8266はプログラムの無線書き込みができる機能(OTA:On The Air)があるらしいというのを最近知ったので実際にやってみました。
一度書き込み用のプログラムを入れると次からは端子の接続不要で書き込めるのが魅力的です。
「ArduinoOTA」は標準で入っているライブラリで、サンプルプログラムを真似すれば簡単に導入できます。
Visual Studio や VSCodeはIntellisenseが使えて開発効率が上がるので重宝しています。
一方、Arduino IDE はシンプルなのはいいのですが、ようやくベータ版で補完機能が使えるようになる感じで機能としてはいまいちというイメージがまだ拭えません。
そこで「Arduino for Visual Studio」というプラグイン(?)を使って Visual StudioでのArduino開発を試してみました。
Arduino Leonardo はチップ内にUSB通信機能があるため、組み込む際によく使うUSB-シリアル変換器を使わなくてもいいので重宝しています。
そんな Arduino Leonardo ですが、電源を入れてからプログラムが立ち上がるまでに時間が長いと感じてしまいます。
大体8秒くらいでしょうか。
もうちょっと早くならないかと思って調べてみると簡単にできそうなのでその方法を紹介します。
Arduino Zero や Arduino M0 が出てだいぶ経ちますが、未だに使いこなせていません。
というよりも資料が少なく、ライブラリも対応していないものがあったりまだまだ使いづらいのが現状です。
そんな中、最近になってようやく Arduino Zero 用のタイマー割り込みライブラリを見つけました。
なんとAdafruitが出しているじゃありませんか。
「これを使えば・・・!」と思ってダウンロードしてみるも、エラーを吐いて使えないという。
そんなわけで「じゃあ作っちゃおう」ということで自分なりに作ってみました。
Aliexpessを巡っていたら WEMOS XI という Arduino Pro mini 互換機を偶然見つけました。
コアはLGT8F328DというATmega328Pに似たチップのようです。
中華製のクローンのようですがDACとかがついているので少し高機能です。
Arduinoは大抵の基板に搭載されているボタンを押したり、RESETピンをGNDに落としたりすることでリセットをかけることができます。
また、Arduinoにはオートリセット機能があり、プログラムを書き込むときやシリアル通信を開始したときにもリセットされます。
リセットがかかればスケッチの一番最初から実行されますし、変数も初期状態になります。
それをハードウェア上のボタンを押さずにソフトからリセットできるなら便利だと思いませんか?
ここではArduinoでソフトウェアリセットをかける様々な方法を紹介していきます。