KRITSADA

Switch Case Examples for micro:bit

Nov 17th, 2019
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. })
Add Comment
Please, Sign In to add comment