Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Play () {
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.Square).showImage(0)
- music.play(music.tonePlayable(659, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- music.play(music.tonePlayable(988, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- record.playAudio(record.BlockingState.Blocking)
- music.play(music.tonePlayable(988, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- music.play(music.tonePlayable(659, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- control.waitMicros(100000)
- IR_Pressed = irRemote.returnIrButton()
- }
- function Record () {
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.SmallSquare).showImage(0)
- music.play(music.tonePlayable(220, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- music.play(music.tonePlayable(330, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- record.startRecording(record.BlockingState.Blocking)
- music.play(music.tonePlayable(330, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- music.play(music.tonePlayable(220, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- control.waitMicros(100000)
- IR_Pressed = irRemote.returnIrButton()
- }
- function Obstacle () {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.cyan)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.cyan)
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.Butterfly).showImage(0)
- control.waitMicros(100000)
- IR_Pressed = irRemote.returnIrButton()
- while (IR_Pressed != 12) {
- IR_Pressed = irRemote.returnIrButton()
- distance = MiniCar.ultra()
- if (distance > 20) {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.cyan)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.cyan)
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalAvoidSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalAvoidSpeed)
- } else {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, GlobalAvoidSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalAvoidSpeed)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.red1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.red1)
- basic.pause(500)
- }
- }
- }
- function GreetName () {
- basic.clearScreen()
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- if (NameChoice == 1) {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.green1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.green1)
- basic.showString("Hello Name1!")
- } else if (NameChoice == 2) {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.yellow)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.yellow)
- basic.showString("Hello Name2!")
- } else if (NameChoice == 3) {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.purple)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.purple)
- basic.showString("Hello Name3!")
- }
- music.play(music.tonePlayable(175, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.black)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.black)
- control.waitMicros(GlobalWait)
- NameChoice = 0
- IR_Pressed = irRemote.returnIrButton()
- }
- function LightFollow () {
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.Happy).showImage(0)
- control.waitMicros(100000)
- IR_Pressed = irRemote.returnIrButton()
- while (IR_Pressed != 24) {
- IR_Pressed = irRemote.returnIrButton()
- ldr_l = MiniCar.PH1()
- ldr_r = MiniCar.PH2()
- if (ldr_l > 650 && ldr_r > 650) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, 100)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, 100)
- } else if (ldr_l > 650 && ldr_r <= 650) {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, 100)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, 100)
- } else if (ldr_l <= 650 && ldr_r > 650) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, 100)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, 100)
- } else {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, 0)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, 0)
- }
- }
- }
- function ExitMode () {
- music.play(music.tonePlayable(175, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.black)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.black)
- MiniCar.motor(Motorlist.M1, Direction1.Backward, 0)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, 0)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- }
- function DriveHold () {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.blue1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.blue1)
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.Triangle).showImage(0)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- while (IR_Pressed != 25) {
- IR_Pressed = irRemote.returnIrButton()
- while (IR_Pressed == 70) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalSpeed)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.white)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.white)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- }
- while (IR_Pressed == 68) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalTurnLow)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalTurnHigh)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.black)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.yellow)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- }
- while (IR_Pressed == 67) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalTurnHigh)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalTurnLow)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.yellow)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.black)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- }
- while (IR_Pressed == 21) {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, GlobalSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, GlobalSpeed)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.red1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.red1)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- }
- MiniCar.motor(Motorlist.M1, Direction1.Backward, 0)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, 0)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.blue1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.blue1)
- }
- }
- function FollowMe () {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.green1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.green1)
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.Diamond).showImage(0)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- while (IR_Pressed != 13) {
- IR_Pressed = irRemote.returnIrButton()
- distance = MiniCar.ultra()
- if (distance >= 10 && distance <= 30) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalSpeed)
- } else if (distance <= 6) {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, GlobalSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, GlobalSpeed)
- } else if (distance < 10 && distance > 6 || distance > 30) {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, 0)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, 0)
- basic.pause(200)
- }
- }
- }
- function LineTrack () {
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.Ghost).showImage(0)
- control.waitMicros(100000)
- IR_Pressed = irRemote.returnIrButton()
- while (IR_Pressed != 94) {
- IR_Pressed = irRemote.returnIrButton()
- value = MiniCar.LineTracking()
- if (value == 1) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalLineTurnSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, GlobalLineTurnSpeed)
- } else if (value == 2) {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, GlobalLineTurnSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalLineTurnSpeed)
- } else {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalLineSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalLineSpeed)
- }
- }
- }
- function Drive () {
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.blue1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.blue1)
- music.play(music.tonePlayable(196, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
- images.iconImage(IconNames.Tortoise).showImage(0)
- control.waitMicros(GlobalWait)
- IR_Pressed = irRemote.returnIrButton()
- while (IR_Pressed != 22) {
- IR_Pressed = irRemote.returnIrButton()
- if (IR_Pressed == 70) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalSpeed)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.white)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.white)
- } else if (IR_Pressed == 68) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalTurnLow)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalTurnHigh)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.black)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.yellow)
- } else if (IR_Pressed == 67) {
- MiniCar.motor(Motorlist.M1, Direction1.Forward, GlobalTurnHigh)
- MiniCar.motor(Motorlist.M2, Direction1.Forward, GlobalTurnLow)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.yellow)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.black)
- } else if (IR_Pressed == 21) {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, GlobalSpeed)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, GlobalSpeed)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.red1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.red1)
- } else if (IR_Pressed == 64) {
- MiniCar.motor(Motorlist.M1, Direction1.Backward, 0)
- MiniCar.motor(Motorlist.M2, Direction1.Backward, 0)
- MiniCar.led_rgb(LED_rgb_L_R.LED_L, LED_color.blue1)
- MiniCar.led_rgb(LED_rgb_L_R.LED_R, LED_color.blue1)
- }
- }
- }
- let value = 0
- let ldr_r = 0
- let ldr_l = 0
- let distance = 0
- let IR_Pressed = 0
- let NameChoice = 0
- let GlobalLineTurnSpeed = 0
- let GlobalLineSpeed = 0
- let GlobalAvoidSpeed = 0
- let GlobalTurnHigh = 0
- let GlobalTurnLow = 0
- let GlobalSpeed = 0
- let GlobalWait = 0
- music.play(music.stringPlayable("F - F E F - A B ", 400), music.PlaybackMode.InBackground)
- GlobalWait = 100000
- GlobalSpeed = 100
- GlobalTurnLow = 30
- GlobalTurnHigh = 100
- GlobalAvoidSpeed = 70
- GlobalLineSpeed = 70
- GlobalLineTurnSpeed = 40
- NameChoice = 0
- IR_Pressed = 0
- irRemote.connectInfrared(DigitalPin.P16)
- record.setMicGain(record.AudioLevels.Low)
- record.setSampleRate(11000)
- basic.forever(function () {
- IR_Pressed = irRemote.returnIrButton()
- if (IR_Pressed == 22) {
- Drive()
- ExitMode()
- }
- if (IR_Pressed == 25) {
- DriveHold()
- ExitMode()
- }
- if (IR_Pressed == 13) {
- FollowMe()
- ExitMode()
- }
- if (IR_Pressed == 12) {
- Obstacle()
- ExitMode()
- }
- if (IR_Pressed == 24) {
- LightFollow()
- ExitMode()
- }
- if (IR_Pressed == 94) {
- LineTrack()
- ExitMode()
- }
- if (IR_Pressed == 8) {
- NameChoice = 1
- GreetName()
- }
- if (IR_Pressed == 28) {
- NameChoice = 2
- GreetName()
- }
- if (IR_Pressed == 90) {
- NameChoice = 3
- GreetName()
- }
- if (IR_Pressed == 66) {
- Record()
- }
- if (IR_Pressed == 74) {
- Play()
- }
- images.iconImage(IconNames.Heart).showImage(0)
- })
Advertisement
Add Comment
Please, Sign In to add comment