Files
Binary-Light-Box/main.ts
2021-06-19 18:59:50 +01:00

63 lines
2.6 KiB
TypeScript

function updateNumber(flag: number, column: number, difference: number) {
Denary += difference
columns[column] = flag
Display(Denary)
}
function Display(number: number) {
serial.writeString("/")
serial.writeNumber(number)
}
let Denary = 0
let columns : number[] = []
serial.redirect(SerialPin.P0, SerialPin.P16, BaudRate.BaudRate9600)
columns = [0, 0, 0, 0, 0, 0, 0, 0, 0]
Denary = 0
Display(Denary)
let ready = true
basic.forever(function on_forever() {
if (ready) {
if (pins.digitalReadPin(DigitalPin.P1) == 1 && columns[0] == 0) {
updateNumber(1, 0, 1)
} 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)
}
}
})