rabbit-slide-hasumikin-Euruko2024 2024.09.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 807a1861d643d2788e6c6c28df0f6890e1300aa1755fa8a915e02f833bc5a1d1
4
+ data.tar.gz: 163b4c9dfcee2309331bd0a016b96870f4b7c71754a5af9abb09a9d36ef524c0
5
+ SHA512:
6
+ metadata.gz: ba0cbe63d85549fb4b3acff317ee9268a44c5172b585cff0397fff9f050ba0e119271b52d7b61465e6c68b4cdc930a33bf51689417bfa9efbc022897339c7fd1
7
+ data.tar.gz: c35b4601950482f735381d76de8dd3e01accf55c81de77f7810efe5e8f0af6224ca52207a8c4b713ef1c843e3a804556985364aa63d7341ffc51c2e3b8f2c7a7
data/.rabbit ADDED
@@ -0,0 +1,2 @@
1
+ --size 1920,1080
2
+ PicoRubyHandsOn.md
@@ -0,0 +1,203 @@
1
+ # Embedded Ruby Revolution:
2
+
3
+ subtitle
4
+ : A Hands-On Workshop\\nwith PicoRuby
5
+
6
+ author
7
+ : hasumikin
8
+
9
+ content-source
10
+ : EuRuKo 2024 in Sarajevo
11
+
12
+ date
13
+ : 12 Sept 2024
14
+
15
+ allotted-time
16
+ : 120m
17
+
18
+ theme
19
+ : theme
20
+
21
+ # self.inspect
22
+
23
+ - Hitoshi HASUMI
24
+ - @hasumikin {::tag name="small"}(GitHub and Twitter){:/tag}
25
+ - Creator of PicoRuby
26
+ - Contributor to CRuby and mruby
27
+ - Member of IRB maintainer team
28
+
29
+ ![](images/hasumi.jpg){:
30
+ align="right"
31
+ relative-height="65"
32
+ relative_margin_top="10"
33
+ relative_margin_left="10"
34
+ }
35
+
36
+ # Agenda
37
+
38
+ - Introduction to PicoRuby
39
+ - Quick Demo
40
+ - Hands-On Workshop
41
+ - LED Blinking, Temperature Sensor,
42
+ LCD Display, then All Work Together
43
+
44
+ {:.center}
45
+ *Including basic training on microcontroller*
46
+
47
+ # Befoer that,
48
+
49
+ \\n\\n
50
+
51
+ {:.center}
52
+ Dounload the latest *R2P2-\*.uf2* from
53
+ https://github.com/picoruby/R2P2/releases
54
+
55
+ # chapter
56
+ {::tag name="xx-large"}Introduction to *PicoRuby*{:/tag}
57
+
58
+ ## Properties
59
+ hide-title
60
+ : true
61
+
62
+ # What is *PicoRuby*?
63
+
64
+ - Smallest Ruby implementation for microcontrollers
65
+ - Based on mruby's VM code design
66
+ - Targeting *RP2040* (so far)
67
+ - Parser: Prism, *merged this week*🎉
68
+ - Used be my own parser
69
+ - Now almost full-compatible with CRuby!!!
70
+
71
+ # *RP2040* and Raspberry Pi *Pico*
72
+ - Raspberry Pi Pico: Microcontroller board
73
+ - MCU: *RP2040*
74
+ - Cortex-Mzero+ (dual)
75
+ - 264 KB RAM, 2 MB flash ROM
76
+ - Generally runs without an OS
77
+ - Completely different from
78
+ Raspberry Pi (Single Board Computer)
79
+
80
+ ![](images/rpi_pico.jpg){:
81
+ align="right"
82
+ relative-height="95"
83
+ relative_margin_top="8"
84
+ relative_margin_left="0"
85
+ draw0="[rectangle, false, 0.3, 0.41, 0.37, 0.2, {color: red, line_width: 8\}]"
86
+ draw1="[text, RP2040, 0.12, 0.61, {color: red, size: 70, font_family: 'Courier Prime', weight: bold\}]"
87
+ }
88
+
89
+ # chapter
90
+ {::tag name="xx-large"}Quick *Demo*{:/tag}
91
+
92
+ ## Properties
93
+ hide-title
94
+ : true
95
+
96
+ # What You Saw in the Demo
97
+ - Unix-like shell running on Raspberry Pi Pico
98
+ - You can use some commands like `cd`, `ls`, `mkdir`, and *`irb`*
99
+ - In IRB, your Ruby snippet is compiled into mruby VM code and executed *on the fly*
100
+ - If you put */home/app.rb*, it will be executed automatically on startup
101
+
102
+ # chapter
103
+ {::tag name="xx-large"}Hands-On *Workshop*{:/tag}
104
+
105
+ ## Properties
106
+ hide-title
107
+ : true
108
+
109
+ # Please check: All parts are ready
110
+
111
+ ![](images/setup.png){:
112
+ align="center"
113
+ relative-height="100"
114
+ relative_margin_left="0"
115
+ relative_margin_top="0"
116
+ }
117
+
118
+ # You can take this kit home with you!
119
+
120
+ It's a gift from *ITOC*, a research institute in Shimane Prefecture (the most beautiful prefecture in Japan, where Matz and I live)!
121
+
122
+ # chapter
123
+
124
+ {::tag name="xx-large"}*Mutual Support* Is Essential{:/tag}
125
+ {::tag name="xx-large"}For A Successful Workshop!{:/tag}
126
+
127
+ ## Properties
128
+ hide-title
129
+ : true
130
+
131
+ # Hands-On 1: Setup and LED Blinking
132
+
133
+ - LED is the most basic component in electronics
134
+ - You can control the LED by *GPIO* pins
135
+
136
+ {:.center}
137
+ \\n
138
+ {::tag name="large"}*`https://tinyurl.com/picoruby-setup`*{:/tag}
139
+ {::tag name="large"}*`https://tinyurl.com/picoruby-led`*{:/tag}
140
+
141
+ # Hands-On 2: RGB LED Fading
142
+
143
+ - You can control the brightness of the LED by *PWM*
144
+ - It simulates analog output by changing the duty cycle of the signal
145
+
146
+ {:.center}
147
+ \\n
148
+ {::tag name="large"}*`https://tinyurl.com/picoruby-rgb`*{:/tag}
149
+
150
+ # Hands-On 3: Temperature Sensor
151
+
152
+ - Thermistor is a resistor whose resistance changes with temperature
153
+ - You can read the resistance via *ADC*
154
+
155
+ {:.center}
156
+ \\n
157
+ {::tag name="large"}*`https://tinyurl.com/picoruby-temp`*{:/tag}
158
+
159
+ # Hands-On 4: Character Display
160
+
161
+ - *I2C* is one of the serial communication protocols
162
+ - Low-level operation is messy, so you might want to use a library (*gem*)
163
+
164
+ {:.center}
165
+ \\n
166
+ {::tag name="large"}*`https://tinyurl.com/picoruby-lcd`*{:/tag}
167
+
168
+ # Hands-On 5: Talk to Your Neighbor
169
+
170
+ - *UART* is another serial communication protocol
171
+ - Let's talk to your neighbor's Pico through UART!
172
+
173
+ {:.center}
174
+ \\n
175
+ {::tag name="large"}*`https://tinyurl.com/picoruby-uart`*{:/tag}
176
+
177
+ # Hands-On 6: All Work Together
178
+
179
+ - Make a new project with your own idea
180
+ - Share your cool PicoRuby application with us!
181
+ - Resouces:
182
+ `https://tinyurl.com/picoruby-setup`
183
+ `https://tinyurl.com/picoruby-led`
184
+ `https://tinyurl.com/picoruby-rgb`
185
+ `https://tinyurl.com/picoruby-temp`
186
+ `https://tinyurl.com/picoruby-lcd`
187
+ `https://tinyurl.com/picoruby-uart`
188
+
189
+ # chapter
190
+
191
+ {::tag name="xx-large"}Stargaze at{:/tag}
192
+ github.com/picoruby/picoruby
193
+
194
+ ![](images/QR_picoruby.png){:
195
+ relative_height="70"
196
+ }
197
+
198
+ {::tag name="xx-large"}*Thank you!*{:/tag}
199
+
200
+ ## Properties
201
+ hide-title
202
+ : true
203
+
data/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # Embedded Ruby Revolution: A Hands-On Workshop with PicoRuby
2
+
3
+ Presentation slide for Euruko 2024
4
+
5
+ ## For author
6
+
7
+ ### Show
8
+
9
+ ```
10
+ rake
11
+ ```
12
+
13
+ # Publish
14
+
15
+ ```
16
+ rake publish
17
+ ```
18
+
19
+ ## For viewers
20
+
21
+ ### Install
22
+
23
+ ```
24
+ gem install rabbit-slide-hasumikin-Euruko2024
25
+ ```
26
+
27
+ ### Show
28
+
29
+ ```
30
+ rabbit rabbit-slide-hasumikin-Euruko2024.gem
31
+ ```
32
+
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("rabbit-theme-YOUR-THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/config.yaml ADDED
@@ -0,0 +1,23 @@
1
+ ---
2
+ id: Euruko2024
3
+ base_name: PicoRubyHandsOn
4
+ tags:
5
+ - PicoRuby
6
+ - hands-on
7
+ presentation_date: '2024-09-12'
8
+ presentation_start_time:
9
+ presentation_end_time:
10
+ version: 2024.09.12.0
11
+ licenses: ["MIT"]
12
+ slideshare_id:
13
+ speaker_deck_id:
14
+ ustream_id:
15
+ vimeo_id:
16
+ youtube_id:
17
+ author:
18
+ markup_language: :md
19
+ name: HASUMI Hitoshi
20
+ email: hasumikin@gmail.com
21
+ rubygems_user: hasumikin
22
+ slideshare_user:
23
+ speaker_deck_user:
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file