Today you can see some of my recent experiments with motors running on the Jetson Nano , an old but dirty cheap grbl board and other fun stuff.
All projects you can see in this video are low powered and battery driven. The examples are kept simple to
- Jetson Nano connected to the InMoov robot arm through a PCA9685 servo motor driver.
- Stepper driver motors connected to a grbl board. Can be controlled via bluetooth, usb cable or telnet
- Stepper driver motors connected to three external stepper motor driver boards controlled via touch screen connected to an esp32
For the first example I wrote a quick and simple python script moving the robots thumb and fingers
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# SDA = pin.SDA_1 # SCL = pin.SCL_1 # SDA_1 = pin.SDA # SCL_1 = pin.SCL from adafruit_servokit import ServoKit import board import busio import time # On the Jetson Nano # Bus 0 (pins 28,27) is board SCL_1, SDA_1 in the jetson board definition file # Bus 1 (pins 5, 3) is board SCL, SDA in the jetson definition file # Default is to Bus 1; We are using Bus 0, so we need to construct the busio first ... print("Initializing Servos") i2c_bus1=(busio.I2C(board.SCL, board.SDA)) print("Initializing ServoKit") kit = ServoKit(channels=16, i2c=i2c_bus1) # kit[0] is THUMB # kit[1] is INDEX # kit[2] is MIDDLE # kit[3] is RING # kit[4] is PINKY # kit[5] is WRIST print("Done initializing") sweep = range(100,20, -1) for degree in sweep : kit.servo[0].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[1].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[2].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[3].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[4].angle=degree time.sleep(0.001) time.sleep(0.75) sweep = range(20,100) for degree in sweep : kit.servo[4].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[3].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[2].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[1].angle=degree time.sleep(0.001) time.sleep(0.01) for degree in sweep : kit.servo[0].angle=degree time.sleep(0.001) |