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
96
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
μT-Kernel×AIの学習環境
kabe
0
25
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
130
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
84
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
76
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
120
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
530
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
900
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
520
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
120
Other Decks in Programming
See All in Programming
AgentCoreとHuman in the Loop
har1101
5
250
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
130
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
Python’s True Superpower
hynek
0
110
CSC307 Lecture 01
javiergs
PRO
0
690
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
250
CSC307 Lecture 04
javiergs
PRO
0
660
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
510
CSC307 Lecture 07
javiergs
PRO
1
560
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Site-Speed That Sticks
csswizardry
13
1.1k
Ethics towards AI in product and experience design
skipperchong
2
200
Accessibility Awareness
sabderemane
0
58
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
How GitHub (no longer) Works
holman
316
140k
Raft: Consensus for Rubyists
vanstee
141
7.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Leo the Paperboy
mayatellez
4
1.4k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
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/ 参考情報
ご静聴ありが とうございまし た。