Hi! I am using a Jetson Nano to try to control a servo. I am using a PCA9685 servo control board, and I have verified that the wiring setup is correct. I have GND on the PCA9685 connected to pin 6 on the Jetson, VCC connected to pin 1, SDA connected to pin 3, and SCL connected to pin 5. “i2cdetect -y -r 1” returns that the Jetson does see the control board connected at address 0x40.
I have configured permissions correctly, to the best of my knowledge, with the three lines of code at the top below. Furthermore, I have confirmed that power is being supplied to the PCA9685 adequately; it is receiving 5V, and about 9A, of power, from a fully charged LiPo battery via a step-down regulator. Furthermore, I know that the servo itself is functional because I actually was able to get it to move once (only once) - I have not changed anything since, but now it does not work for whatever reason.
When I run the code below, straight out of the JetsonHacks tutorial, there is no error, but the servo does not turn at all. Can someone help me figure out what I may be doing wrong?
sudo usermod -aG i2c seaweedhorse
groupadd -f -r gpio
sudo usermod -a -G gpio seaweedhorse
from adafruit_servokit import ServoKit
kit = ServoKit(channels=16)
Edit: I should add that if I run the following two lines, it returns “cp: cannot stat opt/nvidia/…etc: No such file or directory”. So I did not run these two lines, despite some tutorials using them.
sudo cp /opt/nvidia/jetson-gpio/etc/99-gpio.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger