Slide 1

Slide 1 text

#rubymusclemixin τϨʔχʔ bash Rubyͱ💪Λ࡞ΓࠐΉ PicoRubyͱϚΠίϯͰͷࣗ࡞ τϨʔχϯάܭଌ૷ஔΛ༻͍ͨ ϫʔΫΞ΢τͷཧ૝ͱݱ࣮

Slide 2

Slide 2 text

ے೑Λmixin RubyMusicMixin͔Βண૝ ے೑Λ਎ʹ͚ͭΔΞΫςΟϏςΟʔߦ͏Rubyistͱɺ ͜Ε͔ΒRubyistʹͳΔՄೳੑͷ͋Δਓͨͪͷ׆ಈ mixi2ίϛϡχςΟʔͰϦβϧτΛڞ༗͍͋ͬͯ͠·͢

Slide 3

Slide 3 text

Rubyͱ💪Λ࡞ΓࠐΉPicoRubyͱϚΠίϯͰͷࣗ࡞ τϨʔχϯάܭଌ૷ஔΛ༻͍ͨϫʔΫΞ΢τͷཧ૝ͱݱ࣮ 1.ࣗݾ঺հ 2.࣮૷ͨ͠΋ͷͷσϞ 3.ࣗ࡞૷ஔͷΞʔΩςΫνϟͱ։ൃաఔ 5.ຊ࣮૷ͷঢ়گͱࠓޙͷ՝୊ 6.Rubyͱ💪࡞ΓࠐΈͷ͜Ε͔Β

Slide 4

Slide 4 text

bash the #rubymusclemixin trainee

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Πϯδήʔλʔ LEDͷ1~2ߦ໨ɿՃ଎౓ͷ౓߹͍ LEDͷ3~4ߦ໨ɿ଎౓ͷ౓߹͍ LEDͷ5ߦ໨ɿηοτ਺

Slide 7

Slide 7 text

Bluetooth Low Energy ϦΞϧλΠϜܭଌσʔλͷసૹ Bluetooth Serial Port Profile (SPP) ΧϯϚ۠੾Γσʔλ ηοτ൪߸ɺՃ଎౓ɺ଎౓ ػثϩʔΧϧʹ΋อ؅͍ͯ͠Δ

Slide 8

Slide 8 text

͍ΘΏΔʮԿΩϩڍ͕ΔʁʯͷٻΊํ ෛՙઃఆͷج४୯Ґɿ࠷େڍ্ॏྔ(1RM) ݹయతʹ͸ɺԿkgɾԿrep(ճ)ͷ݁Ռ͔Β׵ࢉදΛҾ͍ͯΛਪఆ ڍ্଎౓ͱ࠷େڍ্ॏྔͷ૬ؔͷཧ࿦: Velocity-Based Training(VBT) NCSA Japanػؔࢽ2023೥6݄߸ Velocity-based trainingɿVBTʹΑΔτϨʔχϯάͷՄࢹԽͱύϑΥʔϚϯε޲্ઓུ https://docs.nsca-japan.or.jp/park/30_5_05-12.pdf https://revias.jp/news/40332/

Slide 9

Slide 9 text

ݸਓϨϕϧͰؾܰʹखʹऔΕΔঢ়گʹͳ͍ ਫ਼౓ͷߴ͍ػث͸େֻ͔Γ ؆қతͳ΋ͷ΋ϓϩ޲͚ͷϚʔέοτ Rubyͷॊೈੑ + ϚΠίϯͷखܰ͞ = ߴՁͳઐ༻ػثͳ͠ͰͷVBT࣮ݱ ʮܭଌͱվળͷܧଓʯͱ͍͏RubyͱےτϨͷڞ௨఺Λମݱ͠ɺ ݸਓͰ࣮༻తͳՊֶతτϨʔχϯάܭଌ ʹ৐Γग़͢

Slide 10

Slide 10 text

૷ஔΞʔΩςΫνϟ

Slide 11

Slide 11 text

