dennn66 / ros_pca9685

7 stars 6 forks source link

How this package get root authority to operating i2c dev #3

Open ComeBackTo2016 opened 4 years ago

ComeBackTo2016 commented 4 years ago

If I run the node in raspi3B+, the node can exec normal but it can't to operate i2c dev. Should I use the cmd "sudo rosrun ..." or change the current user into "root"? Thanks your help?

dennn66 commented 4 years ago

I think you can make a new group, that has permissions to operate i2c and add your user into that group.

пт, 29 нояб. 2019 г., 8:14 ComeBackTo2016 notifications@github.com:

If I run the node in raspi3B+, the node can exec normal but it can't to operate i2c dev. Should I use the cmd "sudo rosrun ..." or change the current user into "root"? Thanks your help?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/dennn66/ros_pca9685/issues/3?email_source=notifications&email_token=AA4QLO35CIX2DHHTV32HQOTQWCCIFA5CNFSM4JS2MMNKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H4ZHOAA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4QLO76SUDV6WNAI5BDQ7DQWCCIFANCNFSM4JS2MMNA .

rbrobots commented 3 years ago

I'm having a similar problem where I am able to run the ROS node, but not getting any movement on the servo's. I'm using 2 mini servos (9g SG90v) on PCA9685 driver channel's 0 and 1. Is there a way to see if I am actually connecting to the I2C bus? I'm using Ubiquity Robotics image on RPi 3 Model B+. Thanks in advanced!

ComeBackTo2016 commented 3 years ago

Maybe you should execute cmd “sudo chmod 666 /dev/i2c”, before you run the node. What’s more, you can read pca9685’s register data and print it or check pca9685’s i2c address.

ComeBackTo2016 commented 3 years ago

I'm having a similar problem where I am able to run the ROS node, but not getting any movement on the servo's. I'm using 2 mini servos (9g SG90v) on PCA9685 driver channel's 0 and 1. Is there a way to see if I am actually connecting to the I2C bus? I'm using Ubiquity Robotics image on RPi 3 Model B+. Thanks in advanced!

Maybe you should execute cmd “sudo chmod 666 /dev/i2c”, before you run the node. What’s more, you can read pca9685’s register data and print it or check pca9685’s i2c address.

rbrobots commented 3 years ago

Thank you for your help I did try this, but it still doesn't seem to work. I've tried on 2 different PCA9685 drivers.

Before I ran the rostopic publish commands, "sudo i2cdetect -y 1" was giving me x040 and x070. However, after running the rostopic publish commands, "sudo i2cdetect -y 1" gives me only 0x40. I think one of the connections has died in the process.

ComeBackTo2016 commented 3 years ago

Thank you for your help I did try this, but it still doesn't seem to work. I've tried on 2 different PCA9685 drivers.

Before I ran the rostopic publish commands, "sudo i2cdetect -y 1" was giving me x040 and x070. However, after running the rostopic publish commands, "sudo i2cdetect -y 1" gives me only 0x40. I think one of the connections has died in the process.

I'm sorry about it. addr 0x70 is the common address for every chip. You can operate all pca9865 connected on the same i2cbus. addr 0x40 is the special address for every chip and you can change it by set chip's addr port. Last but not the least, Does your i2c scl and sda wire add pull up resister about 4.7k. It's must be set while your chip work well.

rbrobots commented 3 years ago

Thanks for your help! I managed to use another library which worked for me: https://gitlab.com/bradanlane/ros-i2cpwmboard/-/blob/master/src/i2cpwm_controller.cpp I do think that the problem might have been to do with my voltage supply however.