Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RustのHAL(avr-hal)で電子工作~シンデレラペーパークラフトをライトアップ~
Search
k-abe
November 24, 2021
Programming
0
74
RustのHAL(avr-hal)で電子工作~シンデレラペーパークラフトをライトアップ~
2021/11/24 Rust LT Online #5の発表資料。
※該当ソースコードはトラブルのため後日アップロードします。
k-abe
November 24, 2021
Tweet
Share
More Decks by k-abe
See All by k-abe
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
30
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
26
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
34
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
69
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
340
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
580
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
360
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
76
テストからより良い組込みソフトウェア開発を考える
kabe
0
120
Other Decks in Programming
See All in Programming
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
150
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
250
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
250
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
はじめての Go * WASM *OCR
sgash708
1
100
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
610
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
990
sappoRo.R #12 初心者セッション
kosugitti
0
280
React 19アップデートのために必要なこと
uhyo
8
1.5k
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.3k
GoとPHPのインターフェイスの違い
shimabox
2
210
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.2k
Designing for humans not robots
tammielis
250
25k
Become a Pro
speakerdeck
PRO
26
5.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Writing Fast Ruby
sferik
628
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
Designing Experiences People Love
moore
140
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Transcript
RustのHAL(avr-hal)で電子工作 ~シンデレラペーパークラフトをライトアップ~ 2021/11/24 パーソルテクノロジースタッフ株式会社 阿部 耕二
[email protected]
Twitter: @juraruming
目次 ▪自己紹介 ▪何をしたか? ▪目的 ▪何をしたか?(詳細) ▪結論 ▪ご注意 ▪参考情報
▪名前:阿部 耕二(あべ こうじ) ▪所属:パーソルテクノロジースタッフ株式会社 ▪組込みソフトウェア開発。C言語・ベアメタル開発がほとんど。 ▪Twitter:@juraruming 自己紹介
▪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の知見など)
シンデレラペーパークラフトを Leafony(小型の基板。Arduinoと同じマイコン使用)でライトアップ(PWMでLEDを調 光)した。 実装にはRustのavr-halを使用した。 何をしたか?
シンデレラペーパークラフト(DAISOさん製)
システム全体像
・娘(4才女子)の新しいお もちゃ作りを兼ねて、Rust の学習。 目的
▪avr-halをLeafonyで使えるようにした。 •クロックに依存するパラメータを変更 ・LeafonyはArduiono UNOと同じマイコンを使っているがクロックが違う。 Leafony:8MHz, Arduino UNO: 16MHz •PWM制御を実装 ・PWM制御のサンプルコードを参照し
PWM制御を実装。 サンプルコードのPWM制御する出力ポートを変更した。 何をしたか?(詳細)
•開発環境〜実装まで含めて簡単にできた。 ・avr-halのREADMEの通りに簡単に環境構築できた。 •Rust(avr-hal)×Arduinoを電子工作の選択肢としてどうでしょうか? ・avr-halは各種Arduinoシリーズをサポートしている。 ・PWM制御の他にも各種ペリフェラルのサンプルプログラムがある。 結論
結論 左:avr-halでサポートしているArduino/右:Arduino UNOのサンプルプログラム
•今回紹介したシステムはavr-halの次のコミットをフォークし作成しました。 ・2021/4/7 885e8ec avr-halは日々進化しており、最新コミットとこの資料の内容に違いが生じていること にお気をつけください。 最新コミットで今回のソースコードをコンパイルするとエラーになりました。 ご注意
▪avr-hal https://github.com/Rahix/avr-hal ▪Leafony https://docs.leafony.com/ ※今回使用したキットはBasic Kit。 https://docs.leafony.com/docs/products/basic/ 参考情報
ご静聴ありが とうございまし た。