Slide 1

Slide 1 text

ArduinoͰϞʔλʔ੍ޚϩδοΫΛ࣮૷ͨ͠࿩ Ѩ෦ߞೋ/2021.6.29 RustͷLTձ Shinjuku.rs #16 @ΦϯϥΠϯ 1

Slide 2

Slide 2 text

• ࣗݾ঺հ • ຊ೔ͷςʔϚ • Ϟʔλ੍ޚϩδοΫͱ͸? • ։ൃ؀ڥ • ։ൃͷྲྀΕ • C→RustҠ২࡞ۀͷײ૝ ໨࣍ 2

Slide 3

Slide 3 text

• ໊લɿѨ෦ߞೋ(͋΂ɹ͜͏͡) • ύʔιϧςΫϊϩδʔελοϑגࣜձࣾʹॴଐɻݸਓݟղɻ • ೿ݣͰҩྍػثϝʔΧʹͯबۀதɻ૊ࠐΈιϑτ΢ΣΞ։ൃɻݴޠɿ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 ࣗݾ঺հ

Slide 4

Slide 4 text

• લճͷShinjuku.rs#15ͰॳࢀՃ͍͖ͤͯͨͩ͞·ͨ͠ɻ ɹ ɹRustॳ৺ऀ͕ArduinoΛLνΧͯ͠Έͨ https://speakerdeck.com/grace2riku/rustchu-xin-zhe- gaarduinowoltikasitemita-bb5de094-8ee0-48a6-af6e-a8ce7d430309 ࣗݾ঺հ-2

Slide 5

Slide 5 text

• CίʔυͷϞʔλ੍ޚϩδοΫΛRustʹҠ২ͯ͠Έ·ͨ͠ɻ ɹ૊ࠐΈܥͷ࿩ʹಛԽ͍ͯ͠·͢ɻ ɹҠ২ͷ࡞ۀ಺༰ɺײ૝ͳͲΛڞ༗͍͚ͤͯͨͩ͞Ε͹ͱࢥ͍·͢ɻ Ҡ২ݩιʔείʔυɿhttps://github.com/grace2riku/EVKartArduinoIDE Ҡ২ޙιʔείʔυɿhttps://github.com/grace2riku/avr-hal/tree/add_evkart ຊ೔ͷςʔϚ

Slide 6

Slide 6 text

• ੍ޚର৅͸ιϑτ΢ΣΞ੍ޚ͕ඞཁͳϒϥγϨεϞʔλɻ ɹిݯON͢Ε͹Ϟʔλճస͢Δϛχ࢛ۦͷDCϞʔλͱ͸ҟͳΔɻ Ϟʔλ੍ޚϩδοΫͱ͸?

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

੍ޚʹඞཁͳϚΠίϯपลػೳ͸࣍ͷ௨Γɻ • λΠϚɿ੍ޚλΠϛϯάੜ੒ͷͨΊʹඞཁ(ࠓճ͸10ms) • ֎෦ׂΓࠐΈɿϞʔλҐஔݕग़ͷͨΊ(্ཱ͕ͪΓɺཱͪԼ͕Γͷ྆Τοδݕग़) • ADม׵ɿϞʔλճస਺੍ޚ͠଎౓ΛมߋՄೳʹ͢ΔͨΊ • PWMɿϞʔλۦಈͷͨΊ • ग़ྗϙʔτɿϞʔλۦಈͷͨΊ Ϟʔλ੍ޚϩδοΫͱ͸?

Slide 9

Slide 9 text

Ϟʔλ੍ޚج൘Λյͯ͠͠·ͬͨͨΊ ӈͷ࣮ݧճ࿏Ͱ֬ೝɻ ։ൃ؀ڥ ᶃArduino-mega2560 ᶄϗʔϧηϯα୅ସDIP SWɿࠨ͔ΒWɾVɾUɻ ᶅFET High ୅ସLEDɿӈ͔ΒUɾVɾW ᶆFET Low ୅ସLEDɿӈ͔ΒUɾVɾW ᶇεϩοτϧ (Մม఍߅) ᶃ ᶄ ᶅ ᶆ ᶇ

