Compare commits

...

303 Commits

Author SHA1 Message Date
dd14489f47 0.2.162 2016-06-14 21:06:14 -07:00
6d6c2b5e99 Bump pxt-core to 0.2.173 2016-06-14 21:06:13 -07:00
251f382e8e remove old stuff 2016-06-14 22:06:55 -04:00
887a652a06 more remapping 2016-06-14 21:44:51 -04:00
bbbb1ea6bc moving stuff around 2016-06-14 21:37:55 -04:00
2c399f198a move LED namespace after music 2016-06-14 19:16:08 -04:00
54213cf554 put lessons back for Michael 2016-06-14 17:28:08 -04:00
0c67cd8e8b Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-14 17:21:02 -04:00
a0a23a261c restructuring to separate language from API 2016-06-14 17:20:45 -04:00
20c7a16524 Used Dimension.X in sample instead of string 2016-06-14 14:01:00 -07:00
0a722b2196 0.2.161 2016-06-14 13:57:46 -07:00
4a537b1ce8 updated bluetooth library 2016-06-14 13:57:27 -07:00
cf0372aeaa adding bluetooth button service. fix for #106 2016-06-14 13:53:05 -07:00
918d2f1a3a support for bluetooth accelerometer service. fix for #105 2016-06-14 13:47:18 -07:00
c1a6c1c66a support for magnetometer service. fix for #112 2016-06-14 13:39:24 -07:00
7a2c4f0056 updated shims 2016-06-14 13:27:21 -07:00
23eefb28d2 support for starting the temperature service #113 2016-06-14 13:24:55 -07:00
2ab2535966 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-14 13:18:43 -07:00
bb20c1780b Add Bluetooth LED service. fix for #111 2016-06-14 13:17:20 -07:00
764505d2ca Rewrite in simple language. Improve code examples. 2016-06-14 12:51:21 -07:00
62b6b8e9eb Second pass. Clarify API's functionality. 2016-06-14 12:12:26 -07:00
beac252620 renaming... 2016-06-14 14:39:31 -04:00
6e62acb384 fixed typo 2016-06-14 12:17:54 -04:00
b5afe25387 avatar for flashing heart 2016-06-14 12:11:29 -04:00
ebea6b29f3 added device section 2016-06-14 11:58:01 -04:00
f4eca66648 move lessons out of web site
will move select lessons back to "educators" section
2016-06-14 11:49:58 -04:00
a6e6dd8287 10 projects, first draft complete 2016-06-14 11:30:25 -04:00
d94c7e0157 lessons to projects 2016-06-14 11:12:13 -04:00
4657263abb minor mods 2016-06-14 10:55:13 -04:00
a6c2b24e8d minor change 2016-06-14 10:31:21 -04:00
31651f9a11 more work on LED screen doc 2016-06-14 10:31:21 -04:00
43c7692a8f 0.2.160 2016-06-14 06:40:57 -07:00
7f05de734c Bump pxt-core to 0.2.171 2016-06-14 06:40:55 -07:00
fe39eec686 fixing color, help of io pin service 2016-06-14 06:40:44 -07:00
655fa0fde8 updated annotations 2016-06-14 06:33:18 -07:00
2841df6950 added 'microbit-bluetooth' package 2016-06-14 06:30:07 -07:00
713dfec949 pass over LED screen 2016-06-13 21:43:01 -04:00
23c4087830 Rewrote in simple language. 2016-06-13 15:47:08 -07:00
de293be4fc Rewrote (2nd pass). Changed to . 2016-06-13 14:15:39 -07:00
4e54649ce7 Rewrote in simpler language 2016-06-13 13:39:05 -07:00
caeef2f1e1 Rewrote in simple language 2016-06-13 12:57:42 -07:00
f3d7693a26 typos 2016-06-13 14:53:08 -04:00
2ceece6cdf typos 2016-06-13 14:49:07 -04:00
c2913aea82 fix typos 2016-06-13 14:41:08 -04:00
bf90e01e7e 0.2.159 2016-06-12 06:26:57 -07:00
bbee53607b updated square image 2016-06-12 06:26:45 -07:00
e94e2e7dc4 remove references to language primitives 2016-06-12 08:16:04 -04:00
02a0839a4e typos 2016-06-11 22:37:09 -04:00
67ea6c01f2 remove linksto lessons from references 2016-06-11 22:28:57 -04:00
5b5cac878b starting to reorganize lessons 2016-06-11 22:15:36 -04:00
56301d2d6f linking in maker activities 2016-06-11 21:12:08 -04:00
f8e80e6a9d pics for music 2016-06-11 20:54:12 -04:00
d1f314d790 added compass 2016-06-11 19:43:54 -04:00
27f39b4458 move rock paper scissors to correct position 2016-06-11 18:08:05 -04:00
0c40f79dec three projects down 2016-06-11 17:12:12 -04:00
346ec3d1a6 finish second lesson 2016-06-11 14:40:09 -04:00
5a2896808e fix up pics 2016-06-10 23:39:30 -04:00
4a34edeab0 get it in the menu 2016-06-10 23:15:12 -04:00
5c2833978b name change 2016-06-10 23:10:32 -04:00
edfc2274a2 change name 2016-06-10 23:10:00 -04:00
899c9fd8d6 finish first lesson 2016-06-10 23:09:18 -04:00
13f63c2f46 Rewrote in simple language. Purged legacy example. 2016-06-10 16:13:37 -07:00
8841c47638 Rewrote in simple language. Fixed some typos. 2016-06-10 14:44:49 -07:00
c6f5a8dcc6 updated help links. fix for #90 2016-06-09 21:41:41 -07:00
786c5f9733 0.2.158 2016-06-09 21:14:54 -07:00
0cdedd02b4 updated rendering of buttons 2016-06-09 21:14:33 -07:00
aba028b1e8 Rewrote in simple language. Updated code example. 2016-06-09 18:25:59 -07:00
3049c88d5b Simulator warnings, etc. 2016-06-09 15:30:47 -07:00
8239329c2e Rewrote with simple language 2016-06-09 15:09:48 -07:00
c9d4807f25 0.2.157 2016-06-09 14:08:27 -07:00
5f4ff08c09 Bump pxt-core to 0.2.170 2016-06-09 14:08:25 -07:00
b99be68ea5 display bolts on simulator button 2016-06-09 14:08:15 -07:00
c639cc3f83 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-09 13:05:21 -07:00
cd56181703 Rewrote in simple language. API might not be functional. 2016-06-09 12:34:56 -07:00
5b1a807443 updated windows 10 app manifest 2016-06-09 11:49:40 -07:00
e604b27c4f various docs updates 2016-06-09 11:10:01 -07:00
4727b105c4 Rewrote in simple language. May be an obsolete API. 2016-06-08 18:14:00 -07:00
4063b5aac8 Rewrote in simple language. Deleted redundant material. 2016-06-08 16:59:20 -07:00
ee8505b4f1 0.2.156 2016-06-08 14:52:16 -07:00
ab4e2c458a Bump pxt-core to 0.2.168 2016-06-08 14:52:15 -07:00
126c236b14 New topic. Double-checked example. 2016-06-08 11:21:58 -07:00
532abadb6b 0.2.155 2016-06-07 14:35:49 -07:00
eea179e07c Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-07 14:21:28 -07:00
f94015803f fixing some docs on microbit-devices 2016-06-07 14:21:19 -07:00
f085253306 bundling and fixing microbit-devices 2016-06-07 14:06:13 -07:00
6de2f22542 Deleted loop around event handlers in coin flipper 2016-06-07 11:44:42 -07:00
3051e09bcf updated yotta settings for neopixel package 2016-06-07 10:53:44 -07:00
bd835a8a6e Rewrote in simple language; added examples 2016-06-06 17:29:23 -07:00
f75a034a3f Rewrote in simple language 2016-06-06 17:02:15 -07:00
71b3b6bb22 0.2.154 2016-06-06 16:38:09 -07:00
b868bd1e09 Bump pxt-core to 0.2.167 2016-06-06 16:38:06 -07:00
02e48f196c Rewritten in simple language 2016-06-06 15:41:17 -07:00
742eb7ea2f 0.2.153 2016-06-06 14:58:07 -07:00
f1904143b6 Bump pxt-core to 0.2.165 2016-06-06 14:58:05 -07:00
e621252f3b Added boolean picker / coin flipper example. 2016-06-06 14:49:36 -07:00
3633d39f57 updated readme.md 2016-06-06 10:14:56 -07:00
21bbf8fc86 css tweaks 2016-06-04 07:41:49 -07:00
dd5124f660 0.2.152 2016-06-04 00:23:34 -07:00
966ad1f503 0.2.151 2016-06-04 00:11:51 -07:00
d94f394d24 Bump pxt-core to 0.2.163 2016-06-04 00:11:50 -07:00
40ddd896cf 0.2.150 2016-06-03 23:53:51 -07:00
5a8815c4fc removed "open editor" from getting started 2016-06-03 23:51:40 -07:00
9a04eb1790 0.2.149 2016-06-03 23:40:28 -07:00
906e2a2fff Bump pxt-core to 0.2.162 2016-06-03 23:40:27 -07:00
781339026e 0.2.148 2016-06-03 23:16:45 -07:00
bd23de14e1 Merge pull request #88 from Microsoft/setpull
Setpull
2016-06-03 23:16:25 -07:00
e6ca366d20 full support for setPull 2016-06-03 23:15:51 -07:00
e2ce49d94b Merge remote-tracking branch 'origin/master' into setpull 2016-06-03 22:23:35 -07:00
e3b6350785 upgraded to lancaster 2.0.0-rc4 (core 0.1.11) 2016-06-03 22:22:13 -07:00
66aba696dc tweaks to getting started 2016-06-03 22:19:43 -07:00
5206f1f8e8 0.2.147 2016-06-03 21:10:03 -07:00
f9a7ec89e4 Bump pxt-core to 0.2.161 2016-06-03 21:09:59 -07:00
97894511dd Spot reminders to click COMPILE. 2016-06-03 15:42:18 -07:00
e785ece9bd Numerous requested changes. Still missing heads/tails. 2016-06-03 15:15:24 -07:00
63035b3d5c Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-03 14:25:31 -07:00
1f8ea7ad30 removed dangling link. 2016-06-03 14:24:39 -07:00
899ca47a77 Rewritten for clarity. Already has great example! 2016-06-03 14:06:24 -07:00
84f14182bf 0.2.146 2016-06-03 13:43:13 -07:00
ca3702b4fe Bump pxt-core to 0.2.159 2016-06-03 13:43:10 -07:00
94f1b6c785 0.2.145 2016-06-03 11:11:08 -07:00
c749c8b644 Bump pxt-core to 0.2.157 2016-06-03 11:11:05 -07:00
b108f1538d Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-03 10:35:40 -07:00
45690215dd Merge branch 'master' of https://github.com/Microsoft/pxt-microbit into setpull 2016-06-03 10:35:05 -07:00
af42dbf30a support for setpull 2016-06-03 10:34:20 -07:00
45ecd883bb fixed uploader page... 2016-06-03 10:16:22 -07:00
641a714f74 updated configuration 2016-06-03 09:47:06 -07:00
d1cd0a23a2 Nearing end of radio docs 2016-06-02 17:08:09 -07:00
54331eb113 Second pass 2016-06-02 16:24:06 -07:00
d4c53f1fb3 Extra examples and hints 2016-06-02 15:48:11 -07:00
40305c3ccd Updated to be funner (and clearer) 2016-06-02 15:25:19 -07:00
e6761699d3 added faq 2016-06-02 14:47:37 -07:00
b15f140181 0.2.144 2016-06-02 13:52:30 -07:00
00e38e202b Bump pxt-core to 0.2.156 2016-06-02 13:52:28 -07:00
4cbabcd112 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-02 13:11:23 -07:00
5def3518cf adding link to start rock-paper-scissor in editor 2016-06-02 13:10:47 -07:00
2c6f76e1a5 First pass 2016-06-02 12:52:03 -07:00
3eb529852b Bump pxt-core to 0.2.154 2016-06-02 12:35:18 -07:00
3b0cb40ea9 0.2.143 2016-06-02 12:33:01 -07:00
5cb3467194 Bump pxt-core to 0.2.155 2016-06-02 12:32:56 -07:00
d5628c08c8 updated getting started 2016-06-02 12:32:13 -07:00
c5c0103573 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-02 12:07:49 -07:00
b89d6477c7 Temporarily broken. 2016-06-02 11:38:14 -07:00
f3a6b00734 fixing localized file path 2016-06-02 09:48:40 -07:00
091fbb9db8 fixing some game content 2016-06-02 09:13:02 -07:00
3de977c98f updated naming of locale strings 2016-06-02 09:07:30 -07:00
d262dc3704 removed duplicate file 2016-06-02 08:33:21 -07:00
b2e59eb676 0.2.142 2016-06-01 21:51:03 -07:00
f2d5237d5c Bump pxt-core to 0.2.154 2016-06-01 21:51:02 -07:00
0c701a6809 more typos 2016-06-01 21:36:32 -07:00
d571ce85c1 fixing broken path 2016-06-01 21:35:37 -07:00
6fa316ff0e shrinking various images 2016-06-01 21:28:57 -07:00
1e436f4e71 more docs updates 2016-06-01 21:19:16 -07:00
d54aa41fc9 updated some lessons 2016-06-01 21:13:30 -07:00
0d90aec229 tweaks 2016-06-01 21:08:46 -07:00
98ee6899a1 renaming image files 2016-06-01 21:01:57 -07:00
c3e9ec2dc4 Merge branch 'origin/docs' 2016-06-01 20:54:57 -07:00
4cba801d78 Merge branch 'master' into origin/docs 2016-06-01 20:53:46 -07:00
a3d559c7af Rewrite for simplicity. 2016-06-01 17:11:28 -07:00
985ed56984 Fixed typo. 2016-06-01 16:29:43 -07:00
be284c5e52 0.2.141 2016-06-01 16:13:16 -07:00
d59d7cb19f Bump pxt-core to 0.2.153 2016-06-01 16:13:14 -07:00
28d522175b Second edit pass. Needs better image examples? 2016-06-01 16:02:22 -07:00
7b74428275 more glow / stop sound on player stop 2016-06-01 15:45:40 -07:00
c5571c20c7 updated release notes 2016-06-01 15:06:47 -07:00
fc97b59d0e 0.2.140 2016-06-01 13:36:58 -07:00
8417d10ad3 Bump pxt-core to 0.2.152 2016-06-01 13:36:56 -07:00
1a6d47a1c9 First edit pass. Please push to server. 2016-06-01 13:35:53 -07:00
d74702353f 0.2.139 2016-06-01 09:11:55 -07:00
53922986b1 Bump pxt-core to 0.2.149 2016-06-01 09:11:53 -07:00
230de475d1 0.2.138 2016-06-01 08:52:21 -07:00
9b1d2085ba Bump pxt-core to 0.2.148 2016-06-01 08:52:20 -07:00
246d81ffd5 0.2.137 2016-06-01 08:13:26 -07:00
3b2729d9d8 0.2.136 2016-06-01 07:42:41 -07:00
571ae8337f Bump pxt-core to 0.2.147 2016-06-01 07:42:39 -07:00
cc2d18b969 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-01 07:42:37 -07:00
fd02bd9407 updated docs menu 2016-06-01 07:42:03 -07:00
6429b57081 Improve docs (terminology, hyperlinks). 2016-05-31 17:17:36 -07:00
5650f7dc35 Finishing pass on send/receive number. Examples distributed more sensibly. 2016-05-31 17:02:22 -07:00
a9cfe83bdf Target=kids so removing all 'Important Security Considerations' for now. 2016-05-31 12:06:03 -07:00
f9409b5fb5 Mailbot example works now. 2016-05-31 11:44:20 -07:00
7f9f14df18 rename 2016-05-27 21:40:59 -07:00
a383060b4d Improved examples; last one needs work. 2016-05-27 16:22:38 -07:00
04c8221b41 0.2.135 2016-05-27 14:48:59 -07:00
facea7d27d Bump pxt-core to 0.2.146 2016-05-27 14:48:57 -07:00
cfe65569ad Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-27 14:48:56 -07:00
7a0ad8e3ed disabling source maps 2016-05-27 14:16:47 -07:00
4fb10faec2 Radio send/receive string. Rewrote text. Updated examples. 2016-05-27 12:03:54 -07:00
f3463b5961 refactor strings.json generation for packages 2016-05-27 09:23:47 -07:00
f39703e6f7 refreshed docs 2016-05-27 08:55:40 -07:00
74b333dee4 various small updates to docs 2016-05-27 07:06:24 -07:00
466bda468f update instructions 2016-05-26 21:38:11 -07:00
f4afa773ad missing images blocks 2016-05-26 20:42:15 -07:00
21280f41bc updated random boolean color 2016-05-26 19:55:25 -07:00
41c7053f3f added math.randomBoolean 2016-05-26 19:49:38 -07:00
1a00fded98 final vidoe cleanup 2016-05-26 19:33:26 -07:00
304ef89a1d 0.2.134 2016-05-26 19:30:45 -07:00
433b2bb08d Bump pxt-core to 0.2.145 2016-05-26 19:30:43 -07:00
273e23095b Merged. 2016-05-26 16:52:33 -07:00
8af6d640d3 Exhaustive rewrite. Did not change code much. 2016-05-26 16:18:33 -07:00
5553fb93bb removing videos from docs 2016-05-26 15:24:10 -07:00
493f76eba7 removed video from rps 2016-05-26 15:10:46 -07:00
91b90bf70e 0.2.133 2016-05-26 12:49:32 -07:00
43adfa198f Bump pxt-core to 0.2.143 2016-05-26 12:49:30 -07:00
59f7d0b537 update logo 2016-05-26 12:27:05 -07:00
d4a55bd53d update seismograph 2016-05-12 11:55:10 -07:00
2b8d8f7b44 update seis challenge 2016-05-12 10:44:12 -07:00
8b2037f51d update seis challenge 2016-05-12 10:40:41 -07:00
1477fc4bed update seis challenge 2016-05-12 10:36:35 -07:00
e4badc18b8 udpate seis change 2016-05-12 09:44:32 -07:00
625d4de530 update seis challenge 2016-05-12 09:41:54 -07:00
a3cf104185 update challenge 2016-05-12 09:02:02 -07:00
608f2d8f82 update seis challenge 2016-05-12 09:01:05 -07:00
8f9ac35d70 update seis 2016-05-12 08:49:25 -07:00
ce18ddbb70 update seis challenge 2016-05-12 08:48:10 -07:00
ac64cbb8c5 update seis activity 2016-05-11 16:35:13 -07:00
706c51c99c update seis challenge 2016-05-11 15:59:19 -07:00
7fa88249d6 update seis challenge 2016-05-11 15:53:47 -07:00
5c735e839e update seis lesson 2016-05-11 15:35:24 -07:00
19752b01b6 seismograph challenge 2016-05-11 15:31:51 -07:00
4192eeb413 update seis challenge 2016-05-11 15:29:47 -07:00
87c63959cf update challenge 2016-05-11 15:28:14 -07:00
79ee825926 update seis challenge 2016-05-11 15:21:11 -07:00
20dbcfd203 updated challenge 2016-05-11 15:19:05 -07:00
993952cbe9 update seis challenge 2016-05-11 15:10:07 -07:00
90a8bdcea1 update seis challenge 2016-05-11 15:01:44 -07:00
b9cff5a5e9 seis challenge 2016-05-11 14:52:25 -07:00
638594bb5e update seis activity 2016-05-11 14:16:37 -07:00
d3b5809fe7 update seis acti 2016-05-11 14:11:22 -07:00
365f5dcecf Merge remote-tracking branch 'refs/remotes/origin/master' into docs 2016-05-11 13:39:05 -07:00
4c9982051e update activity 2016-05-11 13:36:36 -07:00
655c9c4431 update seis activity 2016-05-11 13:28:13 -07:00
e328c22a2d update seis activity 2016-05-11 13:24:57 -07:00
dc9eb26038 update seis activity 2016-05-11 12:34:00 -07:00
3971bb5fc1 update seis activity 2016-05-11 12:24:58 -07:00
acfdfd3668 update seis activity 2016-05-11 12:21:39 -07:00
35edde573e seis activity 2016-05-11 12:20:01 -07:00
6d21e28360 update seis activity 2016-05-11 12:08:19 -07:00
f636a7e37f update seis activity 2016-05-11 12:07:12 -07:00
c15c3255ef seis activity 2016-05-11 11:57:30 -07:00
7f64328079 update seis activity 2016-05-11 11:51:52 -07:00
b19d7a5b7b update seismograph activity 2016-05-11 11:42:21 -07:00
8322310640 update seis activity 2016-05-11 11:12:39 -07:00
8f6577f029 update seis activity 2016-05-11 11:11:46 -07:00
a64b3e2b09 update seis activity 2016-05-11 11:10:55 -07:00
95ed3f419b update seismograph activity 2016-05-11 11:09:38 -07:00
8fcc59c9c3 update acc challenge 2016-05-11 10:40:16 -07:00
a83a7f7135 update charting 2016-05-11 10:39:19 -07:00
2f1a7e3896 Merge remote-tracking branch 'refs/remotes/origin/master' into docs 2016-05-11 09:30:54 -07:00
b32c14937c seismograph activity 2016-05-10 16:59:57 -07:00
a5e1f84975 seismograph sync 2016-05-10 16:53:41 -07:00
6d0beb1aa3 seismograph 2016-05-10 16:48:37 -07:00
26d92f993b update seismograph lesson 2016-05-10 16:35:00 -07:00
d4c0dddb62 seis activity 2016-05-10 15:22:27 -07:00
fa17ce43f7 update seis activity 2016-05-10 15:20:56 -07:00
b9a9abb478 update seis activity 2016-05-10 14:23:34 -07:00
ae925da409 seis activity 2016-05-10 14:05:25 -07:00
b82c3c0277 seismograph activity 2016-05-10 13:29:07 -07:00
b4ce65cdf3 seismograph act 2016-05-10 13:17:23 -07:00
db7e8b6fd4 update seis activity 2016-05-10 13:15:53 -07:00
7532cc01a2 seis activity 2016-05-10 13:10:18 -07:00
6725f8ef90 update seis activity 2016-05-10 12:31:22 -07:00
dea8054fbe update seis activity 2016-05-10 12:29:56 -07:00
f9cc3d2ee1 update seis activity 2016-05-10 12:28:45 -07:00
220ada6cd8 update seis activity 2016-05-10 11:56:41 -07:00
b68b12e6f1 update seis activity 2016-05-10 11:52:55 -07:00
5838c4d740 update seis activity 2016-05-10 11:47:35 -07:00
68d25e3814 update seis activity 2016-05-10 11:40:46 -07:00
06be2019a6 seis activity 2016-05-10 11:21:40 -07:00
6a742f5348 update seis activity 2016-05-10 11:08:53 -07:00
73cf802300 update seis act 2016-05-10 11:03:16 -07:00
2b71e2b834 update images lowercase 2016-05-10 11:01:27 -07:00
0442c33808 update seis activity 2016-05-10 10:54:25 -07:00
2975e6acc9 updated seis activity 2016-05-10 10:52:10 -07:00
df38904ba1 updated acc activity 2016-05-10 10:47:51 -07:00
d744e21975 update seis act 2016-05-10 10:41:36 -07:00
81c86f544c seis act 2016-05-10 09:27:36 -07:00
fa145ecd5c update act 2016-05-10 09:24:30 -07:00
cdfc99ad3f update seis act 2016-05-10 09:11:11 -07:00
f77e7b8850 update seis act 2016-05-10 09:09:30 -07:00
d71186b083 update seis act 2016-05-09 16:56:29 -07:00
852067c641 update seis act 2016-05-09 16:53:18 -07:00
7445db5707 update seis act 2016-05-09 16:51:59 -07:00
e4fd00c827 update seis act 2016-05-09 16:47:08 -07:00
5ccecc1195 update seis activity 2016-05-09 16:42:41 -07:00
cdfcd30c3c update acc activity 2016-05-09 16:41:43 -07:00
25b4f46440 update seis act 2016-05-09 16:32:06 -07:00
9f9cd6b766 update seis act 2016-05-09 16:18:10 -07:00
4dafa4d42c update seis act 2016-05-09 16:14:13 -07:00
fdff0a7f19 update act 2016-05-09 16:12:25 -07:00
a63daed690 update seis act 2016-05-09 16:10:39 -07:00
3eeaf2ca46 update seis act 2016-05-09 16:08:10 -07:00
005e002fd8 update seis act 2016-05-09 16:07:11 -07:00
b1db17fc27 sesimo update 2016-05-09 16:04:43 -07:00
a51791414c updated seismograph act 2016-05-09 16:02:22 -07:00
265dd660ef seismograph act 2016-05-09 15:50:39 -07:00
7517776492 update seismograph act 2016-05-09 15:44:49 -07:00
29b901b856 update seismograph activity 2016-05-09 15:33:57 -07:00
20637aeb29 updated activity 2016-05-09 15:20:51 -07:00
90dbc6dd08 updated lessons page 2016-05-09 14:49:53 -07:00
8f99ee3608 beautiful image tutorial 2016-05-09 14:34:51 -07:00
15bbc13595 update seismograph activity 2016-05-05 14:23:56 -07:00
cac5df56eb update activity 2016-05-05 14:00:56 -07:00
0c7f9058a7 Merge remote-tracking branch 'refs/remotes/origin/master' into docs 2016-05-05 10:13:18 -07:00
369 changed files with 2882 additions and 2205 deletions

