PiCrawler: cannot adjust servo, no sound

Hello,

I have an old PiCrawler, the one with Bluetooth, connected to a RaspberryPi 3B+.
I downloaded the OS provided on EzBlock, followed all the instructions from here

When I start the PiCrawler, there is no sound. I ran the i2samp.sh as instructed and there is no sound, but it identifies “speakers”, at least as output from the script. The sound did not play at all, neither at first boot, neither after all installs.

I thought it’s odd, but thought it’s because it uses Debian Buster, and RPi 3B+.
I went on doing the servo adjust, and that does not work either. I tried searching for instructions on how to use the USR and RST button but cannot find them.

Am I missing something? The RobotHat is connected to the RPi, and the power is connected to the RPi, not through the battery. I have not connected the camera and the ultra sound sensors to the RobotHat yet.

I reinstalled the OS, and installed the v2.0 of robot hat and picrawler. I ran i2samp.sh, and stil no sound. I tried running the example, and all I get is a python error:

picrawler@picrawler:~/picrawler/examples $ sudo python3 servo_zeroing.py
channel= 11
channel= <robot_hat.pwm.PWM object at 0x765f8ad0>
Traceback (most recent call last):
  File "servo_zeroing.py", line 8, in <module>
    zeroing_pin = Servo(PWM(11))
  File "/usr/local/lib/python3.7/dist-packages/robot_hat-2.1.0-py3.7.egg/robot_hat/servo.py", line 20, in __init__
    super().__init__(channel, *args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/robot_hat-2.1.0-py3.7.egg/robot_hat/pwm.py", line 44, in __init__
    self.timer = int(channel/4)
TypeError: unsupported operand type(s) for /: 'PWM' and 'int'

I already tried killing pulseaudio, with no luck.

picrawler@picrawler:~/picrawler $ sudo killall pulseaudio
pulseaudio: no process found

System information:

Linux picrawler 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux

Please help me out, I’m stuck, and don’t know what else to try.

Thank you kindly

First of all, Python control and ezblock control distinguish between two modes.
It is recommended that you do not install all libraries directly on the ezblock OS system.
If you want to use Python control, install a separate Raspberry Pi system and then install all libraries on the Raspberry Pi system terminal.
If you want to use ezblock control, you need to install our ezblock OS image system separately, then you don’t need to download and install any libraries, you can just plug it into the Raspberry Pi and start it directly.
ezblock OS download link: EzblockStudio/download
In addition, the robot hat must be connected to the battery pack, if not, the robot hat will not work, and all the modules connected to the robot hat will not work.
You are powering the Raspberry Pi externally, and the Raspberry Pi can’t power the robot hat, if you connect a battery to the robot hat, the battery can power the Raspberry Pi through the robot hat.
Speakers don’t work?

  1. Python control:
    If your robot doesn’t make sound, please make sure if you execute the i2samp.sh script yet:
    cd ~/picrawler
    sudo bash i2samp.sh
    and reboot the Raspberry Pi system
    The sound of the robot is coming from the robot hat’s speaker, which is underneath the robot hat, as you can see.
    If you execute the i2samp.sh script, and then run the sound example, and it still can’t make sound, please execute sudo killall pulseaudio again, and then run the sound example, and see if it can make sound normally.
  2. ezblock control: you install the specified ezblock OS, insert the Raspberry Pi and start it, the robot hat will emit a bright sound, it means that the robot starts successfully at this time.
    Zero return adjustment of servo?
    ezblock control:
    If you are using ezblock app to control, you need to install and download our specified ezblock OS image, burn it to SD card and plug it into Raspberry Pi.
    EzblockStudio/download
    1、First start the robot and wait for the power on, if you hear a loud sound issued, it means that the robot is successfully turned on.
  3. Connect the servo with disturbed angle to the p11 pin.
    3, and then hold down the USR key do not let go, then press the zero RST key, you can wait for the servo back to zero. (Tip: servo does not return to zero before, press and hold the USR key do not let go)
    Pay attention to the angle of each part of the assembled spider legs: 45°, 90°, 90°.
    Remember that after the assembly angle is controlled, first fix the servo with screws, then unplug the servo cable, then assemble the next servo, and so on to finish assembling the rest of the servo.
    After assembly, then calibrate the spider.
    Python Controls:
    It is possible that your servos are not fully properly zeroed back for adjustment.
    Run cd ~/picrawler/examples
    sudo python3 servo_zeroing.py
    Next, break the angle of the servo and plug the servo cable into port P11.
    You will see the servo arm rotate to a specific position (0°).
    Once the servo has been zeroed, continue the installation by following the instructions on the assembly foldout.
    Pay attention to the angle of each part of the assembly spider legs: 45°, 90°, 90°.
    Remember to secure the servo with screws after the assembly angle is controlled, then unplug the servo wires and assemble the next servo, and so on to finish assembling the remaining servos.
    After assembly, then calibrate the spider.

Thank you for the steps and pointing out the differences between installs.
I redid the installation, and used the batteries to power the kit. The manual says to connect using the app or via browser, but for some reason, the bluetooth doesn’t see any of my devices (5 laptops, with linux, windows, mac os, and none of my phones / tablets old or new, from different vendors). I tried about 12 devices in total. I have two more RPis that I’ll try tonight, with various OS and see where I get with that.
The only bluetooth signals it’s receiving, or seeing are from the TV and one soundbar.

Are there issues still with bluez / bluetooth? I tried using bluetoothctl. I’ll try later with hciconfig.

Another thing to point out is that on the version downloaded of the EZOS, there is no picrawler folder under the default user.

Don’t quite understand what you mean.
Do you want to use ezblock to control picrawler?

  1. Then you need to install our ezblock OS image system on your SD card:
    EzblockStudio/download
  2. You need to have ezblock studio APP installed on your mobile device.
  3. Insert the SD card with ezblock OS image into your Raspberry Pi and start picrawler.
  4. Follow our tutorial to do the connection between picrawler and APP:
    Connect the Product and EzBlock — SunFounder EzBlock Studio documentation latest
  5. We recommend you to record your operation process to us, so that we can help you analyze and solve the problem.

I managed to connect to the PiCrawler via bluetooth, only after I enabled the location on my mobile. This is just poor, and bad.

You don’t need my location, and you don’t need my wifi connection to be able to control a crawler robot, and it’s nowhere written on the documentation, or on the website where it is sold.

If you would have advertised that you need my phone location enabled and wifi, I would not have bought these boards.

We are very sorry.
Our products need access permission to connect APPWiFi and Bluetooth. But you can rest assured that your personal information is safe.
Connect the Product and EzBlock — SunFounder EzBlock Studio documentation latest