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
Arduinoでモーター制御ロジックを実装した話
Search
k-abe
June 29, 2021
Programming
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Arduinoでモーター制御ロジックを実装した話
2021/06/29(火)RustのLT会 Shinjuku.rs #16 @オンラインの資料
k-abe
June 29, 2021
More Decks by k-abe
See All by k-abe
μT-Kernel×AIの学習環境
kabe
0
65
【連続講座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
690
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
1k
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
660
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
150
Other Decks in Programming
See All in Programming
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
3.7k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.9k
FreeBSDでZabbixを動かす
kenkino
0
330
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
320
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
370
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
260
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
350
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
3.4k
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
750
AHC070解法紹介
eijirou
0
140
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.3k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
390
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Between Models and Reality
mayunak
4
470
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
First, design no harm
axbom
PRO
2
1.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Bash Introduction
62gerente
615
220k
For a Future-Friendly Web
brad_frost
183
10k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
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 એ
͝ਗ਼ௌɺ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