Slide 1

Slide 1 text

2025.6.27 ؔ੢Rubyձٞ લ໷ࡇ Miyuki Koshiba RubyͰ΍Γ͍ͨ ۦಈ։ൃ

Slide 2

Slide 2 text

Miyuki Koshiba (chobishiba) SmartBank, inc. •αʔόʔαΠυΤϯδχΞ •EM introduction

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

ΫϦΤΠςΟϒίʔσΟϯά https://neort.io/@JcGoFathqCb1cEY6XTn5ynl2R6A3

Slide 5

Slide 5 text

౦ژRubyձٞ12 લ໷ࡇ ΫϦΤΠςΟϒίʔσΟϯάϫʔΫγϣοϓ

Slide 6

Slide 6 text

KITTEେࡕ 18mx2.5mڊେεΫϦʔϯ

Slide 7

Slide 7 text

ग़਎ɿژ౎ ޷͖ͳࢁ๶ɿ݄๶ ΫϦΤΠςΟϒίʔσΟϯάͱ఻౷޻ܳ •ࢲ͸زԿֶɺ΅͔͠Λ࢖͏͜ͱ͕ଟ͍ •༑ષછɺ੢ਞ৫ͷӨڹΛड͚͍ͯΔ͔΋ •ίʔυʹΑΔ੢ਞ৫ͷϓϩδΣΫτ΋͋Δ background ίʔυʹΑΔ৫෺ͷ୳ٻ https://www.hosoogallery.jp/exhibitions/quasicrystal/ https://ksbmyk.github.io/sketch/

Slide 8

Slide 8 text

ग़ձ͍ ֶߍͷतۀͰग़ձͬͨʢࣾձਓඒେੜʣ ΫϦΤΠςΟϒίʔσΟϯά ిࢠ޻࡞

Slide 9

Slide 9 text

ָ͍͠! ࢓ࣄҎ֎ͷϓϩάϥϛϯά΋໘ന͍ දݱͷϓϩάϥϛϯά Կ͔ͷ໾ʹμΠϨΫτʹͨͭΘ͚Ͱ΋ͳ͍ ࣗ෼ͷͨΊͷίʔσΟϯάɻ༊͠

Slide 10

Slide 10 text

