Slide 1

Slide 1 text

RustのHAL(avr-hal)で電子工作 ~シンデレラペーパークラフトをライトアップ~ 2021/11/24 パーソルテクノロジースタッフ株式会社 阿部 耕二 koji.abe@persol.co.jp Twitter: @juraruming

Slide 2

Slide 2 text

目次 ■自己紹介 ■何をしたか? ■目的 ■何をしたか?(詳細) ■結論 ■ご注意 ■参考情報

Slide 3

Slide 3 text

■名前:阿部 耕二(あべ こうじ) ■所属:パーソルテクノロジースタッフ株式会社 ■組込みソフトウェア開発。C言語・ベアメタル開発がほとんど。 ■Twitter:@juraruming 自己紹介

Slide 4

Slide 4 text

■TOPPERS開発者会議2021(2021/10/24開催)のLT ●RustのHAL(avr-hal)でLeafonyを動かした件 ■技術書頒布 技術書典11(2021/7/10開催) ●CからRustにモータ制御ロジックを移植する https://techbookfest.org/product/5841041691246592?productVariantID=585897011 7865472 自己紹介2 (最近のRustの知見など)

Slide 5

Slide 5 text

シンデレラペーパークラフトを Leafony(小型の基板。Arduinoと同じマイコン使用)でライトアップ(PWMでLEDを調 光)した。 実装にはRustのavr-halを使用した。 何をしたか?

Slide 6

Slide 6 text

シンデレラペーパークラフト(DAISOさん製)

Slide 7

Slide 7 text

システム全体像

Slide 8

Slide 8 text

・娘(4才女子)の新しいお もちゃ作りを兼ねて、Rust の学習。 目的

Slide 9

Slide 9 text

■avr-halをLeafonyで使えるようにした。 ●クロックに依存するパラメータを変更 ・LeafonyはArduiono UNOと同じマイコンを使っているがクロックが違う。  Leafony:8MHz, Arduino UNO: 16MHz ●PWM制御を実装 ・PWM制御のサンプルコードを参照し PWM制御を実装。  サンプルコードのPWM制御する出力ポートを変更した。 何をしたか?(詳細)

Slide 10

Slide 10 text

●開発環境〜実装まで含めて簡単にできた。 ・avr-halのREADMEの通りに簡単に環境構築できた。 ●Rust(avr-hal)×Arduinoを電子工作の選択肢としてどうでしょうか? ・avr-halは各種Arduinoシリーズをサポートしている。 ・PWM制御の他にも各種ペリフェラルのサンプルプログラムがある。 結論

Slide 11

Slide 11 text

結論 左:avr-halでサポートしているArduino/右:Arduino UNOのサンプルプログラム

Slide 12

Slide 12 text

●今回紹介したシステムはavr-halの次のコミットをフォークし作成しました。 ・2021/4/7 885e8ec avr-halは日々進化しており、最新コミットとこの資料の内容に違いが生じていること にお気をつけください。 最新コミットで今回のソースコードをコンパイルするとエラーになりました。 ご注意

Slide 13

Slide 13 text

■avr-hal https://github.com/Rahix/avr-hal ■Leafony https://docs.leafony.com/ ※今回使用したキットはBasic Kit。 https://docs.leafony.com/docs/products/basic/ 参考情報

Slide 14

Slide 14 text

ご静聴ありが とうございまし た。