Slide 10

Slide 10 text

࢖༻ͨ͠ιϑτ΢ΣΞ • avr-hal https://github.com/Rahix/avr-hal • boards/arduino-mega2560/example ҎԼͷαϯϓϧίʔυΛࢀর࣮͠૷ ͍ͯ͘͠ɻ ։ൃ؀ڥ

Slide 11

Slide 11 text

• ։ൃ؀ڥߏங ɹavr-halͷQuickstartهࡌ௨ΓͷखॱͰ؀ڥ͕Ͱ͖Δɻ ɹhttps://github.com/Rahix/avr-hal • ࣮૷ ɹ- avr-halͷαϯϓϧϓϩάϥϜΛࢀߟʹίʔσΟϯάɻ ɹ- ֎෦ׂΓࠐΈͷΤοδઃఆ͸ϚΠίϯͷσʔλγʔτΛࢀরͨ͠ɻ ։ൃͷྲྀΕ

Slide 12

Slide 12 text

ɹ- ֎෦ׂΓࠐΈͷΤοδઃఆ͸ϚΠίϯͷσʔλγʔτΛࢀরͨ͠ɻ

Slide 13

Slide 13 text

ɾ࣮૷͸׬͕ྃͨ͠ظ଴ಈ࡞͸֬ೝग़དྷͣɻσόοάதɾɾɾɻ ɾC→RustҠ২࡞ۀͷ࣮૷͸׬ྃͨ͠ɻײ૝Λڞ༗͍ͤͯͩ͘͞͞ɻ C→RustҠ২࡞ۀͷײ૝

Slide 14

Slide 14 text

ɾRustɾɾɾCΑΓϞμϯʹॻ͚Δͱ͍͏࣮ײΛಘͨɻ ɹॻָ͍͍͍ͯͯ͠ɻ ɹ- ܕਪ࿦͕خ͍͠ɻ ɹ- ϔομϑΝΠϧΛॻ͔ͳͯ͘΋ྑ͍ͷ͕خ͍͠ɻ ɹɹpubΩʔϫʔυͰؔ਺ͷՄࢹੑΛઃఆͰ͖Δͷָɻ ɹɹmodΩʔϫʔυͰϞδϡʔϧΛಡΈࠐΊָͯɻ ɹ- ม਺એݴͰσϑΥϧτ͕Πϛϡʔλϒϧ(ॻ͖׵͑ෆՄ)ͳͷ͕޷͖ɻ C→RustҠ২࡞ۀͷײ૝

Slide 15

Slide 15 text

ɾavr-halͷτϨΠτͷߏ଄(֊૚ߏ଄)͕ྑ͘Θ͔Βͳ͔͚ͬͨͲ ɹrust-analyzerͷ͓͔͛ͰͳΜͱ͔ཧղͰ͖ͨɻ ɹ஌Γ͍ͨ৘ใʹૉૣ͘ΞΫηεͰ͖Δɻɹ C→RustҠ২࡞ۀͷײ૝

Slide 16

Slide 16 text

ɾάϩʔόϧؔ਺ͷ࢖͍ํ ɹstatic mut xxx = xx; ɹϕετϓϥΫςΟεΛௐ΂Δɻ ݸਓతͳ՝୊

Slide 17

Slide 17 text

ɾunwrap͕ྑ͘Θ͔Βͳ͍ɻ ɹࣗ෼ͷதͰ·͓ͩ·͡ͳ͍ͷೝࣝɻ ɹ ݸਓతͳ՝୊

Slide 18

Slide 18 text

ٕज़ॻయ11ͰຊΛग़͢ͷͰΑ͚Ε͹νΣοΫ͍ͯͩ͘͠͞ɻ αʔΫϧ໊͸ʲk-abeʳͰ͢ɻ • ٕज़ॻయ11 https://techbookfest.org/event/tbf11/market એ఻

Slide 19

Slide 19 text

͝ਗ਼ௌɺ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