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
70
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
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
23
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
46
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
300
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
430
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
310
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
60
テストからより良い組込みソフトウェア開発を考える
kabe
0
73
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則
kabe
1
400
ソフトウェア設計原則【SOLID】を学ぶ #1 単一責務の原則(single-responsibility principle)
kabe
0
260
Other Decks in Programming
See All in Programming
CSC509 Lecture 09
javiergs
PRO
0
140
役立つログに取り組もう
irof
28
9.6k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
CSC509 Lecture 12
javiergs
PRO
0
160
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Featured
See All Featured
Visualization
eitanlees
145
15k
A better future with KSS
kneath
238
17k
The Invisible Side of Design
smashingmag
298
50k
Building Adaptive Systems
keathley
38
2.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Making Projects Easy
brettharned
115
5.9k
Six Lessons from altMBA
skipperchong
27
3.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
RailsConf 2023
tenderlove
29
900
The Pragmatic Product Professional
lauravandoore
31
6.3k
A designer walks into a library…
pauljervisheath
204
24k
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/ 参考情報
ご静聴ありが とうございまし た。