Slide 1

Slide 1 text

઒ลͰ౮͢PicoRuby͔Βͷޫ 💡Ruby 2025/09/06(౔) bash ެ։൛

Slide 2

Slide 2 text

ޫɻ

Slide 3

Slide 3 text

༗࢙ҎདྷͷਓྨʹͱͬͯޫΛ౮͢͜ͱ ͸େࣄͳӦΈͰ͋Γɺੜ׆ɺՊֶɺܳ ज़·Ͱ͞·͟·ͳ෼໺ͰऔΓ૊·Εͯ ͖·ͨ͠ɻ

Slide 4

Slide 4 text

RubyίϛϡχςΟͰ΋ɺΧϯϑΝϨϯ εͰࣗ࡞ΩʔϘʔυ΍ϚΠΫϩίϯτ ϩʔϥʔͷLED͕ඒ͘͠ޫΔ༷ࢠΛݟ ͨ͜ͱ͕͋Δਓ͸ଟ͍Ͱ͠ΐ͏ɻ

Slide 5

Slide 5 text

͜ͷηογϣϯͰ͸ɺ͜ͷʮޫʯʹண ໨ͯ͠ɺ࠷ۙRubyίϛϡχςΟͰ஌໊ ౓͕ߴ·͍ͬͯΔ૊ΈࠐΈܥPicoRuby Λ༻͍ͯɺ

Slide 6

Slide 6 text

Ξ΢τϓοτͰ͋Δޫͷ੍ޚͱ

Slide 7

Slide 7 text

ΠϯϓοτͱͳΔޫΒͤΔύϥϝʔλ ʔͷऔಘͷύλʔϯͷղઆͱ

Slide 8

Slide 8 text

۩ମతͳσϞΛ΋ͱʹɺ

Slide 9

Slide 9 text

ͻͱΓͻͱΓ͕࣮ફͰ͖Δ💡Ruby૷ ஔ։ൃʹͯɺଟ͘ͷਓʹPicoRubyͷͨ ͷ͠͞ΛఏࣔͰ͖Ε͹ͱࢥ͍·͢ɻ

Slide 10

Slide 10 text

Կ͔ʹ໾ཱͭRubyͷར༻͚ͩͰͳ͍ɺ ҉ҋʹޫΛ౮͢ͱ͍͏ϓϦϛςΟϒͳ ਓྨͷ͍ͷͪͷتͼΛRubyͰ࣮ݱ͢Δ ――ͦͷͨͷ͠͞Λ௕ྑ઒ͷ΄ͱΓͰ ຯΘ͍͖͍ͬͯͨͩͨͱߟ͍͑ͯ· ͢ɻ

Slide 11

Slide 11 text

໨࣍ ΠϯτϩμΫγϣϯ ࠓ೔࢖͏ػࡐͱ૊ΈࠐΈܥͷHello, World"LνΧ"ͷ঺հ ػث୯ମͰͷޫ ଞσόΠε࿈ಈͰͷޫ ͜Ε͔Βଓ͚ΔͨΊͷॿ͚

Slide 12

Slide 12 text

໨࣍ ΠϯτϩμΫγϣϯ ࠓ೔࢖͏ػࡐͱ૊ΈࠐΈܥͷHello, World"LνΧ"ͷ঺հ ػث୯ମͰͷޫ ଞσόΠε࿈ಈͰͷޫ ͜Ε͔Βଓ͚ΔͨΊͷॿ͚

Slide 13

Slide 13 text

ػࡐ ిࢠ޻࡞ཁૉؚΊͯPicoRubyϑϧ׆༻ͳΒRaspberry Pi Pico ࠓ೔͸ATOM MatrixͰ"💡Ruby"͠·͢ https://www.switch-science.com/products/8170 https://www.switch-science.com/products/6260

Slide 14

Slide 14 text

