1

I have 8 adafruit_hcsr04 range finders wired in the exact same way to a raspberry pi 4 but only 4 of them work and i'm at a loss.

I've verified with an ohmmeter the echo and trigger pins are physically connected to the correct GPIO Pins, swapped out the sensor to make sure it was working. The code is very simple and works on other sensors:

sonar_1 = adafruit_hcsr04.HCSR04(trigger_pin=board.D14, echo_pin=board.D15)  # ok
sonar_2 = adafruit_hcsr04.HCSR04(trigger_pin=board.D8, echo_pin=board.D0)    # ok
sonar_3 = adafruit_hcsr04.HCSR04(trigger_pin=board.D22, echo_pin=board.D13)  # pin 15 / pin 33 does not work
sonar_4 = adafruit_hcsr04.HCSR04(trigger_pin=board.D4, echo_pin=board.D11)   # ok

BCM Pin 22 and 13 are normal GPIO pins so i don't understand why it wouldn't work while others do.

These are your standard Distance Sensor https://www.adafruit.com/product/4007

Wired just like this but to pin 22 and 13 (physical pin #15 and #33)

enter image description here

I'm about to reformat the SD Card thinking some setting is using these pins but any advice would be appreciated.

Below is my entire /boot.config.txt:

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=spi=on
dtparam=i2c_arm_baudrate=10000

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d
start_x=1
gpu_mem=128
enable_uart=1
dtoverlay=i2s-mmap
dtparam=i2s=on
8
  • your code refers to D22 and D13, but you connected the sensor to 22 and 23? May 6 at 13:30
  • thanks, typo - updated. (trigger_pin=board.D22, echo_pin=board.D13) physical pin #15 / pin #33 are the ones in question here.
    – bsautner
    May 6 at 13:35
  • check whether /boot/config.txt contains dtoverlay=pwm-2chan (if so, replace it with dtoverlay=pwm and reboot) May 6 at 13:43
  • this is my dtoverlay settings:[pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] #dtoverlay=vc4-fkms-v3d start_x=1 gpu_mem=128 enable_uart=1 dtoverlay=i2s-mmap dtparam=i2s=on
    – bsautner
    May 6 at 13:48
  • @FliegendeWurst I added my entire config.txt to the OP - thanks for the help
    – bsautner
    May 6 at 13:53

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.