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
Arduinoでモーター制御ロジックを実装した話
Search
k-abe
June 29, 2021
Programming
0
530
Arduinoでモーター制御ロジックを実装した話
2021/06/29(火)RustのLT会 Shinjuku.rs #16 @オンラインの資料
k-abe
June 29, 2021
Tweet
Share
More Decks by k-abe
See All by k-abe
μT-Kernel×AIの学習環境
kabe
0
14
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
130
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
76
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
73
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
110
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
520
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
880
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
510
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
110
Other Decks in Programming
See All in Programming
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
300
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
150
GoLab2025 Recap
kuro_kurorrr
0
790
Vibe codingでおすすめの言語と開発手法
uyuki234
0
160
TestingOsaka6_Ozono
o3
0
260
Basic Architectures
denyspoltorak
0
160
SQL Server 2025 LT
odashinsuke
0
120
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
590
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
430
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
160
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
46
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The Language of Interfaces
destraynor
162
26k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
54
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
270
Balancing Empowerment & Direction
lara
5
830
Transcript
ArduinoͰϞʔλʔ੍ޚϩδοΫΛ࣮ͨ͠ Ѩ෦ߞೋ/2021.6.29 RustͷLTձ Shinjuku.rs #16 @ΦϯϥΠϯ 1
• ࣗݾհ • ຊͷςʔϚ • Ϟʔλ੍ޚϩδοΫͱ? • ։ൃڥ • ։ൃͷྲྀΕ
• C→RustҠ২࡞ۀͷײ ࣍ 2
• ໊લɿѨ෦ߞೋ(͋ɹ͜͏͡) • ύʔιϧςΫϊϩδʔελοϑגࣜձࣾʹॴଐɻݸਓݟղɻ • ݣͰҩྍػثϝʔΧʹͯबۀதɻࠐΈιϑτΣΞ։ൃɻݴޠɿCݴޠϝΠϯɻ • Rustྺɿ2021ͷ3݄ࠒ͔Βຊࠊ͍Εֶͯश։࢝ɻ • ϒϩάɿhttps://k-abe.hatenablog.com/
• Twitterɿ@juraruming • طץٕज़ॻɿ https://techbookfest.org/product/6581675934875648?productVariantID=5815321967460352 https://techbookfest.org/product/4581772882870272?productVariantID=5309574368198656 ࣗݾհ
• લճͷShinjuku.rs#15ͰॳࢀՃ͍͖ͤͯͨͩ͞·ͨ͠ɻ ɹ ɹRustॳ৺ऀ͕ArduinoΛLνΧͯ͠Έͨ https://speakerdeck.com/grace2riku/rustchu-xin-zhe- gaarduinowoltikasitemita-bb5de094-8ee0-48a6-af6e-a8ce7d430309 ࣗݾհ-2
• CίʔυͷϞʔλ੍ޚϩδοΫΛRustʹҠ২ͯ͠Έ·ͨ͠ɻ ɹࠐΈܥͷʹಛԽ͍ͯ͠·͢ɻ ɹҠ২ͷ࡞ۀ༰ɺײͳͲΛڞ༗͍͚ͤͯͨͩ͞Εͱࢥ͍·͢ɻ Ҡ২ݩιʔείʔυɿhttps://github.com/grace2riku/EVKartArduinoIDE Ҡ২ޙιʔείʔυɿhttps://github.com/grace2riku/avr-hal/tree/add_evkart ຊͷςʔϚ
• ੍ޚରιϑτΣΞ੍ޚ͕ඞཁͳϒϥγϨεϞʔλɻ ɹిݯON͢ΕϞʔλճస͢Δϛχ࢛ۦͷDCϞʔλͱҟͳΔɻ Ϟʔλ੍ޚϩδοΫͱ?
None
੍ޚʹඞཁͳϚΠίϯपลػೳ࣍ͷ௨Γɻ • λΠϚɿ੍ޚλΠϛϯάੜͷͨΊʹඞཁ(ࠓճ10ms) • ֎෦ׂΓࠐΈɿϞʔλҐஔݕग़ͷͨΊ(্ཱ͕ͪΓɺཱͪԼ͕Γͷ྆Τοδݕग़) • ADมɿϞʔλճస੍ޚ͠ΛมߋՄೳʹ͢ΔͨΊ • PWMɿϞʔλۦಈͷͨΊ •
ग़ྗϙʔτɿϞʔλۦಈͷͨΊ Ϟʔλ੍ޚϩδοΫͱ?
Ϟʔλ੍ޚج൘Λյͯ͠͠·ͬͨͨΊ ӈͷ࣮ݧճ࿏Ͱ֬ೝɻ ։ൃڥ ᶃArduino-mega2560 ᶄϗʔϧηϯαସDIP SWɿࠨ͔ΒWɾVɾUɻ ᶅFET High ସLEDɿӈ͔ΒUɾVɾW ᶆFET
Low ସLEDɿӈ͔ΒUɾVɾW ᶇεϩοτϧ (Մม߅) ᶃ ᶄ ᶅ ᶆ ᶇ
༻ͨ͠ιϑτΣΞ • avr-hal https://github.com/Rahix/avr-hal • boards/arduino-mega2560/example ҎԼͷαϯϓϧίʔυΛࢀর࣮͠ ͍ͯ͘͠ɻ ։ൃڥ
• ։ൃڥߏங ɹavr-halͷQuickstartهࡌ௨ΓͷखॱͰڥ͕Ͱ͖Δɻ ɹhttps://github.com/Rahix/avr-hal • ࣮ ɹ- avr-halͷαϯϓϧϓϩάϥϜΛࢀߟʹίʔσΟϯάɻ ɹ- ֎෦ׂΓࠐΈͷΤοδઃఆϚΠίϯͷσʔλγʔτΛࢀরͨ͠ɻ
։ൃͷྲྀΕ
ɹ- ֎෦ׂΓࠐΈͷΤοδઃఆϚΠίϯͷσʔλγʔτΛࢀরͨ͠ɻ
ɾ࣮͕ྃͨ͠ظಈ࡞֬ೝग़དྷͣɻσόοάதɾɾɾɻ ɾC→RustҠ২࡞ۀͷ࣮ྃͨ͠ɻײΛڞ༗͍ͤͯͩ͘͞͞ɻ C→RustҠ২࡞ۀͷײ
ɾRustɾɾɾCΑΓϞμϯʹॻ͚Δͱ͍͏࣮ײΛಘͨɻ ɹॻָ͍͍͍ͯͯ͠ɻ ɹ- ܕਪ͕خ͍͠ɻ ɹ- ϔομϑΝΠϧΛॻ͔ͳͯ͘ྑ͍ͷ͕خ͍͠ɻ ɹɹpubΩʔϫʔυͰؔͷՄࢹੑΛઃఆͰ͖Δͷָɻ ɹɹmodΩʔϫʔυͰϞδϡʔϧΛಡΈࠐΊָͯɻ ɹ- มએݴͰσϑΥϧτ͕Πϛϡʔλϒϧ(ॻ͖͑ෆՄ)ͳͷ͕͖ɻ
C→RustҠ২࡞ۀͷײ
ɾavr-halͷτϨΠτͷߏ(֊ߏ)͕ྑ͘Θ͔Βͳ͔͚ͬͨͲ ɹrust-analyzerͷ͓͔͛ͰͳΜͱ͔ཧղͰ͖ͨɻ ɹΓ͍ͨใʹૉૣ͘ΞΫηεͰ͖Δɻɹ C→RustҠ২࡞ۀͷײ
ɾάϩʔόϧؔͷ͍ํ ɹstatic mut xxx = xx; ɹϕετϓϥΫςΟεΛௐΔɻ ݸਓతͳ՝
ɾunwrap͕ྑ͘Θ͔Βͳ͍ɻ ɹࣗͷதͰ·͓ͩ·͡ͳ͍ͷೝࣝɻ ɹ ݸਓతͳ՝
ٕज़ॻయ11ͰຊΛग़͢ͷͰΑ͚ΕνΣοΫ͍ͯͩ͘͠͞ɻ αʔΫϧ໊ʲk-abeʳͰ͢ɻ • ٕज़ॻయ11 https://techbookfest.org/event/tbf11/market એ
͝ਗ਼ௌɺ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