4. Expansion-Sonar:bit#

4.1. Introduction#


Sonar:bit is a 3-wire ultrasonic module with the working voltage between 3-5V. It is available to be used to 3.3V or 5V micro-controller system. With only one 3-wire(GVS) cable, it can work properly. Compared to the normal 4-wire ultrasonic module, it has saved one IO port.

The measurement range of sonar:bit is 4cm-400cm. It can output stable and accurate measurement data with ±1cm tolerance only.

It can connect to the Ring:bit with an expansion board.

../../_images/sonar_01.png

4.2. Features#

Input voltage:3V~5V and can be driven by micro:bit directly.

Standard 3-wire GVS connecotr, which occupies 1 IO port only.

4.3. Parameter#

Item Parameter Note
Name Ring:bit Car v2 Sonar:bit
SKU EF04089
Working Voltage DC 3-5V
Connections 3pin GVS Connection
Output signal Analog
Measurement 4~400cm
Size 40.60×51.60mm
NW 12g

4.4. Outlook and Dimensions#

../../_images/sonar_02.png


4.5. Quick to Start#

Hardware Connections#

Connect the acrylic transition board to the back board with the rivets.

../../_images/sonar_03.png

Connect the Sonar:bit to the other side of the acrylic transition board with rivets.

../../_images/sonar_04.png

Connect the Sonar:bit to the Ring:bit breakout board with a 3-pin wire.

../../_images/sonar_05.png

4.6. Programming#

Preparation for Programming: Info

Samples Code#

# Import modules that we need
import board
from ringbit import *

# Set the pins of both wheels
ringbit = Ringbit(board.P1, board.P2)

# Change the speed in accordance with the distances detected by the sonar:bit
while True:
    if ringbit.get_distance(board.P0, Unit.cm) > 20:
        ringbit.set_speed(100, 100)
    else:
        ringbit.set_speed(0, 0)

Details of the program#

1.Import the modules that we need. board is the common container, and you can connect the pins you’d like to use through it; ringbit module contains classes and functions for Ring:bit smart car operations.

import board
from ringbit import *

2.Set the pins of the servos

ringbit = Ringbit(board.P1, board.P2)

3.While true, set the speed to be controlled by the distance value given by the sonar:bit

while True:
    if ringbit.get_distance(board.P0, Unit.cm) > 20:
        ringbit.set_speed(100, 100)
    else:
        ringbit.set_speed(0, 0)

4.7. Result#

The Ring:bit car drives normally when there are no obstacles, stops when there are obstacles, and continues to drive when the obstacles leave.

4.8. Exploration#

4.9. FAQ#

4.10. Relevant Files#