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
55
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
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
14
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
150
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
160
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
170
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
41
テストからより良い組込みソフトウェア開発を考える
kabe
0
20
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則
kabe
1
260
ソフトウェア設計原則【SOLID】を学ぶ #1 単一責務の原則(single-responsibility principle)
kabe
0
160
ElixirImp#31_書籍【Elixir実践ガイド】の写経の感想
kabe
0
190
Other Decks in Programming
See All in Programming
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
Elm 0.19.0 Changes
bkuhlmann
0
490
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
320
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
170
Hanami and htmx
bkuhlmann
0
200
Build with AI 2024 Seoul - 제로부터 시작하는 Flutter with Gemini 생활 - 박제창
itsmedreamwalker
0
200
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.1k
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
6
880
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
0
180
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
130
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
10
990
A Tale of Four Properties
chriscoyier
150
22k
Building Adaptive Systems
keathley
30
1.9k
GitHub's CSS Performance
jonrohan
1024
450k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
How GitHub (no longer) Works
holman
304
140k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Producing Creativity
orderedlist
PRO
336
39k
Fantastic passwords and where to find them - at NoRuKo
philnash
36
2.5k
How to Ace a Technical Interview
jacobian
272
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
30
46k
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/ 参考情報
ご静聴ありが とうございまし た。