SHOW:
|
|
- or go back to the newest paste.
1 | # Share and enjoy! | |
2 | ||
3 | from microbit import * | |
4 | import radio | |
5 | ||
6 | # Channel for transmission | |
7 | ch = 2 | |
8 | # Just something to send | |
9 | dummyPacket = "A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5" | |
10 | ||
11 | # Had to resort to 10ms for fidelity | |
12 | txTimeMS = {"0": 1, "1": 10} | |
13 | ||
14 | radio.on() | |
15 | radio.config(channel=ch, data_rate=radio.RATE_250KBIT) | |
16 | ||
17 | while True: | |
18 | ||
19 | x = accelerometer.get_x() | |
20 | if x < -1000: | |
21 | x = -1000 | |
22 | elif x > 1000: | |
23 | x = 1000 | |
24 | # rescale -1000->1000 to 0->255 | |
25 | x = round(x / 7.84313255 + 127.5) | |
26 | ||
27 | # Convert to binary, making sure the string has 8 bits | |
28 | binStr = "{0:08b}".format(int(x)) | |
29 | # Add start/stop bits ("2") | |
30 | fStr = "".join(["2" + c for c in binStr]) + "2" | |
31 | ||
32 | # A little life sign | |
33 | display.set_pixel(0, 0, 9) | |
34 | ||
35 | for c in fStr: | |
36 | ||
37 | if (c == "2"): | |
38 | # Make some noise | |
39 | radio.send(dummyPacket) | |
40 | else: | |
41 | sleep(txTimeMS[c]) | |
42 | ||
43 | display.set_pixel(0, 0, 0) | |
44 | sleep(100) |