ATOM Matrix + ATOM TailBAT ATOM Matrix 2020೥ൃച 24 x 24 mm 14gͷখܕܰྔM5Stack ESP32 PICOϕʔε microcontroller 4MBϑϥογϡϝϞϦ 5 x 5 RGBϚτϦοΫεLED + ൫໘Ϙλϯ ੺֎ઢɺWiFIɺBluetooth Ճ଎౓ηϯαʔ MPU6886 GPIOϐϯɺGroveޓ׵I/FɺUSB-C ATOM TailBAT ATOMγϦʔζ༻10gܰྔ֎෇͚όοςϦʔ ిݯON/OFF੍ޚ δϜͷϩοΧʔΩʔόϯυʹڬΉͷʹͽͬͨΓ

Slide 12

Slide 12 text

Raspberry Pi Pico <-> ATOM Matrix Raspberry Pi Picoͷັྗ PicoRuby + R2P2ରԠ 1000ԁͪΐ͍Ͱങ͑Δ ϐϯ͕͍ͬͺ͍ rp2040 ATOM Matrixͷັྗ ESP32 PortingʹΑͬͯ PicoRuby + R2P2͕ಈ͘ 3000ԁ͙Β͍Ͱങ͑Δ ৭ʑೖͬͯΔ ࠓճͷATOM Matrixબఆཧ༝ ෺ཧ഑ઢ͕ෆཁ(࠷௿ݶ) ௥ՃͷػࡐΛങΘͳ͍͍ͯ͘ ᝑମ͕ίϯύΫτʹऩ·Δ Ձ͕͓͔͍֨ࠩͮ͜όοϑΝൣғͰऩ·Δ

Slide 13

Slide 13 text

։ൃͷաఔ

Slide 14

Slide 14 text

ɹ։ൃͷաఔ ATOM MatrixͰHello, PicoRuby LEDΛνΧΒͤΔ Ճ଎౓ηϯαʔ͔Β஋ΛऔΓग़͢ ಈ͖͔Β଎౓ɾՃ଎౓ΛٻΊͯͦΕʹԠͨ͡LEDΛޫΒͤΔ ௨৴΍อଘɺϘλϯ੍ޚͳͲΛ࡞ΓࠐΉ

Slide 15

Slide 15 text

ATOM MatrixͰHello, PicoRuby ಈ͍ͨʂ https://qiita.com/Y_uuu/items/2f9910284b7dfb57d55d

Slide 16

Slide 16 text

LEDΛνΧΒͤΔ ϋʔυ΢ΣΞ͝ͱʹLEDͷ৐͔ͬΓํ͕ҧ͏ ͜Ε͸Raspberry Pi Pico or Pico Wͷ৔߹ ATOM MatirixͰ͸ʁ → Θ͔ΒΜ https://slide.rabbit-shocker.org/authors/hasumikin/RubyConfTaiwan2023/

Slide 17

Slide 17 text

LEDΛνΧΒͤΔ ෆνΧʂʂ ϋʔυ΢ΣΞ͝ͱʹLEDͷ৐͔ͬΓํ͕ҧ͏ ͜Ε͸Raspberry Pi Pico or Pico Wͷ৔߹ ATOM MatirixͰ͸ʁ → Θ͔ΒΜ https://slide.rabbit-shocker.org/authors/hasumikin/RubyConfTaiwan2023/

Slide 18

Slide 18 text

ผͷग़ྗɺLCD ख࣋ͪPicoͰ͸දࣔ੒ޭ ATOM MatrixͰ΋ϐϯͷࠩ͠ํͱࢦఆ͕͋ͬͯΕ͹ ͍͚Δ͸ͣ https://slide.rabbit-shocker.org/authors/hasumikin/RubyConfTaiwan2023/

Slide 19

Slide 19 text

ผͷग़ྗɺLCD ख࣋ͪPicoͰ͸දࣔ੒ޭ ATOM MatrixͰ΋ϐϯͷࠩ͠ํͱࢦఆ͕͋ͬͯΕ͹ ͍͚Δ͸ͣɺ͕ͩͬͨ... require 'i2c' ͕ແ͍ΑͱݴΘΕΔ ͔֬ʹbuild_configͰࢦఆ͕ͳ͍Ͷ conf.gem core: "picoruby-i2c" Λॻ͍͕ͨ௨Βͳ͍ͧ picoruby-i2c/portsʹrp2040͚ͩ͋Δ.... https://slide.rabbit-shocker.org/authors/hasumikin/RubyConfTaiwan2023/

