danke für deine Hilfe. hab den Fehler gefunden....die servos waren leider defekt daher das eigenartige Verhalten.
Beiträge von KUNES
-
-
das ist der code servo.py wo die servos auf 90° gestellt werden dieser funktioniert ohne probleme d.h kein zittern oder weitedrehen der servos
Python
Alles anzeigen#coding:utf-8 import Adafruit_PCA9685 import time class Servo: def __init__(self): self.pwm = Adafruit_PCA9685.PCA9685() self.pwm.set_pwm_freq(50) # Set the cycle frequency of PWM #Convert the input angle to the value of pca9685 def setServoAngle(self,channel, angle): date = 4096 * ((angle * 10) + 850) / 20000 self.pwm.set_pwm(channel, 0, int(date)) # Main program logic follows: if __name__ == '__main__': print ('Program is starting ... ') S=Servo() while True: try: for i in range(16): S.setServoAngle(i,90) except KeyboardInterrupt: print ("\nEnd of program") break
-
sorry eh klar das es eine kommandozeile war...war ein wenig neben der spur..
das wäre der code von test.py
Python
Alles anzeigenimport time from Led import * led=Led() def test_Led(): try: #Red wipe print ("\nRed wipe") led.colorWipe(led.strip, Color(255, 0, 0)) time.sleep(1) #Green wipe print ("\nGreen wipe") led.colorWipe(led.strip, Color(0, 255, 0)) time.sleep(1) #Blue wipe print ("\nBlue wipe") led.colorWipe(led.strip, Color(0, 0, 255)) time.sleep(1) #White wipe print ("\nWhite wipe") led.colorWipe(led.strip, Color(255, 255, 255)) time.sleep(1) led.colorWipe(led.strip, Color(0, 0, 0)) #turn off the light print ("\nEnd of program") except KeyboardInterrupt: led.colorWipe(led.strip, Color(0, 0, 0)) #turn off the light print ("\nEnd of program") from Ultrasonic import * ultrasonic=Ultrasonic() def test_Ultrasonic(): try: while True: data=ultrasonic.getDistance() #Get the value print ("Obstacle distance is "+str(data)+"CM") time.sleep(1) except KeyboardInterrupt: print ("\nEnd of program") from Servo import * servo=Servo() def test_Servo(): try: for i in range(90): servo.setServoAngle(4,90-i) servo.setServoAngle(7,90-i) servo.setServoAngle(8,90+i) servo.setServoAngle(11,90+i) time.sleep(0.01) for i in range(90): servo.setServoAngle(2,90-i) servo.setServoAngle(5,90-i) servo.setServoAngle(10,90+i) servo.setServoAngle(13,90+i) time.sleep(0.01) for i in range(60): servo.setServoAngle(3,90-i) servo.setServoAngle(6,90-i) servo.setServoAngle(9,90+i) servo.setServoAngle(12,90+i) time.sleep(0.01) print ("\nEnd of program") except KeyboardInterrupt: print ("\nEnd of program")
-
Hallo _deets_ danke für die schnelle Antwort, sorry meinst du diesen Code
sudo python test. py Servo
-
Hallo miteinander. Ich bin ein ziemlicher neuling in Bezug auf Raspberry Pi etc. Hier mein Problem in der Hoffnung jemand hat die Lösung danke dafür. Ich hab mir einen ROBOT dog von freenove zugelegt und damit ein kleines oder großes Problem. Bei der Kalibrierung der servos mit 90°grad funktionieren die servos ohne Probleme aber wenn ich den test wie in der Anleitung
sudo python test. py Servo
Mache funktioniert dies auf einer seite des ROBOT dogs ohne probleme die zweite seite nicht. Da drehen sich die servos die ganze zeit. Verkabelung schon mehrmals kontrolliert auch die servos von der anderenseite zum testen an die andere angeschlossen... gleiches fehlerbild. Ich gehe davon aus das ein programmier Fehler ist aber ich komme einfach nicht darauf vielleicht kann mir jemand Tipps geben. Vielen Dank
-
Hallo miteinander. Ich bin ein ziemlicher neuling in Bezug auf Raspberry Pi etc. Hier mein Problem in der Hoffnung jemand hat die Lösung danke dafür. Ich hab mir einen ROBOT dog von freenove zugelegt und damit ein kleines oder großes Problem. Bei der Kalibrierung der servos mit 90°grad funktionieren die servos ohne Probleme aber wenn ich den test wie in der Anleitung
sudo python test. py Servo
Mache funktioniert dies auf einer seite des ROBOT dogs ohne probleme die zweite seite nicht. Da drehen sich die servos die ganze zeit. Verkabelung schon mehrmals kontrolliert auch die servos von der anderenseite zum testen an die andere angeschlossen... gleiches fehlerbild. Ich gehe davon aus das ein programmier Fehler ist aber ich komme einfach nicht darauf vielleicht kann mir jemand Tipps geben. Vielen Dank