You've already forked Binary-Light-Box
mirror of
https://github.com/MrLyallCSIT/Binary-Light-Box.git
synced 2026-01-18 06:39:34 +00:00
Restore '19/06/2021, 17:23:30 Original Working Upload'
This commit is contained in:
BIN
.github/makecode/blocks.png
vendored
BIN
.github/makecode/blocks.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 630 KiB After Width: | Height: | Size: 588 KiB |
BIN
.github/makecode/blocksdiff.png
vendored
BIN
.github/makecode/blocksdiff.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 634 KiB |
21
LICENSE
21
LICENSE
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021 Alexander Davis
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
> Open this page at [https://alexanderedavis.github.io/Binary-Light-Box/](https://alexanderedavis.github.io/Binary-Light-Box/)
|
> Open this page at [https://alexanderedavis.github.io/binary-light-box/](https://alexanderedavis.github.io/binary-light-box/)
|
||||||
|
|
||||||
## Use as Extension
|
## Use as Extension
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
183
main.py
183
main.py
@@ -1,94 +1,91 @@
|
|||||||
function updateNumber () {
|
def changes2(difference: number, flag: number):
|
||||||
Denary = 0
|
global Denary
|
||||||
for (let item = 0; item <= columns.length - 1; item++) {
|
Denary += difference
|
||||||
if (columns[item]) {
|
Display(Denary)
|
||||||
Denary += columnValues[item]
|
def changes4(difference: number, flag: number):
|
||||||
}
|
global Denary
|
||||||
}
|
Denary += difference
|
||||||
updateDisplay(Denary)
|
column4 = flag
|
||||||
}
|
Display(Denary)
|
||||||
function updateColumn () {
|
def changes128(difference: number, flag: number):
|
||||||
for (let item = 0; item <= columns.length - 1; item++) {
|
global Denary
|
||||||
updateFlag(item, sensePins[item])
|
Denary += difference
|
||||||
}
|
column128 = flag
|
||||||
}
|
Display(Denary)
|
||||||
function switchSensors () {
|
def Display(number: number):
|
||||||
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
|
serial.write_string("/")
|
||||||
sensePins[0] = true
|
serial.write_number(number)
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P1) == 0) {
|
def changes256(difference: number, flag: number):
|
||||||
sensePins[0] = false
|
global Denary
|
||||||
}
|
Denary += difference
|
||||||
if (pins.digitalReadPin(DigitalPin.P2) == 1) {
|
column256 = flag
|
||||||
sensePins[1] = true
|
Display(Denary)
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P2) == 0) {
|
def changes1(difference: number, flag: number):
|
||||||
sensePins[1] = false
|
global Denary
|
||||||
}
|
Denary += difference
|
||||||
if (pins.digitalReadPin(DigitalPin.P3) == 1) {
|
column1 = flag
|
||||||
sensePins[2] = true
|
Display(Denary)
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P3) == 0) {
|
def changes16(difference: number, flag: number):
|
||||||
sensePins[2] = false
|
global Denary
|
||||||
}
|
Denary += difference
|
||||||
if (pins.digitalReadPin(DigitalPin.P4) == 1) {
|
column16 = flag
|
||||||
sensePins[3] = true
|
Display(Denary)
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P4) == 0) {
|
def changes32(difference: number, flag: number):
|
||||||
sensePins[3] = false
|
global Denary
|
||||||
}
|
Denary += difference
|
||||||
if (pins.digitalReadPin(DigitalPin.P6) == 1) {
|
column32 = flag
|
||||||
sensePins[4] = true
|
Display(Denary)
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P6) == 0) {
|
def changes64(difference: number, flag: number):
|
||||||
sensePins[4] = false
|
global Denary
|
||||||
}
|
Denary += difference
|
||||||
if (pins.digitalReadPin(DigitalPin.P7) == 1) {
|
column64 = flag
|
||||||
sensePins[5] = true
|
Display(Denary)
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P7) == 0) {
|
def changes8(difference: number, flag: number):
|
||||||
sensePins[5] = false
|
global Denary
|
||||||
}
|
Denary += difference
|
||||||
if (pins.digitalReadPin(DigitalPin.P8) == 1) {
|
column8 = flag
|
||||||
sensePins[6] = true
|
Display(Denary)
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P8) == 0) {
|
|
||||||
sensePins[6] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P9) == 1) {
|
|
||||||
sensePins[7] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P9) == 0) {
|
|
||||||
sensePins[7] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P10) == 1) {
|
|
||||||
sensePins[8] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P10) == 0) {
|
|
||||||
sensePins[8] = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function updateFlag (column: number, flag: boolean) {
|
|
||||||
if (flag) {
|
|
||||||
columns[column] = true
|
|
||||||
} else if (!(flag)) {
|
|
||||||
columns[column] = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function updateDisplay (number: number) {
|
|
||||||
serial.writeString("/")
|
|
||||||
serial.writeNumber(number)
|
|
||||||
}
|
|
||||||
let Denary = 0
|
|
||||||
let columnValues: number[] = []
|
|
||||||
let columns: boolean[] = []
|
|
||||||
let sensePins: boolean[] = []
|
|
||||||
serial.redirect(
|
|
||||||
SerialPin.P0,
|
|
||||||
SerialPin.P16,
|
|
||||||
BaudRate.BaudRate9600
|
|
||||||
)
|
|
||||||
sensePins = [false, false, false, false, false, false, false, false, false]
|
|
||||||
columns = [false, false, false, false, false, false, false, false, false]
|
|
||||||
columnValues = [1, 2, 4, 8, 16, 32, 64, 128, 256]
|
|
||||||
Denary = 0
|
Denary = 0
|
||||||
updateDisplay(Denary)
|
serial.redirect(SerialPin.P0, SerialPin.P16, BaudRate.BAUD_RATE9600)
|
||||||
let ready = true
|
columns = [0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
basic.forever(function () {
|
Denary = 0
|
||||||
if (ready) {
|
Display(Denary)
|
||||||
switchSensors()
|
|
||||||
updateColumn()
|
def on_forever():
|
||||||
updateNumber()
|
if pins.digital_read_pin(DigitalPin.P1) == 1 and columns[0] == 0:
|
||||||
}
|
changes1(1, 1)
|
||||||
})
|
elif pins.digital_read_pin(DigitalPin.P1) == 0 and columns[0] == 1:
|
||||||
|
changes1(-1, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P2) == 1 and columns[1] == 0:
|
||||||
|
changes2(2, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P2) == 0 and columns[1] == 1:
|
||||||
|
changes2(-2, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P3) == 1 and columns[2] == 0:
|
||||||
|
changes4(4, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P3) == 0 and columns[2] == 1:
|
||||||
|
changes4(-4, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P4) == 1 and columns[3] == 0:
|
||||||
|
changes8(8, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P4) == 0 and columns[3] == 1:
|
||||||
|
changes8(-8, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P6) == 1 and columns[4] == 0:
|
||||||
|
changes16(16, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P6) == 0 and columns[4] == 1:
|
||||||
|
changes16(-16, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P7) == 1 and columns[5] == 0:
|
||||||
|
changes32(32, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P7) == 0 and columns[5] == 1:
|
||||||
|
changes32(-32, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P8) == 1 and columns[6] == 0:
|
||||||
|
changes64(64, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P8) == 0 and columns[6] == 1:
|
||||||
|
changes64(-64, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P9) == 1 and columns[7] == 0:
|
||||||
|
changes128(128, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P9) == 0 and columns[7] == 1:
|
||||||
|
changes128(-128, 0)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P10) == 1 and columns[8] == 0:
|
||||||
|
changes256(256, 1)
|
||||||
|
elif pins.digital_read_pin(DigitalPin.P10) == 0 and columns[0] == 1:
|
||||||
|
changes256(-256, 0)
|
||||||
|
basic.forever(on_forever)
|
||||||
|
|||||||
126
main.ts
126
main.ts
@@ -1,94 +1,62 @@
|
|||||||
function updateNumber () {
|
function updateNumber (flag: number, column: number, difference: number) {
|
||||||
Denary = 0
|
Denary += difference
|
||||||
for (let item = 0; item <= columns.length - 1; item++) {
|
columns[column] = flag
|
||||||
if (columns[item]) {
|
Display(Denary)
|
||||||
Denary += columnValues[item]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
updateDisplay(Denary)
|
|
||||||
}
|
}
|
||||||
function updateColumn () {
|
function Display (number: number) {
|
||||||
for (let item2 = 0; item2 <= columns.length - 1; item2++) {
|
|
||||||
updateFlag(item2, sensePins[item2])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function switchSensors () {
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
|
|
||||||
sensePins[0] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P1) == 0) {
|
|
||||||
sensePins[0] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P2) == 1) {
|
|
||||||
sensePins[1] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P2) == 0) {
|
|
||||||
sensePins[1] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P3) == 1) {
|
|
||||||
sensePins[2] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P3) == 0) {
|
|
||||||
sensePins[2] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P4) == 1) {
|
|
||||||
sensePins[3] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P4) == 0) {
|
|
||||||
sensePins[3] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P6) == 1) {
|
|
||||||
sensePins[4] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P6) == 0) {
|
|
||||||
sensePins[4] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P7) == 1) {
|
|
||||||
sensePins[5] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P7) == 0) {
|
|
||||||
sensePins[5] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P8) == 1) {
|
|
||||||
sensePins[6] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P8) == 0) {
|
|
||||||
sensePins[6] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P9) == 1) {
|
|
||||||
sensePins[7] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P9) == 0) {
|
|
||||||
sensePins[7] = false
|
|
||||||
}
|
|
||||||
if (pins.digitalReadPin(DigitalPin.P10) == 1) {
|
|
||||||
sensePins[8] = true
|
|
||||||
} else if (pins.digitalReadPin(DigitalPin.P10) == 0) {
|
|
||||||
sensePins[8] = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function updateFlag (column: number, flag: boolean) {
|
|
||||||
if (flag) {
|
|
||||||
columns[column] = true
|
|
||||||
} else if (!(flag)) {
|
|
||||||
columns[column] = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function updateDisplay (number: number) {
|
|
||||||
serial.writeString("/")
|
serial.writeString("/")
|
||||||
serial.writeNumber(number)
|
serial.writeNumber(number)
|
||||||
}
|
}
|
||||||
let Denary = 0
|
let Denary = 0
|
||||||
let columnValues: number[] = []
|
let columns: number[] = []
|
||||||
let columns: boolean[] = []
|
let ready = false
|
||||||
let sensePins: boolean[] = []
|
|
||||||
serial.redirect(
|
serial.redirect(
|
||||||
SerialPin.P0,
|
SerialPin.P0,
|
||||||
SerialPin.P16,
|
SerialPin.P16,
|
||||||
BaudRate.BaudRate9600
|
BaudRate.BaudRate9600
|
||||||
)
|
)
|
||||||
sensePins = [false, false, false, false, false, false, false, false, false]
|
columns = [0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||||
columns = [false, false, false, false, false, false, false, false, false]
|
|
||||||
columnValues = [1, 2, 4, 8, 16, 32, 64, 128, 256]
|
|
||||||
Denary = 0
|
Denary = 0
|
||||||
updateDisplay(Denary)
|
Display(Denary)
|
||||||
let ready = true
|
ready = true
|
||||||
basic.forever(function () {
|
basic.forever(function () {
|
||||||
if (ready) {
|
if (ready) {
|
||||||
switchSensors()
|
if (pins.digitalReadPin(DigitalPin.P1) == 1 && columns[0] == 0) {
|
||||||
updateColumn()
|
updateNumber(1, 0, 1)
|
||||||
updateNumber()
|
} else if (pins.digitalReadPin(DigitalPin.P1) == 0 && columns[0] == 1) {
|
||||||
|
updateNumber(0, 0, -1)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P2) == 1 && columns[1] == 0) {
|
||||||
|
updateNumber(1, 1, 2)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P2) == 0 && columns[1] == 1) {
|
||||||
|
updateNumber(0, 1, -2)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P3) == 1 && columns[2] == 0) {
|
||||||
|
updateNumber(1, 2, 4)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P3) == 0 && columns[2] == 1) {
|
||||||
|
updateNumber(0, 2, -4)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P4) == 1 && columns[3] == 0) {
|
||||||
|
updateNumber(1, 3, 8)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P4) == 0 && columns[3] == 1) {
|
||||||
|
updateNumber(0, 3, -8)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P6) == 1 && columns[4] == 0) {
|
||||||
|
updateNumber(1, 4, 16)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P6) == 0 && columns[4] == 1) {
|
||||||
|
updateNumber(0, 4, -16)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P7) == 1 && columns[5] == 0) {
|
||||||
|
updateNumber(1, 5, 32)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P7) == 0 && columns[5] == 1) {
|
||||||
|
updateNumber(0, 5, -32)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P8) == 1 && columns[6] == 0) {
|
||||||
|
updateNumber(1, 6, 64)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P8) == 0 && columns[6] == 1) {
|
||||||
|
updateNumber(0, 6, -64)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P9) == 1 && columns[7] == 0) {
|
||||||
|
updateNumber(1, 7, 128)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P9) == 0 && columns[7] == 1) {
|
||||||
|
updateNumber(0, 7, -128)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P10) == 1 && columns[8] == 0) {
|
||||||
|
updateNumber(1, 8, 256)
|
||||||
|
} else if (pins.digitalReadPin(DigitalPin.P10) == 0 && columns[8] == 1) {
|
||||||
|
updateNumber(0, 8, -256)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
6
pxt.json
6
pxt.json
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "Binary Box",
|
"name": "Binary Box",
|
||||||
"version": "2.0.0",
|
|
||||||
"description": "",
|
"description": "",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"core": "*",
|
"core": "*",
|
||||||
|
"radio": "*",
|
||||||
"microphone": "*"
|
"microphone": "*"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
@@ -12,7 +12,9 @@
|
|||||||
"README.md",
|
"README.md",
|
||||||
"main.py"
|
"main.py"
|
||||||
],
|
],
|
||||||
"testFiles": [],
|
"testFiles": [
|
||||||
|
"test.ts"
|
||||||
|
],
|
||||||
"supportedTargets": [
|
"supportedTargets": [
|
||||||
"microbit"
|
"microbit"
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user