Slide 20

Slide 20 text

ɹೖྗ͔ΒɺՃ଎౓ηϯαʔ Ͳ͏΍ΒI2C઀ଓ͞Ε͍ͯΔɺͱͷ͜ͱ ઌ΄Ͳ٧·ͬͨΑͶ ʮpicoruby-i2c/portsʹrp2040͚ͩ͋Δ....ʯ https://docs.m5stack.com/ja/unit/imu

Slide 21

Slide 21 text

ɹFail Fastͱ͍͏ֶͼͷๅݿ ✅ATOM MatrixͰHello, PicoRuby ❌LEDΛνΧΒͤΔʢLCD΋ʣ ❌Ճ଎౓ηϯαʔ͔Β஋ΛऔΓग़͢ ❌ಈ͖͔Β଎౓ɾՃ଎౓ΛٻΊͯͦΕʹԠͨ͡LEDΛޫΒͤΔ ❌௨৴΍อଘɺϘλϯ੍ޚͳͲΛ࡞ΓࠐΉ

Slide 22

Slide 22 text

ϓϩτλΠϐϯά

Slide 23

Slide 23 text

"ATOMγϦʔζͷϓϩάϥϛϯά؀ڥ" https://pages.switch-science.com/m5cafe/9_ATOM/

Slide 24

Slide 24 text

Arduino IDEͰϓϩτλΠϓ ౷߹։ൃ؀ڥ جຊతʹC/C++ͳεέον(.ino) ֤छhigh-level APIఏڙ ͨ͘͞Μͷεέον࣮૷ྫ

Slide 25

Slide 25 text

Arduino IDEͰϓϩτλΠϓ Arduino IDEͷTechTalkͰ͖Δ΄ͲΈͬͪΓ࣮૷ RubyͰॻ͍ͯಈ͔͍ͨ͠Μ΍ʂ

Slide 26

Slide 26 text

ຊ࣮૷ - PicoRuby࠶௅ઓ

Slide 27

Slide 27 text

ຊ࣮૷ঢ়گ ࣮ݱࡁΈػೳ • Ճ଎౓ηϯαʔMPU6886͔Βܭଌ஋औಘ • τϨʔχϯάͷՃ଎౓ɺ଎౓ͷܭࢉ • 5x5 LEDͰͷՃ଎౓ɺ଎౓ͷ౓߹͍ͷදࣔ • γϦΞϧͰͷϦΞϧλΠϜग़ྗ • (σόοά༻)LCD΁ͷঢ়گग़ྗ ະ࣮૷ͷػೳ • ϘλϯʹΑΔεςʔτͷ੍ޚ • ηοτͷΧ΢ϯτ • BluetoothͰͷϦΞϧλΠϜग़ྗ • ϩʔΧϧετϨʔδอଘ

Slide 28

Slide 28 text

ணखϙΠϯτͷߜΓࠐΈ

Slide 29

Slide 29 text

ணखϙΠϯτͷߜΓࠐΈ require 'i2c'

Slide 30

Slide 30 text

require 'i2c'͕ணखϙΠϯτ ػثͱͯ͠ೖྗͱग़ྗ͕ՔಇͰ͖Ε͹ɺPCϨεͰ࣮஍ʹ͍͚࣋ͬͯΔ Ճ଎౓ηϯαʔMPU6886͸I2C઀ଓ ઌͷLCD AE-AQM0802΋I2C઀ଓ ग़ྗ͚ͩͳΒPCͷγϦΞϧʹग़͢ํ๏΋͋Δ •͔͠͠τϨʔχϯάதʹͦΜͳΏͱΓ͸ͳ͍ LED͸ผ੍ޚํࣜ •@chobishiba͕ؤுͬͯΔ͔Β͓·͔ͤͯ͠ɺޙͰڭ͑ͯ΋Β͓͏ https://docs.m5stack.com/ja/unit/imu