Why ATOM Matrix? Pros: ୯ମͰ׬݁Ͱ͖Δ •5x5LED಺ଂͰϐΧϐΧ͍͚Δ •಺ଂՃ଎౓ηϯαʔͰಈ͖ΛऔΕΔ •ίϯύΫτʹύοέʔδϯά͞ΕͯΔ •ن֨Խ͞Εͨ୺ࢠͰ֦ு͕Ͱ͖Δ Cons: PicoRubyͰ͸ΦϧλφςΟϒͳଘࡏ •Raspberry Pi Picoͱ͸ผͷϚΠίϯ౥ࡌ •υΩϡϝϯτͷಡΈସ͕͑ඞཁ •ະPorting(Ҡ২)ػೳ͕͋Δ https://www.switch-science.com/products/6260

Slide 15

Slide 15 text

໨࣍ ΠϯτϩμΫγϣϯ ࠓ೔࢖͏ػࡐͱ૊ΈࠐΈܥͷHello, World"LνΧ"ͷ঺հ ػث୯ମͰͷޫ ଞσόΠε࿈ಈͰͷޫ ͜Ε͔Βଓ͚ΔͨΊͷॿ͚

Slide 16

Slide 16 text

૊ΈࠐΈܥͷHello, World"LνΧ" https://hasumikin.com/2023/06/04/reiwa5-picoruby-l-chika.html https://www.google.com/search?q=picoruby+LνΧ

Slide 17

Slide 17 text

ATOM MatrixͰ͸εΩοϓ͢Δ https://hasumikin.com/2023/06/04/reiwa5-picoruby-l-chika.html ผํࣜ5x5 LED͕౥ࡌ pins.each {|pin| pin.write 1} ͱ͸͍͔ͳ͍

Slide 18

Slide 18 text

໨࣍ ΠϯτϩμΫγϣϯ ࠓ೔࢖͏ػࡐͱ૊ΈࠐΈܥͷHello, World"LνΧ"ͷ঺հ ػث୯ମͰͷޫ ଞσόΠε࿈ಈͰͷޫ ͜Ε͔Βଓ͚ΔͨΊͷॿ͚

Slide 19

Slide 19 text

جຊͷΞʔΩςΫνϟ Super Loop Architecture ແݶϧʔϓ ॳظԽ ϧʔϓ͝ͱͷॲཧ https://en.wikibooks.org/wiki/Embedded_Systems/Super_Loop_Architecture https://gist.github.com/bash0C7/553563a88942666fef27418b5f4aea6f

Slide 20

Slide 20 text

ATOM Matrix୯ମͰޫΒͤΔ ATOM Matrixͷ಺ଂ5x5LED͸Ͳ͏ޫΒͤΔͷ͔ •GPIO27൪ʹWS2812CͷLED͕25ݸ઀ଓʁʁʁʁ •WS2812C͸ύϧε෯ͰϏοτΛදݱʁʁʁʁ

Slide 21

Slide 21 text

ksbmyk/picoruby-ws2812 ߴϨϕϧAPIΛఏڙ͢Δ֎෦gem ແݶϧʔϓ ॳظԽ = ඞཁͳgemͷrequire ϧʔϓ͝ͱͷॲཧ = ޫΒͤΔॲཧ

Slide 22

Slide 22 text

ksbmyk/picoruby-ws2812 R2P2-ESP32/components/picoruby-esp32/ picoruby/build_config/xtensa-esp.rbʹ௥ه github repoͷଞɺϩʔΧϧϑΥϧμɺ git URLΛࢦఆՄೳ

Slide 23

Slide 23 text

ݻఆͷ৭Ͱৗ࣌఺౮ ແݶϧʔϓ ॳظԽ require͢Δ led = WS2812.new͢Δ colors഑ྻͷੜ੒ ϧʔϓ͝ͱͷॲཧ colors഑ྻͷݻఆઃఆ led.show_rgb(*colors)

Slide 24

Slide 24 text

ݻఆͷ৭Ͱৗ࣌఺౮ ແݶϧʔϓ ॳظԽ require͢Δ led = WS2812.new͢Δ colors഑ྻͷੜ੒ ϧʔϓ͝ͱͷॲཧ colors഑ྻͷݻఆઃఆ led.show_rgb(*colors)

Slide 25

Slide 25 text

ϥϯμϜʹ৭͕มΘΔ ແݶϧʔϓ ॳظԽ require͢Δ led = WS2812.new͢Δ colors഑ྻͷੜ੒ ϧʔϓ͝ͱͷॲཧ colors഑ྻͷϥϯμϜઃఆ led.show_rgb(*colors)

