View difference between Paste ID: RT1Xa3na and Kf7gDvdf
SHOW: | | - or go back to the newest paste.
1
function GoMotor(m1Dir: number, m1Speed: number, m2Dir: number, m2Speed: number, time: number) {
2
    switch (m1Dir) {
3
        case 0:
4
            pins.analogWritePin(AnalogPin.P8, m1Speed * 10);
5
            pins.digitalWritePin(DigitalPin.P12, 0);
6
            break;
7
        case 1:
8
            pins.analogWritePin(AnalogPin.P12, m1Speed * 10);
9
            pins.digitalWritePin(DigitalPin.P8, 0);
10
            break;
11
    }
12
    switch (m2Dir) {
13
        case 0:
14
            pins.analogWritePin(AnalogPin.P0, m2Speed * 10);
15
            pins.digitalWritePin(DigitalPin.P16, 0);
16
            break;
17
        case 1:
18
            pins.analogWritePin(AnalogPin.P16, m2Speed * 10);
19
            pins.digitalWritePin(DigitalPin.P0, 0);
20
            break;
21
    }
22
    //basic.pause(time)
23
    // Stop motor 1
24
    pins.digitalWritePin(DigitalPin.P8, 0)
25
    pins.digitalWritePin(DigitalPin.P12, 0)
26
    // Stop motor 2
27
}
28
29
function Forward(speed: number, time: number) {
30
    GoMotor(0, speed, 0, speed, time)
31
}
32
function Reverse(speed: number, time: number) {
33
    GoMotor(1, speed, 1, speed, time)
34
}
35
function Left(time: number) {
36
    GoMotor(0, 50, 1, 50, time)
37
}
38
function Right(time: number) {
39
    GoMotor(1, 50, 0, 50, time)
40
}
41
42
function Stop() {
43
    pins.digitalWritePin(DigitalPin.P0, 0)
44
    pins.digitalWritePin(DigitalPin.P16, 0)
45
}
46
47
radio.setGroup(1)
48
basic.showString("OK")
49
50
radio.onReceivedString(function (receivedString: string) {
51
    basic.showString(receivedString)
52
53
    if (receivedString.substr(0, 1) == "N")
54
        Forward(50, 1000)
55
    else if (receivedString.substr(0, 1) == "S")
56
        Reverse(50, 1000)
57
    else
58
        Stop()
59
})
60
61
62
basic.forever(function () {
63
})