-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.ts
94 lines (94 loc) · 3.12 KB
/
main.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
let wyraz = ""
let znak = ""
let szukana = ""
let dlugoscSygnalu = 0
let litera = ""
let listaA: string[] = []
let listaM: string[] = []
listaM = [".-", "-...", "-.-.", "-..", ".", ".._.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", ".-.", "...", "-", "..-", ".--", "-.--", "--.."]
listaA = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "W", "Y", "Z"]
sensors.color4.setThreshold(Light.Bright, 90)
sensors.color4.setThreshold(Light.Dark, 25)
brick.showImage(images.expressionsZzz)
forever(function () {
console.sendToScreen()
})
brick.buttonEnter.onEvent(ButtonEvent.Pressed, function () {
Menu()
})
function Menu() {
while (true) {
brick.clearScreen()
brick.showString("Wybierz opcje:", 2)
brick.showString("<: Przekaz sygnal", 4)
brick.showString(">: Wyswietl alfabet", 5)
if (brick.buttonLeft.isPressed()) {
OdczytKodu()
break;
}
if (brick.buttonRight.isPressed()) {
WypiszAlfabet()
break;
}
}
}
function WypiszAlfabet() {
brick.clearScreen()
console.log("Alfabet Morse'a:")
for (let i = 0; i <= listaM.length - 1; i++) {
console.log("" + listaA[i] + ": " + listaM[i])
}
}
function OdczytKodu() {
brick.clearScreen()
console.log("Swiec latarka w sensor swiatla poslugujac sie alfabetem Morse'a.")
while (true) {
while (true) {
console.log("Trzymaj sensor dotyku w trakcie przesylu ostatniego sygnalu, by zakonczyc przesylanie.")
while (true) {
console.log("Oczekiwanie na sygnal...")
OdczytSygnalu()
szukana = "" + szukana + znak
pause(500)
if (sensors.touch3.isPressed()) {
break;
}
}
console.log(szukana)
SzukajLitery()
szukana = ""
if (litera == "") {
console.log("Nie rozpoznano litery")
} else {
wyraz = "" + wyraz + litera + " "
console.log("Podane litery: " + wyraz)
litera = ""
}
console.log("By przeslac kolejna litere nacisnij sensor dotyku")
sensors.touch3.pauseUntil(ButtonEvent.Pressed)
}
}
}
function OdczytSygnalu() {
sensors.color4.pauseUntilLightDetected(LightIntensityMode.Ambient, Light.Bright)
control.timer1.reset()
sensors.color4.pauseUntilLightDetected(LightIntensityMode.Ambient, Light.Dark)
dlugoscSygnalu = control.timer1.seconds()
if (dlugoscSygnalu <= 2 && dlugoscSygnalu > 0) {
znak = "."
console.log(znak)
} else if (dlugoscSygnalu > 2 && dlugoscSygnalu < 6) {
znak = "-"
console.log(znak)
} else {
console.log("Nie rozpoznano sygnalu")
znak = ""
}
}
function SzukajLitery() {
for (let j = 0; j <= listaM.length - 1; j++) {
if (szukana == listaM[j]) {
litera = listaA[j]
}
}
}