KRITSADA

microbit Radio Control Robot Receiver

Jan 5th, 2018
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let adc: number[] = []
  2. let channel_addr: number[] = []
  3. let speed = 0
  4. function read_adc()  {
  5.     for (let index = 0; index <= 1; index++) {
  6.         pins.i2cWriteNumber(
  7.         72,
  8.         channel_addr[index],
  9.         NumberFormat.UInt8LE,
  10.         false
  11.         )
  12.         adc[index] = pins.i2cReadNumber(72, NumberFormat.UInt16BE, false)
  13.     }
  14. }
  15. function forward()  {
  16.     pins.digitalWritePin(DigitalPin.P13, 1)
  17.     pins.digitalWritePin(DigitalPin.P15, 0)
  18.     pins.analogWritePin(AnalogPin.P14, speed)
  19.     pins.analogWritePin(AnalogPin.P16, speed)
  20. }
  21. function backward()  {
  22.     pins.digitalWritePin(DigitalPin.P13, 0)
  23.     pins.digitalWritePin(DigitalPin.P15, 1)
  24.     pins.analogWritePin(AnalogPin.P16, speed)
  25.     pins.analogWritePin(AnalogPin.P14, speed)
  26. }
  27. function spin_right()  {
  28.     pins.digitalWritePin(DigitalPin.P13, 1)
  29.     pins.digitalWritePin(DigitalPin.P15, 1)
  30.     pins.analogWritePin(AnalogPin.P16, speed)
  31.     pins.analogWritePin(AnalogPin.P14, speed)
  32. }
  33. function spin_left()  {
  34.     pins.digitalWritePin(DigitalPin.P13, 0)
  35.     pins.digitalWritePin(DigitalPin.P15, 0)
  36.     pins.analogWritePin(AnalogPin.P16, speed)
  37.     pins.analogWritePin(AnalogPin.P14, speed)
  38. }
  39. function ao()  {
  40.     pins.digitalWritePin(DigitalPin.P13, 0)
  41.     pins.digitalWritePin(DigitalPin.P15, 0)
  42.     pins.analogWritePin(AnalogPin.P16, 0)
  43.     pins.analogWritePin(AnalogPin.P14, 0)
  44. }
  45. radio.onDataPacketReceived( ({ receivedNumber }) =>  {
  46.     if (receivedNumber == 1) {
  47.         forward()
  48.     } else if (receivedNumber == 2) {
  49.         spin_left()
  50.         basic.pause(200)
  51.         ao()
  52.     } else if (receivedNumber == 3) {
  53.         spin_right()
  54.         basic.pause(200)
  55.         ao()
  56.     } else if (receivedNumber == 4) {
  57.         backward()
  58.     } else {
  59.         ao()
  60.     }
  61. })
  62. speed = 600
  63. radio.setTransmitPower(7)
  64. radio.setGroup(56)
Advertisement
Add Comment
Please, Sign In to add comment