Slide 31

Slide 31 text

picoruby-i2cͷESP32ରԠʹूத https://docs.m5stack.com/ja/unit/imu

Slide 32

Slide 32 text

͋ͬɺ͜ΕRubyKaigi 2025Ͱ ग़ͩͱ͜Ζͩʂ https://speakerdeck.com/yuuu/porting-picoruby-to-another-microcontroller-esp32

Slide 33

Slide 33 text

https://speakerdeck.com/yuuu/porting-picoruby-to-another-microcontroller-esp32?slide=56 Λ΋ͱʹՃච

Slide 34

Slide 34 text

https://speakerdeck.com/yuuu/porting-picoruby-to-another-microcontroller-esp32?slide=58Λݩʹฤू

Slide 35

Slide 35 text

picoruby-i2c ESP32 Portingͷաఔ picoruby-i2c/include/i2c.hͷ࣮૷͢΂͖ؔ਺ϓϩτλΠϓΛཧղ͢Δ picoruby-i2c/ports/rp2040/i2c.cΛཧղ͢Δ ESP32Ͱͷlow-level APIΛཧղ͢Δ picoruby-i2c/ports/esp32/i2c.cΛ࣮૷͢Δ PicoRuby LCDදࣔྫΛATOM MatrixͰಈ͔͢ https://slide.rabbit-shocker.org/authors/hasumikin/RubyConfTaiwan2023/

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

ॿݴˍϨϏϡʔˍϚʔδຊ౰ʹײँ https://github.com/picoruby/picoruby/pull/218

Slide 38

Slide 38 text

Ճ଎౓ηϯαʔMPU6886 I2C઀ଓͳͷͰɺ require 'i2c' ͯ͠i2c.newͯ͠read΍writeΛ͢Δ M5AtomͷϥΠϒϥϦΛΈΔͱ͖Ε͍ RubyͰॻ͍ͯΈͯɺผrepoʹ੾Γग़ͨ͠ •PicoRubyͷίΞͷmrbgem... ͬͯ΄Ͳ͡Όͳ͍ؾ͕ͨ͠ https://docs.m5stack.com/ja/unit/imu https://github.com/m5stack/M5Atom/blob/master/src/utility/MPU6886.h

Slide 39

Slide 39 text

https://github.com/bash0C7/picoruby-mpu6886

Slide 40

Slide 40 text

LED: PicoRuby Patch & mrbgem by @chobishiba https://github.com/ksbmyk/picoruby-ws2812 https://github.com/picoruby/picoruby/pull/226

Slide 41

Slide 41 text

ຊ࣮૷ঢ়گ ࣮ݱࡁΈػೳ • Ճ଎౓ηϯαʔMPU6886͔Βܭଌ஋औಘ • τϨʔχϯάͷՃ଎౓ɺ଎౓ͷܭࢉ • 5x5 LEDͰͷՃ଎౓ɺ଎౓ͷ౓߹͍ͷදࣔ • γϦΞϧͰͷϦΞϧλΠϜग़ྗ • (σόοά༻)LCD΁ͷঢ়گग़ྗ ະ࣮૷ͷػೳ • ϘλϯʹΑΔεςʔτͷ੍ޚ • ηοτͷΧ΢ϯτ • BluetoothͰͷϦΞϧλΠϜग़ྗ • ϩʔΧϧετϨʔδอଘ

Slide 42

Slide 42 text

ࠓޙͷ՝୊ͱల๬

Slide 43

Slide 43 text

ے೑ྔ͸ڳ΋ݞ΋എத΋࿹΋ट΋٭΋શ෦ͨΓͳ͍ ࢷ๱Λམͱ͢ͷ΋΋ͪΖΜେม τϨʔχϯάͷස౓ɾॏྔɾϘϦϡʔϜ͕ඞཁ ӫཆɾٳଉ͸΋ͬͱඞཁ Bulking & Cutting

Slide 44

Slide 44 text

