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
500
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
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
87
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
60
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
61
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
100
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
450
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
820
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
460
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
100
テストからより良い組込みソフトウェア開発を考える
kabe
0
180
Other Decks in Programming
See All in Programming
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
2
300
iOSでSVG画像を扱う
kishikawakatsumi
0
180
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
140
Introduce Hono CLI
yusukebe
6
3.3k
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
430
CSC509 Lecture 08
javiergs
PRO
0
270
Developer Joy - The New Paradigm
hollycummins
1
400
SODA - FACT BOOK(JP)
sodainc
1
9.1k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
730
Go言語はstack overflowの夢を見るか?
logica0419
1
680
Swift Concurrency 年表クイズ
omochi
3
220
KoogではじめるAIエージェント開発
hiroaki404
1
270
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
11k
For a Future-Friendly Web
brad_frost
180
10k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Unsuck your backbone
ammeep
671
58k
Navigating Team Friction
lara
190
15k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Cult of Friendly URLs
andyhume
79
6.7k
Bash Introduction
62gerente
615
210k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
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 એ
͝ਗ਼ௌɺ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