Slide 26

Slide 26 text

ࣗ෼ͷಈ͖ʹ͋Θͤͯ৭͕มΘΔ ATOM Matrixʹ͸Ճ଎౓ηϯαʔmpu6886ೖ͍ͬͯΔ ߴϨϕϧAPIΛఏڙ͢Δgem bash0C7/picoruby-mpu6886͕͋Δ https://docs.m5stack.com/ja/unit/imu

Slide 27

Slide 27 text

ແݶϧʔϓ ॳظԽ require͢Δ led = WS2812.new͢Δ colors഑ྻͷੜ੒ ϧʔϓ͝ͱͷॲཧ colors഑ྻͷಈ͖Ͱͷઃఆ led.show_rgb(*colors) ࣗ෼ͷಈ͖ʹ͋Θͤͯ৭͕มΘΔ ൦෍ATOM Matrix + Mac + USBέʔϒϧͰ࣮ߦˍฤूͰ͖ΔΑ͏ʹͯ͠·͢ github: bash0C7/nagara01-atommatrix-ruby-gemstone-demo

Slide 28

Slide 28 text

໨࣍ ΠϯτϩμΫγϣϯ ࠓ೔࢖͏ػࡐͱ૊ΈࠐΈܥͷHello, World"LνΧ"ͷ঺հ ػث୯ମͰͷޫ ଞσόΠε࿈ಈͰͷޫ ͜Ε͔Βଓ͚ΔͨΊͷॿ͚

Slide 29

Slide 29 text

ແݶϧʔϓ Super Loop Architectureৄࡉ ॳظԽ ஋ͷऔಘ https://en.wikibooks.org/wiki/Embedded_Systems/Super_Loop_Architecture औಘͨ͠஋ͷॲཧ ग़ྗͷ੍ޚ

Slide 30

Slide 30 text

֎෦LEDͷ੍ޚ ಉ੍͡ޚํࣜͷLED ઀ଓઌ͕ҧ͏ LEDͷݸ਺͕ҧ͏ ύϥϝʔλʔ͚ͩม͑Δ

Slide 31

Slide 31 text

ڑ཭ηϯαʔͰͷ੍ޚ https://docs.m5stack.com/ja/unit/tof https://github.com/bash0C7/picoruby-vl53l0x bash0C7/picoruby-vl53l0x gem

Slide 32

Slide 32 text

Ի੠ೝࣝηϯαʔͰͷ੍ޚ https://docs.m5stack.com/ja/unit/Unit%20ASR https://github.com/bash0C7/picoruby-unitasr bash0C7/picoruby-unitasr gem

Slide 33

Slide 33 text

MIDIγϯηαΠβʔͷ੍ޚ https://www.switch-science.com/products/9928 MIDI = 31.25kbpsγϦΞϧ௨৴

Slide 34

Slide 34 text

USBͰܨ͍ͩPC΋पลػث PC - PicoRubyؒͷγϦΞϧ௨৴ https://github.com/tenderlove/uart uart = UART.new(unit: :ESP32_UART0, baudrate: 115200)

Slide 35

Slide 35 text

ΩʔϘʔυͰ஄͍ͨ΋ͷΛPicoRubyʹ௨৴ͯ͠ MIDIγϯηαΠβʔΛૢ࡞ͭͭ͠ޫΒͤΔ PC: PicoRubyʹγϦΞϧ௨৴Ͱ৴߸ΛૹΔ PicoRuby: ड͚औͬͨ৴߸ΛMIDIγϯηαΠβʔʹૹΔˍޫΒͤΔ

Slide 36

Slide 36 text

MCP Server͔ΒPicoRubyૢ࡞΁

Slide 37

Slide 37 text

໨࣍ ΠϯτϩμΫγϣϯ ࠓ೔࢖͏ػࡐͱ૊ΈࠐΈܥͷHello, World"LνΧ"ͷ঺հ ػث୯ମͰͷޫ ଞσόΠε࿈ಈͰͷޫ ͜Ε͔Βଓ͚ΔͨΊͷॿ͚

