Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rust初心者がArduinoをLチカしてみた
Search
k-abe
April 28, 2021
Technology
84
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rust初心者がArduinoをLチカしてみた
2021.4.27 RustのLT会 Shinjuku.rs #15 @オンラインの発表資料
k-abe
April 28, 2021
More Decks by k-abe
See All by k-abe
μT-Kernel×AIの学習環境
kabe
0
67
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
180
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
110
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
120
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
130
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
700
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
1k
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
670
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
150
Other Decks in Technology
See All in Technology
Harness Engineering on Rails
joelq
0
770
AIエージェント時代のPlatform as a Product —— テックリードがPdMとして回す発見・導入・計測 / Platform as a Product in the AI Agent Era
toshi0607
1
530
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
250
Meet AgentCore Identity Consent Portal
hironobuiga
2
140
Azure Copilot Resiliency Agentをいろいろ試してみる
tomokusaba
0
140
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
1
260
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
0
160
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
KanaAI
shreyas1009
0
130
The kernel report
ennael
PRO
1
150
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
1
610
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
140
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
250
RailsConf 2023
tenderlove
30
1.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
Prompt Engineering for Job Search
mfonobong
0
460
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
380
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Done Done
chrislema
187
17k
Transcript
Rustॳ৺ऀ͕ArduinoΛLνΧͯ͠Έͨ Ѩ෦ߞೋ/2021.4.27 RustͷLTձ Shinjuku.rs #15 @ΦϯϥΠϯ 1
• ࣗݾհ • ຊͷςʔϚ • ԿނɺλʔήοτArduino? • ࢼͯ͠Έͨ͜ͱ • ײ
࣍ 2
• ໊લɿѨ෦ߞೋ(͋ɹ͜͏͡) • ύʔιϧςΫϊϩδʔελοϑגࣜձࣾʹॴଐɻݸਓݟղɻ • ݣͰҩྍػثϝʔΧʹͯबۀதɻ • ࠐΈιϑτΣΞ։ൃɻ • ݴޠɿCݴޠ
• Rustྺɿࠓͷ3݄ࠒ͔Βຊࠊ͍Εֶͯश։࢝ • ϒϩάɿhttps://k-abe.hatenablog.com/ • Twitterɿ@juraruming ࣗݾհ
• RustͰArduino UNO(ͱಉ͡ϚΠίϯ)ͷLνΧɺͦͷଞपลػೳͷ੍ޚ͕ Ͱ͖ͨͷͰใڞ༗ɻ ຊͷςʔϚ
ࠐΈͰRustΛࢼ͢߹ͷλʔήοτج൘ͷબࢶͷྫ • Arduino • ϥζύΠ • STϚΠΫϩɹNucleoγϦʔζ ARM Cortex-MγϦʔζ •
GR-PEACH ARM Cortex-A • micro:bit • LEGO EV3 • GBA • PSP • ͦͷଞ ԿނɺλʔήοτArduino?
͍Ζ͍Ζબࢶ͕͋Δ͕ArduinoΛબΜͩཧ༝ɾɾɾ • ҎલArduinoΛͬͨ͜ͱ͕͋ͬͨɻ • Arduino UNOͰྑ͍͚Ͳ֎෦σόΠεΛ֎͚͢Δख͕ؒ͋Δɾɾɾɻ • Leafonyͱ͍͏ʮ͍Ζ͍Ζࢼͤͦ͏ͳʯج൘͕ͨ·ͨ·खݩʹ͋ͬͨɻ • LeafonyɾɾɾIoTΤοδσόΠεͱͯ͠ྑ͍ײ͡͡Όͳ͍͔???খͯ͘͞
͍͍֨ɻαϯϓϧίʔυެ։͞Ε͍ͯͨɻ͢͜͠ͷมߋͰRustͰಈ ͔ͤͦ͏ͳײ͡ɻ ԿނɺλʔήοτArduino?
݁Ռɺ࣍ͷ͜ͱ͕֬ೝͰ͖·ͨ͠ɻ ▪Leafony Basic KitʹͯʮόοςϦిѹಡΈऔΓʯαϯϓϧϓϩάϥϜΛ֬ೝͰ͖ͨɻ • I2CϚελͰϥΠτɾϦʔυɻ ɹI2CεϨʔϒͷADίϯόʔλ͔ΒϘλϯిͷిѹΛಡΈग़ͤͨɻ • γϦΞϧ௨৴(ૹ৴) •
LνΧ • ms୯Ґͷ࣌ؒͪ(delay) ※Arduino UNOɺArduino MEGAͰLνΧ֬ೝͰ͖·ͨ͠ɻ ԿނɺλʔήοτArduino?
Leafonyͱ? ԿނɺλʔήοτArduino?
Leafony Basic Kitͱ? ԿނɺλʔήοτArduino?
• ʲavr-halʳͷιʔείʔυΛར༻ͤͯ͞Β͍֬ೝͨ͠ɻ ɹhttps://github.com/Rahix/avr-hal • ࠷ॳʲThe AVR-Rust projectʳΛmacͰࢼ͕ͨ͠։ൃڥߏஙͰ͖ͣʹ࠳ંɻavr- halʹҠߦͨ͠ɻ ࢼͨ͜͠ͱ
• ʲavr-halʳԼهͷϋʔυΣΞΛαϙʔτɻ ࢼͨ͜͠ͱ ɾLeafonyArduino UNOͱಉ ͡ϚΠίϯatmega328pΛ༻͠ ͍ͯΔɻ গ͠มߋͯ͠RustͰಈ͔ͤͳ͍ ͔ͳͱࢥͬͨͷͰௐࠪͨ͠ɻ
• LeafonyͷʮόοςϦిѹಡΈऔΓʯαϯϓϧϓϩάϥϜ(Arduino IDE C Ͱ࣮͞Ε͍ͯΔ)ΛRustʹॻ͖͑Δɻ ɹϚΠίϯͱిݯϦʔϑͷADίϯόʔλI2CͰଓ͞Ε͍ͯΔɻ ɹArduino IDE൛I2CͷWireϥΠϒϥϦͰ࣮͞Ε͍ͯΔɻ ɹRustarduino_uno::I2cMasterͰI2CΛ࣮ݱ͢Δɻ •
ΫϩοΫʹґଘ͢Δॲཧ෦(γϦΞϧɺI2Cɺdelayؔ)Λ16MHz͔Β 8MHzʹมߋɻarduino UNO16MHz, Leafony8MHzͷͨΊɻ ࢼͨ͜͠ͱ
• ݁Ռ ɹavr-hal Arduino UNOͷαϯϓϧϓϩάϥϜΛLeafonyʹ߹Θͤͯগ͠ม ߋͨ͠ͱ͜ΖɺLeafonyͷʮόοςϦిѹಡΈऔΓʯαϯϓϧϓϩάϥϜΛ ࣮ߦͰ͖ͨɻ ࢼͨ͜͠ͱ
• ݁Ռ ԼਤόοςϦిѹ(mV୯Ґ)ͷγϦΞϧσʔλΛද͍ࣔͯ͠Δͱ͜Ζɻ Ϙλϯిͷిѹ(3V)ΛಡΈग़͍ͤͯΔ༷ɻ ࢼͨ͜͠ͱ
• ϒϩάʹগ͠ৄ͘͠ॻ͍ͨͷͰΑ͚Εࢀর͍ͩ͘͞ɻ https://k-abe.hatenablog.com/entry/2021/04/14/125312 • ιʔείʔυGitHubΛࢀরɻ https://github.com/grace2riku/avr-hal/tree/add_leafony ࢼͨ͜͠ͱ
• ҰԠɺRustͰArduinoͱಉ͡ϚΠίϯΛಈ͔ͤͨͷͰྑ͔ͬͨɻ • Arduino IDEಉ༷ɺRustͷavr-halͰϚΠίϯͷϨδελΛҙࣝͤͣʹ ϋʔυΣΞ੍ޚͰ͖ͨɻ • RustͷجຊΛཧղͰ͖͍ͯͳ͍ͨΊɺ͓·͡ͳ͍ͷΑ͏ʹײ͡Δهड़ ͋Δɻ͜Ε͔ΒֶΜͰ͍͖͍ͨɻ •
RustͰArduinoɺબࢶͱͯ͠Ͳ͏Ͱ͔͢? ײ
• avr-hal https://github.com/Rahix/avr-hal • Leafony https://docs.leafony.com/docs/overview/ • Leafony Bacic Kit
https://docs.leafony.com/docs/products/basic/ • Leafony όοςϦిѹಡΈऔΓαϯϓϧϓϩάϥϜղઆ https://docs.leafony.com/docs/examples/beginner/1_p/basic/read_battery/ ࢀরɾҾ༻
͝ਗ਼ௌɺ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