Compare commits

...

683 Commits

Author SHA1 Message Date
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
f3bfe3d94e 0.2.132 2016-05-26 11:15:56 -07:00
ed54ace797 Bump pxt-core to 0.2.141 2016-05-26 11:15:16 -07:00
0648e80131 added serial.redirect 2016-05-26 11:07:09 -07:00
ce9a83ff28 0.2.131 2016-05-26 09:15:26 -07:00
54439bba4d Bump pxt-core to 0.2.140 2016-05-26 09:15:22 -07:00
23a581c899 added rock-paper-scissors page 2016-05-26 09:15:10 -07:00
3f8fa4b05b 0.2.130 2016-05-25 10:53:55 -07:00
53ab8651bd Bump pxt-core to 0.2.139 2016-05-25 10:53:52 -07:00
87300be648 updated starter template 2016-05-24 22:18:33 -07:00
d0a7df7f36 0.2.129 2016-05-24 21:57:47 -07:00
1c8fa5eab6 move pins->map up in block list 2016-05-24 21:39:57 -07:00
d8c2d697b1 Merge pull request #75 from gbaman/master
Add few more radio documentation pages
2016-05-24 21:21:00 -07:00
2ede815535 Add write-value-to-serial documentation 2016-05-25 02:58:27 +01:00
a67f16a860 Deleted redundant paragraph. 2016-05-24 18:27:14 -07:00
819ab9aa9a Add receive-string documentation page 2016-05-25 02:23:33 +01:00
318ffde27f Add send-string documentation page 2016-05-25 01:53:13 +01:00
525e59ae4f Heavy rewrite; added Fahrenheit example too for US. 2016-05-24 17:51:10 -07:00
ab087b4afa Add set-transmit-power documentation page 2016-05-25 01:40:01 +01:00
3b8ae69a6c Rewrite of text and examples. 2016-05-24 15:36:04 -07:00
8de6605112 0.2.128 2016-05-24 14:32:27 -07:00
daea493dcb Bump pxt-core to 0.2.138 2016-05-24 14:32:11 -07:00
b290692334 using pxt constant to find binary .hex 2016-05-24 14:06:25 -07:00
f25f295d0c 0.2.127 2016-05-24 13:03:06 -07:00
5fd691ef92 Bump pxt-core to 0.2.137 2016-05-24 13:03:04 -07:00
67c8753315 Updating loop docs 2016-05-24 12:30:31 -07:00
9d405afde0 0.2.126 2016-05-24 11:41:37 -07:00
b05c8ebd56 Bump pxt-core to 0.2.136 2016-05-24 11:41:35 -07:00
b69156a12e adding target compile service configuration 2016-05-24 09:46:33 -07:00
961e2cb6e9 Simple language rewrite. Needs new code example; legacy one broken. 2016-05-23 18:02:40 -07:00
924d31a211 Simple language for short topic. 2016-05-23 17:21:36 -07:00
8721b54679 Pretty thoroughly rewritten in simple language. 2016-05-23 16:21:08 -07:00
e99292d008 Minor clarification 2016-05-23 14:46:11 -07:00
cc1ed10efb pics for the 10 activities 2016-05-23 17:39:44 -04:00
b48c11d380 Simpler language; added another (simpler) example. 2016-05-23 13:41:01 -07:00
3f1602f2c0 Simpler language, more interesting example (running time was always 0). 2016-05-23 12:45:14 -07:00
324fd45fb6 Rewriting play-tone for correctness & clarity. 2016-05-23 11:50:08 -07:00
d1a3892eab Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-21 08:25:16 -07:00
28d28eb67f Rewrite text, code sample. 2016-05-20 18:33:31 -07:00
a67164d5e6 Making another topic easier to understand. 2016-05-20 16:05:45 -07:00
86b35ae88d Absolutely necessary tiny tweak. 2016-05-20 15:36:37 -07:00
919c8fdfca Rewrite in simple English, debug the examples. 2016-05-20 15:33:15 -07:00
4abdb28a59 More simple English docs. 2016-05-20 13:24:27 -07:00
21361708ec Rest of Basic in simple English. Reconsider some code samples? 2016-05-20 13:09:18 -07:00
4e56342e52 updated docs 2016-05-20 05:40:54 -07:00
7273354944 support for 3g/6g gestures 2016-05-20 05:39:44 -07:00
9c96591edd 0.2.125 2016-05-19 23:21:16 -07:00
4f38658d74 Bump pxt-core to 0.2.131 2016-05-19 23:21:14 -07:00
6329a79ce1 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-19 23:19:17 -07:00
befbdd32cc Four rewrites of basic.* API pages in simple English. 2016-05-19 16:50:02 -07:00
44688ee5d5 missing simulator function for serial 2016-05-19 14:50:02 -07:00
cc36bae97d Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-19 13:56:28 -07:00
c65bdb34af various docs updates 2016-05-19 13:56:24 -07:00
21f7ef9b55 Simplified (but not oversimplified) show-string docs. Proposed new reference format. 2016-05-19 13:49:26 -07:00
d7250d54f8 Simplified (but not oversimplified) show-string docs. Proposed new reference format. 2016-05-19 13:46:02 -07:00
9a36a2fc05 removing serial event (not supported in DAL) 2016-05-19 13:39:28 -07:00
539357237f 0.2.124 2016-05-19 12:37:54 -07:00
35d59da17e Bump pxt-core to 0.2.130 2016-05-19 12:37:52 -07:00
0b226bc9aa updated category colors theme 2016-05-19 11:59:57 -07:00
f2bab5d122 missing async annotation on serial 2016-05-19 10:53:48 -07:00
6e6a98559c updated setup instructions 2016-05-19 10:34:24 -07:00
217fce953d Table of contents proof of concept 2016-05-18 15:57:43 -07:00
bfac2910da tentative serial fix for #66 2016-05-18 11:57:10 -07:00
5962c28b0e Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-18 11:30:38 -07:00
d3509a6254 Test docs tweak 2016-05-18 11:28:15 -07:00
df91bf234c adding side menu 2016-05-18 11:15:00 -07:00
2a46935f62 better startup instructions 2016-05-18 09:18:14 -07:00
5e024c6f23 added test package 2016-05-17 10:42:44 -07:00
28b3d823b2 0.2.123 2016-05-17 10:28:46 -07:00
b7c9bc7978 fixing test suite 2016-05-17 10:28:26 -07:00
52b2ee3f4c 0.2.122 2016-05-17 09:59:06 -07:00
263cc25633 updated docs 2016-05-17 09:58:51 -07:00
2e3d875b7d added serial events 2016-05-17 09:36:01 -07:00
7704ad9f8d doc updates 2016-05-17 09:35:55 -07:00
845d7a004c updated docs 2016-05-16 22:18:58 -07:00
1cf070d649 changed starting template 2016-05-16 22:04:41 -07:00
24420a2cc4 0.2.121 2016-05-16 21:52:35 -07:00
2f8b61998b bringing back triangles / logo on simulator 2016-05-16 21:48:54 -07:00
af38071c6a 0.2.120 2016-05-16 16:25:04 -07:00
89f09c7f35 added pins->on pulsed 2016-05-16 16:24:44 -07:00
a667467bbd 0.2.119 2016-05-13 06:25:57 -07:00
ada2583e17 removing browserconfig.xml / favicon.ico until cloud supports it 2016-05-13 06:18:15 -07:00
c04538313d 0.2.118 2016-05-13 05:44:48 -07:00
1039dc560e Bump pxt-core to 0.2.129 2016-05-13 05:44:46 -07:00
957c7ad848 0.2.117 2016-05-13 05:08:07 -07:00
5e7351a481 Bump pxt-core to 0.2.127 2016-05-13 05:08:05 -07:00
f0c089373b updated mobile icons 2016-05-13 04:55:28 -07:00
879a85bdbb exposing i2c blocks in pins 2016-05-13 03:38:52 -07:00
7a9c2e0fe4 0.2.116 2016-05-12 22:23:46 -07:00
9656c1159a Bump pxt-core to 0.2.125 2016-05-12 22:23:45 -07:00
801117d6b0 remove head from simulator 2016-05-12 22:23:23 -07:00
c084bff334 remove logo in simulator 2016-05-12 21:56:22 -07:00
18bf35f179 updated camp 2016-05-12 13:56:03 -07:00
7e7dc91947 updated camp 2016-05-12 13:50:27 -07:00
da79f643dc 0.2.115 2016-05-12 13:41:34 -07:00
ea10cde3eb added camp 2016-05-12 13:41:15 -07:00
0a60b0ee37 0.2.114 2016-05-12 12:37:57 -07:00
b4bc985068 upgraded to lancaster 2.0.0.rc3 (core 0.1.9)
added radio.send/receive string
2016-05-12 12:35:40 -07:00
78f9af5bc2 0.2.113 2016-05-11 12:05:13 -07:00
e9410d17a6 0.2.112 2016-05-11 11:42:51 -07:00
ca8ef260d5 Bump pxt-core to 0.2.124 2016-05-11 11:42:49 -07:00
5ea5e9bb5b added accent color 2016-05-11 11:39:45 -07:00
19c689a8c4 added microsoft logo 2016-05-11 09:18:29 -07:00
72226cd4e5 0.2.111 2016-05-11 08:49:33 -07:00
0d3af60892 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-11 06:46:05 -07:00
f88cda8244 added privacy/tou urls 2016-05-11 06:45:45 -07:00
f71925fdd2 Simplify logo some more 2016-05-11 15:39:20 +02:00
bfeda371a9 Add simplified logo (more suitable for small size) 2016-05-11 15:33:55 +02:00
eb09530391 Fix typo 2016-05-11 14:12:09 +02:00
346d1e77da 0.2.110 2016-05-10 21:49:16 -07:00
bf384355c4 Bump pxt-core to 0.2.122 2016-05-10 21:49:15 -07:00
3801e52370 fixed build instructions 2016-05-10 21:43:41 -07:00
99574f1ec8 added link to live editor 2016-05-10 21:43:12 -07:00
12705eed06 removed some ids 2016-05-10 21:40:39 -07:00
a62f2b00b4 updated radio apis to support key/value pair 2016-05-10 21:13:16 -07:00
7d0101af25 marking various radio functions as debug until API is stable 2016-05-10 16:42:18 -07:00
60c3f1f427 0.2.109 2016-05-10 12:41:37 -07:00
8552a2de52 fixing docs icon size 2016-05-10 12:41:20 -07:00
b0d4fdb009 0.2.108 2016-05-10 11:42:14 -07:00
d3294ee99e 0.2.107 2016-05-10 11:34:59 -07:00
00d23f8437 updated windows 10 app 2016-05-10 11:34:41 -07:00
1c6c749dad 0.2.106 2016-05-10 11:08:46 -07:00
2803c00814 Bump pxt-core to 0.2.121 2016-05-10 11:08:44 -07:00
f150d93070 removing old logos 2016-05-10 10:51:47 -07:00
7f284b2a57 0.2.105 2016-05-10 10:44:52 -07:00
0e5c30ec7c updated logo 2016-05-10 10:44:40 -07:00
2cc6f864a8 remove logging 2016-05-10 10:26:36 -07:00
d428a2cd1f Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-10 10:15:25 -07:00
47f9362e5f read radio values 2016-05-10 10:14:51 -07:00
38b197bc03 0.2.104 2016-05-10 19:03:50 +02:00
9a404854e7 Rename target 2016-05-10 19:03:31 +02:00
d17a8de72d Use shorter domain name 2016-05-10 19:01:36 +02:00
9d1f2e024b missing shim 2016-05-10 09:28:05 -07:00
e7d8559fe3 Cache test scripts 2016-05-10 13:18:35 +02:00
fcfdbcc7e4 moving block down category 2016-05-09 23:03:42 -07:00
5884231399 null terminated name 2016-05-09 23:01:20 -07:00
e8887f5904 radio blocks to read/stream value pairs 2016-05-09 22:55:37 -07:00
07e8610e5d 0.2.103 2016-05-09 14:13:15 -07:00
37fb907f04 Bump pxt-core to 0.2.120 2016-05-09 14:13:13 -07:00
13f42f5892 added various tutorials 2016-05-09 10:32:02 -07:00
5fcf9165ea magic 8 tutorial 2016-05-09 09:45:57 -07:00
b33d0ba470 updated strings 2016-05-06 14:17:39 -07:00
b9f66c5c6b 0.2.102 2016-05-06 11:31:55 -07:00
9848409283 Bump pxt-core to 0.2.117 2016-05-06 11:31:53 -07:00
ce16e64660 added shuffled lessons 2016-05-06 11:31:25 -07:00
4d056e0c23 lessons updates 2016-05-06 09:32:29 -07:00
70b2827cf0 fixing various lessons menu 2016-05-06 09:28:26 -07:00
62e4b04931 0.2.101 2016-05-05 12:50:36 -07:00
17e33cc34f updated white space 2016-05-05 12:50:26 -07:00
d4ad150cba Bump pxt-core to 0.2.114 2016-05-05 12:48:59 -07:00
52bfd4e535 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-05 12:35:26 -07:00
f854dfd9c8 updated generated docs 2016-05-05 12:32:40 -07:00
d905f24f9c updated generated strings.json 2016-05-05 11:32:35 -07:00
81b8b1b69c updated docs 2016-05-05 11:16:14 -07:00
efce4c3698 linting 2016-05-05 08:57:44 -07:00
b5e4a36e9c Add libraries docs 2016-05-05 14:20:18 +01:00
04a60a5b47 fixing various lint violations 2016-05-04 23:31:55 -07:00
29b28e7f0d adding aspect ratio 2016-05-04 22:44:11 -07:00
979381eaef Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-05-04 14:46:46 -07:00
e4370f4e3c 0.2.100 2016-05-04 15:25:52 +01:00
ba707f080d Bump pxt-core to 0.2.112 2016-05-04 15:25:51 +01:00
3816e01f87 Add locale-specific theme 2016-05-04 15:23:04 +01:00
548d215b48 0.2.99 2016-05-04 13:31:59 +01:00
43da58f214 Bump pxt-core to 0.2.111 2016-05-04 13:31:57 +01:00
f90d052538 Add example localized doc 2016-05-04 13:25:56 +01:00
13ff7cd0ec removing readme.md from template 2016-05-03 14:45:10 -07:00
a3b34518b0 0.2.98 2016-05-02 21:24:17 -07:00
5a33dc8a81 updated thank you 2016-05-02 21:24:10 -07:00
7349e28898 0.2.97 2016-05-02 21:15:27 -07:00
26b9fdf40e adding survey completed 2016-05-02 21:15:10 -07:00
3cf82b9be2 0.2.96 2016-05-02 10:49:05 -07:00
546c44bafa Bump pxt-core to 0.2.107 2016-05-02 10:49:03 -07:00
d727d3fcde removing lists 2016-05-02 09:46:03 -07:00
6b0cf961c6 support for lists in blocks 2016-05-02 09:40:29 -07:00
18419d763d 0.2.95 2016-04-29 17:17:57 -07:00
99fdb53fa0 Bump pxt-core to 0.2.106 2016-04-29 17:17:54 -07:00
879fdd687e Merge remote-tracking branch 'refs/remotes/origin/master' into docs 2016-04-29 16:25:57 -07:00
6c1b879c34 Merge remote-tracking branch 'refs/remotes/origin/master' into docs 2016-04-29 16:18:43 -07:00
019bbc79fc 0.2.94 2016-04-29 11:20:30 -07:00
f857a88541 Bump pxt-core to 0.2.105 2016-04-29 11:20:28 -07:00
6531e7bfbb Merge remote-tracking branch 'origin/docs' 2016-04-29 07:58:13 -07:00
2147225afd update seismograph 2016-04-28 17:02:33 -07:00
841ea6d060 update lesson changes 2016-04-28 16:49:57 -07:00
3dddb2eb30 Merge pull request #55 from Microsoft/docs
Docs
2016-04-28 16:42:05 -07:00
651cf14556 update lesson 2016-04-28 14:12:02 -07:00
7f6fb5559b reworking charting lesson 2016-04-28 11:47:59 -07:00
ea724038dc Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-28 11:44:24 -07:00
19757d4245 updated chart 2016-04-28 11:44:11 -07:00
07a7b4048a fix missing loops 2016-04-28 11:21:58 -07:00
45742aa2ac Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-28 10:46:50 -07:00
db0c5d9f9f exposing serial number block. 2016-04-28 10:46:03 -07:00
8285250a1b updated charting 2016-04-28 10:27:51 -07:00
de0257c7e9 update lessons charting 2016-04-28 10:22:58 -07:00
3580012065 updated lessons
update
2016-04-27 16:36:29 -07:00
cdb23fffb6 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-27 15:30:51 -07:00
6937c51549 0.2.93 2016-04-27 15:02:21 -07:00
69e90523e2 Bump pxt-core to 0.2.101 2016-04-27 15:02:19 -07:00
f76235736a Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-27 14:54:20 -07:00
8431243b63 0.2.92 2016-04-27 13:38:07 -07:00
458b4553d2 Bump pxt-core to 0.2.100 2016-04-27 13:38:05 -07:00
0f6e8854d8 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-27 13:13:13 -07:00
5565bb7d24 updated target definition 2016-04-27 13:13:03 -07:00
6c539fb04f Add some debugger hooks 2016-04-27 19:26:55 +01:00
b30a0ced87 removing references to missing files 2016-04-26 17:13:19 -07:00
ac942e198a missed file in previous checkin 2016-04-26 17:09:27 -07:00
cef1f57e30 expose device serial number in javascript 2016-04-26 17:09:15 -07:00
980ad6ce91 update acc lesson 2016-04-26 16:52:18 -07:00
53bfea5752 updated charts 2016-04-26 16:40:55 -07:00
4917bb7e39 update chart 2 2016-04-26 16:38:27 -07:00
139823203e update charting activity 2016-04-26 16:34:10 -07:00
883f4d1a20 update images 2016-04-26 16:13:52 -07:00
0bce69edd0 updating images 2016-04-26 16:13:38 -07:00
efccc921cb Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-26 13:43:21 -07:00
55859b1237 support for exposing device name 2016-04-26 13:43:02 -07:00
ec09d40366 update charting 2016-04-26 12:34:58 -07:00
512e40fae3 clearer api name in serial 2016-04-26 12:19:42 -07:00
028dac25f6 updated lesson main 2016-04-26 12:04:05 -07:00
e0d4763974 update acc 2016-04-26 11:03:26 -07:00
3b3e402ffa Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-26 10:46:32 -07:00
e37ac1a1d7 0.2.91 2016-04-26 10:43:51 -07:00
17eb36a8dc Bump pxt-core to 0.2.99 2016-04-26 10:43:49 -07:00
10d44b97cc more serial infos 2016-04-26 10:29:05 -07:00
505c750dd0 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-25 16:34:50 -07:00
d0e900606a update chart 2016-04-25 16:19:22 -07:00
dcbb076266 light update 2016-04-25 16:01:57 -07:00
22c852f2d9 udpate lessons 2016-04-25 15:59:28 -07:00
76770bc0e1 acc update 2016-04-25 15:57:02 -07:00
572080bc6d update charting 2016-04-25 15:55:52 -07:00
0b8142ae73 update acc 2016-04-25 15:54:28 -07:00
09a06d9fa9 update acc 2016-04-25 15:44:07 -07:00
80e8c6684d update acc 2016-04-25 15:41:47 -07:00
4cccb36f3d update csv 2016-04-25 15:36:06 -07:00
a427a1e720 update csv 2016-04-25 15:35:26 -07:00
be77c5296b update acc 2016-04-25 15:34:15 -07:00
a0c1b2c580 pic up 2016-04-25 15:32:50 -07:00
fc905c5f8f update acc chart 2016-04-25 15:26:49 -07:00
f1bd84733b acc update 2016-04-25 15:16:01 -07:00
d3080d2e66 acc update 2016-04-25 15:14:01 -07:00
090e530ff0 update lessons 2016-04-25 14:45:09 -07:00
094e9d25cd update lesson 2016-04-25 14:43:30 -07:00
0bcb9c16fa update lessons 2016-04-25 14:42:47 -07:00
269bdb82a6 update acceleration 2016-04-25 14:33:02 -07:00
cba7e02bcd update lesson 2016-04-25 14:29:48 -07:00
8ef834b73b update chrat 2016-04-25 13:58:41 -07:00
ec54622f52 update chart 2016-04-25 13:58:05 -07:00
5d90b70425 update chart 2016-04-25 13:55:03 -07:00
8cef13e517 update chart activity 2016-04-25 13:51:32 -07:00
82986c091b update charting 2016-04-25 12:45:10 -07:00
67f2fdcfec 0.2.90 2016-04-25 12:44:04 -07:00
d11c5a9028 Bump pxt-core to 0.2.98 2016-04-25 12:44:03 -07:00
b7cb7e477e update charting1 2016-04-25 12:42:39 -07:00
0d1059aedf update charting 2016-04-25 12:42:05 -07:00
b92fc783fa updated charting 2016-04-25 12:33:11 -07:00
6d73e5e129 update chartting 2016-04-25 11:51:47 -07:00
6150850729 glowing pend update 2016-04-25 11:32:20 -07:00
76a18fa61b updated glowing pendulum 2016-04-25 11:31:06 -07:00
2bd66ae4ef 0.2.89 2016-04-22 23:14:03 -07:00
f6eefde27c Bump pxt-core to 0.2.96 2016-04-22 23:14:01 -07:00
60c9e4a82f 0.2.88 2016-04-22 14:54:24 -07:00
56713227c5 0.2.87 2016-04-22 14:48:01 -07:00
fd6e110790 Bump pxt-core to 0.2.95 2016-04-22 14:47:59 -07:00
2336521df1 0.2.86 2016-04-22 13:38:45 -07:00
2ce72aeb28 Bump pxt-core to 0.2.93 2016-04-22 13:38:43 -07:00
e746c13212 don't filter or throttle serial, let the user deal with it. 2016-04-22 13:12:43 -07:00
9e073aee36 fixing doc links. fix for #49 2016-04-22 12:37:47 -07:00
3906f06a2f 0.2.85 2016-04-22 00:15:11 -07:00
d89747fa46 typo in default value 2016-04-22 00:14:57 -07:00
c4e6618baa 0.2.84 2016-04-22 00:07:31 -07:00
5232be58ce auto adjusting bar graph + debouncing sending data over serial 2016-04-21 23:44:22 -07:00
5a75483811 updated target definition 2016-04-21 22:46:40 -07:00
4b40585690 0.2.83 2016-04-21 14:26:36 -07:00
dd65efaab6 Bump pxt-core to 0.2.92 2016-04-21 14:26:34 -07:00
890c2566af 0.2.82 2016-04-20 07:13:06 -07:00
cd71fc5d13 Bump pxt-core to 0.2.89 2016-04-20 07:13:04 -07:00
f626dd4bbb 0.2.81 2016-04-19 20:52:09 -07:00
956992e9ab Bump pxt-core to 0.2.88 2016-04-19 20:52:08 -07:00
91ddcef6ce 0.2.80 2016-04-19 16:30:49 -07:00
49fa42473f Bump pxt-core to 0.2.86 2016-04-19 16:30:47 -07:00
564de8863a fix scrollbar 2016-04-19 13:26:00 -07:00
1dd70100d6 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-19 13:25:46 -07:00
a38ff18eaf 0.2.79 2016-04-19 12:58:18 -07:00
d46ef1efca Bump pxt-core to 0.2.83 2016-04-19 12:58:16 -07:00
c54cd21efa Don't go through uBit object if not needed 2016-04-19 11:52:44 -07:00
94f18340ec prevent elastic scroll in simulator 2016-04-19 10:06:36 -07:00
13bdcf762d updated dal definition 2016-04-19 09:43:23 -07:00
6455da6adb 0.2.78 2016-04-18 22:55:03 -07:00
4e88ba4ef2 Bump pxt-core to 0.2.82 2016-04-18 22:55:01 -07:00
0c7d49256d don't use blockStatement anymore 2016-04-18 13:31:05 -07:00
c2883d00ee use registerwithdal in simulator 2016-04-18 10:46:44 -07:00
7da483f258 fixing links 2016-04-18 09:47:34 -07:00
6cbc6a53b2 more missing simulator functions 2016-04-18 09:47:27 -07:00
5e23bc96ca don't expose storage in blocks 2016-04-18 09:21:11 -07:00
4169663a8b fixing broken links 2016-04-18 08:33:09 -07:00
4795c58e97 initial blocks for storage 2016-04-16 07:45:04 -07:00
8fb96934ca panic when radio does not start 2016-04-15 22:41:30 -07:00
cd91504c1f fix help urls 2016-04-15 16:54:44 -07:00
91e8196621 0.2.77 2016-04-15 16:47:36 -07:00
26841de6cf bring back 'write number' 2016-04-15 16:40:51 -07:00
24f2a45310 0.2.76 2016-04-15 16:36:40 -07:00
67c5f0612a added serial docs 2016-04-15 16:36:31 -07:00
d7c3f1b50a various docs fixes 2016-04-15 16:15:08 -07:00
2fb6025848 fixed banana 2016-04-15 16:02:50 -07:00
8da3c5eb84 various docs fixes 2016-04-15 15:53:20 -07:00
4ee1799271 more docs 2016-04-15 15:40:55 -07:00
953ea31016 0.2.75 2016-04-15 15:27:30 -07:00
9fe27d5f35 Bump pxt-core to 0.2.81 2016-04-15 15:27:28 -07:00
d290aeb2e9 udpated favicon 2016-04-15 15:27:21 -07:00
7fee84678a missing favicon 2016-04-15 15:10:35 -07:00
77030db1d3 fixing links in docs 2016-04-15 15:02:26 -07:00
bb6ae00a49 moving out outdated js docs 2016-04-15 14:37:25 -07:00
6515cc0360 0.2.74 2016-04-15 08:17:45 -07:00
13d09b3e83 Bump pxt-core to 0.2.79 2016-04-15 08:17:43 -07:00
3a434197a3 updated neopixel 2016-04-15 07:42:52 -07:00
8ab0dc450a 0.2.73 2016-04-14 21:42:18 -07:00
4afc887ee5 Bump pxt-core to 0.2.78 2016-04-14 21:42:17 -07:00
db4692843f fixing text scroll on simulator 2016-04-14 21:42:02 -07:00
ad98c1aaa6 0.2.72 2016-04-14 21:15:11 -07:00
6ff9652450 Bump pxt-core to 0.2.77 2016-04-14 21:15:09 -07:00
6182a80f41 0.2.71 2016-04-14 18:26:14 -07:00
06e59c8d02 Bump pxt-core to 0.2.75 2016-04-14 18:25:56 -07:00
b9f17c3143 Re-generate for new DAL 2016-04-14 17:58:10 -07:00
10e3fdf007 upated to 0.1.7. fixing rename issues 2016-04-14 14:29:28 -07:00
9a50050f7c 0.2.70 2016-04-14 10:18:05 -07:00
63ac41c4b4 Bump pxt-core to 0.2.74 2016-04-14 10:18:03 -07:00
602ebacb0b 0.2.69 2016-04-14 09:56:32 -07:00
4e55c0439e Bump pxt-core to 0.2.73 2016-04-14 09:56:30 -07:00
965deb5711 0.2.68 2016-04-14 08:57:32 -07:00
c24aba739b Bump pxt-core to 0.2.71 2016-04-14 08:57:30 -07:00
c55263889b 0.2.67 2016-04-14 07:39:40 -07:00
fc7325b0f6 handle null dereference in imagemethods + nicer panic 2016-04-14 07:39:24 -07:00
e46e02ad5e 0.2.66 2016-04-13 16:44:34 -07:00
7d12ee0cb4 Bump pxt-core to 0.2.70 2016-04-13 16:44:33 -07:00
6b339fdc15 Merge branch 'master' of github.com:Microsoft/kindscript-microbit 2016-04-13 16:44:31 -07:00
8bb3f74f09 Add configuration for running td2ts converter test 2016-04-13 14:34:45 -07:00
aaf1513793 0.2.65 2016-04-13 13:39:40 -07:00
3d813a8716 Bump pxt-core to 0.2.69 2016-04-13 13:39:38 -07:00
53724c4b63 updated about 2016-04-13 13:37:30 -07:00
eb7582bb56 added docs logo 2016-04-13 13:10:47 -07:00
162902fabc fix quiz 2016-04-13 13:02:22 -07:00
12dbdf8530 removig duplicate lessons 2016-04-13 09:17:25 -07:00
ac90b16825 fix for #24 2016-04-13 09:03:10 -07:00
f7531ea9b0 fix for #4 2016-04-13 08:55:20 -07:00
8c00942c39 more doc fixes 2016-04-13 08:51:40 -07:00
18e637aa28 remove "to create new script..." 2016-04-13 08:48:42 -07:00
d28efb3b84 batch fixing ](/microbit/ -> ](/ links 2016-04-13 08:27:45 -07:00
2e49901a7e updated watch activity. fix for #29 2016-04-13 08:21:14 -07:00
981f67b581 0.2.64 2016-04-13 08:11:33 -07:00
1f7a32da6b Bump pxt-core to 0.2.68 2016-04-13 08:07:11 -07:00
e545ae948a 0.2.63 2016-04-13 04:30:43 -07:00
dc6386da52 Bump pxt-core to 0.2.67 2016-04-13 04:30:41 -07:00
c908794d23 fix text font in simulator for Edge 2016-04-13 03:53:30 -07:00
8e27d596aa making neopixels block friendly 2016-04-12 22:09:03 -07:00
9b46145391 0.2.62 2016-04-12 19:45:01 -07:00
3182f7c546 Bump pxt-core to 0.2.65 2016-04-12 19:44:59 -07:00
8aed8548cc Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-12 19:11:38 -07:00
5e10bd7cc9 0.2.61 2016-04-12 19:08:41 -07:00
fddb9ff0d8 Bump pxt-core to 0.2.64 2016-04-12 19:08:39 -07:00
a0a0554633 Add String.substr 2016-04-12 19:08:26 -07:00
df92a3daae Remove unused file 2016-04-12 18:51:56 -07:00
26985f2813 Default enum arguments not supported yet 2016-04-12 17:57:16 -07:00
e7fd68e7ee Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-12 17:36:52 -07:00
e63b764568 Merge branch 'master' of github.com:Microsoft/kindscript-microbit 2016-04-12 17:10:46 -07:00
ef821e4b8b Add missing Image methods 2016-04-12 17:10:37 -07:00
b7a547c2b4 consisstent title 2016-04-12 16:00:06 -07:00
43d600ab38 0.2.60 2016-04-12 15:19:36 -07:00
b38145e46a Bump pxt-core to 0.2.62 2016-04-12 15:19:34 -07:00
b29f8faa14 0.2.59 2016-04-12 12:47:11 -07:00
e58dd64780 Bump pxt-core to 0.2.60 2016-04-12 12:47:09 -07:00
b1028abb04 implementing missing shims 2016-04-12 08:55:20 -07:00
9f0f63a79e implementing input.rotation 2016-04-12 08:38:48 -07:00
1c403e4ddb 0.2.58 2016-04-12 07:13:23 -07:00
9143b34d9d Bump pxt-core to 0.2.59 2016-04-12 07:13:22 -07:00
f5a41d7c37 0.2.57 2016-04-12 07:08:37 -07:00
57c8698b58 0.2.56 2016-04-11 22:30:20 -07:00
4e3ed27f93 0.2.55 2016-04-11 21:50:39 -07:00
41977f087e win10 docs 2016-04-11 21:49:57 -07:00
c1a4a55e2b Fix typo 2016-04-11 20:54:26 -07:00
abc9e90cb9 Add control.panic and control.assert 2016-04-11 19:44:49 -07:00
3119bcc625 Fix note block names 2016-04-11 19:44:39 -07:00
905da373c0 Update README.md 2016-04-11 13:46:14 -07:00
05dce8efce 0.2.54 2016-04-11 13:09:46 -07:00
cbfc960594 Bump pxt-core to 0.2.58 2016-04-11 13:09:43 -07:00
c2c765098d use pointerevents if available 2016-04-11 10:58:09 -07:00
9daf6ad9fc updated package 2016-04-11 08:23:33 -07:00
0c05ae9b64 Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-10 20:52:22 -07:00
27ea7cae56 added serial/bluetooth capability 2016-04-10 20:51:57 -07:00
80f9c52bac clean up 2016-04-09 16:42:29 -04:00
afef607ccf 0.2.53 2016-04-09 01:35:25 -07:00
45fe7e6bb4 Bump pxt-core to 0.2.56 2016-04-09 01:35:23 -07:00
8e66b041e2 updated filters 2016-04-09 01:27:08 -07:00
e99a2df578 0.2.52 2016-04-08 18:49:43 -07:00
7e5f3fdbf3 Bump pxt-core to 0.2.55 2016-04-08 18:49:41 -07:00
b538526948 Add webmanifest files 2016-04-08 18:38:25 -07:00
889142d0f7 0.2.51 2016-04-08 17:31:02 -07:00
3791689fc4 Bump pxt-core to 0.2.54 2016-04-08 17:30:59 -07:00
d05f66650f Merge branch 'master' of github.com:Microsoft/kindscript-microbit 2016-04-08 17:28:56 -07:00
a4f08e99a9 Add own manifest 2016-04-08 17:28:52 -07:00
3999c215ce 0.2.50 2016-04-08 16:57:58 -07:00
c6b8acb0b8 Bump pxt-core to 0.2.53 2016-04-08 16:57:56 -07:00
1e054f96ec updated about page 2016-04-08 16:57:37 -07:00
190e5e2e03 Add empty sim.manifestfiles 2016-04-08 16:00:11 -07:00
63ae951249 0.2.49 2016-04-08 15:06:07 -07:00
e5aeacae2f Bump pxt-core to 0.2.51 2016-04-08 15:06:05 -07:00
9ecb7f11cd Merge branch 'master' of github.com:Microsoft/kindscript-microbit 2016-04-08 14:57:27 -07:00
d1660f1361 0.2.48 2016-04-08 14:56:34 -07:00
edf5345492 Bump pxt-core to 0.2.50 2016-04-08 14:56:33 -07:00
5eadb3483f Remove explicit caching from simulator 2016-04-08 14:44:24 -07:00
c4d3fd5d67 moved svg files around 2016-04-08 13:57:37 -07:00
5166c5141f added build of windows app 2016-04-08 13:49:53 -07:00
c21b45a084 updated windows app manifest 2016-04-08 13:21:03 -07:00
fa0d365aae importing target logos from files 2016-04-08 12:04:43 -07:00
43cab7a156 added portrait logo 2016-04-08 11:50:21 -07:00
79b000b1bb 0.2.47 2016-04-08 11:02:01 -07:00
0af25f4230 Bump pxt-core to 0.2.49 2016-04-08 11:01:59 -07:00
0fcca0792a Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-04-08 10:54:05 -07:00
cb1260419b updated manifest 2016-04-08 10:49:43 -07:00
17150e0d71 added uwp app 2016-04-07 20:48:00 -07:00
693d019525 0.2.46 2016-04-07 18:17:30 -07:00
fa6b48e421 Bump pxt-core to 0.2.48 2016-04-07 18:17:28 -07:00
8286561125 Add app manifest 2016-04-07 18:14:24 -07:00
78083e18a7 using classlist polyfill 2016-04-07 14:18:12 -07:00
cba7ccbacb One more rename 2016-04-07 13:34:52 -07:00
391e0ed897 0.2.45 2016-04-07 13:34:13 -07:00
fce6206d28 Bump pxt-core to 0.2.46 2016-04-07 13:34:11 -07:00
faf1385933 Redirect to main repo for instructions 2016-04-07 13:33:55 -07:00
7a74def276 0.2.44 2016-04-07 13:11:12 -07:00
81b93c13ad Bump pxt-core to 0.2.45 2016-04-07 13:11:10 -07:00
2852684f89 Remove unused images 2016-04-07 13:00:38 -07:00
2798b579a6 0.2.43 2016-04-07 12:53:53 -07:00
9d23f82238 Bump pxt-core to 0.2.44 2016-04-07 12:53:51 -07:00
ce53d5c386 Renaming stuff in the simulator 2016-04-07 12:52:02 -07:00
5d3471b3b2 0.2.42 2016-04-07 11:41:51 -07:00
08b9b10ac8 Files renamed 2016-04-07 11:41:39 -07:00
404d7cc4a2 Bump pxt-core to 0.2.43 2016-04-07 11:41:23 -07:00
7c43739e4b Rename references 2016-04-07 11:30:22 -07:00
92d8adfdbd Rename json files 2016-04-07 11:30:07 -07:00
0f273131f6 0.2.41 2016-04-07 09:46:17 -07:00
9ae0c48477 Bump kindscript to 0.2.42 2016-04-07 09:46:15 -07:00
5f538f418e 0.2.40 2016-04-07 09:18:35 -07:00
859b68b6e3 Bump kindscript to 0.2.41 2016-04-07 09:18:33 -07:00
6576f7bd66 better handlings of logs 2016-04-07 09:03:21 -07:00
5a670f3291 0.2.39 2016-04-07 06:45:52 -07:00
7129487618 0.2.38 2016-04-07 06:34:15 -07:00
e1797b457a Bump kindscript to 0.2.39 2016-04-07 06:34:14 -07:00
c82efa452d 0.2.37 2016-04-07 04:48:45 -07:00
493014af01 Bump kindscript to 0.2.38 2016-04-07 04:48:43 -07:00
fb4a96d81b 0.2.36 2016-04-07 03:56:24 -07:00
bbf115f33c Bump kindscript to 0.2.36 2016-04-07 03:56:22 -07:00
5d9c2cf590 svg refactored into kindsim 2016-04-07 03:52:32 -07:00
b99231f6e2 0.2.35 2016-04-06 18:24:27 -07:00
2676907129 Bump kindscript to 0.2.35 2016-04-06 18:24:25 -07:00
6f4c533ebb 0.2.34 2016-04-06 16:41:29 -07:00
85dcaea979 0.2.33 2016-04-06 16:36:41 -07:00
8560b31657 Bump kindscript to 0.2.33 2016-04-06 16:36:40 -07:00
b896588f45 0.2.32 2016-04-06 16:09:30 -07:00
0b4d4facfe fix target 2016-04-06 16:09:20 -07:00
52ad897ee3 0.2.31 2016-04-06 15:49:03 -07:00
72582f2a60 updated title 2016-04-06 15:48:45 -07:00
2b2048da7d 0.2.30 2016-04-06 15:34:37 -07:00
e85fa990bd Bump kindscript to 0.2.31 2016-04-06 15:34:35 -07:00
81a61538c3 updated target 2016-04-06 15:23:58 -07:00
cc8751bd09 updated target 2016-04-06 15:12:55 -07:00
03f933a1c8 0.2.29 2016-04-06 14:02:53 -07:00
10a77d9fef Bump kindscript to 0.2.30 2016-04-06 14:02:51 -07:00
773f8a8688 0.2.28 2016-04-06 08:05:40 -07:00
f67743d935 Bump kindscript to 0.2.29 2016-04-06 08:05:38 -07:00
237a57ee86 updated logos 2016-04-06 07:32:14 -07:00
b80edb43fc removing some serial functions 2016-04-06 07:00:34 -07:00
6c9b609fe0 annotate math namespace 2016-04-06 06:16:59 -07:00
26d78768c0 0.2.27 2016-04-05 23:15:42 -07:00
6812767555 Bump kindscript to 0.2.28 2016-04-05 23:15:39 -07:00
2aa7c91ca7 various docs updates 2016-04-05 23:11:48 -07:00
baf2c3247f Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-04-05 20:49:54 -07:00
c9536b0cf2 Use constant for end of memory 2016-04-05 19:19:27 -07:00
7fd7e15bd4 Add README.md to kind.json 2016-04-05 19:02:12 -07:00
948b0ef304 Add readme to neopixel 2016-04-05 18:21:24 -07:00
715771b991 Add readme to i2c fram module 2016-04-05 18:21:15 -07:00
65d48f4b02 Add FRAM driver 2016-04-05 17:25:45 -07:00
283c331a5e moving namespace docs 2016-04-05 16:54:09 -07:00
ba96e94fa7 added jsdoc 2016-04-05 16:52:50 -07:00
7e1248b8dc 0.2.26 2016-04-05 16:15:58 -07:00
cbe280187a Bump kindscript to 0.2.26 2016-04-05 16:15:56 -07:00
761e4f38cd adding namespace descriptions 2016-04-05 15:59:25 -07:00
a9137f7761 first radio namespace docs 2016-04-05 14:10:53 -07:00
3274e237cf 0.2.25 2016-04-05 14:05:36 -07:00
5261b2b270 0.2.24 2016-04-05 13:54:55 -07:00
1adede163a Bump kindscript to 0.2.25 2016-04-05 13:54:53 -07:00
bb80874ef9 fixing docs enum 2016-04-05 13:54:48 -07:00
9e9d11cb94 0.2.23 2016-04-05 13:28:03 -07:00
c004aa4b1b Bump kindscript to 0.2.24 2016-04-05 13:28:01 -07:00
cdd4798945 namspace docs 2016-04-05 13:23:42 -07:00
0f56142317 updated about 2016-04-05 10:36:23 -07:00
6927085d64 0.2.22 2016-04-04 22:46:48 -07:00
c1b654f092 Bump kindscript to 0.2.23 2016-04-04 22:46:46 -07:00
2f551c97b5 0.2.21 2016-04-04 22:38:41 -07:00
01e6aab376 0.2.20 2016-04-04 22:33:39 -07:00
df17ba09ae updated links 2016-04-04 22:33:13 -07:00
9c09a427c9 0.2.19 2016-04-04 22:17:12 -07:00
4b35f0f751 Bump kindscript to 0.2.22 2016-04-04 22:17:10 -07:00
bb03cc4357 static microbit image (svg) 2016-04-04 22:15:52 -07:00
6f8b17e4ba 0.2.18 2016-04-04 21:52:10 -07:00
60c5dfc539 Bump kindscript to 0.2.21 2016-04-04 21:52:09 -07:00
bca5839b49 Forever moved to common sim 2016-04-04 21:52:03 -07:00
47e3737245 Use common helpers/core 2016-04-04 21:18:16 -07:00
b8d5ec853e Prep for moving common stuff out to main ks 2016-04-04 20:28:08 -07:00
46d42e5300 0.2.17 2016-04-04 19:13:35 -07:00
ffabb9b16d Bump kindscript to 0.2.19 2016-04-04 19:13:34 -07:00
d62c10d278 Use the improved default parameters 2016-04-04 19:11:33 -07:00
e2b2aa7ff1 0.2.16 2016-04-04 19:04:04 -07:00
664c8dcd35 Bump kindscript to 0.2.18 2016-04-04 19:04:03 -07:00
bd7430b642 Add Buffer.get/setNumber and i2c methods 2016-04-04 19:02:40 -07:00
61fd28d840 Move all target stuff to kindtarget.json 2016-04-04 18:03:52 -07:00
c33df897d5 Remove unused code 2016-04-04 12:56:57 -07:00
3bb0bd2a9f 0.2.15 2016-04-04 09:50:05 -07:00
7751061b51 Bump kindscript to 0.2.17 2016-04-04 09:50:04 -07:00
88a7fa5038 0.2.14 2016-04-03 17:51:51 -07:00
3c8a62df54 Bump kindscript to 0.2.16 2016-04-03 17:51:50 -07:00
c661fd0eca Neopixel seems to work 2016-04-03 17:49:35 -07:00
8a124812b6 First draft of neopixel 2016-04-03 17:38:50 -07:00
02c41b59bd Add Buffer; go to core v0.1.5 2016-04-03 16:52:57 -07:00
b003af6eae Try to fix travis 2016-04-02 21:49:09 -07:00
5e5709e48d 0.2.13 2016-04-02 21:47:15 -07:00
dafb056730 Bump kindscript to 0.2.15 2016-04-02 21:47:14 -07:00
721ae893bb 0.2.12 2016-04-02 21:40:55 -07:00
45dd3fc1bf Bump kindscript to 0.2.14 2016-04-02 21:40:54 -07:00
9626207a61 Try to run lang-test0 during build 2016-04-02 21:36:00 -07:00
87b6e0aba1 Make lang-test0 work 2016-04-02 21:34:29 -07:00
0d9890cfac Add some image methods 2016-04-02 20:53:51 -07:00
5d40750542 Add missing control stuff 2016-04-02 20:47:27 -07:00
bd09754466 Move pin stuff to pins 2016-04-02 20:44:29 -07:00
5740133921 Moving simulator stuff into namespaces to match C++ 2016-04-02 20:35:38 -07:00
4e23553824 Naming fixes 2016-04-02 20:35:22 -07:00
9b68519aff Disable two image blocks - they crash block injection 2016-04-02 18:09:31 -07:00
e6dc3b8974 Remove shims 2016-04-02 17:49:31 -07:00
53634f4d6a Convert bluetooth to new style 2016-04-02 17:47:49 -07:00
3ee0c6ea42 Radio stuff moved for new style 2016-04-02 17:34:06 -07:00
ef098cbd28 Use -core v0.1.2 2016-04-02 14:18:10 -07:00
356b17cb13 Moving lang-test0 from kindscript main 2016-04-02 14:18:00 -07:00
47d382135b Use new APIs in the core 2016-04-02 13:44:29 -07:00
241da7fbed Add remaining shims 2016-04-02 11:22:36 -07:00
feb17c5e45 Remove remaining external shims 2016-04-01 22:46:06 -07:00
6559f386d2 Move most of core stuff 2016-04-01 22:32:33 -07:00
6bf46577f9 Migrate serial 2016-04-01 22:00:42 -07:00
0130ecb0c2 Remove shim=s 2016-04-01 21:53:50 -07:00
9820a035ce Migrate LED shims 2016-04-01 21:52:25 -07:00
88acd9254d Remove redundant shim annotations 2016-04-01 21:27:22 -07:00
650fe61dcd Move more stuff to C++ 2016-04-01 21:26:06 -07:00
c4e57e0165 0.2.11 2016-04-01 20:10:45 -07:00
a55ddcbab3 Bump kindscript to 0.2.11 2016-04-01 20:10:44 -07:00
f58508afa2 Event implementation 2016-04-01 19:59:14 -07:00
4b92de7516 Implement Images 2016-04-01 19:55:51 -07:00
6176963504 Fix pin names 2016-04-01 18:29:39 -07:00
37ec692dc4 0.2.10 2016-04-01 18:18:37 -07:00
1c2dc68479 Bump kindscript to 0.2.10 2016-04-01 18:18:36 -07:00
a33472dbd4 Merge branch 'master' of github.com:Microsoft/kindscript-microbit 2016-04-01 18:18:33 -07:00
746dc5d5ab Proper BLE setup 2016-04-01 18:01:44 -07:00
70bd81d9c2 Generate enums from C++ 2016-04-01 17:45:18 -07:00
8ee34ec4c4 0.2.9 2016-04-01 16:23:02 -07:00
9f4a121829 removing hashtags from docs 2016-04-01 16:22:47 -07:00
64eec2875b 0.2.8 2016-04-01 16:14:50 -07:00
400b9269ee Use the new enums 2016-04-01 15:44:04 -07:00
58d854f6f5 0.2.7 2016-04-01 14:49:07 -07:00
13dcbd3a62 Bump kindscript to 0.2.9 2016-04-01 14:49:04 -07:00
a2310f150f mergin changes 2016-04-01 14:44:11 -07:00
b4d7cbc1f0 updated kind.json 2016-04-01 14:43:10 -07:00
d54baaca51 Use the new enum syntax in devices as well 2016-04-01 14:18:11 -07:00
7c564ebaab Export constants from DAL in dal.d.ts 2016-04-01 14:14:57 -07:00
4b3efd434e Add C++ compile config 2016-04-01 10:29:25 -07:00
68143500da Use enum initializers not enumval= where possible 2016-04-01 09:17:41 -07:00
a7a9685963 remove logging 2016-04-01 06:35:59 -07:00
a3b2682cc1 0.2.6 2016-03-31 22:17:11 -07:00
9e7d3b86ba Bump kindscript to 0.2.8 2016-03-31 22:17:10 -07:00
68d22947bb adding simulator options 2016-03-31 20:46:11 -07:00
a92236b3d8 0.2.5 2016-03-31 19:54:00 -07:00
832bb77987 Bump kindscript to 0.2.7 2016-03-31 19:53:58 -07:00
46713ef6c3 udpate pacman 2016-03-31 18:41:54 -07:00
f9b17a844a hero updates 2016-03-31 18:37:55 -07:00
c5e3f2c673 hero 6 2016-03-31 18:27:46 -07:00
3a12314332 hero 5 2016-03-31 18:27:20 -07:00
3c9c30e489 hero 4 2016-03-31 18:24:09 -07:00
dd28c6318e hero 3 2016-03-31 18:17:36 -07:00
d43c0f6e23 hero 2 2016-03-31 18:16:45 -07:00
e0da743cb4 updated hero 2016-03-31 18:16:03 -07:00
3774b705a2 updated headbands 2016-03-31 17:50:12 -07:00
c1f6e45e36 headband update 2016-03-31 17:47:36 -07:00
7c6d3a0509 updated quizzes 2016-03-31 17:42:40 -07:00
25e83b52f3 Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-31 17:39:25 -07:00
3640ddbd0e udpate quiz ans 2016-03-31 17:39:17 -07:00
7f3b07e43f update speed lesson 2016-03-31 17:38:43 -07:00
dd6e937472 updated docs 2016-03-31 17:35:44 -07:00
1b9dfd1622 updated maker 2016-03-31 17:32:26 -07:00
58ac6429df updated maker 2016-03-31 17:31:08 -07:00
75461512f7 0.2.4 2016-03-31 17:27:20 -07:00
a7a91459ff Packages published 2016-03-31 17:27:11 -07:00
4bd5b556a6 Bump kindscript to 0.2.6 2016-03-31 17:26:25 -07:00
cf32012d4e updated wifi lesson 2016-03-31 17:25:22 -07:00
19e49652f8 charting lesson 2016-03-31 17:18:16 -07:00
691da3605f charting lesson 2016-03-31 17:17:22 -07:00
34c5a5e216 update wifi quiz ans 2016-03-31 17:01:28 -07:00
5b1ccd3978 0.2.3 2016-03-31 17:00:55 -07:00
5552b42c6e Bump kindscript to 0.2.5 2016-03-31 17:00:53 -07:00
2ab7175283 update wifi quiz 2016-03-31 16:57:48 -07:00
a23042a787 update wifi lesson 2016-03-31 16:54:51 -07:00
130768301c update wifi 2016-03-31 16:52:44 -07:00
5ead39cf51 telegraph lesson 2016-03-31 16:45:53 -07:00
e6a1728f6e update wifi lesson 2016-03-31 16:39:32 -07:00
b210e505a2 Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-31 16:28:16 -07:00
984fa83ff8 0.2.2 2016-03-31 16:24:17 -07:00
31fdadbb08 Bump kindscript to 0.2.4 2016-03-31 16:24:16 -07:00
b6d81f73bc telegraph lessons 2016-03-31 16:22:35 -07:00
1439942b45 updated lesson satic page and pogo 2016-03-31 15:51:42 -07:00
7c862ce0f5 Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-31 14:10:52 -07:00
28e397bc99 Merge branch 'master' of github.com:Microsoft/kindscript-microbit 2016-03-31 12:24:34 -07:00
dea2f33234 Ignore projects/ 2016-03-31 12:24:20 -07:00
6341f795c6 Fix microbit ref 2016-03-31 12:10:30 -07:00
ec36eaa4cf updated kind.json 2016-03-31 10:49:45 -07:00
abed962eab updated lessons 2016-03-30 17:15:42 -07:00
24ce19654c Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-30 17:10:09 -07:00
d1bf09b084 updating static lesson page 2016-03-30 17:01:28 -07:00
529b18e423 updated lessons 2016-03-30 16:44:41 -07:00
612142a292 updated lessons 2016-03-30 16:43:56 -07:00
5899647865 merged changes 2016-03-30 16:42:44 -07:00
8ede130a95 Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-30 16:32:29 -07:00
545fff44d0 updated static lesson page 2016-03-30 16:32:16 -07:00
ac58002462 0.2.1 2016-03-30 16:29:52 -07:00
bbb153305a Bump kindscript to 0.2.1 2016-03-30 16:29:51 -07:00
03d7799afc Switching to 0.2 - with the new C++ architecture 2016-03-30 16:27:54 -07:00
5922135073 Merge branch 'cpp' 2016-03-30 16:27:32 -07:00
b83a845854 updated lessons 2016-03-30 16:25:19 -07:00
ba6c9f9d92 updating lesson links 2016-03-30 16:10:27 -07:00
a14585d36f updating lessons 2016-03-30 15:54:19 -07:00
b76b32a825 Move C++ sim stuff to proper namespace 2016-03-30 15:53:00 -07:00
1e77491b16 updated lessons 2016-03-30 15:11:05 -07:00
7cbba949db fixing answers 2016-03-30 14:19:51 -07:00
f00491df52 Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-30 13:41:21 -07:00
899183f8f4 update quizzes 2016-03-30 13:41:01 -07:00
3b3a1140b4 0.0.17 2016-03-30 11:22:52 -07:00
085af70db3 Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-30 11:15:41 -07:00
df8aaaca5a lesson updates 2016-03-30 11:15:31 -07:00
4d1f157ed3 0.0.16 2016-03-30 10:50:22 -07:00
0500da7a72 Bump kindscript to 0.1.123 2016-03-30 10:50:20 -07:00
0d321114c0 updated color 2016-03-30 10:46:40 -07:00
8f61570158 0.0.15 2016-03-29 23:09:21 -07:00
06916c4f82 Bump kindscript to 0.1.121 2016-03-29 23:09:19 -07:00
850c313c5d batch replace onButtonPressed(Button... 2016-03-29 21:17:57 -07:00
1f7e0b0f79 smoothly transition back to non-tilted 2016-03-29 21:14:27 -07:00
61dd0075b2 Fix build 2016-03-29 19:13:46 -07:00
059539b954 Merge branch 'master' into cpp 2016-03-29 17:56:33 -07:00
45aa780934 C++ fixes 2016-03-29 17:56:01 -07:00
0ccddf9fe8 Start on direct CPP migration 2016-03-29 17:11:17 -07:00
a0b3b77118 updated quizzes 2016-03-29 16:24:11 -07:00
8d1f59dc84 finished updated lessons 2016-03-29 16:17:34 -07:00
6a932a9c5c updated lessons 2016-03-29 16:16:31 -07:00
40405b7e7b updated lessons 2016-03-29 15:59:00 -07:00
0e816f2398 moved remaining quizzes 2016-03-29 15:21:17 -07:00
c6e2391bcd Merge branch 'master' of https://github.com/Microsoft/kindscript-microbit 2016-03-29 15:14:40 -07:00
00adabe441 file management quizzes 2016-03-29 15:14:16 -07:00
3ccec89f33 updated demo program 2016-03-29 14:19:56 -07:00
d5488a3ae8 0.0.14 2016-03-29 13:55:36 -07:00
8a14a95fcc Bump kindscript to 0.1.119 2016-03-29 13:55:34 -07:00
d9c51b5fd5 docs update 2016-03-29 13:17:00 -07:00
8cbd8e5a74 quiz updates 2016-03-29 13:13:18 -07:00
887 changed files with 15128 additions and 17518 deletions

1
.gitattributes vendored
View File

@ -12,6 +12,7 @@
*.html text eol=lf
*.py text eol=lf
*.exp text eol=lf
*.manifest text eol=lf
# do not enforce text for everything - it causes issues with random binary files

19
.gitignore vendored
View File

@ -1,8 +1,19 @@
node_modules
*.sw?
yotta_modules
yotta_targets
built
typings/
tmp/
typings
tmp
temp
projects/**
win10/app/bin
win10/app/bld
win10/*.opendb
*.user
*.sw?
*.ts.new
*.tgz
temp/
*.db
*.suo
*.log

View File

@ -2,8 +2,10 @@ language: node_js
node_js:
- "5.7.0"
script:
- "node node_modules/kindscript/built/kind.js travis"
- "node node_modules/kindscript/built/kind.js uploaddoc"
- "node node_modules/pxt-core/built/pxt.js travis"
- "(cd libs/lang-test0; node ../../node_modules/pxt-core/built/pxt.js run)"
- "node node_modules/pxt-core/built/pxt.js uploaddoc"
- "(cd libs/hello; node ../../node_modules/pxt-core/built/pxt.js testconv ../../testconv.json)"
sudo: false
notifications:
email:
@ -11,4 +13,5 @@ notifications:
cache:
directories:
- node_modules
- built/cache

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
// Place your settings in this file to overwrite default and user settings.
{
"tslint.enable": true,
"tslint.rulesDirectory": "node_modules/tslint-microsoft-contrib"
}

2
.vscode/tasks.json vendored
View File

@ -1,7 +1,7 @@
{
"version": "0.1.0",
// Task runner is jake
"command": "kind",
"command": "pxt",
// Need to be executed in shell / cmd
"isShellCommand": true,
"showOutput": "always",

View File

@ -1,48 +1,55 @@
# micro:bit target for KindScript
# micro:bit target for PXT
This target allow to program a [BBC micro:bit](https://www.microbit.co.uk/) using [KindScript](https://github.com/Microsoft/kindscript).
This target allow to program a [BBC micro:bit](https://www.microbit.co.uk/) using
PXT ([Microsoft Programming Experience Toolkit](https://github.com/Microsoft/pxt)).
[![Build Status](https://travis-ci.org/Microsoft/kindscript-microbit.svg?branch=master)](https://travis-ci.org/Microsoft/kindscript-microbit)
* [Try it live](https://m.pxt.io)
# Getting started
[![Build Status](https://travis-ci.org/Microsoft/pxt-microbit.svg?branch=master)](https://travis-ci.org/Microsoft/pxt-microbit)
> If you're making changes to kindscript repository itself, proceed to **Local installation** below.
## Local server
* Clone this repo and run
### Setup
The following commands are a 1-time setup after synching the repo on your machine.
* install the PXT command line
```
npm install -g pxt
```
* install the dependencies
```
npm install
```
* Install the `KindScript` tool and launch the local server:
### Running
Run this command to open a local web server:
```
npm install -g kindscript-cli
kind serve
pxt serve
```
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:
```
pxt serve -yt
```
To make sure you're running the latest tools, run
```
npm update
```
To re-build the `built/target.json` file, re-run `kind serve`.
## Local installation
More instructions at https://github.com/Microsoft/pxt#running-a-target-from-localhost
* Clone and build [KindScript](https://github.com/Microsoft/kindscript) in a `kindscript` folder.
* Clone this repo in a `kindscript-microbit` folder next to `kindscript`
## Universal Windows App
```
npm install
```
* To build and deploy new changes
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.
```
npm install -g kindscript-cli
cd ../kindscript
jake
cd ../kindscript-microbit
npm link ../kindscript
```
* run this command to build and launch a local editor
### Building
```
kind serve
```
* open `localhost:3232` to try your editor!
* Install Visual Studio 2015 Update 2 or higher. Make sure the Windows 10 templates are installed.
* open the ``win10/app.sln`` solution and launch the ``m.pxt.io`` project.

View File

@ -1,22 +1,22 @@
/// <reference path="../node_modules/kindscript/built/kind.d.ts"/>
/// <reference path="../node_modules/pxt-core/built/pxt.d.ts"/>
import * as fs from 'fs';
import * as path from 'path';
import * as child_process from 'child_process';
import * as fs from "fs";
import * as path from "path";
import * as child_process from "child_process";
let writeFileAsync: any = Promise.promisify(fs.writeFile)
let execAsync: (cmd: string, options?: { cwd?: string }) => Promise<Buffer> = Promise.promisify(child_process.exec)
export function deployCoreAsync(res: ts.ks.CompileResult) {
export function deployCoreAsync(res: ts.pxt.CompileResult) {
return getBitDrivesAsync()
.then(drives => {
if (drives.length == 0) {
console.log("cannot find any drives to deploy to")
} else {
console.log("copy microbit.hex to " + drives.join(", "))
console.log(`copy ${ts.pxt.BINARY_HEX} to ` + drives.join(", "))
}
return Promise.map(drives, d =>
writeFileAsync(d + "microbit.hex", res.outfiles["microbit.hex"])
writeFileAsync(d + ts.pxt.BINARY_HEX, res.outfiles[ts.pxt.BINARY_HEX])
.then(() => {
console.log("wrote hex file to " + d)
}))
@ -40,4 +40,4 @@ function getBitDrivesAsync(): Promise<string[]> {
} else {
return Promise.resolve([])
}
}
}

View File

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

View File

@ -0,0 +1,22 @@
{
"name": "koduj z micro:bit",
"title": "koduj z micro:bit",
"docMenu": [
{
"name": "O nas",
"path": "/about"
},
{
"name": "Lekcje",
"path": "/lessons"
},
{
"name": "Instrukcja obsługi",
"path": "/reference"
},
{
"name": "Urządzenie",
"path": "/device"
}
]
}

7
docs/_locales/pl/docs.md Normal file
View File

@ -0,0 +1,7 @@
# Dokumentacja
Witamy na stronach dokumentacji!
* Przeglądnij [instrukcje obsługi](/reference)
* Dowiedz się więcej o [urządzeniu](/device)
* Wystartuj z [lekcjami](/lessons)

View File

@ -1,9 +1,32 @@
```sim
basic.forever(() => {
basic.showString("Hi!");
})
input.onButtonPressed(Button.A, () => {
led.stopAnimation();
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .`);
});
input.onButtonPressed(Button.B, () => {
led.stopAnimation();
basic.showLeds(`
. # . # .
# . # . #
# . . . #
. # . # .
. . # . .`);
});
```
# About
The [BBC micro:bit](https://www.microbit.co.uk) is a [pocket-size computer](/device) with a 5x5 display of 25 LEDs, Bluetooth and sensors that can be programmed by anyone.
The BBC micro:bit was made possible by many [partners](https://www.microbit.co.uk/partners).
The micro:bit provides a fun introduction to programming and making switch on, program it to do something fun wear it, customize it.
The micro:bit provides an easy and fun introduction to programming and making switch on, program it to do something fun wear it, customize it.
Just like Arduino, the micro:bit can be connected to and interact with sensors, displays, and other devices.
## Blocks or JavaScript
@ -27,28 +50,9 @@ which flashes the micro:bit device with the new program.
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.
```sim
input.onButtonPressed(Button.A, () => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .`);
});
input.onGesture(Gesture.Shake, () => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #`);
});
```
## C++ Runtime
The C++ BBC micro:bit library, created at [Lancaster University](http://www.lancaster.ac.uk/), provides access to the hardware functions of the micro:bit,
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.

View File

@ -4,121 +4,84 @@ All the bits and pieces that make up your BBC micro:bit
![](/static/mb/device-0.png)
### Lights
### LED Screen and Status LED
### What are the red lights on the front?
The red lights are [LEDs](/device/screen) (light emitting diodes) and form a 5 x 5 LED Screen.
They can be set to on/off and the brightness can be controlled.
The red lights are [LEDs](/microbit/device/screen) (light emitting diodes) and form a 5 x 5 grid. They can be set to on/off and the brightness can be controlled.
### What is the yellow light on the back of the micro:bit?
It is the status LED. It flashes yellow when the system wants to tell the user that something has happened.
The yellow light on the back of the micro:bit is the status LED.
It flashes yellow when the system wants to tell the user that something has happened.
### Buttons
### What are the buttons for?
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.
Buttons A and B are a form of input. They detect when the button is being pressed. When you press one of the buttons, 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.
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.
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.
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.**
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.**
To continue programming your micro:bit YOU MUST unplug your USB and reconnect it. Check that the drive now shows as MICROBIT.
**Use with caution. If you click on the drive while it shows as MAINTENANCE, you can see which version of firmware you have running on your micro:bit. Firmware on your micro:bit should be up-to-date already. You can find the version of firmware in the 'version.txt' file on the micro:bit. Further information on the firmware can be found here:
**Use with caution. If you click on the drive while it shows as MAINTENANCE,
you can see which version of firmware you have running on your micro:bit.
Firmware on your micro:bit should be up-to-date already.
You can find the version of firmware in the 'version.txt' file on the micro:bit. Further information on the firmware can be found here:
https://developer.mbed.org/platforms/Microbit/#firmware
### Compass
### Why is there a compass on the micro:bit?
The compass can detect magnetic fields such as the Earths magnetic field. As the micro:bit has this compass, it is possible to detect the direction it is moving in. The micro:bit can detect where it is facing and movement in degrees. This data can be used by the micro:bit in a program or be sent to another device.
The compass can detect magnetic fields such as the Earths magnetic field.
As the micro:bit has this compass, it is possible to detect the direction it is moving in.
The micro:bit can detect where it is facing and movement in degrees.
This data can be used by the micro:bit in a program or be sent to another device.
### Accelerometer
### Why is there an accelerometer on the micro:bit?
There is a 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.
There is a 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.
### Pins
### PINS
### What are the rings labelled 0, 1, 2 on the bottom edge of the micro:bit?
These are labels for the input/output pins P0, P1, P2, which you can attach external sensors to such as thermometers or moisture detectors. The pins can be a form of input or output. You can read more about large and small pins [here](/microbit/device/pins).
The pins can be a form of input or output.
There are labels for the input/output pins P0, P1, P2, which you can attach external sensors to such as thermometers or moisture detectors.
You can read more about large and small pins [here](/device/pins).
### How do I connect the micro:bit to my computer?
It can be connected to your computer or device with a micro USB. Data can be sent and received between the micro:bit and the computer so programs can be downloaded from Windows and Macs onto the micro:bit via this USB data connection. You can read more information on how to run scripts on your micro:bit [here](/microbit/device/usb), and about the error messages you might get [here](/microbit/device/error-codes).
Your micro:bit can be connected to your computer via a micro USB cable.
Data can be sent and received between the micro:bit and the computer so programs
can be downloaded from Windows, Macs and Chromebooks onto the micro:bit via this USB data connection.
You can read more information on how to run scripts on your micro:bit [here](/device/usb),
and about the error messages you might get [here](/device/error-codes).
### Batteries
### Powering your micro:bit
### How do I power my 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 isnt connected to your computer, tablet or mobile, you will need 2 x AAA 1.5 V batteries to power it.
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.
You can attach an external device such as a motor to these and power it using the battery or USB.
### 3V GND
### Serial Communication
### What are the rings labelled 3V and GND?
The BBC micro:bit can send an receive data via [serial communication](/device/serial). The serial data can be transfered via USB or BlE.
The pins labelled 3V and GND are the power supply pins. You can attach an external device such as a motor to these and power it using the battery or USB.
### Bluetooth Low Energy (BLE) Antenna
### What is a Bluetooth Low Energy Antenna?
You will see this labelled BLE ANNTENA on the back of your micro:bit. It is for a messaging service, built for the Internet of Things 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 control the micro:bit or the micro:bit can control another BLE device.
### What is Bluetooth Low Energy?
Bluetooth wireless technology was developed as an alternative to data cables and allowed wireless communication between devices such as PCs, smartphones and tablets. Bluetooth® Smart or Bluetooth Low Energy is a power-friendly version of Bluetooth wireless technology.
### What is the Internet of Things?
The Internet of Things (IoT) was first talked about more than 15 years ago, when it was speculated that objects and people would be able to connect wirelessly over the internet. Objects can be detected and controlled remotely, allowing greater integration between the physical and computer based world. It will let you to remotely control your alarm system, thermostat or lights in your home. It has many applications in different fields including manufacturing, health and fitness, consumer electronics and the home.
You will see the label BLE ANNTENA 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
control the micro:bit or the micro:bit can control another BLE device.
### Technical Information
The micro:bit has been designed to be a bare-board micro controller for use by children aged 11-12. The device has been through extensive safety and compliance testing to the following standards:
### Safety
IEC 60950-1:2005 (Second Edition) + Am 1:2009 + Am 2:2013
### EMC
EN 55032: 2012
EN 55024: 2010
EN 55022:2010
EN 301 489-1 V1.9.2 (2011-09)
EN 301 489-17 V2.2.1 (2012-09)
### Radio Spectrum
ETSI EN 300 328 V1.9.1 (2015-02)
EN 62479:2010
### Chemical
Restriction of Hazardous Substances (RoHS) 2011/65/EU Annex II article 4(1)
EN71-3:2013 + A1:2014 - Migration of certain elements.
Analysis of the 163 substances of very high concern (SVHC) on the Candidate List for authorization, concerning Regulation (EC) No. 1907/2006 as published on the European Chemicals Agency (ECHA) website.
![](/static/mb/device-1.jpg)
The micro:bit device features Bluetooth Low Energy radio. The radio on the device operates in the following frequencies:
Frequency Range: 2402MHz to 2480MHz
Bluetooth Version: V4.0 Bluetooth Low Energy
### Declaration of Conformity
The document can be downloaded by clicking here for the [Declaration of Conformity](https://microbit0.blob.core.windows.net/pub/hkeghjes/declaration-of-conformity.pdf)
The micro:bit has been designed to be a bare-board micro controller for use by children aged 11-12.
More information is available at the [BBC web site](http://www.microbit.co.uk/device).

View File

@ -4,18 +4,18 @@ The micro:bit device #docs
The micro:bit is a very capable device with many components:
* [the USB connector](/microbit/device/usb)
* [the LED screen](/microbit/device/screen)
* [the USB connector](/device/usb)
* [the LED screen](/device/screen)
* [the buttons]
* [the accelerometer]
* [the compass]
* [the pins](/microbit/device/pins)
* [the pins](/device/pins)
* [the battery plug]
The micro:bit embodies many fundamental concepts in computer science. To learn more, read:
* [the micro:bit - a reactive system](/microbit/device/reactive)
* [the micro:bit - a reactive system](/device/reactive)
Sometimes, your micro:bit may display an error code. For more information, see:
* [the error codes](/microbit/device/error-codes)
* [the error codes](/device/error-codes)

View File

@ -1,8 +1,7 @@
# crocodile clips
The on pin pressed accessories.
Register an [event handler](/microbit/reference/event-handler) that will execute whenever the user attaches one side of the crocodile clip to the `GND` pin, then connects and disconnects the unattached side of the crocodile clip to pin `0`, `1`, or `2`.
The large holes at the bottom of the board are designed to attach alligator/crocodile clips.
Register an event that will execute whenever the user attaches one side of the crocodile clip to the `GND` pin, then connects and disconnects the unattached side of the crocodile clip to pin `0`, `1`, or `2`.
### Example: on pin pressed with random numbers
@ -12,15 +11,13 @@ This example displays a random number every time the crocodile clip holds `GND`
### Connecting Crocodile Clips
![](/static/mb/crocodile-clips-1.jpg)
![](/static/mb/crocodile-clips-2.jpg)
### Lessons
[love meter](/microbit/lessons/love-meter)
[love meter](/lessons/love-meter)
### See also
[micro:bit pins](/microbit/device/pins), [pin is pressed](/microbit/reference/input/pin-is-pressed), [analog read pin](/microbit/reference/pins/analog-read-pin), [analog write pin](/microbit/reference/pins/analog-write-pin), [digital read pin](/microbit/reference/pins/digital-read-pin), [digital write pin](/microbit/reference/pins/digital-write-pin)
[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

@ -13,5 +13,5 @@ Below is a list of error numbers and what they mean:
### See also
[Run scripts on your micro:bit](/microbit/device/usb)
[Run scripts on your micro:bit](/device/usb)

View File

@ -18,7 +18,7 @@ The micro:bit is a *reactive system* it reacts continuously to external even
We want reactive systems to be responsive, which means to react in a timely manner to events. For example, when you play a computer game, its frustrating if you press a button to make a character jump, but it doesnt immediately jump. A delay in reacting, or lack of responsiveness , can be the difference between life and death, both in the real and virtual worlds.
Lets consider a simple example: you want to program your micro:bit to accurately count the number of times the A button has been pressed and continuously display the current count on the 5x5 [LED screen](/microbit/device/screen). Because the LED screen is small, we can only display one digit of a number at a time on it. The [show number](/microbit/reference/basic/show-number) function will scroll the digits of a number across the screen so you can read it.
Lets consider a simple example: you want to program your micro:bit to accurately count the number of times the A button has been pressed and continuously display the current count on the 5x5 [LED screen](/device/screen). Because the LED screen is small, we can only display one digit of a number at a time on it. The [show number](/reference/basic/show-number) function will scroll the digits of a number across the screen so you can read it.
Lets say that the current count is 42 and the number 42 is scrolling across the LED screen. This means there is some code executing to perform the scroll. So, what should happen if you press the A button during the scroll? It would be a bad idea to ignore the button press, so some code should record the occurrence of the button press. But we just said there already is code running in order to scroll the number 42! If we wait until the code scrolling the 42 has finished to look for a button press, we will miss the button press. We want to avoid this sort of unresponsiveness.
@ -52,7 +52,7 @@ The first job of the scheduler is to allow multiple *subprograms* to be queued u
```
export function countButtonPresses() {
input.onButtonPressed("A", () => {
input.onButtonPressed(Button.A, () => {
count = count + 1
})
basic.forever(() => {
@ -65,7 +65,7 @@ export function countButtonPresses() {
The program above contains three statements that execute in order from top to bottom. The first statement
```
input.onButtonPressed("A", () => {
input.onButtonPressed(Button.A, () => {
count = count + 1
})
```
@ -132,14 +132,14 @@ As a result, you can easily add a new capability to the micro:bit by just adding
```
export function countButtonPressesWithReset() {
input.onButtonPressed("A", () => {
input.onButtonPressed(Button.A, () => {
count = count + 1
})
basic.forever(() => {
basic.showNumber(count, 150)
})
count = 0
input.onButtonPressed("B", () => {
input.onButtonPressed(Button.B, () => {
count = 0
})
}

View File

@ -2,7 +2,9 @@
The micro:bit LED screen
![](/static/mb/device/screen-0.png)
```sim
basic.showString(" ");
```
The micro:bit LED screen consists of 25 red LED lights arranged in a 5X5 grid (5 LEDs across by 5 LEDs down).
@ -30,28 +32,38 @@ Since the row and column numbers start at 0, an easy way to figure out the x, y
### Turn a LED on/off
Use [plot](/microbit/led/plot) and [unplot](/microbit/led/unplot) to turn a LED on or 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)
```
### Is a LED on/off?
Use the [point](/microbit/led/point) function to find out if a LED is on or off.
Use the [point](/reference/led/point) function to find out if a LED is on or off.
```blocks
if(led.point(0,0)) {
}
```
### Display images, strings and numbers
Instead of turning individual LEDs on or off, as above, you can display an [image](/microbit/reference/image/image) directly to the screen or show text/numbers on screen using the [show number](/microbit/reference/basic/show-number)/[show string](/microbit/reference/basic/show-string) function.
Instead of turning individual LEDs on or off, as above, you can display an [image](/reference/images/image) directly to the screen or show text/numbers on screen using the [show number](/reference/basic/show-number)/[show string](/reference/basic/show-string) function.
### The display buffer
The micro:bit runtime keeps an in-memory representation of the state of all 25 LEDS. This state is known as the "display buffer" and controls which LEDS are on and which are off. The plot/unplot/point functions access the display buffer directly. On the other hand, the functions that show an image, number or string overwrite the buffer completely. To illustrate, first try running this code sequence
```
basic.showString("d", 150)
```blocks
basic.showString("d")
led.plot(0, 0)
```
You will see the letter "d" displayed as well as the LED in position `0,0` lit up. Now try reversing the order of the two statements above:
```
```blocks
led.plot(0, 0)
basic.showString("d", 150)
```

64
docs/device/serial.md Normal file
View File

@ -0,0 +1,64 @@
# Serial
The [serial](/reference/serial) supports [serial communication](https://en.wikipedia.org/wiki/Serial_port) between the BBC micro:bit and another computer. Basically, this allows you to send data from the micro:bit to your own computer. This is very useful for debugging purposes: you can add `write line` statements in your code and see them display on your computer as the program executes.
The code below shows a simple script that sends a line when the BBC micro:bit starts and another line each time the button ``A`` is pressed.
```blocks
serial.writeLine("started...")
input.onButtonPressed(Button.A, () => {
serial.writeLine("A pressed")
})
```
## How to read the micro:bit's serial output from your computer
Unfortunately, using the serial library requires quite a bit of a setup.
### 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.
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.
* Hit `File` > `New Connection`
* Check "Serial"; in the dropdown menu, pick the COM port that says "mbed Serial Port". Hit `Ok`.
* In the menus, hit `Setup` > `Serial Port` and set the baud rate to `115200`.
You should be good. Feel free to hit `Setup` > `Save Setup` in the menus to erase the default configuration file with a new one so that you don't have to type in the settings again.
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
If you prefer another terminal emulator (such as [PuTTY](http://www.putty.org/)), here are some instructions.
* Open Windows's [Device Manager](https://windows.microsoft.com/en-us/windows/open-device-manager); expand the section called "Ports (COM & LPT)"; write down the com number for "mbed Serial Port" (e.g. COM14)
* Open PuTTY; on the main screen, use the following settings: Serial / COM14 / 115200. Replace COM14 with the COM port number you wrote down previously. Feel free to type in a name and hit "Save" to remember this configuration.
![](/static/mb/serial-library-0.png)
* (optional): in the "Terminal" section, check "implicit cr in every lf"
![](/static/mb/serial-library-1.png)
### Linux
(Untested).
* Plug in the micro:bit
* Open a terminal
* `dmesg | tail` will show you which `/dev/` node the micro:bit was assigned (e.g. `/dev/ttyUSB0`)
* Then, do: `screen /dev/ttyUSB0 115200` (install the `screen` program if you don't have it). To exit, run `Ctrl-A` `Ctrl-D`.
Alternative programs include minicom, etc.
### Mac OS
* Plug in the micro:bit
* Open a terminal
* `ls /dev/cu.*` will return to you a list of serial devices; one of them will look like `/dev/cu.usbmodem1422` (the exact number depends on your computer)
* `screen /dev/cu.usbmodem1422 115200` will open up the micro:bit's serial output. To exit, hit `Ctrl-A` `Ctrl-D`.

25
docs/device/simulator.md Normal file
View File

@ -0,0 +1,25 @@
# Simulator
The JavaScript simulator allows to test and execute most BBC micro:bit programs in the browser.
It allows to emulate sensor data or user interactions.
```sim
input.onButtonPressed(Button.A, () => {
basic.showString("A");
});
input.onButtonPressed(Button.B, () => {
basic.showString("B");
});
input.onPinPressed(TouchPin.P0, () => {
basic.showString("0");
});
input.onPinPressed(TouchPin.P1, () => {
basic.showString("1");
});
input.onPinPressed(TouchPin.P2, () => {
basic.showString("2");
});
input.temperature()
input.compassHeading()
input.lightLevel()
```

View File

@ -1,8 +1,8 @@
# Run Scripts on your micro:bit
How to compile, transfer, and run a script on your micro:bit. #docs #USB #compile #transfer
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](/microbit/js/simulator) for info about this).
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).
Once your masterpiece is complete, you can compile your script and run it on your micro:bit.
@ -31,12 +31,6 @@ Windows
Mac (picture bvabdbco)
WARN: unknown picture: bvabdbco:5x3
### ~hide
If your computer doesn't recognise your micro:bit, please see [troubleshooting USB problems](/microbit/diagnosing-usb).
### ~
## Step 2: Compile your script
Next, compile your script:
@ -133,5 +127,5 @@ Or it may appear that there are two hex files on your micro:bit so the micro:bit
### See also
[Run code in a browser](/microbit/js/simulator)
[Run code in a browser](/device/simulator)

View File

@ -1,7 +1,35 @@
# Documentation
Welcome to the documentation.
```sim
basic.forever(() => {
basic.showString("DOCS ");
})
input.onButtonPressed(Button.A, () => {
led.stopAnimation();
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .`);
});
input.onButtonPressed(Button.B, () => {
led.stopAnimation();
basic.showLeds(`
. # . # .
# . # . #
# . . . #
. # . # .
. . # . .`);
});
```
* Browse the [reference](/microbit/reference)
* Learn more about the [device](/microbit/device)
* Get started with [lessons](/microbit/lessons)
* **[getting started](/getting-started)**
* Browse the [API reference](/reference)
* Learn more about the [device](/device)
* Get started with [lessons](/lessons)
* Follow up with the [release notes](/release-notes)
### Developers
* Learn about [packages](/packages) (possibly using C++ or ARM thumb)

171
docs/getting-started.md Normal file
View File

@ -0,0 +1,171 @@
# Getting started
Are you ready to build cool BBC micro:bit programs? For each challenge, reorder the blocks to recreate the program.
## Open [https://m.pxt.io](/) and create a new **Blocks Editor** project
## Basic
### Show leds
Use the blocks below to draw a figure on the screen. You can redo the smiley face or try something else!
```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.
```blocks
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
`)
```
### Repeat forever
Use the ``forever`` block to repeat your code and have a continuous animation.
Unsuffle the blocks to create a happy, unhappy animation.... or changes the image to make it your own!
```shuffle
basic.forever(() => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
`)
});
```
### Your turn now!
Use the blocks ``show leds`` and ``forever``
to create your own custom awesome animation!
## Inputs
### Button A and B
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.
```blocks
input.onButtonPressed(Button.A, () => {
basic.showString("AAAAA");
});
```
Try to unshuffle those blocks:
```shuffle
input.onButtonPressed(Button.A, () => {
basic.showString("YES");
});
input.onButtonPressed(Button.B, () => {
basic.showString("NO");
});
```
### Shake
Using the data from the **accelerometer**, it is possible to detect that the BBC micro:bit is being shaken.
Unshuffle the code to display a frownie when shaken.
```shuffle
input.onGesture(Gesture.Shake, () => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #`);
});
```
### 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(`
# # . . #
# # . # .
. . # . .
# # . # .
# # . . #`);
});
```
### 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.
Unshuffle the blocks to display a smiley when pin ``P0`` is pressed.
```shuffle
input.onPinPressed(TouchPin.P0, () => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .`);
});
```
### Your turn now!
Use the screen, buttons, gestures, pins to create a fun game using the micro:bit.

View File

@ -1,6 +1,5 @@
# Lessons
Overview of lessons for the BBC micro:bit.
### @short Lessons
@ -8,19 +7,19 @@ Overview of lessons for the BBC micro:bit.
## Beginner
* [Beautiful Image](/microbit/lessons/beautiful-image), show a beautiful image with show LEDs
* [Lucky 7](/microbit/lessons/lucky-7), show a number on the LED screen with show number
* [Answering Machine](/microbit/lessons/answering-machine), show a text message with show string
* [Game of Chance](/microbit/lessons/game-of-chance), show a text message with game over
* [Smiley,](/microbit/lessons/smiley) smiley and frowney faces that transition on button pressed
* [Magic Logo,](/microbit/lessons/magic-logo) show an image on logo up
* [Snowflake Fall](/microbit/lessons/snowflake-fall), repeat a series of images with forever
* [Screen Wipe](/microbit/lessons/screen-wipe), turn off the LEDs with clear screen
* [Flashing Heart](/microbit/lessons/flashing-heart), display images with a pause
* [Blink](/microbit/lessons/blink), turn an LED on and off with plot
* [Night Light](/microbit/lessons/night-light), dim the LEDs with set brightness
* [Game Counter](/microbit/lessons/game-counter), displays the player's score with score and add points to score
* [Happy Birthday](/microbit/lessons/happy-birthday), create a popular song
* [Beautiful Image](/lessons/beautiful-image), show a beautiful image with show LEDs
* [Lucky 7](/lessons/lucky-7), show a number on the LED screen with show number
* [Answering Machine](/lessons/answering-machine), show a text message with show string
* [Game of Chance](/lessons/game-of-chance), show a text message with game over
* [Smiley,](/lessons/smiley) smiley and frowney faces that transition on button pressed
* [Magic Logo,](/lessons/magic-logo) show an image on logo up
* [Snowflake Fall](/lessons/snowflake-fall), repeat a series of images with forever
* [Screen Wipe](/lessons/screen-wipe), turn off the LEDs with clear screen
* [Flashing Heart](/lessons/flashing-heart), display images with a pause
* [Blink](/lessons/blink), turn an LED on and off with plot
* [Night Light](/lessons/night-light), dim the LEDs with set brightness
* [Game Counter](/lessons/game-counter), displays the player's score with score and add points to score
* [Happy Birthday](/lessons/happy-birthday), create a popular song
### ~
@ -28,44 +27,47 @@ Overview of lessons for the BBC micro:bit.
## Intermediate
* [Magic 8](/microbit/lessons/magic-8), a fortune teller game with the BBC micro:bit
* [Guess the Number](/microbit/lessons/guess-the-number), guess a random number with pick number
* [Counter](/microbit/lessons/counter), display a number with a variable
* [Love Meter](/microbit/lessons/love-meter), create a love meter with on pin pressed
* [Rock Paper Scissors](/microbit/lessons/rock-paper-scissors), create the classic game of rock paper scissors with if statement
* [Truth or Dare](/microbit/lessons/truth-or-dare), a game that forces each player to reveal a secret or do something funny with if statement
* [Spinner](/microbit/lessons/spinner), spin the arrow with multiple if statements
* [Die Roll](/microbit/lessons/die-roll), spin with more if statements
* [Looper](/microbit/lessons/looper), display a series of numbers with a for loop index
* [Strobe Light](/microbit/lessons/strobe-light), develop shapes with a nested for loops
* [Temperature](/microbit/lessons/temperature), get the ambient temperature (degree Celsius °C)
* [Digi Yoyo](/microbit/lessons/digi-yoyo), create a counter with a while loop
* [Rotation Animation](/microbit/lessons/rotation-animation), control an animation with a boolean variable
* [Compass](/microbit/lessons/compass), displays the direction the BBC micro:bit is pointing with compass
* [Zoomer](/microbit/lessons/zoomer), measure the force with acceleration
* [Glowing Pendulum](/microbit/lessons/glowing-pendulum), construct a pendulum that glows using acceleration
* [Classic Beatbox](/microbit/lessons/classic-beatbox), make a beatbox music player with variables
* [Light Beatbox](/microbit/lessons/light-beatbox), make a beatbox music player with light level
* [Magic 8](/lessons/magic-8), a fortune teller game with the BBC micro:bit
* [Guess the Number](/lessons/guess-the-number), guess a random number with pick number
* [Counter](/lessons/counter), display a number with a variable
* [Love Meter](/lessons/love-meter), create a love meter with on pin pressed
* [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
* [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)
* [Digi Yoyo](/lessons/digi-yoyo), create a counter with a while loop
* [Rotation Animation](/lessons/rotation-animation), control an animation with a boolean variable
* [Compass](/lessons/compass), displays the direction the BBC micro:bit is pointing with compass
* [Zoomer](/lessons/zoomer), measure the force with acceleration
* [Glowing Pendulum](/lessons/glowing-pendulum), construct a pendulum that glows using acceleration
* [Classic Beatbox](/lessons/classic-beatbox), make a beatbox music player with variables
* [Light Beatbox](/lessons/light-beatbox), make a beatbox music player with light level
### ~
### ~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
* [The Watch](/microbit/lessons/the-watch), design and create The Watch
* [Hack your Headphones](/microbit/lessons/hack-your-headphones), create music on the BBC micro:bit by hacking your headphones
* [Banana Keyboard](/microbit/lessons/banana-keyboard), create music with fruits
* [Telegraph](/microbit/lessons/telegraph), play the telegraph game between two BBC micro:bits
* [Ornament Chain](/microbit/lessons/ornament-chain), play the ornament chain game between two BBC micro:bits
## Science
* [Charting](/lessons/charting), measure and chart acceleration
## Advanced
* [Hero](/microbit/lessons/hero), reconstruct the classic arcade game pac man with the BBC micro:bit
* [Prank WiFi](/lessons/prank-wifi), create fake WiFi to trick your friends
* [Speed Button](/lessons/speed-button), code a speed game with running time
* [Headbands](/lessons/headbands), create a charades game with a collection of strings that hold the words
* [Hero](/lessons/hero), reconstruct the classic arcade game pac man with the BBC micro:bit
* [Catch the Egg](/lessons/catch-the-egg-game), catch falling eggs in a basket with an acceleration controller
### ~
### @section full
The lessons promote computational thinking and computer science literacy[ read more...](/microbit/lessons/teach)
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
@ -10,14 +8,11 @@ Show String
## Quick Links
* [activity](/microbit/lessons/answering-machine/activity)
* [quiz](/microbit/lessons/answering-machine/quiz)
* [quiz answers](/microbit/lessons/answering-machine/quiz-answers)
* [challenges](/microbit/lessons/answering-machine/challenges)
* [activity](/lessons/answering-machine/activity)
* [quiz](/lessons/answering-machine/quiz)
* [quiz answers](/lessons/answering-machine/quiz-answers)
* [challenges](/lessons/answering-machine/challenges)
## Class
Year 7
## Prior learning / place of lesson in scheme of work
@ -25,56 +20,13 @@ Learn how to creating a message with a **string**, `show string` to write your m
## Documentation
* **show string** : [read more...](/microbit/reference/basic/show-string)
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
```cards
basic.showString('Hi!')
input.onButtonPressed(Button.A, () => {})
```
## Objectives
* learn how to show a string on the LED screen one character at a time
* learn how to use to register an event handler that will execute whenever an input button is pressed
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Uses diagrams to express solutions.(AB)
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
* Represents solutions using a structured notation (AL) (AB)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals (AL)
#### Hardware & Processing
* Knows that computers collect data from various input devices, including sensors and application software (AB)
#### Communication Networks
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Uses criteria to evaluate the quality of solutions, can identify improvements making some refinements to the solution, and future solutions (EV)
* Evaluates the appropriatness of digital devices, internet services and application software to achieve given goals (EV)
* Recognises ethical issues surrounding the application of information technology beyond school.
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/answering-machine/activity)
* [quiz](/microbit/lessons/answering-machine/quiz)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/answering-machine/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/answering-machine/challenges)

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!
@ -18,7 +17,7 @@ basic.showString("ASK ME A QUESTION")
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/microbit/lessons/answering-machine/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/answering-machine/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the answering machine tutorial.
## Before we get started
Complete the [answering machine](/microbit/lessons/answering-machine/activity) activity and your code will look like this:
Complete the [answering machine](/lessons/answering-machine/activity) activity and your code will look like this:
```blocks
basic.showString("ASK ME A QUESTION")
@ -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
@ -21,15 +19,12 @@ basic.showString("ASK ME A QUESTION")
input.onButtonPressed(Button.A, () => {
basic.showString("Yes")
})
```
* `Run` the code to see if it works as expected.
### 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
@ -45,7 +40,6 @@ input.onButtonPressed(Button.B, () => {
* `Run` the code to see if it works as expected.
**Challenge 3**
When you are asked a yes or no question, do you always say yes or no? Add a condition for `on shake` that displays `MAYBE`.
### Challenge 3
When you are asked a yes or no question, do you always say yes or no? Add a condition for `on shake` that displays `MAYBE`.

View File

@ -1,8 +1,8 @@
# answering machine blocks quiz answers
Create an answering machine on the micro:bit. #LED #screen #show #math #docs #input
Create an answering machine on the micro:bit.
This is the answer key for the [answering machine quiz](/microbit/lessons/answering-machine/quiz).
This is the answer key for the [answering machine quiz](/lessons/answering-machine/quiz).
## 1. Define what `show string` does?
@ -12,7 +12,6 @@ Answers may vary. This is a function that will show a string on the LED screen o
```blocks
basic.showString("Y")
```
![](/static/mb/lessons/answering-machine-0.png)
@ -22,7 +21,6 @@ basic.showString("Y")
```blocks
basic.showString("Hi")
```
![](/static/mb/lessons/answering-machine-1.png)
@ -32,5 +30,9 @@ basic.showString("Hi")
![](/static/mb/lessons/answering-machine-2.png)
![](/static/mb/blocks/lessons/answering-machine-5.png)
```blocks
basic.showString("Z")
```

View File

@ -1,12 +1,12 @@
# answering machine blocks quiz
Create an answering machine on the micro:bit. #LED #screen #show #math #docs #input
Create an answering machine on the micro:bit.
## Name
## Directions
Use this activity document to guide your work in the [answering machine activity](/microbit/lessons/answering-machine/activity).
Use this activity document to guide your work in the [answering machine activity](/lessons/answering-machine/activity).
Answer the questions while completing the activity. Pay attention to the dialogues!

View File

@ -1,6 +1,6 @@
# banana keyboard blocks lesson
display beautiful images on the BBC micro:bit #var #pause #docs
display beautiful images on the BBC micro:bit.
## Topic
@ -8,11 +8,7 @@ Music
## Quick Links
* [activity](/microbit/lessons/banana-keyboard/activity)
## Class
Year 7
* [activity](/lessons/banana-keyboard/activity)
## Prior learning/place of lesson in scheme of work

View File

@ -79,5 +79,22 @@ Your banana keyboard is ready!
### Step 10
Connect your micro:bit to your computer using your USB cable and run the [banana keyboard](/microbit/lhpkbr) script on it. Tap your banana instrument to play sound against... the fruit!
Connect your micro:bit to your computer using your USB cable and run this script:
```blocks
let sound = music.noteFrequency(Note.C);
input.onPinPressed(TouchPin.P1, () => {
for (let i = 0; i < 5; i++) {
sound = sound + 25;
music.playTone(sound, music.beat(BeatFraction.Sixteenth));
}
});
```
Tap your banana instrument to play sound against... the fruit!
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/lessons/banana-keyboard/challenges)!
### ~

View File

@ -6,8 +6,6 @@ control images with variables.
Control images with variables.
To create a new script, go to the [Create Code](/microbit/create-code) page and tap *New Project* under *Block Editor*.
Have you ever tried to making beat box sounds? Let's try making a beatbox with code!
We will register an event handler on the fruit that will execute when two things occur: first, the alligator clip attaches to GND and the other side of the alligator clip is inserted into a banana. Let's start by adding a variable where you can store data. Then rename the variable to "sound". Then set the value of the variable to the note block `A` from the Music drawer. Modify your code so that your code looks like this.

View File

@ -1,62 +0,0 @@
# beatbox blocks lesson
display beautiful images on the BBC micro:bit #var #pause #docs
## Topic
Music
## Quick Links
* [activity](/microbit/lessons/beatbox/activity)
* [challenges](/microbit/lessons/beatbox/challenges)
## Class
Year 7
## Prior learning/place of lesson in scheme of work
Learn how to make a beatbox music player using pins P1 and P2. We will be learning how to code musical notes using a local variable, for loop, on pin pressed as well as simple commands such as play and notes.
## Objectives
* learn how to code music on the BBC micro:bit
## 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)
* Selects the appropriate data types(AL) (AB
#### Communication Networks
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/beatbox/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/beatbox/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/beatbox/challenges)

View File

@ -1,8 +1,6 @@
# beautiful image lesson
display beautiful images on the BBC micro:bit #var #pause #docs
### @video td/videos/beautiful-image-0
Display beautiful images on the BBC micro:bit.
## Topic
@ -10,12 +8,9 @@ Show LEDs
## Quick Links
* [activity](/microbit/lessons/beautiful-image/activity)
* [challenges](/microbit/lessons/beautiful-image/challenges)
* [activity](/lessons/beautiful-image/activity)
* [challenges](/lessons/beautiful-image/challenges)
## Class
Year 7
## Prior learning/place of lesson in scheme of work
@ -23,50 +18,19 @@ Learn how to **show LEDs**, to show an image on the BBC micro:bit's LED screen.
## Documentation
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
* **pause** : [read more...](/microbit/reference/basic/pause)
```cards
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
basic.pause(100)
```
## Objectives
* learn how to display an image on the micro:bit's LED screen
* learn how to pause your code for the specified number of milliseconds
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Uses diagrams to express solutions.(AB)
* Represents solutions using a structured notation (AL) (AB)
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals (AL)
* Declares and assigns variables(AB)
* Selects the appropriate data types(AL) (AB
#### Communication Networks
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/beautiful-image/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/beautiful-image/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/beautiful-image/challenges)

View File

@ -1,17 +1,13 @@
# beautiful image blocks activity
Generate and show a beautiful image. #docs #microbit
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.
### ~
To create a new script, go to the [Create Code](/microbit/create-code) page and tap *New Project* under the *Block Editor*.
We will use *show LEDs* to draw an image on the LED screen. This function immediately writes on the screen.
```blocks
@ -26,7 +22,7 @@ basic.showLeds(`
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/microbit/lessons/beautiful-image/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/beautiful-image/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the beautiful image tutorial.
## Before we get started
Complete the [beautiful image](/microbit/lessons/beautiful-image/activity) activity and your code will look like this:
Complete the [beautiful image](/lessons/beautiful-image/activity) activity and your code will look like this:
```blocks
basic.showLeds(`
@ -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
@ -39,9 +37,9 @@ basic.showLeds(`
`)
```
* *Run* your code to see if it works as expected.
* Does your code work as expected?
### Challenge 2
Nice job! Why don't we create a third image that will show after the other two? Remember to add a pause before you create and show the image.
Nice job! Why don't we create a third image that will show after the other two?

View File

@ -1,8 +1,6 @@
# blink blocks lesson
Learn how to create a blinking LED. #LED #screen #plot #docs #lesson
### @video td/videos/blink-0
Learn how to create a blinking LED.
## Topic
@ -10,41 +8,25 @@ Plot
## Quick links
* [activity](/microbit/lessons/blink/activity)
* [quiz](/microbit/lessons/blink/quiz)
* [quiz answers](/microbit/lessons/blink/quiz-answers)
* [challenges](/microbit/lessons/blink/challenges)
* [activity](/lessons/blink/activity)
* [quiz](/lessons/blink/quiz)
* [quiz answers](/lessons/blink/quiz-answers)
* [challenges](/lessons/blink/challenges)
## Class
Year 7
## Prior learning / place of lesson in scheme of work
Learn how to control a blinking LED. We will be learning how to create a blinking app using forever as well as simple commands, such as plot, unplot and pause.
## What the teacher needs to know / QuickStart Computing Glossary
**Program:** A stored set of instructions encoded in a language understood by the computer that does some form of computation, processing input and/or stored data to generate output.
**Algorithm:** An unambiguous set of rules or a precise step-by-step guide to solve a problem or achieve a particular objective. The guided tutorial follows a algorithm and is a precise step-by-step guide to solve a problem
**Loop:** A block of code repeated automatically under the programs control. The blink program introduces Forever. The forever loop repeats code in the background forever.
**Command:** An instruction for the computer to execute, written in a particular programming language.
## Documentation
* **plot**: [read more...](/microbit/reference/led/plot)
* **unplot**: [read more...](/microbit/reference/led/unplot)
* **pause**: [read more...](/microbit/reference/basic/pause)
* **forever**: [read more...](/microbit/reference/basic/forever)
## Resources
* Activity: [activity](/microbit/lessons/blink/activity)
* Activity: [quiz](/microbit/lessons/blink/quiz)
* Extended Activity: [challenges](/microbit/lessons/blink/challenges)
```cards
led.plot(0, 0)
led.unplot(0, 0)
basic.pause(100)
basic.forever(() => {})
```
## Objectives
@ -52,41 +34,3 @@ Learn how to control a blinking LED. We will be learning how to create a blinkin
* learn how to turn off LED lights on the LED screen
* learn how to pause program execution for the specified number of milliseconds
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Understands that iteration is the repetition of a process such as a loop. (AL)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals. (AL)
#### Data & Data Representation
* Understands the difference between data and information. (AB)
* Defines data types: real numbers and Boolean. (AB)
#### Information Technology
* Collects, organises and presents data and information in digital content. (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/blink/activity)
* [quiz](/microbit/lessons/blink/quiz)
* [quiz answers](/microbit/lessons/blink/quiz-answers)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/blink/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/blink/challenges)

View File

@ -4,9 +4,15 @@ Turn an LED on and off with forever
### ~avatar avatar
### @video td/videos/blink-0
To create a new script, go to the [Create Code](/microbit/create-code) page and tap *New Project* under *Block Editor*.
```sim
basic.forever(() => {
led.plot(2, 2)
basic.pause(500)
led.unplot(2, 2)
basic.pause(500)
})
```
Let's build a blinking light!
### ~
@ -45,12 +51,11 @@ basic.forever(() => {
led.unplot(2, 2)
basic.pause(500)
})
```
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/microbit/lessons/blink/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/blink/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the blink tutorial
## Before we get started
Complete the [blink](/microbit/lessons/blink/activity) activity and your code will look like this:
Complete the [blink](/lessons/blink/activity) activity and your code will look like this:
```blocks
basic.forever(() => {
@ -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,8 +1,8 @@
# blink blocks quiz answers
Learn how to create a blinking LED script. #LED #screen #plot #docs
Learn how to create a blinking LED script.
This is the answer key for the [blink quiz](/microbit/lessons/blink/quiz).
This is the answer key for the [blink quiz](/lessons/blink/quiz).
## 1. Describe what `plot` does?

View File

@ -1,12 +1,12 @@
# blink blocks quiz
Learn how to create a blinking LED script. #LED #screen #plot #docs
Learn how to create a blinking LED script.
## Name
## Directions
Use this activity document to guide your work in the [blink activity](/microbit/lessons/blink/activity).
Use this activity document to guide your work in the [blink activity](/lessons/blink/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!

View File

@ -4,15 +4,11 @@ a game similar to "Simon Says" with the BBC micro:bit. #docs
## Before we get started
Complete the following guided tutorial:
Complete the following guided tutorial. Your code should look like this:
* [tutorial](/microbit/lessons/bop-it/tutorial)
At the end of the tutorial, click `keep editing`. Your code should look like this:
```
```blocks
newAction() // ***
input.onButtonPressed("A", () => {
input.onButtonPressed(Button.A, () => {
if (action == 0) {
game.addScore(1) // ***
newAction() // ***
@ -21,27 +17,27 @@ input.onButtonPressed("A", () => {
input.onLogoDown(() => {
if (action == 1) {
game.addScore(1) // ***
newAction() // ***
newAction()
}
}) // ***
})
input.onGesture(Gesture.Shake, () => {
if (action == 2) {
game.addScore(1) // ***
newAction() // ***
game.addScore(1)
newAction()
}
}) // ***
input.onButtonPressed("B", () => {
})
input.onButtonPressed(Button.B, () => {
basic.showNumber(game.score(), 150) // ***
basic.pause(2000) // ***
newAction() // ***
}) // ***
})
```
### Challenge 1
Now let's add some more types of instructions for the player to follow. Let's add `PRESS PIN 0`. Change the global variable `action` to `math->random(4)` so that we can add a new **IF** statement that checks if `action=3`. If it does, display instructions to press pin 0.
```
```blocks
/**
* {highlight}
*/
@ -68,12 +64,12 @@ Now let's implement `PRESS PIN 0` in the main. Create a condition of `input->on
```
// **. . .**
input.onButtonPressed("B", () => {
input.onButtonPressed(Button.B, () => {
basic.showNumber(game.score(), 150) // ***
basic.pause(2000) // ***
newAction() // ***
}) // ***
input.onPinPressed("P0", () => {
input.onPinPressed(TouchPin.P0, () => {
if (action == 3) {
game.addScore(1) // ***
newAction() // ***

View File

@ -1,28 +1,25 @@
# bop it quiz answers
a game where you have to keep up with the commands #math #random #docs
a game where you have to keep up with the commands.
## Name
## Directions
Use this activity document to guide your work in the [bop it tutorial](/microbit/lessons/bop-it/tutorial).
Use this activity document to guide your work in the [bop it activity](/lessons/bop-it/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!
## 1. Write the code that will store the global variable named 'action' and returns a random number between 0 and 2
<br/>
```
action = Math.random(3)
```blocks
let action = Math.random(3)
```
## 2. Write the code that will display the string, "PUSH A" if the global variable called 'action' is equal to 0
<br />
```
```blocks
let action = Math.random(3)
if (action == 0) {
basic.showString("PUSH A", 150)
}
@ -30,10 +27,9 @@ if (action == 0) {
## 3. Write the code that increments the score if button A is pressed when the global variable called 'action' is equal to 1
<br />
```
input.onButtonPressed("A", () => {
```blocks
input.onButtonPressed(Button.A, () => {
let action = Math.random(3)
if (action == 0) {
game.addScore(1)
}
@ -42,9 +38,8 @@ input.onButtonPressed("A", () => {
## 4. Write the code that will display the string "LOGO DOWN" if the global variable called 'action' is equal to 1
<br />
```
```blocks
let action = Math.random(3)
if (action == 1) {
basic.showString("LOGO DOWN", 150)
}
@ -52,10 +47,9 @@ if (action == 1) {
## 5. Write the code that increments the score if the BBC micro:bit logo is tilted down when the global variable called 'action' is equal to 1
<br />
```
```blocks
input.onLogoDown(() => {
let action = Math.random(3)
if (action == 1) {
game.addScore(1)
}
@ -64,9 +58,8 @@ input.onLogoDown(() => {
## 6. Write the code that will display the string "SHAKE" if the global variable called 'action' is equal to 2
<br />
```
```blocks
let action = Math.random(3)
if (action == 2) {
basic.showString("SHAKE", 150)
}
@ -74,13 +67,11 @@ if (action == 2) {
## 7. Write the code that increments the score if the BBC micro:bit is shaken when the global variable called 'action' is equal to 2
<br/>
```
```blocks
input.onLogoDown(() => {
let action = Math.random(3)
if (action == 1) {
game.addScore(1)
}
})
```

View File

@ -0,0 +1,38 @@
# bop it quiz
a game where you have to keep up with the commands.
## Name
## Directions
Use this activity document to guide your work in the [bop it activity](/lessons/bop-it/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!
### 1. Write the code that will store the global variable named 'action' and returns a random number between 0 and 2
<br/>
### 2. Write the code that will display the string, "PUSH A" if the global variable called 'action' is equal to 0
<br />
### 3. Write the code that increments the score if button A is pressed when the global variable called 'action' is equal to 1
<br />
### 4. Write the code that will display the string "LOGO DOWN" if the global variable called 'action' is equal to 1
<br />
### 5. Write the code that increments the score if the BBC micro:bit logo is tilted down when the global variable called 'action' is equal to 1
<br />
### 6. Write the code that will display the string "SHAKE" if the global variable called 'action' is equal to 2
<br />
### 7. Write the code that increments the score if the BBC micro:bit is shaken when the global variable called 'action' is equal to 2

View File

@ -1,81 +0,0 @@
# buzzer lesson
design a blinking image lesson #docs
## Topic
Ring
## Quick Links
* [activity](/microbit/lessons/buzzer/activity)
* [challenges](/microbit/lessons/buzzer/challenges)
## Class
Year 7
## Prior learning / place of lesson in scheme of work
Learn how to **ring** the buzzer to turn on the sound. We will be learning basic comments such as ring and clear screen.
## Documentation
* **ring** : [read more...](/microbit/reference/music/ring)
* **clear screen** : [read more...](/microbit/reference/basic/clear-screen)
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
## Objectives
* learn how to ring the BBC micro:bit
* learn how to clear the screen
* learn how to run code when an input button is pressed
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
* Uses diagrams to express solutions.(AB)
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
* Recognises that different algorithms exist for the same problem (AL) (GE)
* Represents solutions using a structured notation (AL) (AB)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals (AL)
* Selects the appropriate data types(AL) (AB
#### Data & Data Representation
* Understands the difference between data and information(AB)
#### Hardware & Processing
* Understands the difference between hardware and application software, and their roles within a computer system (AB)
#### Communication Networks
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/buzzer/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/buzzer/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/buzzer/challenges)

View File

@ -0,0 +1,51 @@
# catch the egg game lesson
A game to catch eggs in a basket.
## Topic
Variables
## Quick Links
* [activity](/lessons/catch-the-egg-game/activity)
* [tutorial](/lessons/catch-the-egg-game/tutorial)
* [quiz](/lessons/catch-the-egg-game/quiz)
* [quiz answers](/lessons/catch-the-egg-game/quiz-answers)
## Prior learning/place of lesson in scheme of work
Learn how to create a catch the egg game game with **plot**, `led->plot` , **unplot**, `led->unplot`, and **acceleration** `input -> acceleration` to turn on and off LED lights on the LED screen. We will be learning how to create a catch the egg game app using global variables, forever loop, local variable, input acceleration, math min, math max, math random, math mod, if (conditionals), game library as well as simple commands, such as led plot, led unplot, and pause.
## Documentation
```cards
let x = 2;
led.unplot(0, 0);
basic.forever(() => {});
x += 1;
led.plot(0, 0);
basic.pause(300);
input.acceleration(Dimension.X);
Math.min(0,0);
Math.max(0,1);
Math.random(5);
game.addScore(1);
game.score();
game.removeLife(1);
```
## Objectives
* learn how to create a variable as a place where you can store data so that you can use it later in your code, accessible across functions and in nested code blocks
* learn how to repeat code in the background forever
* learn how to turn off a LED light on the LED screen
* learn how to turn on a LED light on the LED screen
* learn how to learn how to conditionally run code depending on whether a condition is true or not
* learn how to learn how to get the acceleration value (g-force), in one of three specified dimensions
* learn how to return the smaller of two numbers
* learn how to return the larger of two numbers
* learn how to return a random number
* learn how to return the modulus
* learn how to show a number of the BBC micro:bit screen
* learn how to pause your code for the specified number of milliseconds

View File

@ -1,16 +1,10 @@
# catch the egg game challenges
Coding challenges for catch the egg game.
## Before we get started
Complete the following guided tutorial:
Your starting code should look like this:
* [tutorial](/microbit/lessons/catch-the-egg-game/tutorial)
At the end of the tutorial, click `keep editing`. Your code should look like this:
```
```blocks
let basketX = 2
let eggX = 2
let eggY = 0
@ -20,7 +14,7 @@ basic.forever(() => {
eggY = eggY + 1
led.plot(eggX, eggY)
basic.pause(300)
let accX = input.acceleration("x")
let accX = input.acceleration(Dimension.X)
basketX = 2 + Math.min(2, Math.max(-2, accX / 200))
led.plot(basketX, 4)
if (eggY > 4) {
@ -35,21 +29,13 @@ basic.forever(() => {
### Challenge 1
Let's start by adding the **game** library.
### ~
### ~avatar avatar improvised
### Challenge 2
Let's use an **IF** statement to detect if the egg and the basket are lined up.
Now that we know when an egg is caught, we can keep track of the score! We need to use the `add score` function built into the game library to add `1` point for every egg that is caught. However, let's not forget to `remove life` if an egg falls off the display before it's caught!
### ~
```
```blocks
let basketX1 = 2
let eggX1 = 2
let eggY1 = 0
@ -59,8 +45,8 @@ basic.forever(() => {
eggY1 = eggY1 + 1
led.plot(eggX1, eggY1)
basic.pause(300)
let accX1 = input.acceleration("x")
basketX1 = 2 + Math.min(2, Math.max(-2, accX1 / 200))
let accX = input.acceleration(Dimension.X)
basketX1 = 2 + Math.min(2, Math.max(-2, accX / 200))
led.plot(basketX1, 4)
if (eggY1 > 4) {
eggY1 = -1
@ -68,9 +54,9 @@ basic.forever(() => {
}
if (eggY1 == 4) {
if (basketX1 == eggX1) {
game.addScore(1) // ***
game.addScore(1)
} else {
game.removeLife(1) // ***
game.removeLife(1)
}
}
basic.pause(300)
@ -81,13 +67,13 @@ basic.forever(() => {
### ~avatar avatar encourage
### Challenge 3
### Challenge 2
Catching eggs gets easier with practice so let's make the eggs fall faster every 5 catches. We can do this by tracking how long the egg pauses in each position while falling with a global variable called **falling pause**. Let's create this variable and set it to `300` initially. Don't forget to also create a condition that will be true every 5 catches.
### ~
```
```blocks
let basketX2 = 2
let eggX2 = 2
let eggY2 = 0
@ -98,7 +84,7 @@ basic.forever(() => {
eggY2 = eggY2 + 1
led.plot(eggX2, eggY2)
basic.pause(300)
let accX2 = input.acceleration("x")
let accX2 = input.acceleration(Dimension.X)
basketX2 = 2 + Math.min(2, Math.max(-2, accX2 / 200))
led.plot(basketX2, 4)
if (eggY2 > 4) {
@ -108,7 +94,7 @@ basic.forever(() => {
if (eggY2 == 4) {
if (basketX2 == eggX2) {
game.addScore(1)
if (math.mod(game.score(), 5) == 0) {
if (game.score() %5 == 0) {
}
} else {
game.removeLife(1)
@ -120,13 +106,11 @@ basic.forever(() => {
### ~avatar avatar surprised
### Challenge 4
### @video td/videos/catch-the-egg-game-4
### Challenge 3
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
let basketX3 = 2
let eggX3 = 2
let eggY3 = 0
@ -137,7 +121,7 @@ basic.forever(() => {
eggY3 = eggY3 + 1
led.plot(eggX3, eggY3)
basic.pause(300)
let accX3 = input.acceleration("x")
let accX3 = input.acceleration(Dimension.X)
basketX3 = 2 + Math.min(2, Math.max(-2, accX3 / 200))
led.plot(basketX3, 4)
if (eggY3 > 4) {
@ -147,15 +131,16 @@ basic.forever(() => {
if (eggY3 == 4) {
if (basketX3 == eggX3) {
game.addScore(1)
if (math.mod(game.score(), 5) == 0) {
if (game.score()% 5 == 0) {
fallingPause1 = fallingPause1 - 25 // ***
}
} else {
game.removeLife(1)
}
}
basic.pause(fallingPause1) // ***
basic.pause(fallingPause1)
})
```
Fantastic! Your game is now ready to show off.

View File

@ -6,7 +6,7 @@ Programming a game of catch the egg using the accelerometer
## Directions
Use this activity document to guide your work in the [catch the egg tutorial](/microbit/lessons/catch-the-egg-game/tutorial)
Use this activity document to guide your work in the [catch the egg activity](/lessons/catch-the-egg-game/activity)
Answer the questions while completing the tutorial. Pay attention to the dialogues!
@ -22,7 +22,10 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
<br/>
```
```blocks
let basketX = 2
let eggX = 2
let eggY = 0
led.plot(eggX, eggY)
led.plot(basketX, 4)
```
@ -31,28 +34,22 @@ led.plot(basketX, 4)
<br/>
```
```blocks
let basketX = 2
let eggX = 2
let eggY = 0
led.unplot(eggX, eggY)
eggY = eggY + 1
led.plot(eggX, eggY)
```
## 4. Write the code that calculates 'basket x' given the variable 'acc x'.
## 4. . Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
<br/>
```
let accX = input.acceleration("x")
basketX = 2 + Math.min(2, Math.max(-2, accX / 200))
```
Note: the first line of code in this answer is optional.
## 5. Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
<br/>
```
```blocks
let eggX = 2
let eggY = 0
if (eggY > 4) {
eggY = -1
eggX = Math.random(5)

View File

@ -6,11 +6,11 @@ Programming a game of catch the egg using the accelerometer.
## Directions
Use this activity document to guide your work in the [catch the egg tutorial](/microbit/lessons/catch-the-egg-game/tutorial)
Use this activity document to guide your work in the [catch the egg challenges](/lessons/catch-the-egg-game/activity)
Answer the questions while completing the tutorial. Pay attention to the dialogues!
## 1. Write the data type for the global variables 'basket' and 'egg'.
## 1. Write the data type for the variables 'basket' and 'egg'.
<br/>
@ -24,11 +24,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
<br/>
## 4. Write the code that calculates 'basket x' given the variable 'acc x'.
<br/>
## 5. Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
## 4. Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
<br/>

View File

@ -0,0 +1,29 @@
# catch the egg game tutorial
### Rebuild the game!
The blocks have been shuffled! Put them back together so that...
* an egg LED falls from the top of the screen, row by row.
* a basket LED is on the bottom row and can be moved by using the accelerometer `X` data.
* if the egg LED reaches the last row, reset the egg position to the first row.
```shuffle
let basketX = 2
let eggX = 2
let eggY = 0
basic.forever(() => {
led.unplot(basketX, 4)
led.unplot(eggX, eggY)
eggY = eggY + 1
led.plot(eggX, eggY)
basic.pause(300)
let accX = input.acceleration(Dimension.X)
basketX = 2 + Math.min(2, Math.max(-2, accX / 200))
led.plot(basketX, 4)
if (eggY > 4) {
eggY = -1
eggX = Math.random(5)
}
basic.pause(300)
})
```

View File

@ -22,7 +22,7 @@ Create a timer that runs out after a certain amount of time (using the *count* l
## Graphics Challenges [3]
Using the knowledge you have learnt from the [rendering graphics](/microbit/lessons/graphics) section, try creating an algorithm to draw these shapes. Before you write the code try to figure out how the BBC micro:bit will be thinking to plot these points. For example, with our diagonal line “count up from 0 to 4 by 1, and plot points x=i and y=i”.
Using the knowledge you have learnt from the [rendering graphics](/lessons/graphics) section, try creating an algorithm to draw these shapes. Before you write the code try to figure out how the BBC micro:bit will be thinking to plot these points. For example, with our diagonal line “count up from 0 to 4 by 1, and plot points x=i and y=i”.
* Another diagonal line
* A square going around the board

View File

@ -1,18 +1,16 @@
# charting lesson
measure the acceleration on the micro:bit in the "z" direction #acceleration #var #docs #if #show
Create a charting app for simulating and measuring the acceleration applied to the micro:bit
## Topic
Acceleration
## Quick Links
* [activity](/microbit/lessons/charting/activity)
## Class
Year 7
* [activity](/lessons/charting/acceleration)
* [challenge](/lessons/charting/challenge)
* [quiz](/lessons/charting/quiz)
* [answers](/lessons/charting/quiz-answers)
## Prior learning/place of lesson in scheme of work
@ -20,12 +18,14 @@ Learn the functions of **on data received**, **send number** and **receive numbe
## Documentation
* **forever** : [read more...](/microbit/reference/basic/forever)
* **acceleration** : [read more...](/microbit/reference/input/acceleration)
* **plot bar graph** : [read more...](/microbit/reference/led/plot-bar-graph)
* **on data received** : [read more...](/microbit/reference/radio/on-data-received)
* **send number** : [read more...](/microbit/reference/radio/send-number)
* **receive number** : [read more...](/microbit/reference/radio/receive-number)
```cards
input.acceleration(Dimension.X)
led.plotBarGraph(0, 1023)
basic.showNumber(0)
radio.onDataReceived(() => {})
radio.sendNumber(0)
radio.receiveNumber()
```
## Objectives
@ -35,24 +35,3 @@ Learn the functions of **on data received**, **send number** and **receive numbe
* learn how to register code to run when a packet is received over radio
* learn how to broadcast a number data packet to other micro:bits connected via radio
* learn how to read the next radio packet as a number data packet
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
* Represents solutions using a structured notation (AL) (AB)
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals (AL)
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/charting/activity)

View File

@ -1,53 +1,85 @@
# charting activity
# Activity
Measure the acceleration on the micro:bit in the "z" direction.
Measure the acceleration on the micro:bit in the "x" direction.
### ~avatar avatar
To create a new script, go to the [Create Code](/microbit/create-code) page and tap `New Project` under `Block Editor`.
Welcome! This activity will teach how to use the micro:bit to chart the acceleration in the "x" direction. Let's get started!
### ~
Let's measure `acceleration (mg)` in the "x" direction. Get the acceleration value (milli g-force), in one of three specified dimensions.
```blocks
input.acceleration(Dimension.X)
```
### ~
Use the plot bar chart to visualize the acceleration on the LED screen of the micro:bit in the specified range. You implement plot Bar Graph to display a vertical bar graph based on the "value" and "high" value. Then you must insert acceleration in the X dimension to measure the acceleration.
```blocks
basic.forever(() => {
led.plotBarGraph(input.acceleration(Dimension.X), 0)
})
```
### ~
Notice that moving the micro:bit in the simulator from left to right (x direction) changes the values beneath the micro:bit in a range from 1023 to -1023 as measured in milli-gravities. By hovering over the micro:bit from left to right, you can observe changing values beneath the micro:bit simulator. Also, the LEDs shown on the Bar Graph fluctates based on the movement of the micro:bit simulator in the x direction. The line underneath the micro:bit simulator reflect the acceleration in the x direction.
NOTE: The colors of the charts reflect the color of the micro:bit simulator. In this instance, the micro:bit is yellow. So the color of the data line reflects the color of the micro:bit
![](/static/mb/data4.png)
### ~
Vigorously move the micro:bit in the micro:bit simulatator by moving the micro:bit image from side to side. Every time the micro:bit moves in the x direction in the simulator, you are generating data points that can be reviewed in Excel. The more attempts to move the micro:bit from side to side, the more data being saved in Excel. After you have vigarously moved the micro:bit simulator from side to side for a sufficient amount of time, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel that can be graphed in Excel.
### ~
Welcome! This activity will teach how to use the 1st micro:bit to chart the second micro:bit's acceleration in the "x" direction. Let's get started!
We want to chart the data collected by using a tool in Excel.
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.
```blocks
radio.sendNumber(input.acceleration(Dimension.X))
```
We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever.
```blocks
basic.forever(() => {
radio.sendNumber(input.acceleration(Dimension.X))
})
```
We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`.
```blocks
basic.forever(() => {
radio.sendNumber(input.acceleration(Dimension.X))
})
radio.onDataReceived(() => {
})
```
Finally, we want to chart the acceleration. So we must first implement `plot bar graph`. `Plot Bar Graph` will display a vertical bar graph based on the value and high value. In order to transfer the receive the number from the 1st micro:bit, we must implement `receive number` to constantly display a vertical bar graph based on the value. Remember, the value will equal to the micro:bit's acceleration in the "x" direction.
```blocks
basic.forever(() => {
radio.sendNumber(input.acceleration(Dimension.X))
})
radio.onDataReceived(() => {
led.plotBarGraph(radio.receiveNumber(), 1023)
})
```
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.
* Connect the first micro:bit to your computer using your USB cable and run the charting script on it.
* Connect the second micro:bit to your computer using your USB cable and run the charting script on it.
* 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!
### ~
First, click or tap on the first two columns (A, B) to include the time of the data being collected; b) the results of acceleration data on the micro:bit
![](/static/mb/data7.png)
Use the Recommended Charts command on the Insert tab to quickly create a chart thats just right for your data.
* Select the data that you want to include in your chart.
* Click Insert > Recommended Charts.
![](/static/mb/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"
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/lessons/charting/acceleration-challenge)
### ~

View File

@ -0,0 +1,94 @@
# Challenge
### ~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!
### ~
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.
```blocks
radio.sendNumber(input.acceleration(Dimension.X));
```
### ~
We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever.
```blocks
basic.forever(() => {
radio.sendNumber(input.acceleration(Dimension.X));
});
```
### ~
We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`.
```blocks
basic.forever(() => {
radio.sendNumber(input.acceleration(Dimension.X))
})
radio.onDataReceived(() => {
})
```
### ~
Finally, we want to chart the acceleration. So we must first implement `plot bar graph`. `Plot Bar Graph` will display a vertical bar graph based on the value and high value. In order to transfer the receive the number from the 1st micro:bit, we must implement `receive number` to constantly display a vertical bar graph based on the value. Remember, the value will equal to the micro:bit's acceleration in the "x" direction.
```blocks
basic.forever(() => {
radio.sendNumber(input.acceleration(Dimension.X))
})
radio.onDataReceived(() => {
led.plotBarGraph(radio.receiveNumber(), 1023)
})
```
### ~
Notice that moving the micro:bit the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd micro:bit. There is a single LED turned on with the 1st micro:bit. Additionally, the graphs will reflect 0 acceleation for the 1st micro:bit. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
![](/static/mb/acc.png)
### ~
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.
![](/static/mb/acc2.png)
### ~
Finally, you must open the Excel CSV file by clicking on the data.xls file that was downloaded to Downloads Folder.
![](/static/mb/data3.png)
Use the Recommended Charts command on the Insert tab to quickly create a chart thats just right for your data.
* Select the data that you want to include in your chart.
* Click Insert > Recommended Charts.
![](/static/mb/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)
### ~
Have fun reviewing your simulation and analyze the acceleration by chart the Excel data using Excel.
* Connect the first micro:bit to your computer using your USB cable and run the charting script on it.
* Connect the second micro:bit to your computer using your USB cable and run the charting script on it.
* 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

@ -0,0 +1,33 @@
# charting quiz answers
Measure the acceleration on the micro:bit in the "x" direction.
## Name
## Directions
Use this activity document to guide your work in the [glowing pendulum activity](/lessons/charting/acceleration)
Answer the questions while completing the tutorial. Pay attention to the dialogues!
## 1. Why are you creating a 'forever' loop?
<br/>
We are creating a forever loop to constantly display the appropriate brightness on the LED display.
## 2. Write the line of code to measure the acceleration with respect to the "x" axis and display this value in a bar graph.
<br/>
```blocks
led.plotBarGraph(input.acceleration(Dimension.X), 0)
```
## 3. After vigarously moving the micro:bit from side to side along the "x" axis for a sufficient amount of time,insert the Excel graph for displaying a line chart used to display trends over time.
<br/>
![](/static/mb/line_chart.png)

View File

@ -0,0 +1,23 @@
# charting quiz
Measure the acceleration on the micro:bit in the "x" direction.
## Name
## Directions
Use this activity document to guide your work in the [glowing pendulum tutorial](/lessons/glowing-pendulum/activity)
Answer the questions while completing the tutorial. Pay attention to the dialogues!
## 1. Why are you creating a 'forever' loop?
<br/>
## 2. Write the line of code to measure the acceleration with respect to the "y" axis and store this value in a local variable called 'acceleration'.
<br/>
## 3. After vigarously moving the micro:bit from side to side along the "x" axis for a sufficient amount of time,insert the Excel graph for displaying a line chart used to display trends over time.

View File

@ -1,6 +1,6 @@
# classic beatbox
display beautiful images on the BBC micro:bit #var #pause #docs
display beautiful images on the BBC micro:bit.
## Topic
@ -8,12 +8,10 @@ Music
## Quick Links
* [activity](/microbit/lessons/classic-beatbox/activity)
* [challenges](/microbit/lessons/classic-beatbox/challenges)
* [activity](/lessons/classic-beatbox/activity)
* [challenges](/lessons/classic-beatbox/challenges)
## Class
Year 7
## Prior learning/place of lesson in scheme of work
@ -23,40 +21,3 @@ Learn how to make a beatbox music player using pins P1 and P2. We will be learni
* learn how to code music on the BBC micro:bit
## 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)
* Selects the appropriate data types(AL) (AB
#### Communication Networks
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/classic-beatbox/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/classic-beatbox/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/classic-beatbox/challenges)

View File

@ -2,8 +2,6 @@
Control images with variables.
To create a new script, go to the [Create Code](/microbit/create-code) page and tap *New Project* under *Block Editor*.
Have you ever tried to making beat box sounds? Let's try making a beatbox with code!
Let's start by adding a variable where you can store data. Then rename the variable to "sound". Then set the value of the variable to the note block `A` from the Music drawer. Modify your code so that your code looks like this.
@ -51,6 +49,6 @@ input.onPinPressed(TouchPin.P1, () => {
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/microbit/lessons/classic-beatbox/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/classic-beatbox/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Create sounds with variables.
## Before we get started
Complete the [beatbox](/microbit/lessons/beatbox/activity) activity and your code will look like this:
Complete the [beatbox](/lessons/classic-beatbox/activity) activity and your code will look like this:
```blocks
@ -17,7 +17,7 @@ input.onPinPressed(TouchPin.P1, () => {
})
```
**Challenge 1**
### Challenge 1
Let's include a second sound `on pin pressed` *P2*. To do this, you need to add the same blocks as the banana keyboard activity. However, you must change alter `on pin pressed` from P1 to P2. Additionally, you must *decrease* the frequency of the variable "sound" by 25. Modify your code so that your code looks like this
@ -42,7 +42,7 @@ input.onPinPressed(TouchPin.P2, () => {
* click *run* to see if the code works as expected.
**Challenge 2**
### Challenge 2
Finally, we want images to be displayed with sounds `on pin pressed`. Add `show LEDs` blocks under `on pin pressed` P1 and P2.

View File

@ -1,8 +1,6 @@
# compass lesson
create a die on the BBC micro:bit #button #pressed #math #random #var #string #if #docs
### @video td/videos/compass-0
create a die on the BBC micro:bit.
## Topic
@ -10,12 +8,10 @@ If (Conditionals)
## Quick Links
* [activity](/microbit/lessons/compass/activity)
* [challenges](/microbit/lessons/compass/challenges)
## Class
Year 7
* [activity](/lessons/compass/activity)
* [challenges](/lessons/compass/challenges)
* [quiz](/lessons/compass/quiz)
* [quiz answers](/lessons/compass/quiz-answers)
## Prior learning/place of lesson in scheme of work
@ -23,14 +19,20 @@ Learn how to use an if statements to run code run code depending on whether a co
## Documentation
* **Compass Heading** : [read more...](/microbit/reference/input/compass-heading)
* **Forever** : [read more...](/microbit/reference/basic/forever)
* **Variables** : [read more...](/microbit/reference/variables/var)
* **Assignment Operator** : [read more...](/microbit/reference/variables/assign)
* **If** : [read more...](/microbit/reference/logic/if)
* **Comparison Operator** : [read more...](/microbit/reference/types/number)
* **Show String** : [read more...](/microbit/reference/basic/show-string)
* **Show LEDs** : [read more...](/microbit/reference/basic/show-leds)
```cards
input.compassHeading()
basic.forever(() => {})
let x = 0
if (true) {}
basic.showString("Hello!")
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
```
## Objectives
@ -41,57 +43,3 @@ Learn how to use an if statements to run code run code depending on whether a co
* learn how to return a random number
* learn how to conditionally run code depending on whether a condition is true or not
* learn how to show an image on the LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
* Uses diagrams to express solutions.(AB)
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
* Designs solutions by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (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)
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
* Selects the appropriate data types(AL) (AB
#### Data & Data Representation
* Understands the difference between data and information(AB)
* Uses filters or can perform single criteria searches for information.(AL)
* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
* Defines data types: real numbers and Boolean (AB)
#### Hardware & Processing
* Knows that computers collect data from various input devices, including sensors and application software (AB)
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Makes judgements about digital content when evaluating and repurposing it for a given audience (EV) (GE)
* Recognises ethical issues surrounding the application of information technology beyond school.
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/compass/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/compass/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/compass/challenges)

View File

@ -28,9 +28,8 @@ basic.forever(() => {
If `degrees` is less than `45`, then the compass heading is mostly pointing toward North. Display `N` on the micro:bit.
```blocks
let degrees = 0;
basic.forever(() => {
degrees = input.compassHeading();
let degrees = input.compassHeading();
if (degrees < 45) {
basic.showString("N");
}
@ -41,9 +40,8 @@ If `degrees` is less than 135, the micro:bit is mostly pointing East. Display `E
```blocks
let degrees = null;
basic.forever(() => {
degrees = input.compassHeading();
let degrees = input.compassHeading();
if (degrees < 45) {
basic.showString("N");
}
@ -57,9 +55,8 @@ If `degrees` is less than 225, the micro:bit is mostly pointing South. Display `
```blocks
let degrees = null;
basic.forever(() => {
degrees = input.compassHeading();
let degrees = input.compassHeading();
if (degrees < 45) {
basic.showString("N");
}
@ -76,9 +73,8 @@ basic.forever(() => {
If none of these conditions returned true, then the micro:bit must be pointing West. Display `W` on the micro:bit.
```blocks
let degrees = null;
basic.forever(() => {
degrees = input.compassHeading();
let degrees = input.compassHeading();
if (degrees < 45) {
basic.showString("N");
}
@ -96,7 +92,7 @@ basic.forever(() => {
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/microbit/lessons/compass/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/compass/challenges)!
### ~

View File

@ -4,10 +4,10 @@ Display the direction that the micro:bit is facing using the compass
## Before we get started
Complete the following [guided tutorial](/microbit/lessons/compass/activity), your code should look like this:
Complete the following [guided tutorial](/lessons/compass/activity), your code should look like this:
```blocks
let degrees = null;
let degrees = 0;
basic.forever(() => {
degrees = input.compassHeading();
if (degrees < 45) {
@ -30,7 +30,7 @@ basic.forever(() => {
Instead of displaying `N` when the BBC micro:bit is pointing North, display a star to indicate the north star.
```blocks
let degrees = null;
let degrees = 0;
basic.forever(() => {
degrees = input.compassHeading();
if (degrees < 45) {
@ -61,7 +61,7 @@ basic.forever(() => {
Instead of displaying just `N`, `W`, `S`, or `E`, display the full word.
```blocks
let degrees = null;
let degrees = 0;
basic.forever(() => {
degrees = input.compassHeading();
if (degrees < 45) {

View File

@ -6,7 +6,7 @@ Create an actual compass to show your direction: North, South, East, or West
## Directions
Use this activity document to guide your work in the [compass tutorial](/microbit/lessons/compass/activity).
Use this activity document to guide your work in the [compass tutorial](/lessons/compass/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!
@ -14,41 +14,39 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
Gets the compass heading of the micro:bit in degrees
<br/>
## 2. Write the code that stores the compass heading into a local variable called 'degrees'.
<br/>
```
```blocks
let degrees = input.compassHeading()
```
## 3. Write the 'If statement' that will check if the device is mostly pointing North. Display 'N' on the micro:bit
<br />
```
```blocks
let degrees = input.compassHeading()
if (degrees < 45) {
basic.showString("N", 150)
}
```
## 3. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
## 4. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
<br />
```
```blocks
let degrees = input.compassHeading()
if (degrees < 135) {
basic.showString("E", 150)
}
```
## 3. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
## 5. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
<br />
```
```blocks
let degrees = input.compassHeading()
if (degrees < 225) {
basic.showString("S", 150)
}

View File

@ -6,27 +6,21 @@ Create an actual compass to show your direction: North, South, East, or West
## Directions
Use this activity document to guide your work in the [compass activity](/microbit/lessons/compass/activity).
Use this activity document to guide your work in the [compass activity](/lessons/compass/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!
## 1. What is the purpose of the 'compass heading' block?
<br/>
## 2. Write the code that stores the compass heading into a local variable called 'degrees'.
<br/>
## 3. Write the 'If statement' that will check if the device is mostly pointing North. Display 'N' on the micro:bit
<br />
## 3. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
## 4. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
<br />
## 3. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
## 5. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
<br />

View File

@ -1,8 +1,6 @@
# counter lesson
Learn how to create a counter with with on button pressed. #show #number #screen #number #math #docs
### @video td/videos/counter-0
Learn how to create a counter with with on button pressed.
## Topic
@ -10,12 +8,10 @@ Variables
## Quick Links
* [activity](/microbit/lessons/counter/activity)
* [challenges](/microbit/lessons/counter/challenges)
## Class
Year 7
* [activity](/lessons/counter/activity)
* [challenges](/lessons/counter/challenges)
* [quiz](/lessons/counter/quiz)
* [quiz answers](/lessons/counter/quiz-answers)
## Prior learning/place of lesson in scheme of work
@ -23,10 +19,25 @@ Learn how to creating a **variable** to keep track of the current count. We will
## Documentation
* **variable**: [read more...](/microbit/reference/variables/var)
* **arithmetic operators**: [read more...](/microbit/reference/types/number)
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
* **show number** : [read more...](/microbit/reference/basic/show-number)
```cards
input.compassHeading()
basic.forever(() => {})
let x = 0
if (true) {}
basic.showString("Hello!")
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
```
* **variable**: [read more...](/reference/variables/var)
* **arithmetic operators**: [read more...](/reference/types/number)
* **on button pressed** : [read more...](/reference/input/on-button-pressed)
* **show number** : [read more...](/reference/basic/show-number)
## Objectives
@ -35,41 +46,3 @@ Learn how to creating a **variable** to keep track of the current count. We will
* learn how to run code when an input button is pressed
* learn how to show a number on the LED screen, one digit at a time (scrolling from left to right)
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Understands that iteration is the repetition of a process such as a loop. (AL)
* 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)
#### Data & Data Representation
* Understands the difference between data and information. (AB)
* Defines data types: real numbers and Boolean. (AB)
#### Information Technology
* Collects, organises and presents data and information in digital content. (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/counter/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/counter/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/counter/challenges)

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!
### ~
@ -39,7 +37,7 @@ input.onButtonPressed(Button.A, () => {
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/microbit/lessons/counter/challenges)
Excellent, you're ready to continue with the [challenges](/lessons/counter/challenges)
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the counter.
## Before we get started
Complete the following [guided tutorial](/microbit/lessons/counter/activity) At the end of the tutorial, click **keep editing**. Your code should look like this:
Complete the following [guided tutorial](/lessons/counter/activity) At the end of the tutorial, click **keep editing**. Your code should look like this:
```blocks
let count = 0
@ -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

@ -2,7 +2,7 @@
Learn how to create a counter with the BBC micro:bit button.
This is the answer key for the [counter quiz](/microbit/lessons/counter/quiz).
This is the answer key for the [counter quiz](/lessons/counter/quiz).
## 1. What is a variable?
@ -10,7 +10,7 @@ Answers may vary but a variable is a place where you can store and retrieve data
## 2. Draw the stored value for the variable called count
```
```blocks
let count = 0
```
@ -22,11 +22,11 @@ We create a **variable**, `count` to keep track of the current count. The number
## 3. Draw which LEDs are ON after running this code and pressing button "A" once. Explain you chose to draw that number
```
let count_ = 0
input.onButtonPressed("A", () => {
count_ = count_ + 1
basic.showNumber(count, 150)
```blocks
let count = 0
input.onButtonPressed(Button.A, () => {
count = count + 1
basic.showNumber(count)
})
```
@ -38,11 +38,11 @@ We are only pressing on button pressed once. So the number to display on the mic
## 4. Draw which LEDs are ON after running this code and pressing button "A" three times. Explain you chose to draw that number
```
count_ = 0
input.onButtonPressed("A", () => {
count_ = count_ + 1
basic.showNumber(count_, 100)
```blocks
let count = 0
input.onButtonPressed(Button.A, () => {
count = + 1
basic.showNumber(count)
})
```

View File

@ -6,7 +6,7 @@ Learn how to create a counter with the BBC micro:bit button.
## Directions
Use this activity document to guide your work in the [counter tutorial](/microbit/lessons/counter/activity).
Use this activity document to guide your work in the [counter tutorial](/lessons/counter/activity).
Answer the questions while completing the tutorial. Pay attention to the dialogues!
@ -16,7 +16,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
## 2. Draw the stored value for the variable called count
```
```blocks
let count = 0
```
@ -26,11 +26,11 @@ let count = 0
## 3. Draw which LEDs are ON after running this code and pressing button "A" once. Explain you chose to draw that number
```
let count_ = 0
input.onButtonPressed("A", () => {
count_ = count_ + 1
basic.showNumber(count_, 100)
```blocks
let counts = 0
input.onButtonPressed(Button.A, () => {
counts = counts + 1
basic.showNumber(counts, 150)
})
```
@ -40,11 +40,11 @@ input.onButtonPressed("A", () => {
## 4. Draw which LEDs are ON after running this code and pressing button "A" three times. Explain you chose to draw that number
```
count_ = 0
input.onButtonPressed("A", () => {
count_ = count_ + 1
basic.showNumber(count_, 100)
```blocks
let counting= 0
input.onButtonPressed(Button.A, () => {
counting = counting + 1
basic.showNumber(counting, 100)
})
```

View File

@ -1,41 +0,0 @@
# crocodile clip activity
Use the crocodile clips
# micro:bit crocodile clip
![](/static/mb/blocks/lessons/crocodile-clip-0.jpg)
In this project, you will build a circuit with the micro:bit from crocodile clips. Project duration: 15 minutes.
## Materials
* micro:bit, battery holder and 2 AAA batteries
* Crocodile clips
## Steps
### Step 1
![](/static/mb/lessons/banana-keyboard-1.png)
Using the 1st crocodile clip, connect the end of the crocodile clip onto GND pin on the micro:bit.
### Step 2
![](/static/mb/crocodile-clips-2.jpg)
Using the 1st crocodile clip, connect the unattached end of the crocodile clip onto the 0 pin on the micro:bit.
### Step 3
![](/static/mb/blocks/lessons/crocodile-clip-0.jpg)
Disconnect the end of the crocodile clip from the 0 pin of the micro:bit.
Your circuit is complete!
### Step 10
Connect your micro:bit to your computer using your USB cable and run the [guess the number](/microbit/lhpkbr) script on it.

44
docs/lessons/dice-roll.md Normal file
View File

@ -0,0 +1,44 @@
# dice roll lesson
Create a dice on the BBC micro:bit.
## Topic
If (Conditionals)
## Quick Links
* [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
Learn how to use an if statements to run code run code depending on whether a condition is true or not. We will be learning how to create a die with If statements, On Shake, Variables, Assignment Operator, Pick Random and Show LEDs
## Documentation
```cards
input.onGesture(Gesture.Shake, () => {})
let x = 0
Math.random(3)
if (true) {}
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
```
## Objectives
* learn how to run code when the BBC micro:bit is shaken, when running code in the web browser, moving the mouse quickly simulates shaking
* learn how to create a local variable as a place where you can store and retrieve data
* learn how the assignment operator is used to declare a new local variable
* learn how to declare a new local variable or update the value of a variable
* learn how to return a random number
* learn how to conditionally run code depending on whether a condition is true or not
* learn how to show an image on the LED screen

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](/microbit/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](/microbit/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,14 +1,14 @@
# 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](/microbit/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.
<br/>
```
```blocks
let roll = Math.random(6)
```
@ -18,9 +18,10 @@ let roll = Math.random(6)
<br/>
```
```blocks
let roll = Math.random(6)
if (roll == 5) {
basic.plotImage(`
basic.showLeds(`
. # . # .
. . . . .
. # . # .
@ -36,9 +37,11 @@ if (roll == 5) {
<br />
```
```blocks
let roll = Math.random(6)
if (roll == 5) {
basic.plotImage(`
basic.showLeds(`
. # . # .
. . . . .
. # . # .
@ -46,7 +49,7 @@ if (roll == 5) {
. # . # .
`)
} else if (roll == 4) {
basic.plotImage(`
basic.showLeds(`
. . . . .
. # . # .
. . # . .
@ -64,9 +67,10 @@ Note: students are only required to write the bottom half of this answer, starti
<br />
```
```blocks
let roll = Math.random(6)
if (roll == 4) {
basic.plotImage(`
basic.showLeds(`
. . . . .
. # . # .
. . # . .
@ -74,7 +78,7 @@ if (roll == 4) {
. . . . .
`)
} else if (roll == 3) {
basic.plotImage(`
basic.showLeds(`
. . . . .
. # . # .
. . . . .
@ -92,9 +96,10 @@ Note: students are only required to write the bottom half of this answer, starti
<br />
```
```blocks
let roll = Math.random(6)
if (roll == 3) {
basic.plotImage(`
basic.showLeds(`
. . . . .
. # . # .
. . . . .
@ -102,7 +107,7 @@ if (roll == 3) {
. . . . .
`)
} else if (roll == 2) {
basic.plotImage(`
basic.showLeds(`
# . . . .
. . . . .
. . # . .

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](/microbit/lessons/die-roll/tutorial).
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,95 +0,0 @@
# die roll lesson
create a die on the BBC micro:bit #button #pressed #math #random #var #string #if #docs
### @video td/videos/die-roll-0
## Topic
If (Conditionals)
## Quick Links
* [activity](/microbit/lessons/die-roll/activity)
* [challenges](/microbit/lessons/die-roll/challenges)
## Class
Year 7
## Prior learning/place of lesson in scheme of work
Learn how to use an if statements to run code run code depending on whether a condition is true or not. We will be learning how to create a die with If statements, On Shake, Variables, Assignment Operator, Pick Random and Show LEDs
## Documentation
* **Variables** : [read more...](/microbit/reference/variables/var)
* **If** : [read more...](/microbit/blocks/if)
* **On Shake** : [read more...](/microbit/reference/on-gesture)
* **Assignment Operator** : [read more...](/microbit/reference/variables/assign)
* **Pick Random** : [read more...](/microbit/blocks/math)
* **Show LEDs** : [read more...](/microbit/reference/basic/show-leds)
## Objectives
* learn how to run code when the BBC micro:bit is shaken, when running code in the web browser, moving the mouse quickly simulates shaking
* learn how to create a local variable as a place where you can store and retrieve data
* learn how the assignment operator is used to declare a new local variable
* learn how to declare a new local variable or update the value of a variable
* learn how to return a random number
* learn how to conditionally run code depending on whether a condition is true or not
* learn how to show an image on the LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
* Uses diagrams to express solutions.(AB)
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
* Designs solutions by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (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)
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
* Selects the appropriate data types(AL) (AB
#### Data & Data Representation
* Understands the difference between data and information(AB)
* Uses filters or can perform single criteria searches for information.(AL)
* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
* Defines data types: real numbers and Boolean (AB)
#### Hardware & Processing
* Knows that computers collect data from various input devices, including sensors and application software (AB)
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Makes judgements about digital content when evaluating and repurposing it for a given audience (EV) (GE)
* Recognises ethical issues surrounding the application of information technology beyond school.
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/die-roll/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/die-roll/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/die-roll/challenges)

View File

@ -1,8 +1,6 @@
# digi yoyo lesson
create a counter with a while loop #while #loop #counter #docs
### @video td/videos/digi-yoyo-0
Create a counter with a while loop.
## Topic
@ -10,12 +8,10 @@ While Loop
## Quick Links
* [activity](/microbit/lessons/digi-yoyo/activity)
* [challenges](/microbit/lessons/digi-yoyo/challenges)
## Class
Year 7
* [activity](/lessons/digi-yoyo/activity)
* [challenges](/lessons/digi-yoyo/challenges)
* [quiz](/lessons/digi-yoyo/quiz)
* [quiz answers](/lessons/digi-yoyo/quiz-answers)
## Prior learning/place of lesson in scheme of work
@ -23,12 +19,12 @@ Learn how to creating a **while loop**, `while condition do` to repeat code whil
## Documentation
* **variables** : [read more...](/microbit/reference/variables/var)
* **assignment operator** : [read more...](/microbit/reference/variables/assign)
* **while loop** : [read more...](/microbit/reference/loops/while)
* **relational operator ** : [read more...](/microbit/reference/types/number)
* **pause** : [read more...](/microbit/reference/basic/pause)
* **show number** : [read more...](/microbit/reference/basic/show-number)
```cards
let x = 0
basic.showNumber(0)
while (true) {}
basic.pause(20)
```
## Objectives
@ -39,50 +35,3 @@ Learn how to creating a **while loop**, `while condition do` to repeat code whil
* learn how to pause your code for the specified number of milliseconds
* learn how to show a number on the LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Uses diagrams to express solutions.(AB)
* Recognises that different solutions exist for the same problem (AL) (AB) Understands that iteration is the repetition of a process such as a loop (AL)
* Recognises that different algorithms exist for the same problem (AL) (GE)
* Represents solutions using a structured notation (AL) (AB)
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals (AL)
* Declares and assigns variables(AB)
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
* Selects the appropriate data types(AL) (AB
#### Data & Data Representation
* Uses filters or can perform single criteria searches for information.(AL)
#### Communication Networks
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Recognises ethical issues surrounding the application of information technology beyond school.
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/digi-yoyo/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/digi-yoyo/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/digi-yoyo/challenges)

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!
### ~
@ -18,7 +16,6 @@ let count = 0
Add a while loop that will loop over and over until the variable `count` equals 10.
![](/static/mb/blocks/lessons/digi-yoyo-1.jpg)
```blocks
let count = 0
@ -32,7 +29,7 @@ Let's add a pause. Then show the value of the the count.
```blocks
let count = 0;
let count = 0;
while (count < 10) {
basic.pause(100);
basic.showNumber(count)
@ -48,14 +45,14 @@ let count = 0
while (count < 10) {
basic.pause(100)
basic.showNumber(count)
count == count + 1
count = count + (count - 1)
}
```
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/microbit/lessons/digi-yoyo/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/digi-yoyo/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the digi yoyo.
## Before we get started
Complete the following [guided tutorial](/microbit/lessons/digi-yoyo/activity), your code should look like this:
Complete the following [guided tutorial](/lessons/digi-yoyo/activity), your code should look like this:
```blocks
@ -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`!
@ -69,5 +67,7 @@ Now, we need `count` to decrease by one after the micro:bit has displayed the va
We can do this by adding this line:
```blocks
let count = count + (count - 1);
let count = 0;
count = count + (count - 1);
```

View File

@ -2,7 +2,7 @@
Answers for digi yoyo quiz.
This is the answer key for the [digi yoyo quiz](/microbit/lessons/digi-yoyo/quiz).
This is the answer key for the [digi yoyo quiz](/lessons/digi-yoyo/quiz).
## 1. Describe what a "while loop" does?
@ -16,7 +16,7 @@ A loop that repeats code while a condition is true.
<br/>
```
```blocks
let count = 0
```
@ -26,7 +26,8 @@ let count = 0
<br/>
```
```blocks
let count = 0
while (count < 5) {
count = count + 1
}

View File

@ -6,7 +6,7 @@ Create a counter with a while loop
## Directions
Use this activity document to guide your work in the [digi yoyo tutorial](/microbit/lessons/digi-yoyo/tutorial)
Use this activity document to guide your work in the [digi yoyo tutorial](/lessons/digi-yoyo/activity)
Answer the questions while completing the tutorial. Pay attention to the dialogues!

View File

@ -1,8 +1,6 @@
# flashing heart blocks lesson
Learn how to create LED images with a global variable. #LED #screen #plot #docs
### @video td/videos/flashing-heart-0
Learn how to create LED images with a global variable.
## Topic
@ -10,25 +8,28 @@ Pause
## Quick links
* [activity](/microbit/lessons/flashing-heart/activity)
* [quiz](/microbit/lessons/flashing-heart/quiz)
* [quiz answers](/microbit/lessons/flashing-heart/quiz-answers)
* [challenges](/microbit/lessons/flashing-heart/challenges)
## Class
Year 7
* [activity](/lessons/flashing-heart/activity)
* [quiz](/lessons/flashing-heart/quiz)
* [quiz answers](/lessons/flashing-heart/quiz-answers)
* [challenges](/lessons/flashing-heart/challenges)
## Prior learning/place of lesson in scheme of work
Learn how to `show LEDs` by showing an image on the LED screen. We will be learning how to create a blinking app using a forever loop as well as simple commands, such as show LEDs, pause, and clear screen.
## Documentation
* **forever**: [read more...](/microbit/reference/basic/forever)
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
* **pause**: [read more...](/microbit/reference/basic/pause)
* **clear screen**: [read more...](/microbit/reference/basic/clear-screen)
```cards
basic.forever(() => {})
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
basic.pause(100)
basic.clearScreen()
```
## Objectives
@ -36,43 +37,3 @@ Learn how to `show LEDs` by showing an image on the LED screen. We will be learn
* learn how to show LEDs on the LED screen
* learn how to pause your code for the specified number of milliseconds
* learn how to turn off all the LED lights on the LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Understands that iteration is the repetition of a process such as a loop. (AL)
* 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)
#### Data & Data Representation
* Understands the difference between data and information. (AB)
* Defines data types: real numbers and Boolean. (AB)
#### Information Technology
* Collects, organises and presents data and information in digital content. (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Exercise
* time: 20 min.
* [activity](/microbit/lessons/flashing-heart/activity)
* [quiz](/microbit/lessons/flashing-heart/quiz)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/flashing-heart/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/flashing-heart/challenges)

View File

@ -4,14 +4,10 @@ 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.
### ~
To create a new script, go to the [Create Code](/microbit/create-code) page and tap *New Project* under *Block Editor*.
Let's start by adding code that plots a heart image on the screen using `show LEDs`. Once you are done coding, don't forget to run your code in the simulator or the micro:bit.
@ -69,7 +65,7 @@ basic.forever(() => {
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/microbit/lessons/flashing-heart/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/flashing-heart/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the flashing heart tutorial.
## Before we get started
Complete the [flashing heart](/microbit/lessons/flashing-heart/activity) activity and your code will look like this:
Complete the [flashing heart](/lessons/flashing-heart/activity) activity and your code will look like this:
```blocks
basic.forever(() => {
@ -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,7 +2,7 @@
Learn how to create an image with a variable.
This is the answer key for the [flashing heart quiz](/microbit/lessons/flashing-heart/quiz).
This is the answer key for the [flashing heart quiz](/lessons/flashing-heart/quiz).
## 1. Describe what pause does

View File

@ -6,7 +6,7 @@ Learn how to create a blinking image with a variable.
## Directions
Use this activity document to guide your work in the [flashing heart activity](/microbit/lessons/flashing-heart/activity).
Use this activity document to guide your work in the [flashing heart activity](/lessons/flashing-heart/activity).
Answer the questions while completing the activity. Pay attention to the dialogues!

View File

@ -1,8 +1,6 @@
# game counter lesson
Learn how to create a counter with with on button pressed. #show #number #screen #number #math #docs
### @video td/videos/counter-0
Learn how to create a counter with with on button pressed.
## Topic
@ -10,12 +8,8 @@ Game Library
## Quick Links
* [activity](/microbit/lessons/game-counter/activity)
* [challenges](/microbit/lessons/game-counter/challenges)
## Class
Year 7
* [activity](/lessons/game-counter/activity)
* [challenges](/lessons/game-counter/challenges)
## Prior learning/place of lesson in scheme of work
@ -23,51 +17,14 @@ Learn how to create game blocks to keep track of the current score. We will be l
## Documentation
* **game library**: [read more...](/microbit/js/game-library)
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
* **show number** : [read more...](/microbit/reference/basic/show-number)
```cards
game.addScore(1)
input.onButtonPressed(Button.A, () => {})
basic.showNumber(0)
```
## Objectives
* learn how arithmetic operators operate on numbers and return a number
* learn how to run code when an input button is pressed
* learn how to show a score on the LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Understands that iteration is the repetition of a process such as a loop. (AL)
* 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)
#### Data & Data Representation
* Understands the difference between data and information. (AB)
* Defines data types: real numbers and Boolean. (AB)
#### Information Technology
* Collects, organises and presents data and information in digital content. (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/game-counter/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/game-counter/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/game-counter/challenges)

View File

@ -1,15 +1,5 @@
# game counter activity
Turn an LED on and off with forever loop
### ~avatar avatar
### @video td/videos/counter-0
To create a new script, go to the [Create Code](/microbit/create-code) page and tap *New Project* under *Block Editor*.
### ~
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`.
@ -36,7 +26,7 @@ input.onButtonPressed(Button.A, () => {
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/microbit/lessons/game-counter/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/game-counter/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the game counter.
## Before we get started
Complete the following [activity](/microbit/lessons/game-counter/activity) . Your code should look like this:
Complete the following [activity](/lessons/game-counter/activity) . Your code should look like this:
```blocks
input.onButtonPressed(Button.A, () => {
@ -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

@ -8,12 +8,8 @@ Game Library
## Quick Links
* [activity](/microbit/lessons/game-of-chance/activity)
* [challenges](/microbit/lessons/game-of-chance/challenges)
## Class
Year 7
* [activity](/lessons/game-of-chance/activity)
* [challenges](/lessons/game-of-chance/challenges)
## Prior learning / place of lesson in scheme of work
@ -21,57 +17,15 @@ Learn how to creating a message with a **game over** to write your message. We w
## Documentation
* **game library** : [read more...](/microbit/js/game-library)
* **show string** : [read more...](/microbit/reference/basic/show-string)
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
```cards
game.gameOver()
basic.showString("Hello!")
input.onButtonPressed(Button.A, () => {})
```
## Objectives
* learn how to use the game library
* learn how to show a string on the LED screen one character at a time
* learn how to use to register an event handler that will execute whenever an input button is pressed
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Uses diagrams to express solutions.(AB)
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
* Represents solutions using a structured notation (AL) (AB)
#### Programming & Development
* Creates programs that implement algorithms to achieve given goals (AL)
#### Hardware & Processing
* Knows that computers collect data from various input devices, including sensors and application software (AB)
#### Communication Networks
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns (AL)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Uses criteria to evaluate the quality of solutions, can identify improvements making some refinements to the solution, and future solutions (EV)
* Evaluates the appropriatness of digital devices, internet services and application software to achieve given goals (EV)
* Recognises ethical issues surrounding the application of information technology beyond school.
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/game-of-chance/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/game-of-chance/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/game-of-chance/challenges)

View File

@ -10,7 +10,7 @@ basic.showString("SELECT A BUTTON")
### ~avatar boothing
Excellent, you're ready to continue with the [challenges](/microbit/lessons/game-of-chance/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/game-of-chance/challenges)!
### ~

View File

@ -4,7 +4,7 @@ Coding challenges for the answering machine tutorial.
## Before we get started
Complete the [game of chance](/microbit/lessons/game-of-chance/activity) activity and your code will look like this:
Complete the [game of chance](/lessons/game-of-chance/activity) activity and your code will look like this:
```blocks
basic.showString("SELECT A BUTTON")
@ -42,7 +42,7 @@ input.onButtonPressed(Button.B, () => {
* `Run` the code to see if it works as expected.
**Challenge 3**
### Challenge 3
When you are asked a yes or no question, do you always say yes or no? Add a condition for `on shake` that displays `TRY AGAIN`.

View File

@ -1,6 +1,6 @@
# glowing pendulum blocks lesson
construct a pendulum that glows using acceleration #var #acceleration #abs #brightness #plot #docs
construct a pendulum that glows using acceleration.
## Topic
@ -8,12 +8,11 @@ Acceleration
## Quick Links
* [activity](/microbit/lessons/glowing-pendulum/activity)
* [challenges](/microbit/lessons/glowing-pendulum/challenges)
## Class
Year 7
* [activity](/lessons/glowing-pendulum/activity)
* [tutorial](/lessons/glowing-pendulum/tutorial)
* [challenges](/lessons/glowing-pendulum/challenges)
* [quiz](/lessons/glowing-pendulum/quiz)
* [quiz answers](/lessons/glowing-pendulum/quiz-answers)
## Prior learning/place of lesson in scheme of work
@ -21,12 +20,20 @@ Learn how to get the acceleration **acceleration**, `acceleration` value (g-forc
## Documentation
* **forever** : [read more...](/microbit/reference/basic/forever)
* **local variable** : [read more...](/microbit/reference/variables/var)
* **acceleration** : [read more...](/microbit/reference/input/acceleration)
* **absolute value** : [read more...](/microbit/js/math)
* **set brightness** : [read more...](/microbit/reference/led/set-brightness)
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
```cards
basic.forever(() => {})
let x = 0
input.acceleration(Dimension.X)
Math.abs(0)
led.setBrightness(255)
basic.showLeds(`
. . . . .
. . . . .
. . # . .
. . . . .
. . . . .
`)
```
## Objectives
@ -37,49 +44,3 @@ Learn how to get the acceleration **acceleration**, `acceleration` value (g-forc
* learn how to sets the brightness of the LED screen
* learn how to turn on all the LED lights on the LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Uses diagrams to express solutions.(AB)
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
* 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)
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
* Selects the appropriate data types(AL) (AB
#### Data & Data Representation
* Understands the difference between data and information(AB)
* Uses filters or can perform single criteria searches for information.(AL)
#### Hardware & Processing
* Knows that computers collect data from various input devices, including sensors and application software (AB)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Recognises ethical issues surrounding the application of information technology beyond school.
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/glowing-pendulum/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/glowing-pendulum/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/glowing-pendulum/challenges)

View File

@ -2,14 +2,31 @@
Construct a pendulum that glows using acceleration.
To create a new script, go to the [Create Code](/microbit/create-code) page and tap `New Project` under `Block Editor`.
Welcome! This activity will teach how to construct a pendulum that glows using acceleration. Let's get started!
Turn on all the LEDs.
```blocks
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
```
Create a **forever** loop that will constantly display the appropriate brightness on the LED display.
```blocks
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
basic.forever(() => {
})
@ -17,9 +34,14 @@ basic.forever(() => {
Now let's measure the acceleration on the `y` axis and store that value in a variable. The `acceleration(y)` function will provide the value.
![](/static/mb/blocks/lessons/glowing-pendulum-1.png)
```blocks
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
basic.forever(() => {
let acceleration = input.acceleration(Dimension.Y);
});
@ -27,31 +49,60 @@ basic.forever(() => {
Since the micro:bit will be swinging back and forth, the acceleration will only be positive half of the time. Thus, to always get a positive value, we want to take the absolute value of the acceleration.
![](/static/mb/blocks/lessons/glowing-pendulum-2.png)
```blocks
let acceleration = 0;
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
basic.forever(() => {
acceleration = input.acceleration(Dimension.Y);
let acceleration = input.acceleration(Dimension.Y);
acceleration = Math.abs(acceleration)
});
```
The function `acceleration(y)` returns a number between 0 and 1024. We want to use this value for the brightness of the micro:bit, but the `set brightness()` only accepts a value between 0 and 256. Thus, we need to divide the acceleration by 4 to ensure we will be in the appropriate range.
![](/static/mb/blocks/lessons/glowing-pendulum-3.png)
```blocks
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
basic.forever(() => {
let acceleration = input.acceleration(Dimension.Y);
acceleration = Math.abs(acceleration);
acceleration = acceleration / 4;
});
```
Now let's use our acceleration value to set the brightness on the micro:bit.
![](/static/mb/blocks/lessons/glowing-pendulum-4.png)
Let's show what the brightness of the micro:bit is by turning all the LEDs on!
![](/static/mb/blocks/lessons/glowing-pendulum-5.png)
```blocks
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
basic.forever(() => {
let acceleration = input.acceleration(Dimension.Y);
acceleration = Math.abs(acceleration);
acceleration = acceleration / 4;
led.setBrightness(acceleration)
});
```
### ~avatar avatar
Excellent, you're ready to continue with the [challenges](/microbit/lessons/glowing-pendulum/challenges)!
Excellent, you're ready to continue with the [challenges](/lessons/glowing-pendulum/challenges)!
### ~

View File

@ -4,17 +4,33 @@ Coding challenges for the glowing pendulum tutorial.
## Before we get started
Complete the following [glowing pendulum activity](/microbit/lessons/glowing-pendulum/activity) and your code should look like this:
Complete the following [glowing pendulum activity](/lessons/glowing-pendulum/activity) and your code should look like this:
![](/static/mb/blocks/lessons/glowing-pendulum-5.png)
```blocks
basic.forever(() => {
let acceleration = input.acceleration(Dimension.Y);
acceleration = Math.abs(acceleration);
acceleration = acceleration / 4;
led.setBrightness(acceleration)
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
});
**Challenge 1**
```
### Challenge 1
![](/static/mb/lessons/glowing-pendulum-0.jpg)
Hold the micro:bit in your hand in a dark room. Move the micro:bit like a pendulum and produce a slow image that captures the pattern of the micro:bit LEDs.
**Challenge 2**
### Challenge 2
Replace "y" in `acceleration(y)` with "x" or "z". Changing the axis will cause the micro:bit to measure the force in a different direction. What differences in the resulting pattern does this replacement make?

View File

@ -1,12 +1,12 @@
# glowing pendulum quiz answers
construct a pendulum that glows using acceleration #LED #number #math #acceleration #docs
construct a pendulum that glows using acceleration.
## Name
## Directions
Use this activity document to guide your work in the [glowing pendulum tutorial](/microbit/lessons/glowing-pendulum/tutorial)
Use this activity document to guide your work in the [glowing pendulum activity](/lessons/glowing-pendulum/activity)
Answer the questions while completing the tutorial. Pay attention to the dialogues!
@ -20,7 +20,7 @@ We are creating a forever loop to constantly display the appropriate brightness
<br/>
```
```blocks
let acceleration = input.acceleration("y")
```
@ -28,26 +28,19 @@ let acceleration = input.acceleration("y")
<br/>
```
acceleration = math.abs(acceleration)
```blocks
let acceleration = input.acceleration(Dimension.X)
let accelerationAbsolute = Math.abs(acceleration)
```
## 4. Write the code that uses the acceleration value from question #3 to set the brightness on the BBC micro:bit.
## 4. Write the code to use the acceleration value from question 3 to set the brightness on the BBC micro:bit.
<br/>
```
acceleration = acceleration / 4
led.setBrightness(acceleration)
```
## 5. Write the code that tuns all the LEDs on (as the image displays below)
![](/static/mb/lessons/glowing-pendulum-1.png)
<br/>
```
led.plotAll()
```blocks
let accelerationX = input.acceleration(Dimension.X)
let accelerationAbsolute = Math.abs(accelerationX)
let accelerationDivided = accelerationX / 4
led.setBrightness(accelerationX)
```

View File

@ -1,12 +1,12 @@
# glowing pendulum quiz
construct a pendulum that glows using acceleration #LED #number #math #acceleration #docs
construct a pendulum that glows using acceleration.
## Name
## Directions
Use this activity document to guide your work in the [glowing pendulum tutorial](/microbit/lessons/glowing-pendulum/tutorial)
Use this activity document to guide your work in the [glowing pendulum tutorial](/lessons/glowing-pendulum/activity)
Answer the questions while completing the tutorial. Pay attention to the dialogues!
@ -22,13 +22,6 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
<br/>
## 4. Write the code that uses the acceleration value from question #3 to set the brightness on the BBC micro:bit.
## 4. Write the code to include acceleration value question 3 to set the brightness on the BBC micro:bit.
<br/>
## 5. Write the code that tuns all the LEDs on (as the image displays below)
![](/static/mb/lessons/glowing-pendulum-1.png)
<br/>

View File

@ -0,0 +1,29 @@
# glowing pendulum block tutorial
The glowing pendulum changes the screen brightness based on the acceleration measured on the BBC micro:bit.
### Rebuild the game!
The blocks have been shuffled! Put them back together so that...
* all LEDs are turned on
* the BBC micro:bit repeats code **forever** that
* reads the acceleration along the ``y`` axis,
* calculate the absolute value of the acceleration
* scales down the acceleration value by a factor of `4`
* uses the scaled value to set the screen **brightness**
```blocks
basic.showLeds(`
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
`)
basic.forever(() => {
let acceleration = input.acceleration(Dimension.Y);
acceleration = Math.abs(acceleration);
acceleration = acceleration / 4;
led.setBrightness(acceleration)
});
```

View File

@ -1,97 +0,0 @@
# glowing sword blocks lesson
make a glowing sword #image #docs
### @video td/videos/glowing-sword-0
## Topic
Fade Out
## Quick Links
* [activity](/microbit/lessons/glowing-sword/activity)
* [quiz](/microbit/lessons/glowing-sword/quiz)
* [quiz answers](/microbit/lessons/glowing-sword/quiz-answers)
* [challenges](/microbit/lessons/glowing-sword/challenges)
## Class
Year 7
## Prior learning/place of lesson in scheme of work
Learn how to manipulate an image through **fade out**, `fade out` to gradually decrease the LED screen brightness until the LED lights are turned off. We will be learning how to fade an image using simple commands, such as image create image, image show image, LED fade out, basic pause, and fade in.
## What the teacher needs to know/QuickStart Computing Glossary
* Algorithm: An unambiguous set of rules or a precise step-bystep guide to solve a problem or achieve a particular objective.
* Computational thinking: Thinking about systems or problems in a way that allows computer systems to be used to model or solve these.
* Hardware: The physical systems and components of digital devices; see also software.
* Programmable toys: Robots designed for children to use, accepting input, storing short sequences of simple instructions and moving according to this stored program.
* Script: A computer program typically executed one line at a time through an interpreter, such as the instructions for a Scratch character.
* Sequence: To place program instructions in order, with each executed one after the other.
* Simulation: Using a computer to model the state and behaviour of real-world (or imaginary) systems, including physical or social systems; an integral part of most computer games.
## Documentation
* **create image** : [read more...](/microbit/reference/images/create-image)
* **show image** : [read more...](/microbit/reference/images/show-image)
* **fade out** : [read more...](/microbit/reference/led/fade-out)
* **pause** : [read more...](/microbit/reference/basic/pause)
* **fade in** : [read more...](/microbit/reference/led/fade-in)
## Resources
* Activity: [activity](/microbit/lessons/glowing-sword/activity)
* Activity: [quiz](/microbit/lessons/glowing-sword/quiz)
* Extended Activity: [challenges](/microbit/lessons/glowing-sword/challenges)
## Objectives
* learn how to plot an image
* learn how to gradually decrease the LED screen brightness until the LED lights are turned off
* pause your code for the specified number of milliseconds
* learn how to gradually increase the LED screen brightness until the LED lights are turned on
## Links to the National Curriculum Programmes of Study for Computing
## 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)
* Selects the appropriate data types(AL) (AB)
#### Information Technology
* Collects, organizes, and presents data and information in digital content (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
* Recognises ethical issues surrounding the application of information technology beyond school.
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/glowing-sword/activity)
* [quiz](/microbit/lessons/lucky-7/quiz)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/glowing-sword/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/glowing-sword/challenges)
## Intended follow on
Publish script to the classroom.

View File

@ -44,7 +44,7 @@ Try devising an algorithm for a diagonal line using the code above and the varia
![](/static/mb/blocks/lessons/graphics-3.png)
We can create more complex algorithms for more complex shapes, too. See the [challenges](/microbit/lessons/challenges) section for additional graphical challenges and solutions.
We can create more complex algorithms for more complex shapes, too. See the [challenges](/lessons/challenges) section for additional graphical challenges and solutions.
### Animations
@ -52,7 +52,7 @@ Animations are changes happening at a certain rate. For example, we could add th
We could create more complex animations, for example we could make our BBC micro:bit display an explosion or fireworks.
See the [challenges](/microbit/lessons/challenges) section for some animation tasks.
See the [challenges](/lessons/challenges) section for some animation tasks.
### Image variables

View File

@ -1,8 +1,6 @@
# guess the number lesson
Learn to create a random number with input from button A. #input #screen #math #docs
### @video td/videos/guess-the-number-0
Learn to create a random number with input from button A.
## Topic
@ -10,12 +8,11 @@ Math - Pick Random
## Quick links
* [activity](/microbit/lessons/guess-the-number/activity)
* [challenges](/microbit/lessons/guess-the-number/challenges)
## Class
Year 7
* [activity](/lessons/guess-the-number/activity)
* [tutorial](/lessons/guess-the-number/tutorial)
* [challenges](/lessons/guess-the-number/challenges)
* [quiz](/lessons/guess-the-number/quiz)
* [quiz answers](/lessons/guess-the-number/quiz-answers)
## Prior learning/place of lesson in scheme of work
@ -23,12 +20,13 @@ Learn how to create numbers randomly by using the input of the BBC micro:bit. We
## Documentation
* **on button pressed**: [read more...](/microbit/reference/input/on-button-pressed)
* **local variable **: [read more...](/microbit/reference/variables/var)
* **assignment operator**: [read more...](/microbit/reference/variables/assign)
* **show number**: [read more...](/microbit/reference/basic/show-number)
* **pick number**: [read more...](/microbit/blocks/math)
* **clear screen**: [read more...](/microbit/reference/basic/clear-screen)
```cards
input.onButtonPressed(Button.A, () => {})
let x = 0
basic.showNumber(0)
Math.random(3)
basic.clearScreen()
```
## Objectives
@ -38,42 +36,3 @@ Learn how to create numbers randomly by using the input of the BBC micro:bit. We
* learn how to returns a random number
* learn how to show a number on the LED screen, one digit at a time (scrolling left to right)
* learn how to turn off all the LED lights on the LED screen
## Progression Pathways / Computational Thinking Framework
#### Algorithms
* Understands that iteration is the repetition of a process such as a loop. (AL)
* 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)
#### Data & Data Representation
* Understands the difference between data and information. (AB)
* Defines data types: real numbers and Boolean. (AB)
#### Information Technology
* Collects, organises and presents data and information in digital content. (AB)
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
## Activity
* time: 20 min.
* [activity](/microbit/lessons/guess-the-number/activity)
## Extended Activity
* time: 20 min.
* [challenges](/microbit/lessons/guess-the-number/challenges)
## Homework
* Extended Activity: [challenges](/microbit/lessons/guess-the-number/challenges)

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