Slide 38

Slide 38 text

Why ATOM Matrix? Pros: ୯ମͰ׬݁Ͱ͖Δ •5x5LED಺ଂͰϐΧϐΧ͍͚Δ •಺ଂՃ଎౓ηϯαʔͰಈ͖ΛऔΕΔ •ίϯύΫτʹύοέʔδϯά͞ΕͯΔ •ن֨Խ͞Εͨ୺ࢠͰ֦ு͕Ͱ͖Δ Cons: PicoRubyͰ͸ΦϧλφςΟϒͳଘࡏ •Raspberry Pi Picoͱ͸ผͷϚΠίϯ౥ࡌ •υΩϡϝϯτͷಡΈସ͕͑ඞཁ •ະPorting(Ҡ২)ػೳ͕͋Δ https://www.switch-science.com/products/6260

Slide 39

Slide 39 text

ࣗ෼ͷಈ͖ʹ͋Θͤͯ৭͕มΘΔ github: bash0C7/nagara01-atommatrix-ruby-gemstone-demo ATOM Matrix +USBέʔϒϧͱ MacͰࠓ͙͓͢ࢼ͠ՄೳͰ͢ • ATOM Matrix͸ ࣮අ൦෍(3200ԁ)෼͕ ਺ݸ͋Γ·͢

Slide 40

Slide 40 text

Ԡ༻ɿޫΔbash෺ཧΞΠίϯ https://github.com/bash0C7/atommatrix-my-icon ͪ͜Β΋ಉ༷ʹɺ ATOM Matrix +USBέʔϒϧͱ MacͰࠓ͙͓͢ࢼ͠ՄೳͰ͢ • ATOM Matrix͸ ࣮අ൦෍(3200ԁ)෼͕ ਺ݸ͋Γ·͢

Slide 41

Slide 41 text

ແݶϧʔϓ ଞσόΠε࿈ಈͰͷޫ ॳظԽ ஋ͷऔಘ https://en.wikibooks.org/wiki/Embedded_Systems/Super_Loop_Architecture औಘͨ͠஋ͷॲཧ ग़ྗͷ੍ޚ

Slide 42

Slide 42 text

LED੍ޚΛ͖Ε͍ʹ͢Δ ΞϧΰϦζϜ •https://note.com/chobishiba/n/nc9e3c64a6c38 •https://techblog.kayac.com/tracking-calculation-of-homing-laser ϥϯμϜύϥϝʔλʔ "ίΫͷ͋Δཚ਺" •https://design-lab.tuqulore.com/mild-random/

Slide 43

Slide 43 text

෺ཧ૚΁ͷࢀߟॻ੶ https://www.ohmsha.co.jp/book/9784274227516/ https://www.oreilly.co.jp/books/9784814400492/

Slide 44

Slide 44 text

஋ͷऔಘͷσόΠε ֤छεΠον: https://note.com/chobishiba/n/n8598badbc0fd ηϯαʔ https://www.switch-science.com/search? filter.v.availability=1&q=%E3%82%BB%E3%83%B 3%E3%82%B5%E3%83%BC

Slide 45

Slide 45 text

ίϛϡχςΟʔ https://picopicoruby.connpass.com/

Slide 46

Slide 46 text

https://naniwarb.github.io/picorubyoverflowkaigi/

Slide 47

Slide 47 text

https://mrubygirls.connpass.com/event/363687/

Slide 48

Slide 48 text

1JDP3VCZJTUਓޱ͸ ΋ͬͱ૿͍͍͑ͯ

Slide 49

Slide 49 text

ʮՐΛೖΕΔʯ

Slide 50

Slide 50 text

໋Λਧ͖ࠐΉ

Slide 51

Slide 51 text

ࣗ෼ͷಈ͖ʹ͋ΘͤͯޫΔ3VCZ੡૷ஔ

Slide 52

Slide 52 text

ࣗ෼ͱ͍͏໋ͱͱ΋ʹ͋Δ

Slide 53

Slide 53 text

઒ลͰ౮͢PicoRuby͔Βͷޫ 💡Ruby 2025/09/06(౔) bash