18. Case 10 Smart Crashproof Car

18.1. Purpose


  • Make a smart crashproof car with a Sonar:bit.

18.2. Materials


  • 1 x Ring:bit Car kit

  • 1 x micro:bit

  • 1 x Sonar:bit

18.3. Hardware Connection


  • Connect the left servo to P1, right servo to P2 and Sonar:bit to P0 of the Ring:bit.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/ring_bit_v2/images/case_10_01.png

18.5. Software


Step 1

  • Click “Advanced” in the drawer of MakeCode to see more choices.

../../_images/2qCyzQ71.png

  • We need to add a package for programming the kit. Click “Extensions” in the drawer and search “ringbit” in the dialogue box to download it.

../../_images/1Wq2Mov1.jpg

  • We also need to add a package for programming the Sonar:bit. Click “Extensions” in the drawer and search “https://github.com/elecfreaks/pxt-sonarbit” in the dialogue box to download it.

Note: if you are informed that it will be deleted due to incompatibility of the codebase, you can go on with the tips or create a new project in the menu.

Step 2

  • Drag the pins selection bricks for servos in the On start brick, the pins numbers are set according to the actual connection port.

  • Move forward at full speed.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/ring_bit_v2/images/case_10_02.png

Step 3

  • Set variate sonar in the forever brick and read the detected value from the Sonar:bit to it.

  • Drag the if brick and judge if the value given by sonar is below 10 and not equal to 0.

  • If yes, set the speed of right wheel to 100 and the left to 0 to turn left for obstacle avoidance.

  • If not, move forward at full speed.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/ring_bit_v2/images/case_10_03.png

Reference

Links: https://makecode.microbit.org/_Ta083RMsDTtq

You can also download it below:

--- ## Result --- - The Ring:bit car turns left automatically when detecting any obstacle 10cm in front of it.

18.6. Exploration


  • Question: Why we need to judge if the value is not 0 ?

  • Answer: The detection value is also 0 if beyond the detection scope of Sonar:bit.

18.7. FAQ