ݴޠ ΫϦΤΠςΟϒίʔσΟϯά •ProcessingʢJavaϕʔεʣ ిࢠ޻࡞ •Arduino(C++ϕʔεʣ

Slide 11

Slide 11 text

͚Ͳ… ΍ΔͨͼʹʮRubyͳΒ͜͏ॻ͚Δͷʹʯ͕಄ʹͪΒͭ͘ ͋·Γʹ΋Rubyʹ׳Ε਌͠ΜͰ͠·ͬͨ

Slide 12

Slide 12 text

RubyͰ΍Γ͍ͨ

Slide 13

Slide 13 text

ࠓ೔ͷ࿩ ʮRubyͰ΍Γ͍ͨʯͱ͍͏িಈ͚ͩͰ΍ͬͯΈͨ 2ͭͷϓϩδΣΫτΛ ឯ༨ۂંͱͱ΋ʹ঺հ͠·͢

Slide 14

Slide 14 text

Cace1: ΠϯλϥΫςΟϒ࡞඼

Slide 15

Slide 15 text

Cace1: ΠϯλϥΫςΟϒ࡞඼ ϓϩάϥϜͷॻ͔Εͨ൘͕͋Δ ม਺ͷ஋ΛϘϦϡʔϜ΍εΠον͔ΒೖΕΔ ඳը͞ΕΔ΋ͷ͕มΘΔ

Slide 16

Slide 16 text

·ͣ͸webͰ࡞ͬͯΈͨ https://ksbmyk.github.io/sketch/events/kanrk08.html

Slide 17

Slide 17 text

WebͰ΍Γ࢝ΊͨΒ΍ͬͺΓ RubyͰ΍Γ͍ͨ ruby.wasmΛ৮ͬͯΈΔػձʹͳͬͨ https://ksbmyk.github.io/sketch/events/kanrk08.html

Slide 18

Slide 18 text

Feedback ʮ෺ཧͰ΍ͬͨΒ໘ന͍ͷͰ͸ʁʯ

Slide 19

Slide 19 text

Feedback ʮ෺ཧͰ΍ͬͨΒ໘ന͍ͷͰ͸ʁʯ ΍Δ͔!

Slide 20

Slide 20 text

Ͳ͏΍ͬͯೖྗ͢Δ͔? ϘϦϡʔϜ •ճ͢ͱిؾ఍߅ͷ஋͕มԽ •࿈ଓతͳ஋͕ͱΕΔ τάϧεΠον •ON/OFF͕ͱΕΔ

Slide 21

Slide 21 text

Ͳ͏΍ͬͯೖྗ͢Δ͔? ϘϦϡʔϜ •ճ͢ͱిؾ఍߅ͷ஋͕มԽ •࿈ଓతͳ஋͕ͱΕΔ τάϧεΠον •ON/OFF͕ͱΕΔ ໊લ͢ΒΘ͔Βͳͯ͘ڭ͑ͯ΋Βͬͨ

Slide 22

Slide 22 text

Arduino ܦݧͷ͋ΔArduinoͰ΍ͬͯΈͨ Arduinoͱ͸ •ΦʔϓϯιʔεͷϚΠίϯϘʔυ •ArduinoϘʔυͱɺArduinoݴޠʹΑΔ։ൃ؀ڥʢArduino IDEʣ •ॳ৺ऀͰ΋؆୯ʹిࢠճ࿏ͷ࡞੒΍ϓϩάϥϛϯάΛମݧͰ͖Δ

Slide 23

Slide 23 text

஍ਤGet ίωΫλͷϐϯ഑ஔਤ Ͳͷϐϯ͕Կ༻͔ ळ݄ిࢠ΍σʔλαΠΤϯεͳͲ௨ ൢαΠτʹ͸σʔλγʔτͷURL͕͋ ΔͷͰ͔ͦ͜ΒḷΕΔ https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf

Slide 24

Slide 24 text

഑ઢ ύʔπΛങͬͯܨ͍Ͱ͍͘ ࣸਅ͖ͭͷϒϩάͱ͔͋Γ͕͍ͨ

Slide 25

Slide 25 text

Programing ϘϦϡʔϜɺεΠονͷ஋Λऔಘ PCʹૹΔ ࣄྫ΋ωοτʹͨ͘͞Μ͋ͬͨ ֶशσʔλ͕๛෋ͳͷͰAIͷΞγετ΋ ड͚΍͍͢

Slide 26

Slide 26 text

PC ड͚औͬͨ஋Λ࢖ͬͯඳը ProcessingΛར༻ •͢Ͱʹࣄྫ͕͋ͬͨ

Slide 27

Slide 27 text

Ͱ͖ͨ! ΍ͬͯΈ͍ͯΖ͍ΖΘ͔ͬͨ •഑ઢͷ࢓ํ •PCϔͷ஋ͷૹΓํ •ड͚औͬͨ஋ͷॲཧͷ࢓ํ లࣔͰ͖Δػձ͕͋ͬͨͷͰݟͨ໨΋੔͑ͨ

Slide 28

Slide 28 text

Feedback ԁ͚ͩͰͳ͘ҧ͏ܗ΋໘നͦ͏ εΠονͱϘϦϡʔϜҎ֎ͷೖྗํ๏΋໘നͦ͏ ϓϩάϥϛϯάͷಋೖʹ͍͍ͷͰ͸ VJͱ͔Ͱ΋࢖͑ͦ͏ͩͶ

Slide 29

Slide 29 text

Feedback ԁ͚ͩͰͳ͘ҧ͏ܗ΋໘നͦ͏ εΠονͱϘϦϡʔϜҎ֎ͷೖྗํ๏΋໘നͦ͏ ϓϩάϥϛϯάͷಋೖʹ͍͍ͷͰ͸ VJͱ͔Ͱ΋࢖͑ͦ͏ͩͶ ͡Ό͋΍Δ͔ʁ

Slide 30

Slide 30 text

Feedback ԁ͚ͩͰͳ͘ҧ͏ܗ΋໘നͦ͏ εΠονͱϘϦϡʔϜҎ֎ͷೖྗํ๏΋໘നͦ͏ ϓϩάϥϛϯάͷಋೖʹ͍͍ͷͰ͸ VJͱ͔Ͱ΋࢖͑ͦ͏ͩͶ Ͱ΋ͦͷલʹ

Slide 31

Slide 31 text

RubyͰ΍Γ͍ͨ!! શ෦RubyͰ͍͚Δ͸ͣ •PicoRuby •https://github.com/picoruby/picoruby •processing gem •https://github.com/xord/processing ཧ࿦্Ͱ͖Δ!!ͳΒ΍Γ͍ͨ!!

Slide 32

Slide 32 text

PicoRubyͱࢲ RubyKaigi 2023 ΩʔϘυΩοτΛ΋ΒͬͨͷͰ΍ͬͯΈͨ ϏϧυΨΠυ௨Γʹ΍ͬͨ͘Β͍ Ͱ΋·ͬͨ͘஌Βͳ͍Θ͚Ͱ͸ͳ͍҆৺ײ

Slide 33

Slide 33 text

·ͣ͸ Raspberry Pi Pico Λ༻ҙ Raspberry Pi Pico •ແҹͱ2 •W͸WifiରԠ ࢲ͕࢖ͬͨ΋ͷRaspberry Pi Pico H •ແҹͷϐϯϔομʔ͖ͭ •͸Μͩ෇͚͕ෆཁ https://akizukidenshi.com/catalog/g/g118085/

Slide 34

Slide 34 text

ͳʹ͸ͳ͘ͱ΋஍ਤΛGet ίωΫλͷϐϯ഑ஔਤ Ͳ͜ʹͳʹ͔ࢗ͢ ͜ΕΛݟͳ͍ͱͳʹ΋Θ͔Βͳ͍ https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf

Slide 35

Slide 35 text

First Step ͳʹ͸ͱ΋͋ΕLνΧ hachi͞ΜͷʮRubyͰ͸͡ΊΔిࢠ޻࡞ʯ ͕͓͢͢Ί https://techbookfest.org/product/ sk10P621i0Sbk5tDn2dXrp? productVariantID=aMRrTkuTu4xjD8uB0ywQhi

Slide 36

Slide 36 text

More! ΋ͬͱ͕ͬͭΓ࢓૊Έ͔Βֶͼ͍ͨͳΒ n݄ץϥϜμ ϊʔτ Vol.4, No.1(2024) •hasumikin͞ΜͷʮPicoRubyͱ͍ͬ͠ ΐʹֶͿɺϓϩάϥϛϯάݴޠ͕ిؾ ճ࿏Λಈ͔͢࢓૊Έʯ͕Φεεϝ https://www.lambdanote.com/collections/n/products/nmonthly-vol-4-no-1-2024

Slide 37

Slide 37 text

Sample ArduinoͰ΍ͬͨ΋ͷ΋ࢀߟʹͳΔ͕ αϯϓϧίʔυ͕ཉ͍͠ɺ࣮ྫ͕ݟ͍ͨ ϒϩά͸͋·Γͳ͍ GitHubΛ୳͢ •PicoRubyҎ֎ͷ΋ͷ΋ݕࡧʹͻ͔͔ͬΔ͚ͲࢀߟʹͳΔ

Slide 38

Slide 38 text

࡞Δ σʔλγʔτΛݟͳ͕Βܨ͙ υΩϡϝϯτΛݟͳ͕ΒίʔσΟϯά •https://picoruby.github.io τάϧεΠονʢON/OFFʣ •GPIOʢ൚༻IOʣ ϘϦϡʔϜʢΞφϩά৴߸ʣ •ADC(Ξφϩάσδλϧม׵ث)

Slide 39

Slide 39 text

͏·͍͔͘ͳ͍ͱ͖ͷ੾Γ෼͚͕೉͍͠… ܨ͗ํ͕ѱ͍ •ࢗ͢΂͖ͱ͜Ζʹͤͯ͞ͳ͍ •ਖ਼͍͚͠ͲΏΔ͍ ίʔυ͕ѱ͍ •PIN൪߸͕ؒҧͬͯΔ •ࢦఆͷॱ͕ѱ͍ ج൫͕յΕͯΔ ੾Γ෼͚ͷͨΊʹ๯಄ͰLνΧ͓ͯ͘͠

Slide 40

Slide 40 text

Transmitter ηϯαʔ͔Βͱͬͨ஋ΛPCʹૹΔ •uart(ඇಉظγϦΞϧ௨৴) υΩϡϝϯτΈͨΒॻ͚Δ͕ •GP0(TX:ૹ৴)ͱ1(RX:ड৴)͸෺ཧతʹ Ͳ͜ͱܨ͍ͩΒ…ʁ

Slide 41

Slide 41 text

Serial Adapter Cable ૹΓํ͕Θ͔Βͳͯ͘ௐ΂ͨ PicoRubyͷσϞʹߦ͖ͭ͘ •https://github.com/picoruby/rp2040- peripheral-demo γϦΞϧΞμϓλέʔϒϧͱ͍͏΋ͷ͕͋Δ ͜ΕͰPCଆʹૹΕͦ͏ https://www.amazon.co.jp/dp/B0DS1RJZXN

Slide 42

Slide 42 text

Receiver PCଆ RubyͰγϦΞϧϙʔτΛ࢖͏ʹ͸ʁ •ruby-serialport gem͸ͪΐͬͱݹ͍ •͜ΜͳϒϩάΛݟ͔͚ͨ •uart gem •https://github.com/tenderlove/uart https://tenderlovemaking.com/2024/02/16/using-serial-ports-with-ruby/

Slide 43

Slide 43 text

ͱΕͨ!! Raspberry Pi Pico Mac

Slide 44

Slide 44 text

RubyͰಈ͘!!

Slide 45

Slide 45 text

΋ͬͱ! ·ͩΧΫΧΫ͢Δ ΋ͬͱͳΊΒ͔ʹ͢ΔͨΊʹᮢ஋ͷௐ੔͕ඞཁ ѻ͑ΔϘϦϡʔϜͷ਺Λ૿΍͍ͨ͠ •Raspberry Pi PicoͩͱADCνϟϯωϧ͸3͔ͭ͠ͳ͍ •MCP3008Λ࢖ͬͯΈ͍ͨ

Slide 46

Slide 46 text

Recipe ·ͣ͸LνΧͯ͠ΈΔ ηϯαʔΛܨ͛ͯ஋ΛऔͬͯΈΔ ग़ྗઌͱܨ͛ͯ஋Λ࢖͏

Slide 47

Slide 47 text

Cace2: Atom Matrix ͰLED

Slide 48

Slide 48 text

Atom Matrixͱ͸ M5Stack੡ͷIoT։ൃϘʔυʢ24×24×14mmʣ ESP32 PICOϕʔε(Xtensa) 5x5ͷLEDϚτϦοΫεΛ౥ࡌ ಺ଂIMUηϯα༗ Wi-Fi/Bluetooth಺ଂͰΠϯλʔωοτʹ઀ଓՄೳ ಺ଁͷ΋ͷΛ࢖͏ͳΒ഑ઢ΋͸Μͩ෇͚΋ෆཁ https://akizukidenshi.com/catalog/g/g117215/

Slide 49

Slide 49 text

͖͔͚ͬ͸RubyKaigi Case1ΛऔΓ૊ΜͰͪΐͬͱPicoRuby͕໘ന͘ͳ͖ͬͯͨλΠϛϯά RubyKaigiͰESP32ͷτʔΫ͕͋ΔͳΒ΍ͬͯΈ͍ͨ M5Stackʹ΋ͪΐ͏Ͳڵຯ͕͋ͬͨ

Slide 50

Slide 50 text

RubyKaigiָ͕͠ΈͰςϯγϣϯ͕͋ͬͯͨ ੎͍͚ͩͰങͬͨ͸͍͍͕Կ΋Θ͔Βͳ͍ ͱΓ͋͑ͣArduino IDEͰಈ͔ͤΔͬΆ͍ͷͰ΍ͬͯΈΔ

Slide 51

Slide 51 text

ͳʹ͸ͱ΋͋ΕޫΒͤΔ! ޫͬͨ!ಈ͍ͨ! Ͱ΋RubyͰ΍Γ͍ͨΑͶ ϙςϯγϟϧ͸Θ͔ͬͨ ΰʔϧ͕໌֬ʹͳͬͨ https://gist.github.com/ksbmyk/33856faab272da83abbe7e7b27745319

Slide 52

Slide 52 text

Install RubyKaigiͰൃදΛݟͯੈք؍Λ௫Ή GitHubͷखॱ௨Γʹ΍ͬͯΈΔ R2P2-ESP32 •R2P2:Ruby Rapid Portable Platform •PicoRuby Ͱॻ͔ΕͨγΣϧγεςϜ https://speakerdeck.com/yuuu/porting-picoruby-to-another-microcontroller-esp32 https://github.com/picoruby/R2P2-ESP32

Slide 53

Slide 53 text

Build ESP-IDFΛೖΕΔ •ESP32޲͚ͷެࣜ։ൃ؀ڥ •ver5.4ʢ4→5Ͱେ͖͘มΘͬͨʣ Build·Ͱ͸ಛʹͭ·Βͣ Atom Matrix https://github.com/picoruby/R2P2-ESP32

Slide 54

Slide 54 text

Flash and Monitor rake flashͰΤϥʔ • A fatal error occurred: Unable to verify flash chip connection (No serial data received.). • CMake Error at run_serial_tool.cmake:67 (message): rake flashͱ͸ԿΛ΍͍ͬͯΔ͔ •RakeFileͷத਎ΛΈͯΈΔ •idf.py flash https://github.com/picoruby/R2P2-ESP32/blob/ master/Rakefile#L34-L36

Slide 55

Slide 55 text

Flash and Monitor ઌਓʹײँ •ESP32ͷϘʔϨʔτ͸115200bps •460800bps Ͱಈ͍ͯͨ •idf.py -b 115200 flash ͳΒಈ͘ •Fdf.py͸ESPBAUDͱ͍͏؀ڥม਺͕࢖͑ΔͷͰࢦఆ͓ͯ͘͠ ͱ rake flashͰಈ͘Α͏ʹͳΔʢͱڭ͑ͯ΋Βͬͨʣ rake monitor https://github.com/espressif/esp-idf/issues/10371

Slide 56

Slide 56 text

ಈ͍ͨ!! ձ͍͔ͨͬͨΑPicoRubyϩΰ irb΋ಈ͍ͨ •1+1Ͱ2ͱฦͬͯ͘Δ͚ͩͰ΋͏خ͍͠

Slide 57

Slide 57 text

ͯ͞… LED͸Ͳ͏΍ͬͨΒޫΔ͔ Raspberry Pi PicoͷΑ͏ʹ GPIO.new(25, GPIO::OUT) ͱ͸͍͔ͳ͍ WS2812(NeoPixel)͕࢖༻͞Ε͍ͯΔ AtomMatrixͷArduino༻ϥΠϒϥϦΛ ோΊͯΈΔ •͜Ε࢖͍ͭͭRubyͷจ๏Ͱॻ͚ͳ͍΋ͷ͔… https://github.com/m5stack/M5Atom

Slide 58

Slide 58 text

໎૸… ԿΛͲ͏͍͍͔ͯ͠Θ͔ΒͣݟΑ͏ݟ ·ͶͰCͷίʔυΛॻ͖࢝ΊΔʢແ๳ʣ ΊͬͪΌΤϥʔͰΔ

Slide 59

Slide 59 text

ͦΕͰ΋ޫͬͨ!! ·Δ1೔ͳΜ͔ͩΜͩࢼͯͨ͠ΒͳΜͱ ͔ޫͬͨ ͨͿΜਖ਼͍͠ํ๏͡Όͳ͍ΜͩΖ͏ͳ ͱ͸ࢥͬͨ

Slide 60

Slide 60 text

mrbgems Gemʹ͢Δ͜ͱΛڭ͑ͯ΋Β͏ ࢀߟʹ͢Δͱ͍͍PRΛڭ͑ͯ΋Β͏ εϚʔτͳ΍ΓํΛ஌Δ ඞཁͳ΋ͷ͸΋͏͋ͬͯCॻ͔ͳͯ͘ Α͔ͬͨʂʂʂ https://github.com/picoruby/picoruby/pull/209

Slide 61

Slide 61 text

25ݸޫΒ͍ͤͨ 1ͭͷΧϥʔίʔυΛ౉ͯ͠OKͩͬͨ ͷͰ25ݸ౉ͦ͏ͱ͢Δ Τϥʔ 2ͭ͸OKɻ3ͭͩͱΤϥʔ ֘౰ՕॴΛݟͯΈΔ͕ɺʁ ݁ہCͱ޲͖߹Θͳ͍ͱ͍͚ͳ͍ https://github.com/ksbmyk/picoruby/blob/ 42e9bf1bd496d95e201fa64ea2de54e86d319f10/mrbgems/picoruby-rmt/ports/esp32/ rmt.c#L25 25ߦ໨

Slide 62

Slide 62 text

Try and Error printfͰσόοά͠ͳ͕ΒίʔυΛಡΉ ॻ͖௚ͨ͠Γɺॲཧͷॱংม͑ͯΈͨΓ ΞϓϩʔνΛม͑ͯ3౓1͔Β࡞Γ௚͢ ͻͨ͢Βabort͕ग़Δ RubyͰॻ͖͍͚ͨͩͳͷʹͳͥCΛॻ͍͍ͯΔͷ͔ Ͱ΋΍Γ͍ͨɺ΍ΕΔ͸ͣͩͱṖͷ֬৴Λ࣋ͬͯࢼ͢

Slide 63

Slide 63 text

͕ɺ͋Δ೔஌Δ ESP-IDFͷRMTυϥΠό͸ׂΓࠐΈίϯςΩετͰencoder_callbackΛ ݺͼग़͢ ͜ͷதͰprintfΛ࢖͏ͱnewlibͷϩοΫऔಘॲཧ͕ೖͬͯabortΛى͜͢ ׂΓࠐΈίϯςΩετ͸ඇৗʹ੍໿͕ݫ͘͠ɺprintfͷΑ͏ͳෳࡶͰ࣌ ؒͷ͔͔Δॲཧ͸࣮ߦ͢΂͖Ͱ͸ͳ͍ ͭ·ΓɺΤϥʔղফ͢Δͭ΋ΓͰΤϥʔ૿΍ͯͨ͠ printfΛ΍Ίͯࢼ͠ଓ͚Δ

Slide 64

Slide 64 text

ޫͬͨ!!! 4/26 ESP32ͰPicoRubyಈ͘ 4/27 LED1ݸޫΔ 4/28 LED2ݸޫΔ 4/29 abort 4/30 abort 5/1 abort 5/2 LED25ݸޫΔ!!!

Slide 65

Slide 65 text

ޫͬͨ!!! 4/26 ESP32ͰPicoRubyಈ͘ 4/27 LED1ݸޫΔ 4/28 LED2ݸޫΔ 4/29 abort 4/30 abort 5/1 abort 5/2 LED25ݸޫΔ!!! ͜ͷ··GW༹͔͔͢ͱࢥͬͨ͠ϓϩϙʔβϧ΋ॻ͚ͳ͍͔ͱࢥͬͨ

Slide 66

Slide 66 text

ಈ͍͚ͨͲ… picoruby-rmt/ports/esp32/rmt.c •͕͢͞ʹ͜Ε͸υϥΠόʹखΛ ೖΕ͗͢ͳؾ͕͢Δ…

Slide 67

Slide 67 text

ΤϥʔΛௐ΂௚ͯ͠ΈΔ Guru Meditation Error: Core 0 panic'ed (Coprocessor exception). •FPUʢුಈখ਺఺ԋࢉϢχοτʣͳͲͷಛघͳ໋ྩηοτʢίϓϩη οα໋ྩʣΛෆਖ਼ʹ࢖ͬͨͱ͖ʹൃੜ͢Δྫ֎ •ׂΓࠐΈϋϯυϥ಺Ͱ float ΍ double Λ࢖͏ͱൃੜ͠΍͍͢

Slide 68

Slide 68 text

ΤϥʔΛௐ΂௚ͯ͠ΈΔ Guru Meditation Error: Core 0 panic'ed (Coprocessor exception). •FPUʢුಈখ਺఺ԋࢉϢχοτʣͳͲͷಛघͳ໋ྩηοτʢίϓϩη οα໋ྩʣΛෆਖ਼ʹ࢖ͬͨͱ͖ʹൃੜ͢Δྫ֎ •ׂΓࠐΈϋϯυϥ಺Ͱ float ΍ double Λ࢖͏ͱൃੜ͠΍͍͢ ࠷ॳʹௐ΂ͨͱ͖͸͜ͷ৘ใʹḷΓண͚ͳ͔ͬͨͷʹ͢Δͬͱग़͖ͯͨ

Slide 69

Slide 69 text

Μ??? ࠷ॳ͔Βͦ͏͍͏Τϥʔͩͬͨ ← symble_free < 8 ͳ͏ͪ͸ΤϥʔʹͳΒͳ͍ LED1ͭ: symble_free 3→ return 0 LED2ͭ: symble_free 6 → return 0 LED3ͭ: symble_free 9 → L25ʹਐΜͰError

Slide 70

Slide 70 text

͜Ε͚ͩͰΑ͔ͬͨ…

Slide 71

Slide 71 text

PicoRuby ॳ Contribute https://github.com/picoruby/picoruby/pull/226

Slide 72

Slide 72 text

WS2812͸ϝδϟʔͳLED ࠓճͷ࣮૷͸ESP32ʹدΓ͍͗ͯ͢Δ •RMT࢖͏͋ͨΓͱ͔ ΋ͬͱଞͷϚΠίϯͷWS2812ͷಈ͔ ͠ํΛௐ΂্ͨͰઃܭ͢Δํ͕͍͍ͱ ϨϏϡʔ͍͖ͨͩclose WS2812ͷmrbgem͸ʁ https://github.com/picoruby/picoruby/pull/219

Slide 73

Slide 73 text

ͱ͸͍͑Atom MatrixͰࢲ͕΍ͬͯΔ Α͏ͳ͜ͱΛͲ͏΍͍ͬͯΔͷ͔͸Α ͘ฉ͔ΕΔ ࠷దͰ͸ͳ͍͚ͲҰ෦ͷϢʔεέʔε ʹ͸࢖͑Δঢ়ଶͳͷͰެ։ ࠓޙ৭ʑࢼ࣮͢ݧ৔΋݉Ͷ͍ͯ·͢ ݸਓͷmrbgem΁ https://github.com/ksbmyk/picoruby-ws2812

Slide 74

Slide 74 text

5x5 = ♾ 25ݸ޷͖ͳ৭ͰࢦఆͰ͖ΔΑ͏ʹͳͬͨ ੍໿͕͋Δதߟ͑Δͷ΋ָ͍͠ •Ͳ͜Λল͍ͯͲ͜Λ࢒͢ͱͦΕͬΆ͘ͳΔ͔ དྷ೥ͷRubyKaigi·Ͱʹ΍ͬͯΈ·ͤΜ͔ʁ •ࠓ೥ͷύʔςΟʢ໺֎ʣͰ΋׆༂ͨ͠ •ͦ͜Ͱ΋Βͬͨ൓ԠɾΞυόΠε͕ࠓճͷ࣮૷ʹ •࣮෺͖࣋ͬͯͯΔͷͰޙͰ͞ΘͬͯΈ͍ͯͩ͘͞

Slide 75

Slide 75 text

Recipe Atom MatrixΛήοτ •https://www.switch-science.com/products/6260 READMEͲ͓Γʹ؀ڥߏங •https://github.com/picoruby/R2P2-ESP32 5x5ͷޫΒͤํΛઃఆ •https://github.com/ksbmyk/picoruby-ws2812

Slide 76

Slide 76 text

RubyͰ΍Γ͍ͨ ͍ͣΕ΋؆୯ͱ͸͍͔ͳ͔ͬͨ ࢼߦࡨޡͩͬͨ Ruby͡Όͳ͔ͬͨΒ్தͰ΍Ί͔ͯͨ΋ Ruby͡Όͳ͔ͬͨΒͦ΋ͦ΋࢝Ίͯͳ͔ͬͨ “RubyͰ΍Γ͍ͨ”ͷྗ

Slide 77

Slide 77 text

RubyKaigi͸͍ΖΜͳ࿩୊͕͋Δ RubyKaigiͷ͋ͱ͸ηογϣϯʹ·ͭΘΔ࿩୊͕ίϛϡχςΟ಺ʹ૿͑ ΍͍͢ PicoRubyɺruby.wasmɺԻ ͷ͍͔ͬͯ͘͠ͳ͍🌊 ޷͖ͳ΋ͷͱ͔͚߹ΘͤͯΈΔͱࣗ෼ͷੜ׆ͱ RubyKaigi͕ܨ͕Δ ָ͍͠!!

Slide 78

Slide 78 text

RubyίϛϡχςΟ͸ָ͍͠ Case1ʮશ෦RubyͰ΍Γ͍ͨΜͰ͢ΑͶʯˠʮ΍Δ͔͠ͳ͍Ͱ͠ΐʯ Case2ʮRubyͰಈ͔͍ͨ͠ΜͰ͢ΑͶʯˠʮ΍Γ·͠ΐʂʯ ୭΋ʮͳΜͰΘ͟Θ͟ʯͱ͸ݴΘͳ͍ ʮ޷͖ʯʮ΍Γ͍ͨʯͱݴͬͯΔͱઌΛา͍͍ͯΔਓ͔Β͍ΖΜͳΞυ όΠεΛ͍͚ͨͩΔ ΍͍ͬͯ͘બ୒ࢶ͔͠ͳ͍

Slide 79

Slide 79 text

΍ͬͯΈΔˠΘ͔Δˠ໘ന͘ͳΔˠ࣍ʹ΍ͬͯΈ͍ͨ͜ͱ͕ग़ͯ͘Δ Case1 •෺ཧೖྗͰਤܗΛૢ࡞͍͚ͨͩͩͬͨ͠ •ଞͷηϯαʔ΋ࢼ͍ͨ͠ •ଞͷਤܗ΋ͨΊ͍ͨ͠ Case2 •࠷ॳ͸ޫΔ͚ͩͰΑ͔ͬͨ •ଞͷLED΋ѻ͑ΔΑ͏ʹͳΓͨ͘ͳͬͨ

Slide 80

Slide 80 text

LνΧͷͦͷ࣍ ؾʹͳΔ͜ͱΛࢼͯ͠ΈΔ ޷͖ͳ͜ͱͱ૊Έ߹ΘͤͯΈΔ ࠓ೔঺հͨ͠ཁૉɺࣗ෼ͳΒͲ͏͢Δ͔ ݟͤͯΈΔͱࢥΘ͵ώϯτɺࢥΘ͵ػձ

Slide 81

Slide 81 text

ࠓRuby x ૊ΈࠐΈ͕೤͍ https://naniwarb.doorkeeper.jp/events/185275 https://naniwarb.github.io/picorubyoverflowkaigi/ https://picopicoruby.connpass.com/ https://mrubygirls.github.io/events/2025-11-08-matsue_1st

Slide 82

Slide 82 text

Enjoy with Ruby !!