北海道情報大学オープンキャンパス模擬講義「IoTプログラミング演習」の資料
ւಓใେֶ ΦʔϓϯΩϟϯύε ٖߨٛʢใϝσΟΞֶ෦ ใϝσΟΞֶՊʣ౬ଜ ཌྷ!"#$%&'()&*+,-./.012-./.41,5"67"8"519:1;:7<ࢿྉΞοϓϩʔυࡁhttps://speakerdeck.com/yumulab/hiuoc2022
View Slide
!"#$%#&'• IoT֓ཁ (15)• IoT (ArduinoγϛϡϨʔλ) ԋश (30)• ͦͷଞɾ·ͱΊɾ࣭ (5)2
!"#=>
()*+,• Internet of Things• Ϟϊ͕Πϯλʔωοτʹܨ͕Δ• ϋʔυΣΞΛѻ͏γεςϜͷϓϩάϥϛϯά• ޫɺಈ͖ɺԻ ͳͲͳͲ• ΞϓϦήʔϜͷϓϩάϥϛϯάͱԿ͕ҧ͏͔ʁ• ΞϓϦήʔϜίϯϐϡʔλͷதʹด͍ͯ͡Δ• ϑΟδΧϧίϯϐϡʔςΟϯάίϯϐϡʔλͷ֎ͷσʔλΛऔಘͨ͠ΓϋʔυΣΞΛಈ͔͢• ʮࠐΈίϯϐϡʔςΟϯάʯʮϑΟδΧϧίϯϐϡʔςΟϯάʯͱڞ௨͋Δ (एׯҧ͏߹͋Δ)4
()*-./05૯লಈըνϟϯωϧ ʹ͓͚ΔIoT׆༻ࣄྫհhttps://youtu.be/6UIQiSYPwfg
()*-./06૯লಈըνϟϯωϧ հޢʹ͓͚ΔIoT׆༻ࣄྫհhttps://youtu.be/MPQwGPLNeto
()*-./07૯লಈըνϟϯωϧ ړۀʹ͓͚ΔIoT׆༻ࣄྫհhttps://youtu.be/ja0lJk9_yWg
12345678• ͍Ζ͍ΖͳπʔϧɾςΫϊϩδʔ͕ΘΕΔ• Χϝϥը૾ղੳ• ηϯα• Ϟʔλʔ• LED• ϫϯϘʔυϚΠίϯ8͜ͷߨٛͷର
9:;<=>?@:• ී௨ͷPCͱൺͯ• ͍҆🙆• খ͍͞🙆• ফඅిྗ🙆• ੑೳ͍🙅9M5Stack Basic (¥5,203)https://ssci.to/3647Arduino Uno R3 (¥3,300)https://ssci.to/789micro:bit (¥2,200)https://ssci.to/6600Raspberry Pi 4 Model B/ 2GB (¥5,225)https://ssci.to/5681͜ͷߨٛͷର
ABCDEF)• ʮΞϧσϡΠʔϊʯͱಡΈ·͢• ͨͿΜੈքҰ༗໊ͳϫϯϘʔυϚΠίϯ• ͍҆ޓ͋ΔɿύνϞϊ͡Όͳͯ͘ΦʔϓϯιʔεϋʔυΣΞ• Arduino IDEͰ։ൃɿC++ݴޠ10Arduino Uno R3https://ssci.to/789 Arduino IDE
*EFGHBIJCKLKABCDEF)MNOP• ͑Δ෦ଟ͘ɺ͍ΖΜͳ͜ͱ͕Ͱ͖Δ• ߨٛTinkercadΛͬͯਐΊ·͢• ※ Tinkercadʹଞʹ3DϞσϦϯάπʔϧؚ·Ε͍ͯ·͕͢ɺ͜ͷߨٛͰ3DϞσϦϯάπʔϧͷػೳ༻͠·ͤΜ11
!"#*+
*EFGHBIJCRSTUV2• Google ChromeΛ։͘ (σεΫτοϓͷγϣʔτΧοτ͔Β)• ΞυϨεόʔʹ https://bit.ly/hiu2022ͱೖྗ13
*EFGHBIJCRSTUV2• χοΫωʔϜͰࢀՃ → χοΫωʔϜΛೖྗ• χοΫωʔϜͨ͠ࢴʹॻ͍͍ͯ·͢ (hiu01ʙhiu30)14ΫϦοΫ هೖΫϦοΫ※ ՈͰΔͱ͖ https://www.tinkercad.com/ ʹΞΫηεͯ͠ʮΞΧϯτΛ࡞ʯ·ͨʮଞαʔϏεΞΧϯτ(Google / Apple / Microsoft / Facebook)ͰαΠϯΠϯʯ͍ͯͩ͘͠͞
WUXYZ#6[15ʮճ࿏ʯΛબΫϦοΫ
YZMNOP• ԋशͰجຊతʹ͜ͷը໘Λ͍·͢16໊લΛΫϦοΫͯ͠ฤू͠Α͏෦ΛΫϦοΫ → ஔ(υϥοάˍυϩοϓͰOK)
!"37^+• (1) LEDΛޫΒͤΔ• (2) NeoPixel (LEDςʔϓ) ΛޫΒͤΔ• (3) NeoPixelͷ৭Λม͑ͯΈΔ• (4) LCDΛಈ͔ͯ͠දࣔจࣈΛม͑ͯΈΔ• (5) ͍ΖΜͳ෦(ελʔλʔ)Λಈ͔ͯ͠ΈΔ• ͨͿΜશ෦Ͱ͖ͳ͍ͷͰɺͥͻ͓͏ͪͰͬͯΈ͍ͯͩ͘͞17
_`aRbcd718໊લΛΫϦοΫͯ͠ฤू͠Α͏෦ΛΫϦοΫ → ஔ(υϥοάˍυϩοϓͰOK)
19෦ͷࢠΛΫϦοΫ→ଓઌࢠΛΫϦοΫ_`aRbcd7
20ಈ͔͢ʹ͜͜ΛΫϦοΫ_`aRbcd7
21ɹΫϦοΫͰ෦બ→ BackspaceͰআshiftΛԡ͠ͳ͕ΒΫϦοΫ͢ΔͱෳબՄೳUndoctrl+zͰՄ_`aRbcd7
22ϚεϗΠʔϧͰը໘֦େ/ॖখ෦ͷճస(Shiftԡ͠ͳ͕ΒΫϦοΫͰٯճస)ϓϩύςΟมߋͳʹͳ͍ͱ͜ΖΛυϥοά͢Δͱը໘Ґஔͷௐ_`aRbcd7
eH)fEgHh• AdafruitࣾͷϚΠίϯଂϑϧΧϥʔLED• ͭͳ͛ͯ૿ͤΔʂ• ςʔϓঢ়ɺϦϯάঢ়ʹͭͳ͕͍ͬͯΔΛ͏͜ͱ͕ଟ͍• ੍ޚʹArduinoͳͲΛ͏• ϥΠϒϥϦΛ͍͍͑ײ͡ʹͰ͖ΔͷͰɺ੍ޚํ๏ͷৄࡉΛΒͳͯ͘େৎ23Adafruit Industries, NeoPixel RGBW LEDs w/Integrated Driver Chip - Natural White[~4500K - Black Casing - 10 Pack]https://www.adafruit.com/product/2761$5.95 / 10ݸεΠοναΠΤϯε, NeoPixel Ring- 12࿈ϑϧΧϥʔγϦΞϧLEDhttps://www.switch-science.com/catalog/1593/1,177ԁAdafruit Industries, NeoPixel Digital RGB LED Strip- White 30 LED - WHITEhttps://www.adafruit.com/product/1376$16.95 / meter
eH)fEgHhRbcd7• ελʔλʔ (෦ͷΈ߹Θͤ)ͷஔ241. ελʔλʔ͔Β“Arduino” Λબ2. NeoPixelΛબͯ͠ஔ3. γϛϡϨʔγϣϯΛ։࢝ࢀߟɿ࣮ࡍͷNeoPixel
eH)fEgHh#b7iRjk7• ίʔυ (ϓϩάϥϜ/εέον) ͷฤूํ๏25ʮίʔυʯΛΫϦοΫ
eH)fEgHh#b7iRjk7• 25ߦͷredColor, greenColor, blueColorΛফͯ͠ 0ʙ255ͷ͖ͳࣈʹॻ͖͑• ॻ͖͑ͨΒʮγϛϡϨʔγϣϯΛ։࢝ʯΛΫϦοΫ26͜͜Λॻ͖͑ྫ͑
_la• Liquid Crystal Display (=ӷথσΟεϓϨΠ) ͷུ• ArduinoͷΑ͏ͳϚΠίϯϘʔυͰใΛදࣔ͢Δوॏͳखஈ• 16 × 2 (ԣ16จࣈɺॎ2จࣈ)• ઢ͕େม• ελʔλʔʹઢࡁΈͷͷ͕͋ΔͷͰɺͦΕΛ͏ͷָ͕27ळ݄ిࢠ௨, ̡̘̙ΩϟϥΫλσΟεϓϨΠϞδϡʔϧɹ̍̒×̎ߦɹόοΫϥΠτനൈ͖https://akizukidenshi.com/catalog/g/gP-02919/800ԁ
_la• ελʔλʔ͔ΒʮLCDʯΛબ28LCDΛબͯ͠ஔ
_la• ʮίʔυʯˠʮจࣈʯΛબ29
_la• ʮଓߦʯΛΫϦοΫ30
_la• දࣔ͢ΔจࣈɺࣈͷҐஔΛม͑ͯΈ·͠ΐ͏31͜͜Λॻ͖͑͜͜ॻ͖͑ͯΈͯOK
XmnopqrsQ• ͍ΖΜͳελʔλʔ͕͋ΔͷͰ͍Ζ͍Ζࢼͯ͠Έ·͠ΐ͏• جຊతʹɺஔ࣮ͯ͠ߦ͢Δ͚ͩͰಈ͖·͢• Α͘Θ͔Βͳ͍ͷ͋Δͱࢥ͍·͕͢• Իͷग़Δͷ͋ΔͷͰҙ• ͨ͘͞Μஔ͢Δͱಈ࡞͕ॏ͘ͳΔͷͰɺ͍ऴΘͬͨ෦ফ͠·͠ΐ͏ (બͯ͠BackSpaceΩʔ)32
?@ABCDE
xyzeH)fEgHh{<=|}~•€• 3ຊͷଓ͕ඞཁɿ৴߸ઢɺ5VɺGND• ଓͯ͠૿͢͜ͱ͕Ͱ͖Δ• Կݸ·ͰଓͰ͖Δʁ → ߋ৽ϨʔτʹΑΔ• Tinkercadͩͱ100ݸۙ͘ͳΔͱॏ͘ͳΔ34͜ΕͰ1ݸ0 1 2 3 4 5 6 7891011৴߸͕ྲྀΕΔํͭͳ͛ͯ૿ͤΔ(ಉ͡छྨͷࢠΛଓ)DIN:৴߸ઢೖྗ(Digital IN)5VGNDDO:৴߸ઢग़ྗ(Digital OUT)
•EIB)‚ƒE„• ଞͷϚΠίϯϘʔυ micro:bitʢϚΠΫϩϏοτʣհ͠·͢• 2015ʙ ։ൃ͞Εͨڭҭ༻ϚΠίϯϘʔυ• ΠΪϦεͰখֶੜʹແঈ͞Εͨ• ݱࡏϚΠΫϩιϑτࡿԼͷϓϩδΣΫτ• 2020ʹv2ʹόʔδϣϯΞοϓ• LED 5×5 = 25ݸɺϘλϯ2ݸɺεϐʔΧɺϚΠΫɺ໌Δ͞ηϯαʔɺՃηϯαʔɺ࣓ྗηϯαʔɺԹηϯαʔɺແઢ௨৴ػೳʢBLEʣΛࡌ35εΠοναΠΤϯε, micro:bithttps://ssci.to/66002,200ԁ※ ಋମෆͷӨڹͰݱࡏࡏݿͳ͠ɺೖՙະఆ
•EIB)‚ƒE„• Webϒϥβͷ։ൃڥͰ։ൃ͢Δ• ϒϩοΫɺJavaScriptɺPythonͰ։ൃ• ͲͷίʔυͰॻ͍ͯޓੑ͕͋ΔʢมՄೳʣ• ։ൃڥʹγϛϡϨʔλ͕ଐ͢Δ36
pq#…†37εΠοναΠΤϯε, ArduinoΛ͡ΊΑ͏Ωοτhttps://ssci.to/1814,400ԁεΠοναΠΤϯε, The ArduinoStarter Kitʢຊޠ൛ʣhttps://ssci.to/262812,731ԁεΠοναΠΤϯε, M5GO IoTελʔλʔΩοτ V2.6https://ssci.to/73639,845ԁ• ͬͱֶͼ͍ͨਓɺͥͻ࣮ػΛߪೖͯ͠Έ͍ͯͩ͘͞• ࠷ॳΩοτ͕͓͢͢ΊͰ͢• Arduino୯ମͩͱ΄ͱΜͲԿͰ͖ͳ͍• ύʔπબͼ͕͍͠
s?‡ˆ‰?Š:s• ΩοτɺϚΠίϯɺNeoPixelɺߴՁ֨ଳηϯα(¥1,000Ҏ্)38
‹Œ•Ž••• Ձ֨ଳ෦(߅ɺLEDɺεΠονɺIC)ɺܭଌػث• ळ༿ݪʹ࣮ళฮ͕͋Γ·͢39
‘’“”• ࡳຈʢ୪খ࿏̓ஸʣʹ͋ΔͷͰɺ࣮ػΛݟͨΓ͙͢ʹങ͍ʹߦ͖͔ͨͬͨΒ͜͜40
•–—˜41౻ݪຑཬࡊ, ແବͳϚγʔϯΛൃ໌͠Α͏! (2021)Ϊϟϧి, Ϊϟϧిͱͭ͘Δ!όΠϒεςϯΞήαΠόʔύϯΫޫΓిࢠ࡞ (2021)ArduinoΛ͡ΊΑ͏ ୈ3൛(2015)
•–*™E„„HB42@shiropen2 @make_jp @fabcrossjp
•–š)D*DƒHˆ›:œ•43Πνέϯ ແବͮ͘Γ
žŸ ¡• ͍ΖΜͳઌੜ͕͍ΖΜͳݚڀΛ͍ͯ͠·͢• ւಓใେֶͦͷଞͷେֶͷWebαΠτΛௐͯΈ͍ͯͩ͘͞44,-./.012-./.41,5"67"8"519:1;:7<