ຖ೔ͷੜ׆ ʮ෼ׂ๏ʯͰߴෛՙ • 4෼ׂɿڳ&ࡾ಄ɺഎத&ೋ಄ɺݞɺ٭ͷϧʔςΟʔϯ • ස౓ߴ͘ճͬͯ͘ΔΑ͏ʹ͢Δ • े෼ͳΠϯλʔόϧΛ։͚ͯ࠷େॏྔΛѻ͏ සճͷ͝൧ • ேɺؒ৯ɺனɺؒ৯ɺ൩ɺؒ৯ • 1೔͋ͨΓͨΜͺ࣭͘120~150gɺࢷ࣭30gɺ୸ਫԽ෺ͳΜ΅͔ ྑ࣭ͳٳଉ • جຊ͸ਭ຾ɻ͜ͷ࣭͸ৗʹѱ͍ • Ϛοαʔδ͸݄1Ͱɺ৬৔ۙ͘ͷεϙʔπϚοαʔδͷࢪज़Λड͚Δ

Slide 45

Slide 45 text

૷ஔͷBulking ຊ࣮૷ͷػೳΧόϨοδ޲্ ESP32 Portingͷ΋Ζ΋Ζ • ྫ͑͹picoruby-ble ESP-IDF Library for M5Stack Seriesͷ High-level APIΛԿΒ͔Ͱ࣋ͬͯ͜Ε΁Μ͔ʁ PicoRubyͷ࠷৽൛΁ͷܧଓత௥ਵ ૷ஔͱͯ͠ͷϏϧυ؅ཧɺϥΠϒϥϦ؅ཧ ܭଌ݁Ռͷ஝ੵͱධՁ

Slide 46

Slide 46 text

૷ஔͷCutting ͢ͰʹϝϞϦ໰୊ʹͿ͔͍ͭͬͯΔ ࠓޙ͞ΒʹਂࠁʹͳΔ ࠓ͸ίʔυΛಡΜͰϜμऔΓͯ͠Δ ϓϩϑΝΠϧͱΓ͍ͨ ͦΕͰ͸CͰॻ͖·͠ΐ͏͸ආ͚͍ͨ PicoRuby͔Β͞Βʹઌ΁ͱਐΉಓͰ΋͋Δ

Slide 47

Slide 47 text

“མͪͳ͍ࢷ๱͸ͳ͍͠ɺ ͔ͭͳ͍ے೑͸͋Γ·ͤΜ” - όζʔΧԬా ϚΠφϏϒοΫε ʰԦऀͷےτϨʱൃചه೦Πϕϯτ࣌ه೦ࡱӨ

Slide 48

Slide 48 text

“མͪͳ͍ϝϞϦʔ͸ͳ͍͠ɺ ॻ͚ͳ͍ػೳ͸͋Γ·ͤΜ” - bash ϚΠφϏϒοΫε ʰԦऀͷےτϨʱൃചه೦Πϕϯτ࣌ه೦ࡱӨ

Slide 49

Slide 49 text

͋ͳͨͷ਎ମΛڧԽͰ͖Δͷ͸͋ͳ͚ͨͩͰ͢ɻ ڍ্͢Ε͹ෛՙ͕ೖΓɺ௵ΕΕ͹ݶք͕෼͔Γ·͢ɻ ࣦ͏΋ͷ͸Կ΋ͳ͘ɺಘΔ΋ͷ͔͋͠Γ·ͤΜɻ ਂݺٵͯ͠ηοτʹྟΜͰ͍ͩ͘͞ɻ Happy Training! "͋ͳͨͷࢥ͍Λ఻͑ΒΕΔͷ͸͋ͳ͚ͨͩͰ͢ɻ τʔΫʹ੒ޭ͢Ε͹৆ࢍ͕ಘΒΕɺࣦഊ͢Ε͹ڭ܇͕ಘΒΕ·͢ɻ ࣦ͏΋ͷ͸Կ΋ͳ͘ɺಘΔ΋ͷ͔͋͠Γ·ͤΜɻ ਂݺٵͯ͠τʔΫʹྟΜͰ͍ͩ͘͞ɻ Happy Talking!" - ֯୩৴ଠ࿠ http://mugiwara.jp/ki2/wifky.pl?p=LTGuide#p5.2.5