Jetson Nano I2C PWM Servo Motors

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 167

  • @robertparenton7470
    @robertparenton7470 5 лет назад +3

    Thank You! Own two Jetson Nano Boards and your videos just make this board so fun to experiment within my lab. Using the board in my AI Consulting demos!

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      I am glad you find the videos useful. Thanks for watching!

  • @charliebray8415
    @charliebray8415 3 года назад

    I came here specifically to just say thanks. I do a lot of playing and hacking and I expected this to take two days to figure out because most of the time you end up down some crazy rabbit hole. This just worked. Followed your simple instructions and it just worked. Thank you.

    • @JetsonHacks
      @JetsonHacks  3 года назад

      You are welcome, thank you for the kind words. I am glad you found this useful. Thanks for watching!

  • @AydinGokce9000
    @AydinGokce9000 5 лет назад +3

    I love your page man. I don't know where I'd be if you didn't make these tutorials. Thanks so much!

    • @JetsonHacks
      @JetsonHacks  5 лет назад +1

      Thank you for the kind words. You're a smart guy, I'm sure you could figure this out, but it might take a little longer. Thanks for watching!

  • @typhoon9945
    @typhoon9945 4 года назад +1

    Thank you for all the work you put in to make these great videos! It makes experimenting with the Jetson so much more fun!

    • @JetsonHacks
      @JetsonHacks  4 года назад +2

      You are welcome. I'm glad you are having fun with the Jetson! Thanks for watching.

  • @ctheroux
    @ctheroux 5 лет назад +2

    A video about SPI would be great! Thanks for the great videos.

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      You are welcome, and thanks for watching!

  • @ChadFaragher
    @ChadFaragher 4 года назад

    Why at 9:50 after the angle supposedly set to 3, then when the angle is set to 177 (which should be nearly the opposite direction from 3 ) the servo only looks like it turned about 90 degrees?

  • @rickhunt3183
    @rickhunt3183 4 года назад +1

    This was just what I needed...Adding the ps4 controller to the mix is icing on the cake...Those 4 dislikes are Xbox1 fans...Keep on Rockin dude....and Thank you.

    • @JetsonHacks
      @JetsonHacks  4 года назад

      I am glad you found this useful. Haters gonna hate, pay them no heed. I don't accept criticism from people I wouldn't take advice from. The thumbs down is probably the silliest thing ever. Thanks for watching!

    • @rickhunt3183
      @rickhunt3183 4 года назад

      @@JetsonHacks Next time I receive criticism. I'm going to respond with, "I'm sorry I don't accept criticism from people I wouldn't take advice from". I'm certain that will be quite amusing, at least for me..Take care...Rick

    • @JetsonHacks
      @JetsonHacks  4 года назад

      @@rickhunt3183 No need to say "I'm sorry" about it. It is a statement of fact. And it is amusing watching people when you take their "power" away.

  • @TheXnyu
    @TheXnyu 2 года назад

    at 5:50 i cant see my device, but if i use i2c detect 1 or 2 etc i can see the hex value

  • @mysticalsoulqc
    @mysticalsoulqc 4 года назад

    Thank you for all the great video's I have a 4axes robotic arm I have made and I will add a jetson on it. you are my new jetson teacher. blessings.

    • @JetsonHacks
      @JetsonHacks  4 года назад

      Thank you for the kind words, and thanks for watching!

  • @pakhack_pk
    @pakhack_pk 4 года назад

    My GIPOs are not showing any output(voltage) although the code is running properly. I have also tried to blink an led (with and without transistor) but still not working...plz helppp

  • @Bwajster
    @Bwajster 9 месяцев назад

    Hello,
    I'm having a hard time to determine which GPIO pins must be connected to the stepper motor driver RMCS1120.
    I need assistance in determining which specific GPIO pins on the Jetson Nano should be used to connect the PUL+, PUL-, DIR+, DIR-, ENA+, and ENA- pins of the RMCS1120 stepper motor driver.
    Kindly please help.
    I had a look at the specifications for the RMCS1120 stepper motor driver, but I'm unable to figure this out. Please please help.

    • @JetsonHacks
      @JetsonHacks  9 месяцев назад

      This is not something I can help you with. Please ask for help on the official Jetson Nano forums: forums.developer.nvidia.com/c/agx-autonomous-machines/jetson-embedded-systems/jetson-nano/76

  • @Vijay-jv7gg
    @Vijay-jv7gg 9 месяцев назад

    Hi,
    Is it possible to connect 3 stepper motor drivers to a single jetson nano? Or do we need individual jetson nano's for each stepper motor drivers?

    • @JetsonHacks
      @JetsonHacks  9 месяцев назад

      It depends on which stepper motor drivers you use. Typically once you need direct control of more than a couple of stepper motor drivers you use a microcontroller of some sort, and then have a microprocessor, like a Jetson, control the microcontroller.
      There are some stepper motor drivers which can control multiple stepper motors and communicate of USB. It depends on the requirements, the protocol the stepper motor uses (SPI, USB, PWM, UART and so on), and how the driver needs to be controlled.
      Good luck on your project!

  • @marcelk_98
    @marcelk_98 4 года назад

    Right joystick isn't working. It's mapped to RT. RT starts in 0 range and when pressed it goes eg 90 deg right and then 180 deg left. I've tried remapping via dualshock4.py file and even in jstest-gtk. Any suggestions?

  • @ArghyaChatterjeeJony
    @ArghyaChatterjeeJony 5 лет назад

    Hello sir, there are 2 questions on 5:49.
    1. When I write sudo i2cdetect -y -r -1 (as I wired in i2c bus 1), I see only 68. But here I can see 2 numbers in your tutorial (40 & 70). Why it's like that?
    2. When I write groups, I see something like $user_name adm dialout cdrom sudo audio dip video plugdev lpadmin gdm sambashare gpio. In your tutorial the "dialout" flag is missing. Why is so?

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      Not sure I understand your questions. I2C Bus 0 has different devices than I2C Bus 1. You can have different groups depending on your user permissions.

  • @pottoker612
    @pottoker612 Год назад

    I have a yahboom expansion board connected to a jetson nano, the expansion board has two sets of pwm servo interfaces, one is JST the other Micro-Jst. Out of the box I have code to control the servos connected to Micro-Jst, however I need to connect a more powerful servo on the Jst interface. How would I send code to Jst servo interface rather than micro-jst? I cannot find datasheet for expansion board, only a diagram with vague labels of each set of pins.

    • @pottoker612
      @pottoker612 Год назад

      i can currently control servos thru micro-jst using Arm_Lib python library

    • @JetsonHacks
      @JetsonHacks  Год назад

      I don't know the answer. You should contact yahboom for technical support, or find a library that interfaces with the board. Good luck on your project!

    • @pottoker612
      @pottoker612 Год назад

      @@JetsonHacks they sent me a link to their github which I have thoroughly studied. Only docs for board is a picture with vague labels. I think I will use a different expansion board or a servo hat to drive the servos.

    • @JetsonHacks
      @JetsonHacks  Год назад

      @@pottoker612 Hardware is like that, it's difficult to make the correct guess as to how you interface with it. Going to something else is probably a good idea. Good luck on your project!

  • @LONGTranDuyVTISnP
    @LONGTranDuyVTISnP 3 года назад

    Hi JetsonHacks. I have a few questions for you to answer. when when i execute the below code:
    from adafruit_servokit import ServoKit
    kit = ServoKit(channels=16)
    ki.servo[0].angle = 90
    I got the following error:
    NotImplementedError: pwmio not supported for this board
    i did it the same way you do. Can you help me fix it?

  • @paulmcwhorter
    @paulmcwhorter 5 лет назад +2

    Thanks for another great video. I am discerning from this and other info on the WEB that there is no easy way to do PWM on the Jetson Nano. I would think this is a much needed feature, as it would allow direct control of servos from the nano (with suitable power supply). Does anyone know if the issue of simple PWM on a nano GPIO pin has been solved. Did not find a solution looking around on the NVIDIA forums.

    • @JetsonHacks
      @JetsonHacks  5 лет назад +2

      Thank you for the kind words. Like the Raspberry Pi, the Jetson has one PWM output. In order to get the PWM output to work, you will need to modify the device tree appropriately. This is the same process as the RPi (and any other Linux embedded computer). However, the RPi has a user facing application which will help reconfigure the device tree "on the fly" so that you can configure the GPIO pins as SFIO (Special Function Input Output) by selecting their function from a menu, and then rebooting the machine.
      There is no equivalent on the Jetson, though I do know that their engineers have been working on it. On the Jetson, it is more complicated than the RPi because the device tree is signed as protection against malicious intent. The RPi does not have that particular feature.
      Typically things like PWM are better performed off of the Linux machines (SBC) themselves, because Linux is not a real time operating system. Running PWM is rather clumsy and requires a bunch of CPU cycles to monitor and time the pulses correctly. Micro-contollers like an Arduino or dedicated hardware like a PCA 9685 are built specifically for these types of tasks, as well as have a wider variety of analog, digital and other types of inputs. Not that you can't do it on an RPi or Jetson, but certainly if you are running multiple servos you will need to do that anyway. Of course, you know this already by the large ecosystem of RPi "hats" which provide these different types of functions. Thanks for watching!

    • @JimmyWheel
      @JimmyWheel 3 года назад

      @@JetsonHacks Thank you for providing a detailed response to Paul McWhorter's question. It makes me think that I will stick with controlling the motors on my large robots with Arduino boards. I am keen however to discern how I can use the Jetson Nano in concert with Arduino's to autonomise the navigation of my robots. To that end, I will continue to consume the most excellent videos that both you and Paul have put together on the Nano. Many thanks!

  • @bibeksingh7773
    @bibeksingh7773 4 года назад

    Could you help me with the wiring of PCA685 to two L298N motor driver to run four 12c dc motors.

  • @danmuji7585
    @danmuji7585 4 года назад

    Hi JetsonHacks, I was wondering if a power source is necessary for the PCA9685 board if my motor has an external power source directly connected to it and I'm just sending signals to the electronic speed controller (also powered by the external power source). I wasn't sure if the power source for the PCA board is needed only to supply the motor (which in my case, I wouldn't need)

    • @JetsonHacks
      @JetsonHacks  4 года назад

      Have you tried it to see if it works without it?

    • @danmuji7585
      @danmuji7585 4 года назад

      @@JetsonHacks When I try to detect devices connected to the i2c bus, it doesn't show anything and I was wondering if it had to do with not powering the PCA9865 board? However, I don't even need the power line from the PCA board to connect to my esc, since my esc is already powered by a battery.

    • @danmuji7585
      @danmuji7585 4 года назад

      Do you think I'd need a power source for the PCA board?

    • @JetsonHacks
      @JetsonHacks  4 года назад

      @@danmuji7585 Hard to tell since I do not know how you wired everything together. You can read the JetsonHacks article for more information on wiring.

  • @whasuklee
    @whasuklee 5 лет назад +1

    It is absolutely marvelous. I really appreciate your amazing work. Thank you so much!!

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      Thank you for your kind words, and thanks for watching!

  • @henkoegema6390
    @henkoegema6390 Год назад

    Is it possible to connect the data wires of the servo motors directly to the GPIO pins?

    • @JetsonHacks
      @JetsonHacks  Год назад

      Yes. You will need to configure the Jetson to emit PWM signals to drive the data wire. On the Jetson Nano, the PWM signal is not as precise as having a dedicated microcontroller as shown in the video, and there are only two PWM outputs as I recall. If you need more help with PWM on the Jetson Nano, please ask on the official NVIDIA Jetson Nano forum where a large group of developers and NVIDIA engineers share their experience. Thanks for watching!

  • @Bwajster
    @Bwajster 9 месяцев назад

    Is it possible to control 3 Nema23 stepper motors using a single RMCS1120 stepper motor driver using a Jetson Nano?

    • @JetsonHacks
      @JetsonHacks  9 месяцев назад

      You need to read the specifications for the RMCS1120 stepper motor driver to determine if it can control 3 stepper motors. It's not clear how it would be able to do that as it appears to only have a single set of outputs. Stepper motors typically have 4 wires to drive them in the most common configuration.

  • @pedrorafaelvidalarias6517
    @pedrorafaelvidalarias6517 5 лет назад +1

    Thank you so much, you really help me with this tutorial, just on time for my robot arm!

    • @JetsonHacks
      @JetsonHacks  5 лет назад +1

      You are welcome. Thanks for watching!

  • @alexgunagwera8310
    @alexgunagwera8310 3 года назад

    hello, what steps do i need to follow for a single servo on jetson nx? I want to be totally break board independent. Also, if possible, using python2 or c++. thanks.

    • @JetsonHacks
      @JetsonHacks  3 года назад +1

      You can use the code linked in the article as reference. You can rewrite the code as needed for whatever your breakout board and programming language requirements might be. Thanks for watching!

    • @alexgunagwera8310
      @alexgunagwera8310 3 года назад +1

      @@JetsonHacks thanks a lot. And great video by the way. Keep up the good work. Cheers.

  • @sarielhachem9312
    @sarielhachem9312 4 года назад

    hey i found the the i2c by writing i2cdetect -r -y 2 so apparently it’s on the port 2 and it showed me the pin 50 and 57 what adress can i conclude?

    • @JetsonHacks
      @JetsonHacks  4 года назад

      I do not know the answer to your question. If you are wiring to the GPIO header, the busses are 0 and 1. I do not know what "pin 50 and 57" mean, i2cdetect prints out addresses.

  • @dizzy1234
    @dizzy1234 2 года назад

    hello! i am new for jetson nano. May i know what power supply u use and what adapter about connect power supply to pca9685?

    • @JetsonHacks
      @JetsonHacks  2 года назад

      If you are connecting to the wall, use a 5V, 2+ amp power supply. If it is for mobile use, you can use something like 4 or 5 x AA battery pack to connect to the terminal block. Thanks for watching!

  • @Bwajster
    @Bwajster 10 месяцев назад

    I wish to use a stepper motor for one of my projects on the Jetson Nano. 1. How do I go about connecting and using a stepper motor on the Jetson Nano? 2. Which stepper motor is compatible on the Jetson Nano?

    • @JetsonHacks
      @JetsonHacks  10 месяцев назад

      That's a pretty large subject. First select which stepper motor you wish to use and the requirements such as unipolar or bipolar. Next, people generally decide which stepper motor driver is appropriate for their application. The stepper motor driver will determine which interface protocol should be used such as PWM, SPI, serial, USB, I2C. Then you will need to decide how to interface to the stepper motor driver with your Jetson, or whether you need to interface with a microcontroller which controls the stepper motor driver. The microcontroller may be more convenient if you have to control the low level signal timing. Good luck on your project! Dronebot Workshop has several videos on controlling stepper motors of varying sizes, for example: ruclips.net/video/0qwrnUeSpYQ/видео.htmlsi=rF78RCSh3_Dcp-Aq Good luck on your project!

    • @Bwajster
      @Bwajster 10 месяцев назад

      @@JetsonHacks Could you please share which stepper motor (unipolar and bipolar) that are compatible on the Jetson Nano?

    • @JetsonHacks
      @JetsonHacks  10 месяцев назад

      @@Bwajster You need to study more about stepper motors. The Jetson Nano does not drive a stepper motor. It interfaces to a stepper motor driver, which in turn interfaces with the stepper motor itself. The driver handles the unipolar/bipolar. Stepper motors come in a very large variety of sizes, to say "stepper motor" doesn't narrow it down enough to provide any information. I would suggest that you watch the video mentioned previously to better understand the different types of stepper motors and how to drive them.

    • @Bwajster
      @Bwajster 10 месяцев назад

      @@JetsonHacksAlright thank you so much.
      I'll have a look at video, later how do I figure out which stepper motor and driver are compatible with the Jetson Nano ?

    • @Bwajster
      @Bwajster 10 месяцев назад

      @@JetsonHacks Also, the stepper motor driver would be connected to the J-41/GPIO pins of the Nano right?

  • @3er24t4g1
    @3er24t4g1 5 лет назад

    How well does the Jetson Nano handle video from a USB webcam? Any plans on doing an augmented reality demo with OpenCV or Unity?

  • @Bwajster
    @Bwajster 9 месяцев назад

    Are you aware of any such stepper motor driver that can be connected to multiple (up to 3) NEMA23 stepper motors together?

    • @JetsonHacks
      @JetsonHacks  9 месяцев назад

      Typically people will use a 4 axis CNC or 3 axis 3D printer driver boards.

    • @JetsonHacks
      @JetsonHacks  9 месяцев назад

      You can consider simple USB CNC controllers like this one from Adafruit: TinyG CNC Controller Board v8 www.adafruit.com/product/1749?gad_source=1&gclid=CjwKCAjw17qvBhBrEiwA1rU9w98i4X8kytc4E0Hh11mLczvNOxvxOm91x_bb1XUk5cI5R0JNQpVZyBoCZKUQAvD_BwE
      There are a large number of this class of boards, you can check on Amazon or eBay. Typically they're for CNC machines or 3D printers.

  • @fablapp
    @fablapp Год назад

    Hi, very nice content and quite to the point.... I have attempted to get this done and still struggling. My code loads fine but nothing happen: i receive a message:exiting, cleaning pins and when I check the i2c i see x40 but not any more x70. I need to restart and unplug to be able to get x70 back.

    • @JetsonHacks
      @JetsonHacks  Год назад

      It's hard to tell from the description what might be the issue. It's not clear why you lose a hardware address.

    • @fablapp
      @fablapp Год назад

      @@JetsonHacks HI Jim, I think was a trivial error in the code which for some reason wasn't casting a syntax error.... however I have recently upgraded my jetpack to 4.6 and it seems your installation does not run as smooth as it used. It gives:
      "Collecting Adafruit-Blinka>=7.0.0 (from adafruit-circuitpython-servokit)
      Could not find a version that satisfies the requirement Adafruit-Blinka>=7.0.0 ".
      I searched in the community but I did not manage to make it work.... installed blinka and so on... are you planning to upgrade this repository as well?

    • @JetsonHacks
      @JetsonHacks  Год назад

      @@fablapp No plans to upgrade at this time. You will need to change the code to meet the requirements to load the Blinka library.

    • @fablapp
      @fablapp Год назад

      @@JetsonHacks Jim, txs for your kind reply. Seems not easy: added the installation for blinka but still is requesting the version 7. tried to revert to previous jetpack and getting all a series of problem. The Nano seems a bit beyond my capacities!

  • @mertcapkin7263
    @mertcapkin7263 3 года назад

    Is it possible to use multiple devices/components connected to the same I2C pins?

    • @JetsonHacks
      @JetsonHacks  3 года назад

      Depends on the device. Make sure that the addresses are set differently on the each device you connect. Thanks for watching!

    • @mertcapkin7263
      @mertcapkin7263 3 года назад

      @@JetsonHacks for example a I2C OLED or a I2C motor controller. So as long as the addresses are different it should work?

  • @MichaKaczmarek_Krakow
    @MichaKaczmarek_Krakow 5 лет назад

    @JetsonHacks It would be really nice if you could show how to use integrated PWM driver to use servos and how to change devicetree to be able to access to those peripherals.
    As always great video!

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      Thank you for the kind words. I'm not an expert on the subject, but in general if you want to control a servo motor with real-time response requirements, then you need to use hardware PWM. While the big brothers to the Nano (Jetson TX2 and AGX Xavier) have this capability through the SPE, the Nano does not. You can get software PWM running on the Nano, but you end up chasing your tail if your goal is to control servos. It's a much wiser decision to use a microcontroller (Arduino, Blue Pill, Teensy and so on) or dedicated hardware like the PCA9685. Thanks for watching!

    • @MichaKaczmarek_Krakow
      @MichaKaczmarek_Krakow 5 лет назад

      @@JetsonHacks I know that for RT application usage of external dedicated controller is better option. But as far as I read in Jetson.GPIO library is says that Xavier has 3 hardware controllers, Nano has them 2, but TX2/TX1 has none of them. (Point 11 in README.md on library Github)

    • @JetsonHacks
      @JetsonHacks  5 лет назад +2

      Interesting. The Jetson Sensor Processing Engine (SPE) Developer Guide says that the TX2 also has a Cortex-R5 micro-controller for this purpose, so someone is fibbing. Unfortunately I don't think it makes much sense at this point to modify the device tree with the next revision of the OS right around the corner. No telling what they've changed.

  • @NazLouis
    @NazLouis Год назад

    Hey man great vid! It looks like the adafruit servokit doesn't work with the python 3.6 on the jetson anymore do you know any work arounds for this?

    • @JetsonHacks
      @JetsonHacks  Год назад +1

      I haven't looked at this for a while. I'll put it on my list, but it will be some time before I can get to it. Thanks for watching!

    • @NazLouis
      @NazLouis Год назад +1

      @@JetsonHacks appreciate it! For now I’m just going to use an arduino nano and communicate via i2c

  • @stephenfsands
    @stephenfsands 5 лет назад +1

    Yes, please do the spi!

  • @LscEmitter
    @LscEmitter 5 лет назад

    Thank you very much. That was really easy, except for the single servo test. I wired my PCA9685 on the I2C-Bus 0 as you did it, but I had to initialize it on ServoKit initialization with
    >>> kit = ServoKit(channels=16, i2c=ic2_bus0)
    Without the "i2c=i2c_bus0", it didn't work, maybe because i2c_bus1 is the default, since you said so.
    And I also have big trouble with my servos. They are capable to lift 25 kg (about 50 lb), but the starting current is so high that the voltage collapses and the servos keep resetting all the time.
    Do you have a tip for me?

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      The single servo demo in the video was on bus 1, Pins 3 and 5. The current is limited on this little board, what is the current and voltage requirements for your servos?

  • @davidmatterson3946
    @davidmatterson3946 5 лет назад +1

    Thank you ! Please keep it up. Great videos.

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      Thank you for the kind words, and thanks for watching!

  • @robeirremon4127
    @robeirremon4127 4 года назад

    Thank you for your effort
    I have a problem in ps4 controller , the mapping is still inverted and right analog changed with l2 and r2 even though i sudo cp dualshock4.py ??

    • @marcelk_98
      @marcelk_98 4 года назад

      Same thing here. I feel there was an update of something. I'm trying to get it to work

  • @techxartisanstudio
    @techxartisanstudio 5 лет назад

    Hi! Love your tutorials! I have followed the steps and things went well, but I got an error below when I input "kit = ServoKit(channels=16)
    " at 9:19, where showed:
    Traceback (most recent call last):
    File "/usr/local/lib/python3.6/dist-packages/adafruit_bus_device/i2c_device.py", line 68, in __init__
    i2c.writeto(device_address, b'')
    File "/usr/local/lib/python3.6/dist-packages/busio.py", line 69, in writeto
    return self._i2c.writeto(address, buffer, stop=stop)
    File "/usr/local/lib/python3.6/dist-packages/adafruit_blinka/microcontroller/generic_linux/i2c.py", line 38, in writeto
    self._i2c_bus.write_bytes(address, buffer[start:end])
    File "/usr/local/lib/python3.6/dist-packages/Adafruit_PureIO-0.2.3-py3.6.egg/Adafruit_PureIO/smbus.py", line 244, in write_bytes
    OSError: [Errno 121] Remote I/O error
    During handling of the above exception, another exception occurred:
    Traceback (most recent call last):
    File "/usr/local/lib/python3.6/dist-packages/adafruit_bus_device/i2c_device.py", line 74, in __init__
    i2c.readfrom_into(device_address, result)
    File "/usr/local/lib/python3.6/dist-packages/busio.py", line 59, in readfrom_into
    return self._i2c.readfrom_into(address, buffer, stop=stop)
    File "/usr/local/lib/python3.6/dist-packages/adafruit_blinka/microcontroller/generic_linux/i2c.py", line 44, in readfrom_into
    readin = self._i2c_bus.read_bytes(address, end-start)
    File "/usr/local/lib/python3.6/dist-packages/Adafruit_PureIO-0.2.3-py3.6.egg/Adafruit_PureIO/smbus.py", line 155, in read_bytes
    OSError: [Errno 121] Remote I/O error
    During handling of the above exception, another exception occurred:
    Traceback (most recent call last):
    File "", line 1, in
    File "/usr/local/lib/python3.6/dist-packages/adafruit_servokit.py", line 86, in __init__
    self._pca = PCA9685(i2c, address=address, reference_clock_speed=reference_clock_speed)
    File "/usr/local/lib/python3.6/dist-packages/adafruit_pca9685.py", line 131, in __init__
    self.i2c_device = i2c_device.I2CDevice(i2c_bus, address)
    File "/usr/local/lib/python3.6/dist-packages/adafruit_bus_device/i2c_device.py", line 76, in __init__
    raise ValueError("No I2C device at address: %x" % device_address)
    ValueError: No I2C device at address: 40
    How come? Not sure how to sort it... thanks for your help!

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      It says that it cannot find your PCA9685. You should use i2cdetect to see if the Jetson can see the device.

    • @techxartisanstudio
      @techxartisanstudio 5 лет назад

      @@JetsonHacks Wow! It works!! Such a magic here...
      The error was caused by mixing up bus 0 and bus 1 at 8:15
      Thanks a lot!

    • @techxartisanstudio
      @techxartisanstudio 5 лет назад +1

      Connecting pin3 to SDA and pin5 to SCL, which is bus 1, the problem is solved!

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      @@techxartisanstudio I'm glad you got it to work!

  • @usamashakeel7229
    @usamashakeel7229 5 лет назад

    Hello your videos are very help full. I followed this video but in my case the servo is not moving. Can you tell what the problem might be?

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      You have not provided enough information with which to help. Can you use i2cdetect to see the servo driver?

    • @usamashakeel7229
      @usamashakeel7229 5 лет назад

      @@JetsonHacks I can't what might be the problem? Is it the board?

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      @@usamashakeel7229 If you cannot detect the device, then you probably have it wired incorrectly.

  • @sous2235
    @sous2235 2 года назад

    Thank you for your informative videos. I am using them alongside Paul McWhorter's Learning AI with Jetson Nano. I am looking for a patch or fix to the error that is thrown when I attempt to install the adafruit-circuitpython-servokit : Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-h9k6l_16/adafruit-circuitpython-servokit/
    I am using the SD image jp451, Ubuntu 18.04 LTS, Jetpack 4.5, and Python 3.6.9 -which is preinstalled on my 4GB Nano. Have you any experience with this error code? If it should be a python issue, any suggestions on how to properly upgrade python so as not to cause errors?
    Thanks for any help you can offer?

    • @JetsonHacks
      @JetsonHacks  2 года назад

      I have not encountered this issue yet. Hard to tell what the problem is from the description.

  • @jhengineering3578
    @jhengineering3578 4 года назад

    ModuleNotFoundError: No module named 'adafruit_servoKit'
    what is this problem?

    • @JetsonHacks
      @JetsonHacks  4 года назад

      Hard to say since you didn't list what you did to generate the error, or install the library.

  • @materialdesign9038
    @materialdesign9038 5 лет назад

    Just wondering, will you make a video about the Raspberry Pi 4 and how it measures against Nividia Jetson Nano/TX1/TX2

    • @JetsonHacks
      @JetsonHacks  5 лет назад +1

      I'm not big on comparisons, it's a lot of busy work and there's no work product at the end of it. Plus, I can't do it any better than: ruclips.net/video/kbn_6ixtIpA/видео.html

    • @CuteLittleMiku
      @CuteLittleMiku 5 лет назад +1

      JetsonHacks I'm about to link the same video lol

    • @JetsonHacks
      @JetsonHacks  5 лет назад +1

      @@CuteLittleMiku Great minds think alike!

  • @NevaEdizUfuk
    @NevaEdizUfuk 2 года назад

    Hello my frend. I searching your camera and servo control with gyro of android phone however i dont find. Where is your video. Please help me.

    • @JetsonHacks
      @JetsonHacks  2 года назад +1

      I don't have any videos with android phones in them.

  • @xabierarauzo6121
    @xabierarauzo6121 5 лет назад

    Hi, in my project I am using the Adafruit PCA9685 to generate PWM signals. Is there a sample code (C or python) in which you show how to only create these signals (not involving the Servos)? I really like your videos !

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      github.com/jetsonhacks/JHPWMDriver

  • @dainiusjaraminas6412
    @dainiusjaraminas6412 4 года назад

    Thanks you a lot. Example works fine before test JetBot project. I use Nvidia NANO kit, noname PCA9685 , servo Turnigy TG9.

    • @JetsonHacks
      @JetsonHacks  4 года назад +1

      You are welcome. Thanks for the update on your project, and thanks for watching!

  • @Diegolike65
    @Diegolike65 3 года назад

    When I try to install game pad it throws me an error:
    Commam "python setup.py egg info" failed with error code 1 in /tmp/pip-build-vgtlwxd/aproxeng.imput

  • @makersgeneration3739
    @makersgeneration3739 5 лет назад +1

    Thank you for the video. Really useful!

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      You are welcome, and thanks for watching!

  • @prayashbaniya6434
    @prayashbaniya6434 7 месяцев назад

    can u control big motor with new nvidia and how many could u

    • @JetsonHacks
      @JetsonHacks  7 месяцев назад

      This is a big question that's too difficult to answer as a RUclips comment. Please ask the question on the official NVIDIA Jetson Nano forum, where a large group of developers and NVIDIA engineers share their experience: forums.developer.nvidia.com/c/agx-autonomous-machines/jetson-embedded-systems/jetson-nano/76

  • @shubhamcyborg9218
    @shubhamcyborg9218 5 лет назад +4

    Thank u so much for this tutorial 🤩🤩🤩🤩👍👍👍👍👍

    • @JetsonHacks
      @JetsonHacks  5 лет назад +1

      You are welcome, and thanks for watching!

  • @timd7196
    @timd7196 5 лет назад

    Great video, thanks! Will you consider doing a video on setting up a UART device with the nano?

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      Do you have a particular UART device in mind?

    • @timd7196
      @timd7196 5 лет назад

      emic2 text-2-speech module is what I'm having trouble with. I'm used to working on an Atmega controller which of course doesn't have that pesky OS to get in the way. I'm most interested to see what changes must be made with the OS (privileges, user space/kernel space, etc.) to allow UART communication.

  • @tiago7178
    @tiago7178 5 лет назад

    Please make a tutorial to a image classificator api, using jetson nano

  • @pratikfarkase4746
    @pratikfarkase4746 5 лет назад

    Do the SPI and Device Tree Modification video Please!

  • @danialpablo1704
    @danialpablo1704 5 лет назад

    how many servos is possible to connect to one jatson module. ( Thanks for great work )

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      992 using this method and extra PCA9685 boards.

    • @danialpablo1704
      @danialpablo1704 5 лет назад

      @@JetsonHacks Thank You for quick response.

  • @Barsay
    @Barsay 4 года назад

    does this kind of pwm work as "audio output?
    "

    • @JetsonHacks
      @JetsonHacks  4 года назад

      I do not know what you mean regarding the relationship between PWM and audio.

    • @Barsay
      @Barsay 4 года назад

      @@JetsonHacks Pwm should be a square wave... If it's between 20hz and 20 khz it should be hearable... Or maybe i am missing something ahahah

    • @JetsonHacks
      @JetsonHacks  4 года назад

      @@Barsay Computer PWM signals are typically 25kHZ. Typically they are used to run peripherals like fans, servos and so on with the duty cycle being the variant. I don't have enough experience with audio applications of PWM from the PWM drivers to offer an answer. You should ask this question on the official NVIDIA Jetson Nano board, where a large group of developers and NVIDIA engineers share their experience.

    • @Barsay
      @Barsay 4 года назад

      @@JetsonHacks thanks! :)

  • @admiretechnologies1218
    @admiretechnologies1218 5 лет назад

    Love your videos. This I2C video is really specific to the Adafruit board. I have data on an Arduino Mega that I am trying to send to a Jetson nano and could not use this as a guide.
    Could you do a more general i2c video?

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      Thank you for the kind words. I don't know what a "more general I2C video" might be. The Arduino has to run a program for sending/receiving data over I2C, and you need one on the Jetson side. The code for reading and writing to I2C on the Jetson is in the libraries. libi2c is for C/C++ and Python, Jetson.GPIO can be used also. Thanks for watching!

    • @admiretechnologies1218
      @admiretechnologies1218 5 лет назад +1

      @@JetsonHacks OK, I will chek out libi2c. I see you mention it in the start of the video.

  • @kazimafzal
    @kazimafzal 5 лет назад

    Loving your content!!!!! Can you pleaaseee do a video on vSLAM - comparing Inter RealSense T265 + D435 vs TaraXL!!! Would love to hear what you have to say!

  • @David97312
    @David97312 5 лет назад

    Thank you so much for your video. How can I connect Raspberry Pi 4 with Jetson Nano?

    • @JetsonHacks
      @JetsonHacks  5 лет назад +1

      There are several ways. Ethernet, USB, and I2C come to mind. Thanks for watching!

  • @PeterSosinski
    @PeterSosinski 5 лет назад +2

    great intro Jim. lol.

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      All I have to do is turn the camera on, the drama writes itself. Thanks for watching!

  • @empty0303
    @empty0303 5 лет назад +1

    thank you so much

    • @JetsonHacks
      @JetsonHacks  5 лет назад

      You are welcome, and thanks for watching!

  • @tobystewart4403
    @tobystewart4403 5 лет назад +1

    cool and groovy!

  • @itsmeintorrespain2714
    @itsmeintorrespain2714 4 года назад

    Hi. I have run your script on a clean install of Jetpack 4.2 which, I believe, is the one you use in this video.
    After the initial Ubuntu setup palaver I do a sudo apt-get update and then install git.Then I run your script which seems to run perfectly and I get added to the groups etc, etc. I wire my PCA9685 to pins 27 & 28 (i2C_0). Then I copy the first few lines of your servoPlay.py script into a file I call servoTest.py and when I run it I always get this error :
    from adafruit_servokit import ServoKit
    import board
    import busio
    import time
    i2c_bus0 = (busio.I2C(board.SCL_1, board.SDA_1))
    kit = ServoKit(channels=16, i2c = i2c_bus0)
    Traceback (most recent call last):
    File "servoTest.py", line 6, in
    i2c_bus0 = (busio.I2C(board.SCL_1, board.SDA_1))
    File "/usr/local/lib/python3.6/dist-packages/busio.py", line 31, in __init__
    self.init(scl, sda, frequency)
    File "/usr/local/lib/python3.6/dist-packages/busio.py", line 59, in init
    from machine import I2C as _I2C
    ModuleNotFoundError: No module named 'machine'
    The error seems to indicate that the Jetson Nano board is not being detected and I have not found any references to this particular problem anywhere.
    Have you any ideas as to why I seem to be the only one suffering this?
    Thanks in advance for any reply.

    • @JetsonHacks
      @JetsonHacks  4 года назад

      The error message indicates that it can not find the Python module machine. Have you tried: ruclips.net/video/eImDQ0PVu2Y/видео.html

  • @huseman21
    @huseman21 3 года назад

    great now lets do it with a jetson tx2 and rviz

    • @JetsonHacks
      @JetsonHacks  3 года назад

      As far as I know, it's the same as on the TX1: ruclips.net/video/AVAzePauK2w/видео.html

    • @huseman21
      @huseman21 3 года назад

      @@JetsonHacks Can find anyway of changing the i2c port for the tx2.

    • @JetsonHacks
      @JetsonHacks  3 года назад

      @@huseman21 What did you try?

  • @ozy5332
    @ozy5332 5 лет назад +1

    Namaste

  • @softwarelabstelecast
    @softwarelabstelecast 4 года назад

    Has anyone received this error when installing the game pad? Thanks for the tutorials! They're helpful.
    Collecting approxeng.input
    Using cached files.pythonhosted.org/packages/1c/27/418500122ddff3e29355c5f248b20690555102c59037961968583262ae55/approxeng.input-2.4.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
    File "", line 1, in
    File "/tmp/pip-build-t2inutxw/approxeng.input/setup.py", line 2, in
    from setuptools import setup, find_namespace_packages
    ImportError: cannot import name 'find_namespace_packages'
    ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-t2inutxw/approxeng.input/

  • @rchobby7564
    @rchobby7564 2 года назад

    Hi! Love your tutorials! I have followed the steps and things went well, but I got an error below when I input from 'adafruit_servokit import ServoKit'
    File "", line 1, in
    File "/usr/local/lib/python3.6/dist-packages/adafruit_servokit.py", line 35, in
    import board
    File "/usr/local/lib/python3.6/dist-packages/board.py", line 39, in
    import adafruit_platformdetect.constants.boards as ap_board
    File "/usr/local/lib/python3.6/dist-packages/adafruit_platformdetect/__init__.py", line 10, in
    from .board import Board
    File "/usr/local/lib/python3.6/dist-packages/adafruit_platformdetect/board.py", line 24
    from __future__ import annotations
    ^
    SyntaxError: future feature annotations is not defined
    Help me

    • @JetsonHacks
      @JetsonHacks  2 года назад

      It's probably a Python version issue. Do you have the Python futures module installed?

    • @rchobby7564
      @rchobby7564 2 года назад

      @@JetsonHacks What module is needed? . How to install it?

    • @rchobby7564
      @rchobby7564 2 года назад

      @@JetsonHacks I tried to install a new version of python but nothing worked for me. How to install a new version of python correctly?

    • @JetsonHacks
      @JetsonHacks  2 года назад

      @@rchobby7564 It's hard to tell what you are doing from the description. I can not tell which version of Python you are using, or the version of JetPack.

    • @rchobby7564
      @rchobby7564 2 года назад

      @@JetsonHacks Can you tell me how to update the python version to jetson nano? (I have version 3.6.9).

  • @henkoegema6390
    @henkoegema6390 2 года назад

    henkoegema@JetsonNano:
    What could be the error here? :
    (JetsonNano 2GB)
    ~/Documents/ServoKit$ ./installServoKit.sh
    cp: cannot stat '/opt/nvidia/jetson-gpio/etc/99-gpio.rules': No such file or directory
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    python3-pip is already the newest version (9.0.1-2.3~ubuntu1.18.04.5).
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Collecting adafruit-circuitpython-servokit
    Downloading files.pythonhosted.org/packages/a2/65/5da8d1d4a22701fedf9dbae9094e40185d58be25b86175eb0861d55398a5/adafruit-circuitpython-servokit-1.3.10.tar.gz
    Complete output from command python setup.py egg_info:
    /usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
    warnings.warn(msg)
    Traceback (most recent call last):
    File "", line 1, in
    File "/tmp/pip-build-tb0z96hc/adafruit-circuitpython-servokit/setup.py", line 61, in
    py_modules=["adafruit_servokit"],
    File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
    File "/usr/lib/python3.6/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
    File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 372, in __init__
    _Distribution.__init__(self, attrs)
    File "/usr/lib/python3.6/distutils/dist.py", line 281, in __init__
    self.finalize_options()
    File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 528, in finalize_options
    ep.load()(self, ep.name, value)
    File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2324, in load
    return self.resolve()
    File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
    File "/tmp/pip-build-tb0z96hc/adafruit-circuitpython-servokit/.eggs/setuptools_scm-7.0.0-py3.6.egg/setuptools_scm/__init__.py", line 5
    from __future__ import annotations
    ^
    SyntaxError: future feature annotations is not defined
    ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-tb0z96hc/adafruit-circuitpython-servokit/
    henkoegema@JetsonNano:~/Documents/ServoKit$