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
90
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
83
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
59
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
60
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
100
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
440
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
810
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
460
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
100
テストからより良い組込みソフトウェア開発を考える
kabe
0
170
Other Decks in Programming
See All in Programming
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
350
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
380
Introduce Hono CLI
yusukebe
6
3k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
610
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
ALL CODE BASE ARE BELONG TO STUDY
uzulla
27
6.6k
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
140
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
16
6.5k
Cursorハンズオン実践!
eltociear
2
1.2k
AI Agent 時代的開發者生存指南
eddie
4
2k
Le côté obscur des IA génératives
pascallemerrer
0
150
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
11k
Writing Fast Ruby
sferik
629
62k
Faster Mobile Websites
deanohume
310
31k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How GitHub (no longer) Works
holman
315
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Gamification - CAS2011
davidbonilla
81
5.5k
Designing for Performance
lara
610
69k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
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/ 参考情報
ご静聴ありが とうございまし た。