View File

@ -1,7 +1,7 @@
# micro:bit target for PXT
This target allow to program a [BBC micro:bit](https://www.microbit.co.uk/) using
[Microsoft Programming Experience Toolkit](https://github.com/Microsoft/pxt).
PXT ([Microsoft Programming Experience Toolkit](https://github.com/Microsoft/pxt)).
* [Try it live](https://m.pxt.io)
@ -24,13 +24,21 @@ npm install
### Running
Run this command to open a local web server:
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells)
```
pxt serve
```
To make sure you're running the latest tools, run
If the local server opens in the wrong browser, make sure to copy the URL containing the local token.
Otherwise, the editor will not be able to load the projects.
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells):
```
npm update
pxt serve -yt
```
To make sure you're running the latest tools, run (add ``sudo`` for Mac/Linux shells)
```
pxt update
```
More instructions at https://github.com/Microsoft/pxt#running-a-target-from-localhost
@ -38,7 +46,7 @@ More instructions at https://github.com/Microsoft/pxt#running-a-target-from-loca
## Universal Windows App
The Windows 10 app is a [Universal Windows Hosted Web App](https://microsoftedge.github.io/WebAppsDocs/en-US/win10/CreateHWA.htm)
that wraps m.pxt.io and provides additional features.
that wraps ``m.pxt.io`` and provides additional features.
### Building

View File

@ -8,6 +8,6 @@
"module": "commonjs",
"rootDir": ".",
"newLine": "LF",
"sourceMap": true
"sourceMap": false
}
}

View File

@ -31,15 +31,15 @@ Just like Arduino, the micro:bit can be connected to and interact with sensors,
## Blocks or JavaScript
The student can program the BBC micro:bit using [visual blocks](http://www.github.com/Google/blockly) or JavaScript.
The student can program the BBC micro:bit using Blocks or JavaScript.
```blocks
basic.showString("BBC micro:bit!");
basic.showString("Hi!");
```
## Compile and Flash
When a user has her code ready, she can connect her BBC micro:bit to a computer via a USB cable, so it appears as a mounted drive.
When a user has her code ready, she can connect her BBC micro:bit to a computer via a USB cable, so it appears as a mounted drive (named MICROBIT).
Compilation to the ARM thumb machine code happens in the browser.
@ -47,6 +47,7 @@ The student is prompted to save the ARM binary program to a file, which she then
which flashes the micro:bit device with the new program.
## Simulator: Test Your Code
Before a student compiles her code for the micro:bit, she can run it using the micro:bit simulator, all within the confines of a web browser.
The simulator has support for the LED screen, buttons, as well as compass, accelerometer, and digital I/O pins.
@ -54,5 +55,10 @@ The simulator has support for the LED screen, buttons, as well as compass, accel
The [C++ BBC micro:bit runtime](http://lancaster-university.github.io/microbit-docs/), created at [Lancaster University](http://www.lancaster.ac.uk/), provides access to the hardware functions of the micro:bit,
as well as a set of helper functions (such as displaying a number/image/string on the LED screen).
The JavaScript micro:bit library mirrors the functions of the C++ library.
When code is compiled to ARM machine code, the calls to JavaScript micro:bit functions are replaced with calls to the corresponding C++ functions.
## Open Source
The editor for the BBC micro:bit is [open source](/open-source) on GitHub. Contributors are welcome!

8
docs/blocks.md Normal file
View File

@ -0,0 +1,8 @@
# Blocks language
```namespaces
for (let i = 0;i<5;++i) {}
if (true){}
let x = 0;
Math.random(5);
```

View File

@ -2,8 +2,6 @@
true or false.
### @parent blocks/language
A Boolean has one of two possible values: `true`; `false`. Boolean (logical) operators (*and*, *or*, *not*) take Boolean inputs and yields a Boolean value. Comparison operators on other types ([numbers](/reference/types/number), [strings](/reference/types/string) yields a Boolean value.
The following blocks represent the true and false Boolean values, which can be plugged in anywhere a Boolean value is expected:
@ -32,7 +30,7 @@ The next six blocks represent comparison operators that yield a Boolean value. M
42 >= 0;
```
Boolean values and operators are often used with an [if](/reference/logic/if) or [while](/reference/loops/while) statement to determine which code will execute next. For example:
Boolean values and operators are often used with an [if](/blocks/logic/if) or [while](/blocks/loops/while) statement to determine which code will execute next. For example:
### Functions that return a Boolean
@ -98,11 +96,7 @@ if(x < 5) {
See the documentation on [Numbers](/reference/types/number) for more information on comparing two Numbers. You can also [compare strings](/reference/types/string-functions) using the `equals` function.
### Lessons
[rotation animation](/lessons/rotation-animation), [love meter](/lessons/love-meter), [zoomer](/lessons/zoomer)
### See also
[if](/reference/logic/if), [while](/reference/loops/while), [number](/reference/types/number)
[if](/blocks/logic/if), [while](/blocks/loops/while), [number](/reference/types/number)

28
docs/blocks/logic/if.md Normal file
View File

@ -0,0 +1,28 @@
# If
### @parent blocks/language
Conditionally run code depending on whether a [Boolean](/reference/types/boolean) condition is true or false.
```blocks
if(true) {
}
```
Click on the dark blue gear icon (see above) to add an *else* or *if* to the current block.
### Example: adjusting screen brightness
```blocks
if(input.lightLevel()<100){
led.setBrightness(255);
}
```
If the [light level](/reference/input/light-level) is `< 100`, this code sets the brightness to `255`:
### See also
[while loop](/blocks/loops/while), [for](/blocks/loops/for), [boolean](/reference/types/boolean)

View File

@ -2,7 +2,6 @@
```cards
for(let i = 0;i<5;i++) {}
for(let i = 1;i<5;i++) {}
while(true) {}
basic.forever(() => {})
basic.forever(() => {});
```

View File

@ -14,11 +14,7 @@ basic.showNumber(i)
}
```
### Lessons
[looper](/lessons/looper)
### See also
[repeat](/reference/loops/repeat), [while](/reference/loops/while), [if](/reference/logic/if), [show number](/reference/basic/show-number)
[repeat](/blocks/loops/repeat), [while](/blocks/loops/while), [if](/blocks/logic/if), [show number](/reference/basic/show-number)

View File

@ -0,0 +1,12 @@
# Repeat
Run part of the program the number of times you say.
### Block Editor
![](/static/mb/blocks/contents-0.png)
### See also
[for](/blocks/loops/for), [while](/blocks/loops/while), [if](/blocks/logic/if), [show number](/reference/basic/show-number)

View File

@ -26,11 +26,7 @@ while(index >= 0) {
}
```
### Lessons
[rotation animation](/lessons/rotation-animation)
### See also
[on button pressed](/reference/input/on-button-pressed), [for](/reference/loops/for), [if](/reference/logic/if), [forever](/reference/basic/forever)
[on button pressed](/reference/input/on-button-pressed), [for](/blocks/loops/for), [if](/blocks/logic/if), [forever](/reference/basic/forever)

View File

@ -1,15 +1,9 @@
# Math Library
Functions in the math library.
# Math functions
### @parent blocks/language
The math library includes math related functions that you can use with [Numbers](/reference/types/number).
* In the [Block editor](/blocks/editor), click **maths** on the left to see the available blocks
The functions available in Block Editor are:
### abs
math `->` abs (x : [Number](/reference/types/number)) *returns* [Number](/reference/types/number)
@ -42,11 +36,7 @@ returns a random [Number](/reference/types/number) between 0 and the parameter *
![](/static/mb/blocks/math-3.png)
### Lessons
[love meter](/lessons/love-meter)
### See also
[Block Editor documentation](/blocks/contents), [Number](/reference/types/number)
[Number](/reference/types/number)

View File

@ -1,6 +1,6 @@
## Variables
[Assign](/reference/variables/assign) (set) a variable's value
[Assign](/blocks/variables/assign) (set) a variable's value
```blocks
let x = 0;
@ -13,7 +13,7 @@ let x = 0;
x;
```
[Change](/reference/variables/change-var) a variable's value
[Change](/blocks/variables/change-var) a variable's value
```blocks
let x = 0;

View File

@ -1,6 +1,6 @@
# Assignment Operator
Use an equals sign to make a [variable](/reference/variables/var) store the [number](/reference/types/number)
Use an equals sign to make a [variable](/blocks/variables/var) store the [number](/reference/types/number)
or [string](/reference/types/string) you say.
When you use the equals sign to store something in a variable, the equals sign is called
@ -30,11 +30,7 @@ You can use the assignment operator with variables of
every [type](/reference/types). A *type* is which kind of thing
a variable can store, like a number or string.
### Lessons
[rotation animation](/lessons/rotation-animation)
### See also
[variable](/reference/variables/var), [types](/reference/types)
[variable](/blocks/variables/var), [types](/reference/types)

View File

@ -0,0 +1,40 @@
# Change Value
Set the value for local and global variables.
### @parent blocks/change-value
Change the value of a variable
```blocks
let x = 0
x += 1
```
### Declare a variable
Use the assignment operator to set the value of a [variable](/blocks/variables/var). Change the value of a variable from 0 to 1 using the change item block. Like this:
```blocks
let x = 0
x += 1
```
### Example
Use the assignment operator to set the value of a [variable](/blocks/variables/var). Change the value of a variable from 0 to 1 using the change item block. Then display the new value of the variable on the LED screen. Like this:
```blocks
let x = 0;
x += 1;
basic.showNumber(x);
```
### Notes
* You can use the assignment operator with variables of each of the supported [types](/reference/types).
### See also
[variable](/blocks/variables/var), [types](/reference/types)

View File

@ -13,7 +13,7 @@ A variable is a place where you can store and retrieve data. Variables have a na
### Var statement
Use the Block Editor variable statement to create a variable
and the [assignment operator](/reference/variables/assign)
and the [assignment operator](/blocks/variables/assign)
to store something in the variable.
For example, this code stores the number `2` in the `x` variable:
@ -27,7 +27,7 @@ Here's how to define a variable in the Block Editor:
2. Change the default variable name if you like.
3. Drag a block type on the right-side of the [assignment operator](/reference/variables/assign) and click the down arrow to change the variable name.
3. Drag a block type on the right-side of the [assignment operator](/blocks/variables/assign) and click the down arrow to change the variable name.
A variable is created for the number returned by the [brightness](/reference/led/brightness) function.
@ -81,11 +81,7 @@ if (led.brightness() > 128) {
* You can use the default variable names if you'd like, however, it's best to use descriptive variable names. To change a variable name in the editor, select the down arrow next to the variable and then click "new variable".
### Lessons
[glowing pendulum](/lessons/glowing-pendulum), [love meter](/lessons/love-meter), [temperature](/lessons/temperature), [zoomer](/lessons/zoomer)
### See also
[types](/reference/types), [assignment operator](/reference/variables/assign)
[types](/reference/types), [assignment operator](/blocks/variables/assign)

View File

@ -15,12 +15,14 @@ It flashes yellow when the system wants to tell the user that something has happ
### Buttons
Buttons A and B are a form of input. When you press a button, it completes an electrical circuit.
The micro:bit can detect either of its two buttons being pressed and un-pressed and be programmed
to act on that or send the information to another device.
The micro:bit can detect either of its two buttons being pressed/released and be programmed
to act on these events.
Button R on the back of the micro:bit is a system button. It has different uses.
When you have downloaded and run your code onto your micro:bit, press Button R to restart and run your program from the beginning.
### USB connection
When you plug in your micro:bit, it should appear as MICROBIT.
If you accidentally hold down the reset button as youre plugging in your micro:bit,
the micro:bit will appear as a MAINTENANCE drive instead of MICROBIT. This is known as maintenance mode.**
@ -43,7 +45,7 @@ This data can be used by the micro:bit in a program or be sent to another device
### Accelerometer
There is a an accelerometer on your micro:bit which detects changes in the micro:bits speed.
There is an accelerometer on your micro:bit which detects changes in the micro:bits speed.
It converts analogue information into digital form that can be used in micro:bit programs.
Output is in milli-g. The device will also detect a small number of standard actions e.g. shake, tilt and free-fall.
@ -63,7 +65,7 @@ and about the error messages you might get [here](/device/error-codes).
### Powering your micro:bit
When your micro:bit is connected to your computer with the micro USB, it doesnt need another power source.
When your micro:bit is connected to your computer with the micro USB, it doesnt need another power source.
When your micro:bit isnt connected to your computer, tablet or mobile, you will need 2 x AAA 1.5 V batteries to power it.
The pins labelled 3V and GND are the power supply pins.
@ -75,7 +77,7 @@ The BBC micro:bit can send an receive data via [serial communication](/device/se
### Bluetooth Low Energy (BLE) Antenna
You will see the label BLE ANNTENA on the back of your micro:bit. It is for a messaging service,
You will see the label BLE ANTENNA on the back of your micro:bit. It is for a messaging service,
so that devices can talk to each other. The micro:bit is a peripheral
device which can talk to a central device like a smart phone or tablet that has Bluetooth Low Energy (BLE).
The micro:bit can send signals and receive signals from a central device so another BLE device can

View File

@ -1,7 +1,5 @@
# micro:bit - the device
The micro:bit device #docs
The micro:bit is a very capable device with many components:
* [the USB connector](/device/usb)

View File

@ -11,12 +11,6 @@ This example displays a random number every time the crocodile clip holds `GND`
### Connecting Crocodile Clips
### Lessons
[love meter](/lessons/love-meter)
### See also
[micro:bit pins](/device/pins), [pin is pressed](/reference/input/pin-is-pressed), [analog read pin](/reference/pins/analog-read-pin), [analog write pin](/reference/pins/analog-write-pin), [digital read pin](/reference/pins/digital-read-pin), [digital write pin](/reference/pins/digital-write-pin)

View File

@ -1,6 +1,6 @@
# Error codes
The micro:bit error codes #docs
The micro:bit error codes
Your micro:bit may encounter a situation that prevents it from running your code. When this happens, a frowny face will appear on your micro:bit screen (see picture) followed by an error number.

View File

@ -1,7 +1,5 @@
# The micro:bit - a reactive system
The micro:bit is a reactive system. #docs
### Computing systems
What sort of a *computing system* is the micro:bit?

View File

@ -3,40 +3,61 @@
The micro:bit LED screen
```sim
basic.showString(" ");
basic.showLeds(`
# . # . #
. # . # .
# . # . #
. # . # .
# . # . #
`);
```
The micro:bit LED screen consists of 25 red LED lights arranged in a 5X5 grid (5 LEDs across by 5 LEDs down).
In the screen above, we created a checkerboard pattern using the LEDs.
### Which LED?
You use ``x , y`` coordinates to specify a particular LED in the grid; where ``x`` is the horizontal position and ``y`` is the vertical position (0, 1, 2, 3, 4). To figure out the ``x``, ``y`` coordinates, position your micro:bit horizontally, like a credit card (see picture above).
You use `(x ,y)` coordinates to specify a particular LED in the grid;
where `x` is the horizontal position (0,1,2,3,4) and `y` is the vertical position
(0, 1, 2, 3, 4).
To figure out the ``x``, ``y`` coordinates, position your micro:bit horizontally, like a credit card (see picture above).
Here are the x, y coordinates for the LEDs in the 5X5 grid:
`0, 0` `1, 0` `2, 0` `3, 0` `4, 0`
`(0,0)` `(1,0)` `(2,0)` `(3,0)` `(4,0)`
`0, 1` `1, 1` `2, 1` `3, 1` `4, 1`
`(0,1)` `(1,1)` `(2,1)` `(3,1)` `(4,1)`
`0, 2` `1, 2` `2, 2` `3, 2` `4, 2`
`(0,2)` `(1,2)` `(2,2)` `(3,2)` `(4,2)`
`0, 3` `1, 3` `2, 3` `3, 3` `4, 3`
`(0,3)` `(1,3)` `(2,3)` `(3,3)` `(4,3)`
`0, 4` `1, 4` `2, 4` `3, 4` `4, 4`
`(0,4)` `(1,4)` `(2,4)` `(3,4)` `(4,4)`
The x, y coordinates for the LED in the centre of the grid are `2, 2`. Starting from `0, 0` count over 2 columns and then down 2 rows.
The x, y coordinates for the LED in the centre of the grid are `(2,2)`. Starting from `(0,0)` count over 2 columns and then down 2 rows.
### Check your understanding
Which LEDs are turned on in the checkboard pattern above?
### Row, column - 1
Since the row and column numbers start at 0, an easy way to figure out the x, y coordinates is to subtract 1 from the row and column number (when counting from 1). In other words, to specify the LED in the 4th column 5th row, subtract 1 from each number to get coordinates `3, 4`.
Since the row and column numbers start at 0, an easy way to figure out the (x,y) coordinates
is to subtract 1 from the row and column number (when counting from 1).
In other words, to specify the LED in the 4th column 5th row, subtract 1 from each number to get coordinates `(3,4)`.
### Turn a LED on/off
Use [plot](/reference/led/plot) and [unplot](/reference/led/unplot) to turn a LED on or off
```blocks
led.plot(0,0)
led.unplot(0,0)
led.plot(0,0);
led.plot(1,1);
basic.pause(1000);
led.unplot(0,0);
basic.pause(1000);
led.unplot(1,1);
```
### Is a LED on/off?

View File

@ -11,16 +11,35 @@ input.onButtonPressed(Button.A, () => {
})
```
Data is also automatically streamed to serial by the ** bar graph** block
and picked up by the editor. This data can be streamed to the cloud as well.
```blocks
basic.forever(() => {
led.plotBarGraph(input.acceleration(Dimension.X), 0);
});
```
## How to read the micro:bit's serial output from your computer
Unfortunately, using the serial library requires quite a bit of a setup.
### BBC micro:bit Chrome Extension
If you are using the Google Chrome browser, you can use our extension to get serial data streaming in the editor.
* Install the [Extension for BBC micro:bit](https://chrome.google.com/webstore/detail/extension-for-bbc-microbi/cihhkhnngbjlhahcfmhekmbnnjcjdbge?hl=en-US) on the Chrome Web Store.
* Restart Chrome and open the web editor.
### Windows
You must install a device driver (for the computer to recognize the serial interface of the micro:bit); then, you must also install a terminal emulator (which is going to connect to the micro:bit and read its output). Here's how to do it:
* Follow instructions at https://developer.mbed.org/handbook/Windows-serial-configuration in order to install the device driver
* Install a terminal emulator; we recommend [Tera Term](https://ttssh2.osdn.jp/index.html.en). At the time of this writing, the latest version is 4.88 and can be downloaded [from here](http://en.osdn.jp/frs/redir.php?m=jaist&f=%2Fttssh2%2F63767%2Fteraterm-4.88.exe). Follow the instructions from the installer.
#### Windows > Tera Term
* Install the terminal emulator [Tera Term](https://ttssh2.osdn.jp/index.html.en). At the time of this writing, the latest version is 4.88 and can be downloaded [from here](http://en.osdn.jp/frs/redir.php?m=jaist&f=%2Fttssh2%2F63767%2Fteraterm-4.88.exe). Follow the instructions from the installer.
Once both the driver and the terminal emulator are installed, plug in the micro:bit and wait until the device is fully setup. Then, open TeraTerm.
@ -32,7 +51,7 @@ You should be good. Feel free to hit `Setup` > `Save Setup` in the menus to eras
Please note that Windows will assign you a different COM port if you plug in another micro:bit. If you're juggling between micro:bits, you'll have to change the COM port every time.
### Alternative Windows setup with Putty
#### Windows > Putty
If you prefer another terminal emulator (such as [PuTTY](http://www.putty.org/)), here are some instructions.

View File

@ -2,7 +2,8 @@
How to compile, transfer, and run a script on your micro:bit.
While you're writing and testing your Block Editor or Touch Develop scripts, you'll mostly be running scripts in your browser by clicking the `Run` button (see [run code in your browser](/device/simulator) for info about this).
While you're writing and testing your scripts, you'll mostly be running scripts in your browser by clicking the `PLay` button
(see [run code in your browser](/device/simulator) for info about this).
Once your masterpiece is complete, you can compile your script and run it on your micro:bit.

View File

@ -24,10 +24,11 @@ input.onButtonPressed(Button.B, () => {
});
```
* **[getting started](/getting-started)**
* Browse the [API reference](/reference)
* Learn more about the [device](/device)
* Get started with [lessons](/lessons)
* **[getting started](/getting-started)**
* Get started with [projects](/projects)
* Browse the [micro:bit APIs](/reference)
* Learn more about the [micro:bit device](/device)
* Frequently Asked Question [faq](/faq)
* Follow up with the [release notes](/release-notes)
### Developers

6
docs/faq.md Normal file
View File

@ -0,0 +1,6 @@
# Frequently Asked Questions
## Where can I get a BBC micro:bit?
More information at [http://uk.farnell.com/bbc-microbit](http://uk.farnell.com/bbc-microbit).

View File

@ -1,36 +1,21 @@
# Getting started
Are you ready to build cool BBC micro:bit programs? For each challenge, reorder the blocks to recreate the program.
## ~avatar
## Open [https://m.pxt.io](/) and create a new **Blocks Editor** project
Are you ready to build cool BBC micro:bit programs?
## Basic
Here are some challenges for you. Arrange the blocks in the editor
to make real programs that work!
### Show leds
## ~
Use the blocks below to draw a figure on the screen. You can redo the smiley face or try something else!
### Happy face
```shuffle
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
```
To transfer your code to the BBC micro:bit,
* connect your micro:bit to the computer using the USB cable
* click on **Download**
* drag&drop the **.hex** file into the **MICROBIT** drive
* wait till the yellow light is done blinking!
### Show animation Forever
Show one image after the other to create an animation by snapping them together.
There are three blocks in the editor (the area to the left).
Arrange them to look like this:
```blocks
basic.forever(() => {
basic.showLeds(`
. . . . .
. # . # .
@ -40,20 +25,29 @@ Show one image after the other to create an animation by snapping them together.
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
. . . . .
. . . . .
. . . . .
`)
});
```
When you run this program, you will see a smiley face, then a blank
screen, then a smiley again -- it never stops! (That's because of the
``forever`` block.)
### Repeat forever
Click **Compile** to move your program to the BBC micro:bit!
Use the ``forever`` block to repeat your code and have a continuous animation.
### Happy unhappy face
Unsuffle the blocks to create a happy, unhappy animation.... or changes the image to make it your own!
```shuffle
Draw an unhappy face instead of the blank screen. Click on the dots
in the second ``show leds`` block until it matches the blocks below.
Now you have an **animation** (cartoon) that shows a happy face,
then an unhappy one, then a happy one again, forever (or until
you turn off your micro:bit)!
```blocks
basic.forever(() => {
basic.showLeds(`
. . . . .
@ -71,40 +65,117 @@ basic.forever(() => {
`)
});
```
Click **Compile** to move your program to the BBC micro:bit!
### Your turn now!
### Your turn!
Use the blocks ``show leds`` and ``forever``
to create your own custom awesome animation!
Pile up more ``show leds`` blocks to create your animation! Create an
animation with at least 5 pictures. What does this animation show?
## Inputs
```blocks
basic.forever(() => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# # # # #
. . . . .
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# # # # #
. . . # #
`)
basic.showLeds(`
. . . . .
# . # . .
. . . . .
# . . . #
. # # # .
`)
basic.showLeds(`
. . . . .
. . # . #
. . . . .
# . . . #
. # # # .
`)
});
```
Click **Compile** to move your program to the BBC micro:bit!
### Button A and B
#### ~hint
Unshuffle the blocks so that the micro:bit shows "YES" when button A is pressed, and "NO" when B is pressed.
The key idea is that all the blocks nested under `on button ... pressed` will run when that button is pressed.
You can find the ``show leds`` block in the **Basic** part of the editor.
#### ~
### Button A and button B
This program will show the word **ANTEATER** on the LED
screen when you press button `A`.
```blocks
input.onButtonPressed(Button.A, () => {
basic.showString("AAAAA");
basic.showString("ANTEATER");
});
```
Try to unshuffle those blocks:
#### ~hint
The ``showString`` block can show letters, numbers, and punctuation
on the micro:bit screen.
#### ~
Now try to unscramble these blocks in the editor so that the micro:bit
shows **BANANA** when you press button `B`.
```shuffle
input.onButtonPressed(Button.A, () => {
basic.showString("YES");
});
input.onButtonPressed(Button.B, () => {
basic.showString("NO");
basic.showString("BANANA");
});
```
#### ~hint
You can find the letter `B` by clicking the letter `A` on the
``onButtonPressed`` block.
#### ~
Click **Compile** to move your program to the BBC micro:bit!
#### Your turn!
Can you combine these blocks so your program shows your real name
instead of **ANTEATER** when you press `A`, but _your secret agent
name_ instead of **BANANA** when you press `B`?
### Shake
Using the data from the **accelerometer**, it is possible to detect that the BBC micro:bit is being shaken.
You can find when someone is shaking the BBC micro:bit by checking its
**accelerometer** (it finds whether the micro:bit is speeding up or
slowing down).
Unscramble these blocks in the editor to show a frownie when someone
shakes the micro:bit. (Ouch!)
Unshuffle the code to display a frownie when shaken.
```shuffle
input.onGesture(Gesture.Shake, () => {
basic.showLeds(`
@ -115,57 +186,317 @@ input.onGesture(Gesture.Shake, () => {
# . . . #`);
});
```
### Tilting
Aside from shake, it is also possible to detect tilt left and right, logo up and down or face up and down.
Let's build a rock paper scissors game where you turn the micro:bit left to display paper, right to display scissors and down to display rock.
Unshuffle and try this code on the micro:bit itself!
```shuffle
input.onGesture(Gesture.TiltLeft, () => {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #`);
});
input.onGesture(Gesture.LogoDown, () => {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .`);
});
input.onGesture(Gesture.TiltRight, () => {
basic.showLeds(`
# # . . #
# # . # .
. . # . .
# # . # .
# # . . #`);
});
```
Click **Compile** to move your program to the BBC micro:bit!
### Pins
It is possible to use the pins (big metal bar at the bottom of the board) as button. Hold the ``GND`` button with one hand and press the ``0`` pin
(called ``P0``) with the other hand to trigger a pin pressed.
You can also use the pins as buttons. (The pins are the holes in the
metal stripe at the bottom of the micro:bit board.) For example, hold
the ``GND`` button with one hand and touch the ``0`` pin (called
``P0``) with your other hand to tell the micro:bit you're pressing it.
Unscramble the blocks in the editor to show a heart when you touch
pin ``P0``.
Unshuffle the blocks to display a smiley when pin ``P0`` is pressed.
```shuffle
input.onPinPressed(TouchPin.P0, () => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . # . #
# . . . #
. # # # .`);
. # . # .
. . # . .`);
});
```
Click **Compile** to move your program to the BBC micro:bit!
## ~hint
Try this experiment: find a friend and hold hands. Touch the ``GND``
pin while your friend presses the ``P0`` pin. You should see the
heart! The electric current is going through your bodies and across
your handshake to make it happen!
## ~
## The amazing coin flipper
### ~avatar avatar
Are you trying to choose whether to play soccer or go to the movies
instead, or which toppings to have on your pizza? Build a coin
flipping machine with the BBC micro:bit to choose for you!
### ~
Here are the blocks to make your coin flipper. When you press button
`B`, the coin flipper will show either `H` for heads or `T` for tails
on the LED screen.
```blocks
input.onButtonPressed(Button.B, () => {
if (Math.randomBoolean()) {
basic.showString("H");
} else {
basic.showString("T");
}
});
```
### ~hint
The ``pick random true or false`` block randomly tells the ``if``
block `true` or `false`. If the ``pick`` block picked `true`, the
``if`` block shows the letter `H`. Otherwise, it shows the letter `T`.
That's it!
### ~
### Keeping score
#### ~avatar
To keep track out of how many guesses you've won,
add these blocks to your coin flipper:
#### ~
```blocks
input.onButtonPressed(Button.A, () => {
game.addScore(1);
});
input.onButtonPressed(Button.AB, () => {
basic.showNumber(game.score());
});
```
### Your turn now!
These blocks mean that if you press button `A`, you will add `1` to
your score, and if you press `A` and `B` together, the micro:bit will
show your score.
Use the scree, buttons, gestures, pins to create a fun game using the micro:bit.
When you're done, your coin flipping program should look like this:
```blocks
input.onButtonPressed(Button.B, () => {
if (Math.randomBoolean()) {
basic.showString("H");
} else {
basic.showString("T");
}
});
input.onButtonPressed(Button.A, () => {
game.addScore(1);
});
input.onButtonPressed(Button.AB, () => {
basic.showNumber(game.score());
});
```
Flip until your thumbs get tired!
## Let's play Rock Paper Scissors!
### ~avatar avatar
Build a Rock Paper Scissors game with the BBC micro:bit! You can play
the game with a friend who has it on a micro:bit. You can also play
it with friends who are just using their hands. (The game is built
like a coin flipper, but with three choices instead of two.)
### ~
## Step 1: Getting started
We want the micro:bit to choose rock, paper, or scissors when you
shake it. Try creating an ``on shake`` block so when you shake the
micro:bit, it will run part of a program.
Clear up the blocks and add the blocks below.
```blocks
input.onGesture(Gesture.Shake, () => {
})
```
Next, when you shake the micro:bit, it should pick a random number from `0` to `2`
and store it in the variable `item`.
Add a ``set`` block with a variable. Then add a ``pick random`` block,
and store the random number in the variable,
like this:
```blocks
input.onGesture(Gesture.Shake, () => {
let item = Math.random(3)
})
```
### ~hint
No one can predict random numbers. That's what makes them great for Rock Paper Scissors!
### ~
Each possible number these blocks can make (`0`, `1`, or `2`) means a different picture.
We will show the right picture for that number on the LED screen.
## Step 2: Picking paper
Put an ``if`` block after the ``let`` block that checks whether
`item` is `0`. Make sure the ``if`` block has an ``else if`` part
and an ``else`` part.
Next, add a ``show leds`` block that shows a
picture of a piece of paper:
```blocks
input.onGesture(Gesture.Shake, () => {
let item = Math.random(3)
if (item == 0) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (false) {
} else {
}
})
```
## Step 3: A random rock
Now we are going to add a new picture for the micro:bit to show
when another random number comes up.
Make the ``else if`` part check if the variable `item` is `1`.
Then add a ``show leds`` block with a picture of a rock.
```blocks
input.onGesture(Gesture.Shake, () => {
let item = Math.random(3)
if (item == 0) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (item == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
}
})
```
## Step 4: Suddenly scissors
Add a ``show leds`` block with a picture of scissors to the ``else`` part:
```blocks
input.onGesture(Gesture.Shake, () => {
let item = Math.random(3)
if (item == 0) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (item == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
basic.showLeds(`
# # . . #
# # . # .
. . # . .
# # . # .
# # . . #
`)
}
})
```
### ~hint
You don't need to check if `item` is `2` because `2` is the only number left out of `0`, `1`, and `2`.
That's why you can use an ``else`` instead of an ``else if``.
### ~
Your game is ready!
Click **Compile** to move your program to the BBC micro:bit!
Have fun!
## Step 5: Are you the greatest?
Here is a way you can make your Rock Paper Scissors game better.
When button ``A`` is pressed,
the micro:bit will add `1` to your score.
Open the ``Game`` drawer, and then add the block ``change score by 1`` to your program,
like this:
```blocks
input.onButtonPressed(Button.A, () => {
game.addScore(1)
})
```
## Step 6: Prove you're the greatest!
After your micro:bit can add `1` to the score, show how many wins you have.
```blocks
input.onButtonPressed(Button.A, () => {
game.addScore(1)
basic.showString("WINS:")
basic.showNumber(game.score())
})
```
## Step 7: Staying honest
Success! Your micro:bit can track wins!
But what about losses?
Use the ``Game`` drawer to subtract `1` from your score when you press button `B`.
Here are all the blocks you will need:
```shuffle
input.onButtonPressed(Button.B, () => {
game.addScore(-1)
basic.showString("LOSSES:")
basic.showNumber(game.score())
})
```
Click **Compile** to move your program to the BBC micro:bit!
## Your turn!
How else can you make your game better?
Ever hear of [Rock Paper Scissors Spock Lizard](http://www.samkass.com/theories/RPSSL.html)?

View File

@ -1,6 +1,5 @@
# Lessons
### @short Lessons
### ~column
@ -34,7 +33,7 @@
* [Rock Paper Scissors](/lessons/rock-paper-scissors), create the classic game of rock paper scissors with if statement
* [Truth or Dare](/lessons/truth-or-dare), a game that forces each player to reveal a secret or do something funny with if statement
* [Spinner](/lessons/spinner), spin the arrow with multiple if statements
* [Die Roll](/lessons/die-roll), spin with more if statements
* [Dice Roll](/lessons/dice-roll), spin with more if statements
* [Looper](/lessons/looper), display a series of numbers with a for loop index
* [Strobe Light](/lessons/strobe-light), develop shapes with a nested for loops
* [Temperature](/lessons/temperature), get the ambient temperature (degree Celsius °C)
@ -51,14 +50,11 @@
### ~column
## Maker
* [The Watch](/lessons/the-watch), design and create The Watch
* [Hack your Headphones](/lessons/hack-your-headphones), create music on the BBC micro:bit by hacking your headphones
* [Banana Keyboard](/lessons/banana-keyboard), create music with fruits
* [Telegraph](/lessons/telegraph), play the telegraph game between two BBC micro:bits
* [Pogo](/lessons/pogo), create a pogo game to test your jumping abilities
## Science
* [Charting](/lessons/charting), measure and chart acceleration
* [Seismograph](/lessons/seismograph), create a seismograph with household items
## Advanced
* [Prank WiFi](/lessons/prank-wifi), create fake WiFi to trick your friends
@ -69,5 +65,3 @@
### ~
### @section full
The lessons promote computational thinking and computer science literacy[ read more...](/lessons/teach)

View File

@ -1,8 +1,6 @@
# answering machine blocks lesson
create an answering machine on the BBC micro:bit #docs
### @video td/videos/answering-machine-0
Create an answering machine on the BBC micro:bit
## Topic
@ -25,12 +23,8 @@ Learn how to creating a message with a **string**, `show string` to write your m
```cards
basic.showString('Hi!')
input.onButtonPressed(Button.A, () => {})
```
* **on button pressed** : [read more...](/reference/input/on-button-pressed)
## Objectives
* learn how to show a string on the LED screen one character at a time

View File

@ -4,7 +4,6 @@ Learn to create an answering machine on the micro:bit
### ~avatar avatar
### @video td/videos/answering-machine-0
Let's learn how to create an answering machine!

View File

@ -12,8 +12,6 @@ basic.showString("ASK ME A QUESTION")
### Challenge 1
### @video td/videos/answering-machine-1
Now we need to reply after someone asks micro:bit a yes or no question. We want to respond `YES` when button `A` is pressed. Add a condition for button `A` and inside it show the string `YES`.
```blocks
@ -27,8 +25,6 @@ input.onButtonPressed(Button.A, () => {
### Challenge 2
### @video td/videos/answering-machine-2
What if micro:bit's answer to the question is no? Let's have `NO` be displayed when button `B` is pressed. Add a condition for button `B` and inside it show the string `NO`.
```blocks

View File

@ -1,21 +0,0 @@
# banana keyboard blocks lesson
display beautiful images on the BBC micro:bit.
## Topic
Music
## Quick Links
* [activity](/lessons/banana-keyboard/activity)
## Prior learning/place of lesson in scheme of work
Learn how to convert your BBC micro:bit into a music player using pins P0 and GND, earphones (or speakers), as well as crocodile clips (or spring clips). The connect fruit using pins P1 and GND.
## Objectives
* learn how to setup the BBC micro:bit with earphones to play music
* learn how to setup the BBC micro:bit with fruit be the musical instrument

View File

@ -1,8 +1,6 @@
# beautiful image lesson
display beautiful images on the BBC micro:bit.
### @video td/videos/beautiful-image-0
Display beautiful images on the BBC micro:bit.
## Topic

View File

@ -4,8 +4,6 @@ Generate and show a beautiful image.
### ~avatar avatar
### @video td/videos/beautiful-image-0
Let's learn how to show an image on the LED screen.
### ~

View File

@ -18,8 +18,6 @@ basic.showLeds(`
### Challenge 1
### @video td/videos/beautiful-image-1-2
Now show an new image that will display on the micro:bit.
```blocks

View File

@ -0,0 +1,48 @@
# beautiful image blocks challenges
Beautiful Image tutorial.
### ~avatar avatar
### @video td/videos/beautiful-image-0
Rebuild the game!
The blocks have been shuffled! Put them back together so that…
* display images on the screen with show LEDs
```shuffle
basic.showLeds(`
# # # # #
# # . # #
# . # . #
# # . # #
# # # # #
`)
basic.showLeds(`
# . # . #
. # # # .
. . # . .
. # # # .
# . # . #
`)
basic.pause(100)
```
Hints and tips
Cut out these documentation cards to help you!
```cards
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
basic.pause(100)
```

View File

@ -2,8 +2,6 @@
Learn how to create a blinking LED.
### @video td/videos/blink-0
## Topic
Plot
@ -30,7 +28,6 @@ basic.pause(100)
basic.forever(() => {})
```
## Objectives
* learn how to turn on LED lights on the LED screen

View File

@ -4,7 +4,15 @@ Turn an LED on and off with forever
### ~avatar avatar
### @video td/videos/blink-0
```sim
basic.forever(() => {
led.plot(2, 2)
basic.pause(500)
led.unplot(2, 2)
basic.pause(500)
})
```
Let's build a blinking light!
### ~
@ -43,7 +51,6 @@ basic.forever(() => {
led.unplot(2, 2)
basic.pause(500)
})
```
### ~avatar boothing

View File

@ -17,8 +17,6 @@ basic.forever(() => {
### Challenge 1
### @video td/videos/blink-1
Let's display a "smiley face" on the screen! We'll start by plotting the eyes.
Add `plot(1,1)` and `plot(3,1)` under `plot(2,2)` ; then add `unplot(1,1)`, `unplot(3,1)` and `unplot(2,2)` after `pause`. When you're ready, don't forget to run your code to try it out!
@ -38,8 +36,6 @@ basic.forever(() => {
### Challenge 2
### @video td/videos/blink-2
Let's add the code to plot the mouth by using `plot` and `unplot` to the following coordinates: (1,4), (2,4) and (3,4). When you're ready, don't forget to run your code to try it out!
```blocks
@ -63,8 +59,6 @@ basic.forever(() => {
### Challenge 3
### @video td/videos/blink-3
Let's keep using `plot` to convert the mouth into a smiley face.
```` bitmatrix

View File

@ -1,6 +1,6 @@
# blocks - if statements
An introduction to conditions for the Block Editor. #docs
An introduction to conditions for the Block Editor.
## Introduction to conditions

View File

@ -1,6 +1,6 @@
# bop it challenges
a game similar to "Simon Says" with the BBC micro:bit. #docs
a game similar to "Simon Says" with the BBC micro:bit.
## Before we get started

View File

@ -2,8 +2,6 @@
A game to catch eggs in a basket.
### @video td/videos/catch-the-egg-game-0
## Topic
Variables

View File

@ -108,8 +108,6 @@ basic.forever(() => {
### Challenge 3
### @video td/videos/catch-the-egg-game-4
Let's make the egg fall faster by decreasing the amount of time it pauses in each position by decreasing **falling pause** by `25` every 5 catches. Now, instead of pausing for 300 milliseconds we can pause for the value of **falling pause**.
```blocks

View File

@ -1,6 +1,6 @@
# blocks - challenges
Extra stuff for the Block Editor - an introduction to GPIO #docs
Extra stuff for the Block Editor - an introduction to GPIO
## Before we get started

View File

@ -7,7 +7,7 @@ Create a charting app for simulating and measuring the acceleration applied to t
Acceleration
## Quick Links
* [activity](/lessons/charting/acceleration)
* [activity](/lessons/charting/activity)
* [challenge](/lessons/charting/challenge)
* [quiz](/lessons/charting/quiz)
* [answers](/lessons/charting/quiz-answers)

View File

@ -13,7 +13,6 @@ Let's measure `acceleration (mg)` in the "x" direction. Get the acceleration val
```blocks
input.acceleration(Dimension.X)
```
### ~
@ -41,7 +40,7 @@ Vigorously move the micro:bit in the micro:bit simulatator by moving the micro:b
We want to chart the data collected by using a tool in Excel.
The final part of this experiment is opening and reviewing the data in the Excel CSV file. Simply click on the line beneath the simulator. A CSV file will be generated to display the data points collected by moving the micro:bit in the X direction. Then click or tap on the data Excel file that was downloaded to your local Downloads Folder.
The final part of this experiment is opening and reviewing the data in the Excel CSV file. Simply click on the line beneath the simulator. A CSV file will be generated to display the data points collected by moving the micro:bit in the X direction. Then click or tap on the data Excel file that was downloaded to your local ``Downloads`` Folder.
### ~
@ -57,29 +56,13 @@ Use the Recommended Charts command on the Insert tab to quickly create a chart t
* Click Insert > Recommended Charts.
![](/static/mb/chart1.png)
![](/static/mb/lessons/chart1.png)
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
Click any chart type to see how your data will look in that format.
When you find the chart type that you want, click it, and then click OK. We want to select the chart called Line. A line chart is used to display trends over time. We will use the line chart because there are many data points over time.
Tip: If you dont see a chart type that you want, click the All Charts tab to see all of the available chart types.
![](/static/mb/chart_title.png)
* Use the Chart Elements, Chart Styles, and Chart Filters buttons next to the upper-right corner of the chart to add chart elements like axis titles or data labels, to customize the look of your chart
![](/static/mb/elements_styles_filters.png)
* Connect a micro:bit to your computer using your USB cable; compile; and repeat this experiment by moving the micro:bit in the "x" direction. Then collect and chart the data on Excel.
* Review and analyze the actual micro:bit device data on Excel
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/lessons/charting/acceleration-challenge)
Excellent, you're ready to continue with the [challenges](/lessons/charting/challenge)
### ~

View File

@ -2,7 +2,8 @@
### ~avatar avatar
Welcome! The activity will teach you how to use the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit. Let's get started!
Welcome! The activity will teach you how to use the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit.
Let's get started!
### ~
Let's measure `acceleration (mg)` and then `send number`. `Acceleration` is measured in **milli-gravities**, so a value of -1000 is equivalent to -1g or -9.81m/s^2. We will be able to get the acceleration value (g-force), in the specified "x" dimension. `Send number` will broadcast a number data packet to other micro:bits connected via radio.
@ -52,7 +53,7 @@ Notice that moving the micro:bit the farthest direction in the x direction will
NOTE: The colors of the charts reflect the color of the micro:bit simulator. In this instance, the micro:bits are blue and green. So the colors of the line graphs reflect the colors of the micro:bit
### ~
After running this simulatation several seconds by moving the micro:bit side to side in the x direction, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
After running this simulation several seconds by moving the micro:bit side to side in the x direction, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
![](/static/mb/acc2.png)
@ -67,15 +68,9 @@ Use the Recommended Charts command on the Insert tab to quickly create a chart t
* Click Insert > Recommended Charts.
![](/static/mb/chart1.png)
![](/static/mb/lessons/chart1.png)
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
Click any chart type to see how your data will look in that format.
When you find the chart type that you want, click it, and then click OK. We want to select the chart called Line. A line chart is used to display trends over time. We will use the line chart because there are many data points over time.
Tip: If you dont see a chart type that you want, click the All Charts tab to see all of the available chart types.
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
![](/static/mb/chart_title.png)
@ -91,4 +86,3 @@ Have fun reviewing your simulation and analyze the acceleration by chart the Exc
* The first person and second person take turns tilting the micro:bit in the "x" direction while the other player charts the data on the micro:bit!
* Review and analyze the actual micro:bit device acceleration data on Excel
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"

View File

@ -2,8 +2,6 @@
create a die on the BBC micro:bit.
### @video td/videos/compass-0
## Topic
If (Conditionals)

View File

@ -2,8 +2,6 @@
Learn how to create a counter with with on button pressed.
### @video td/videos/counter-0
## Topic
Variables

View File

@ -4,8 +4,6 @@ Display a number with a variable.
### ~avatar avatar
### @video td/videos/counter-0
Welcome! This tutorial will teach you how to make a counter that increments when button A is pressed. Let's get started!
### ~

View File

@ -16,8 +16,6 @@ input.onButtonPressed(Button.A, () => {
### Challenge 1
### @video td/videos/counter-1-2
Let's add the code to `count` when `B` is pressed. Add an event handler with `on button pressed(B)` then add the code to `count`.
@ -33,7 +31,6 @@ input.onButtonPressed(Button.B, () => {
})
```
### Challenge 3
Now let's try to reset the counter when the micro:bit is shaken. You will need to register an event handler with `on shake`.

View File

@ -1,8 +1,6 @@
# die roll lesson
# dice roll lesson
create a die on the BBC micro:bit.
### @video td/videos/die-roll-0
Create a dice on the BBC micro:bit.
## Topic
@ -10,10 +8,10 @@ If (Conditionals)
## Quick Links
* [activity](/lessons/die-roll/activity)
* [challenges](/lessons/die-roll/challenges)
* [quiz](/lessons/die-roll/quiz)
* [quiz answers](/lessons/die-roll/quiz-answers)
* [activity](/lessons/dice-roll/activity)
* [challenges](/lessons/dice-roll/challenges)
* [quiz](/lessons/dice-roll/quiz)
* [quiz answers](/lessons/dice-roll/quiz-answers)
## Prior learning/place of lesson in scheme of work

View File

@ -1,12 +1,10 @@
# die roll activity
# dice roll activity
Create a die on the micro:bit
Create a dice on the micro:bit
### ~avatar avatar
### @video td/videos/die-roll-0
Welcome! This tutorial will help you create a die. Let's get started!
Welcome! This tutorial will help you create a dice. Let's get started!
### ~
@ -19,7 +17,7 @@ input.onGesture(Gesture.Shake, () => {
})
```
We need to show a random value from 1 to 6 on our die. So let's make a local variable called **roll**.
We need to show a random value from 1 to 6 on our dice. So let's make a local variable called **roll**.
```blocks
input.onGesture(Gesture.Shake, () => {
@ -27,7 +25,7 @@ input.onGesture(Gesture.Shake, () => {
})
```
We need a condition for if **roll** is 5. We will show a `6` if **roll** is 5 because **roll** has a range from 0 to 5. We can use `show LEDs` to display the side of a die that shows 6.
We need a condition for if **roll** is 5. We will show a `6` if **roll** is 5 because **roll** has a range from 0 to 5. We can use `show LEDs` to display the side of a dice that shows 6.
```blocks
@ -45,7 +43,7 @@ input.onGesture(Gesture.Shake, () => {
```
Let's use an `else if` condition for if **roll** is 4. If **roll** is 4 we can show 5 dots on the die.
Let's use an `else if` condition for if **roll** is 4. If **roll** is 4 we can show 5 dots on the dice.
```blocks
@ -72,7 +70,7 @@ input.onGesture(Gesture.Shake, ()=> {
```
Now we need to repeat the same steps for if **roll** is 3. If **roll** is 3 we will show `4` on the die.
Now we need to repeat the same steps for if **roll** is 3. If **roll** is 3 we will show `4` on the dice.
```blocks
@ -106,7 +104,7 @@ input.onGesture(Gesture.Shake, () => {
```
Let's also repeat these steps to show the 3, 2, and 1 on the die. We are almost done with our die!
Let's also repeat these steps to show the 3, 2, and 1 on the dice. We are almost done with our dice!
```blocks
input.onGesture(Gesture.Shake, () => {
@ -165,7 +163,7 @@ input.onGesture(Gesture.Shake, () => {
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/lessons/die-roll/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/dice-roll/challenges)!
### ~

View File

@ -1,10 +1,10 @@
# die roll challenges
# dice roll challenges
Create a die on the micro:bit.
Create a dice on the micro:bit.
## Before we get started
Complete the following [guided tutorial](/lessons/die-roll/activity), your code should look like this:
Complete the following [guided tutorial](/lessons/dice-roll/activity), your code should look like this:
```blocks
input.onGesture(Gesture.Shake, () => {
@ -62,7 +62,7 @@ input.onGesture(Gesture.Shake, () => {
### Challenge 1
Modify the line of code with `pick random` so that only number 1-4 can appear on the die.
Modify the line of code with `pick random` so that only number 1-4 can appear on the dice.
```blocks
@ -121,7 +121,7 @@ input.onGesture(Gesture.Shake, () => {
### Challenge 2
Let's make a trick die! Modify the line of code with `pick random` so that only numbers 3-6 can appear on the die. Also note that we need to ensure `roll = 0` when only 1 dot is shown on the BBC micro:bit.
Let's make a trick dice! Modify the line of code with `pick random` so that only numbers 3-6 can appear on the dice. Also note that we need to ensure `roll = 0` when only 1 dot is shown on the BBC micro:bit.
```blocks
input.onGesture(Gesture.Shake, () => {

View File

@ -1,8 +1,8 @@
# die roll quiz answers
# dice roll quiz answers
Create a die when the BBC micro:bit is shaken
Create a dice when the BBC micro:bit is shaken
These are the answers to the [die roll quiz](/lessons/die-roll/quiz).
These are the answers to the [dice roll quiz](/lessons/dice-roll/quiz).
## 1. Create a variable named 'roll' that will be randomly assigned to a number between 0 and 5.

View File

@ -1,12 +1,12 @@
# die roll quiz
# dice roll quiz
Create a die when the BBC micro:bit is shaken
Create a dice when the BBC micro:bit is shaken
## Name
## Directions
Use this activity document to guide your work in the [die roll tutorial](/lessons/die-roll/activity).
Use this activity document to guide your work in the [dice roll tutorial](/lessons/dice-roll/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!

View File

@ -1,8 +1,6 @@
# digi yoyo lesson
create a counter with a while loop.
### @video td/videos/digi-yoyo-0
Create a counter with a while loop.
## Topic

View File

@ -4,8 +4,6 @@ Create a counter with a while loop.
### ~avatar avatar
### @video td/videos/digi-yoyo-0
Welcome! This tutorial will teach how to create a counter with a while loop. Let's get started!
### ~

View File

@ -40,8 +40,6 @@ while (count > 0) {
### Challenge 2
### @video td/videos/digi-yoyo-1-2
Inside of the while loop, let's add `pause->(1000)` so that we have a pause between each number as it's counting down. Also, let's show `count`!

View File

@ -2,8 +2,6 @@
Learn how to create LED images with a global variable.
### @video td/videos/flashing-heart-0
## Topic
Pause

View File

@ -4,8 +4,6 @@ Control images with a variable.
### ~avatar avatar
### @video td/videos/flashing-heart-0
In this activity, you will learn how to blink an image on the LED screen.
### ~

View File

@ -25,8 +25,6 @@ basic.forever(() => {
### Challenge 1
### @video td/videos/flashing-heart-1
Let's plot a different image. Let's display a broken heart!
To do this, you need to add a block between the last line and the end loop. Add a `show LEDs` block and then add a `pause` of 500 milliseconds.
@ -60,8 +58,6 @@ basic.forever(() => {
### Challenge 2
### @video td/videos/flashing-heart-2
Now let's alternate flashing the heart and the broken heart. To do this, we need to add a `clear screen` block and then add a `pause` block of 500 milliseconds under the new code we added in Challenge 1.

View File

@ -2,8 +2,6 @@
Learn how to create a counter with with on button pressed.
### @video td/videos/counter-0
## Topic
Game Library

View File

@ -1,13 +1,5 @@
# game counter activity
Turn an LED on and off with forever loop
### ~avatar avatar
### @video td/videos/counter-0
### ~
Have you ever tried to create a game counter? The concept is fairly simply: increase the game `score` with `on button pressed` .
Let's start by adding `on button (A) pressed` will run each time the user presses A. Let's add a line of code that increments `score` by `1`.

View File

@ -15,8 +15,6 @@ input.onButtonPressed(Button.A, () => {
### Challenge 1
### @video td/videos/counter-1-2
Let's add the code to `score` when `B` is pressed. Add an event handler with `on button (B) pressed` then add the code to `score`.

View File

@ -1,6 +1,6 @@
# game of chance blocks lesson
create an answering machine on the BBC micro:bit #docs
create an answering machine on the BBC micro:bit
## Topic

View File

@ -1,6 +1,6 @@
# blocks - rendering graphics
An introduction to graphics for the Block Editor. #docs
An introduction to graphics for the Block Editor.
## Before we get started

View File

@ -2,8 +2,6 @@
Learn to create a random number with input from button A.
### @video td/videos/guess-the-number-0
## Topic
Math - Pick Random

View File

@ -4,8 +4,6 @@ Guess the number with math random.
### ~avatar avatar
### @video td/videos/guess-the-number-0
Welcome! This tutorial will help you create a guess the number game! Let's get started!
### ~

View File

@ -15,8 +15,6 @@ input.onButtonPressed(Button.A, () => {
### Challenge 1
### @video td/videos/guess-the-number-2
When button `B` is pressed, we want to clear the screen. This will make it so users can play your game over and over again! Add an event handler to handle this case.
```blocks

View File

@ -2,8 +2,6 @@
### ~avatar avatar
### @video td/videos/guess-the-number-0
This tutorial will help you create a guess the number game! Let's get started!
### ~

View File

@ -1,20 +0,0 @@
# hack your headphones lesson
display beautiful images on the BBC micro:bit.
## Topic
Hack your headphone
## Quick Links
* [activity](/lessons/hack-your-headphones/activity)
## Prior learning/place of lesson in scheme of work
Learn how to convert your BBC micro:bit into a music player using pins P0 and GND, headphones (or speakers), as well as crocodile clips (or spring clips).
## Objectives
* learn how to setup the BBC micro:bit with headphones to play music

View File

@ -1,21 +0,0 @@
# light beatbox
display beautiful images on the BBC micro:bit.
## Topic
Music
## Quick Links
* [activity](/lessons/light-beatbox/activity)
## Prior learning/place of lesson in scheme of work
Learn how to make a light beatbox music player using the light sensor. We will be learning how to code musical notes using light level, a local variable, conditionals, on button pressed as well as simple commands such as ring tone and rest.
## Objectives
* learn how to control the light sensor on the BBC micro:bit
* learn how to code music on the BBC micro:bit

View File

@ -2,8 +2,6 @@
Learn to control blinking LEDs.
### @video td/videos/looper-0
## Topic
For Loop

View File

@ -1,13 +1,5 @@
# looper blocks activity
Display a series of numbers with a for loop.
### ~avatar avatar
### @video td/videos/looper-0
### ~
Welcome! This activity will teach how to display a series of numbers for a for loop. Let's get started!
Let's create a for loop where `0` is the loop's starting value, `i` is the index variable, and `5` is the ending value. The index variable `i` starts at 0 and increases by 1 each time through the loop. The loop ends when `i = 5`.

View File

@ -20,8 +20,6 @@ for (let i = 0; i < 6; i++) {
### Challenge 1
### @video td/videos/looper-1
What if we want to count up to lucky number 7 instead? Let's do that by changing the ending value to `7` instead of `5`.
@ -37,8 +35,6 @@ for (let i = 0; i < 8; i++) {
### Challenge 2
### @video td/videos/looper-2
What about 9? Let's do that by changing the ending value to `9`.
```blocks
@ -55,8 +51,6 @@ for (let i = 0; i < 10; i++) {
### Challenge 3
### @video td/videos/looper-3
Now let's start counting from `3` instead! Our for loop will always start at `0` so we simply add `3` to the `i` variable when passing it to `show number`.
```blocks
@ -72,8 +66,6 @@ Run it on the simulator!
### Challenge 4
### @video td/videos/looper-4
Now, let's **count down from 9**. Change the line `show number(i + 2, 150)` to `show number(9 - i, 150)`.
```blocks

View File

@ -1,6 +1,6 @@
# blocks - loops
An introduction to Loops for the Block Editor. #docs
An introduction to Loops for the Block Editor.
We may want to handle the users input multiple times or remain waiting for their input for a long time. We use loops to make sure that our code runs multiple times. These can be found in the **Loops** drawer.

View File

@ -1,8 +1,6 @@
# love meter blocks lesson
create a love meter with the BBC micro:bit.
### @video td/videos/love-meter-0
Create a love meter with the BBC micro:bit.
## Topic

View File

@ -4,8 +4,6 @@ Create a love meter with the micro:bit
### ~avatar avatar
### @video td/videos/love-meter-0
Welcome! This activity will help you create a love meter with the micro:bit. Let's get started!
### ~

View File

@ -45,8 +45,6 @@ input.onPinPressed(TouchPin.P0, () => {
### Challenge 3
### @video td/videos/love-meter-3
**If** the rating is between 4 and 7, display the text "MEDIOCRE!" **else** display the text "MATCHED!"
```blocks

View File

@ -1,8 +1,6 @@
# lucky 7 blocks lesson
show a number on the LED screen.
### @video td/videos/lucky-7-0
Show a number on the LED screen.
## Topic

View File

@ -4,8 +4,6 @@ Show a number on the LED screen.
### ~avatar avatar
### @video td/videos/lucky-7-0
Let's learn how to show the lucky number 7 on the LED screen.
### ~

View File

@ -21,8 +21,6 @@ basic.pause(500)
### Challenge 2
### @video td/videos/lucky-7-1-2
What about other multiples of 7? Let's display the next multiple of 7 on the screen!
```blocks

View File

@ -0,0 +1,31 @@
# lucky 7 blocks challenges
Coding challenges for lucky 7.
###~ Avatar
### @video td/videos/lucky-7-1-2
### Rebuild the game!
The blocks have been shuffled! Put them back together so that…
* The blocks should be multiples of 7 and a pause between the numbers
```shuffle
basic.showNumber(7)
basic.pause(500)
basic.showNumber(14)
```
### Hints and tips
Cut out these documentation cards to help you!
```cards
basic.showNumber()
basic.pause()
```
* Run the code to see if it works as expected.

View File

@ -2,7 +2,7 @@
show an image that points up when the logo is up.
### @video td/videos/magic-logo-0
## Topic

View File

@ -4,8 +4,6 @@ Show an image that points up when the logo is up.
### ~avatar avatar
### @video td/videos/magic-logo-0
Welcome! This tutorial will help you display an arrow pointing toward the logo! Let's get started.
### ~

View File

@ -24,8 +24,6 @@ input.onLogoUp(() => {
How about when the logo is down? We should display an arrow pointing downward!
### @video td/videos/magic-logo-1-2
```blocks
input.onLogoUp(() => {
basic.showLeds(`

View File

@ -2,8 +2,6 @@
change the brightness of the BBC micro:bit.
### @video td/videos/night-light-0
## Topic
Set Brightness

View File

@ -4,8 +4,6 @@ Change the brightness of the micro:bit.
### ~avatar avatar
### @video td/videos/night-light-0
Welcome! This tutorial will teach you how to change the brightness of the micro:bit. Let's get started!
### ~

View File

@ -23,7 +23,7 @@ input.onButtonPressed(Button.A, () => {
```
### Challenge 1
### @video td/videos/night-light-2
What if we want to turn off all the LEDs? Let's do this by setting the brightness to `0` when button `B` is pressed. Add an event handler with `on button pressed(B)` add `set brightness(0)` to turn off the LEDs.

View File

@ -1,6 +1,6 @@
# offset image challenges
Coding challenges for the offset image tutorial. #docs
Coding challenges for the offset image tutorial.
## Before we get started
@ -55,7 +55,7 @@ input.onButtonPressed(Button.B, () => {
### Challenge 2
### @video td/videos/offset-image-2
Now we want to make sure that the button does not go off the screen to the right. Add a new line that checks to see if offset = 5 after button `A` is pressed.

View File

@ -1,8 +1,6 @@
# prank wifi lesson
create a fake wifi app to trick your friends.
create a fake wifi app to trick your friends
Create a fake wifi app to trick your friends
* [activity](/lessons/prank-wifi/activity)
* [quiz](/lessons/prank-wifi/quiz)

View File

@ -1,6 +1,6 @@
# prank wifi challenges
create a fake wifi app to trick your friends. #docs
create a fake wifi app to trick your friends.
## Before we get started

View File

@ -1,64 +0,0 @@
# rock paper scissors lesson
a game against the BBC micro:bit.
### @video td/videos/rock-paper-scissors-0
## Topic
Local Variables
## Quick Links
* [activity](/lessons/rock-paper-scissors/activity)
* [challenges](/lessons/rock-paper-scissors/challenges)
## Class
Year 7
## Prior learning/place of lesson in scheme of work
Learn how to create a **local variable**, `var t :=time` where you can store data, so that you can use it in your code. We will be learning how to create a classic rock paper scissors game using global variables, input on shake, local variables, math random as well as simple commands such as create image, show image, show string, and show number.
## Documentation
```cards
input.onGesture(Gesture.Shake, () => {})
Math.random(3)
let x = 0
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
```
## Objectives
* learn how to create a condition so the micro:bit will run code when it is shaken
* learn how to create a local variable for a place where you can store data
* learn how to create an image to show on the micro:bit's LED screen
* learn how to show an image on the micro:bit's LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Uses diagrams to express solutions.(AB)
* Represents solutions using a structured notation (AL) (AB)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals (AL)
* Declares and assigns variables(AB)
* Selects the appropriate data types(AL) (AB
#### Data & Data Representation
* Defines data types: real numbers and Boolean (AB)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation

View File

@ -1,121 +0,0 @@
# rock paper scissors activity
A classic game against the micro:bit.
### ~avatar avatar
### @video td/videos/rock-paper-scissors-0
Welcome! This tutorial will help you create a game of rock paper scissors with the micro:bit. Let's get started!
### ~
We want the micro:bit to choose rock, paper, or scissors when it is shaken. Let's begin by creating an on shake condition so the micro:bit will run code when it is shaken.
```blocks
input.onGesture(Gesture.Shake, () => {
})
```
Next, create a variable and store pick random number from 0 to 2. On shake, a number will be randomly picked from 0-2. We will randomly display an image based on the random number returned.
```blocks
input.onGesture(Gesture.Shake, () => {
let img = Math.random(3)
})
```
The micro:bit will look like it's showing 1 frame of the image by displaying the whole image when pick random is equal to 2. We can help the micro:bit randomly decide which image to use by pick random. The micro:bit will randomly pick the image to display with show LEDs and the pick random function.
```blocks
input.onGesture(Gesture.Shake, () => {
let img = Math.random(3)
if (img == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
}
})
```
The micro:bit will look like it's showing 1 frame of the image by displaying the whole image when pick random is equal to 1. We can help the micro:bit randomly decide which image to use by pick random. The micro:bit will randomly pick the image to display with show LEDs and the pick random function.
```blocks
input.onGesture(Gesture.Shake, () => {
let img = Math.random(3)
if (img == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (img == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
}
})
```
The micro:bit will look like it's showing 1 frame of the image by displaying the whole image when pick random is not equal to 2 and not equal to 1. We can help the micro:bit randomly decide which image to use by pick random. The micro:bit will randomly pick the image to display with show LEDs and the pick random function.
```blocks
input.onGesture(Gesture.Shake, () => {
let img = Math.random(3)
if (img == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (img == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
basic.showLeds(`
. . . # #
# # . # .
. . # . .
# # . # .
. . . # #
`)
}
})
```
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/lessons/rock-paper-scissors/challenges)!
### ~

View File

@ -1,133 +0,0 @@
# rock paper scissors challenges
Coding challenges for rock paper scissors.
## Before we get started
Complete the following [guided activity](/lessons/rock-paper-scissors/activity) , your code should look like this:
```blocks
input.onGesture(Gesture.Shake, () => {
let img = Math.random(3)
if (img == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (img == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
basic.showLeds(`
. . . # #
# # . # .
. . # . .
# # . # .
. . . # #
`)
}
})
```
### Challenge 1
When the A button is pressed, increment the score by 1. You can select Game drawer then add change score by 1.
```blocks
input.onGesture(Gesture.Shake, () => {
let img = Math.random(2)
if (img == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (img == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
basic.showLeds(`
. . . # #
# # . # .
. . # . .
# # . # .
. . . # #
`)
}
})
input.onButtonPressed(Button.A, () => {
game.addScore(1)
})
```
* Click *run* to execute your code in the simulator
### Challenge 2
After incrementing the score, display the total number of wins you have.
```blocks
input.onGesture(Gesture.Shake, () => {
let img = Math.random(2)
if (img == 2) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (img == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
basic.showLeds(`
. . . # #
# # . # .
. . # . .
# # . # .
. . . # #
`)
}
})
input.onButtonPressed(Button.A, () => {
game.addScore(1)
basic.showString("WINS:")
basic.showNumber(game.score())
})
```
* Run and compile the code to see if it works as expected.
### Challenge 3
You have successfully tracked and displayed the number of wins on the micro:bit! However, what about losses? Use the Game drawer to change score by -1 when button `B` is pressed.
* Run and compile the code to see if it works as expected.

View File

@ -1,74 +0,0 @@
# rock paper scissors quiz
shift an image horizontally across the display with offset.
## Name
## Directions
Use this activity document to guide your work in the [rock paper scissors tutorial](/lessons/rock-paper-scissors/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!
## 1. Describe what `offset` does?
<br/>
## 2. Draw which LEDs are ON after running this code and the random number returned is 0
```blocks
let img = images.createImage(`
. . . . . # # # # # . . . . #
. # # # . # . . . # # # . # .
. # # # . # . . . # . # # . .
. # # # . # . . . # # # . # .
. . . . . # # # # # . . . . #
`)
let offset = Math.random(3) * 5
img.showImage(offset)
```
![](/static/mb/lessons/night-light-2.png)
<br/>
<br/>
## 3. Draw which LEDs are ON after running this code with an offset of 5. This would occur if the random number returned is 1.
```blocks
let img_ = images.createImage(`
. . . . . # # # # # . . . . #
. # # # . # . . . # # # . # .
. # # # . # . . . # . # # . .
. # # # . # . . . # # # . # .
. . . . . # # # # # . . . . #
`)
let offset_ = Math.random(3) * 5
img.showImage(offset)
```
![](/static/mb/lessons/night-light-2.png)
<br/>
<br/>
## 4. Draw which LEDs are ON after running this code with an offset of 10. This would occur if the random number returned is 2.
```blocks
let img_1 = images.createImage(`
. . . . . # # # # # . . . . #
. # # # . # . . . # # # . # .
. # # # . # . . . # . # # . .
. # # # . # . . . # # # . # .
. . . . . # # # # # . . . . #
`)
let offset_1 = Math.random(3) * 5
img.showImage(offset)
```
![](/static/mb/lessons/night-light-2.png)
<br/>

Some files were not shown because too many files have changed in this diff Show More