Untitled
unknown
python
5 months ago
2.4 kB
4
Indexable
import RPi.GPIO as GPIO import time # Konfiguracja pinów GPIO GPIO.setmode(GPIO.BCM) # U?ywamy numeracji BCM (nie fizycznej numeracji pinów) GPIO.setwarnings(False) # Definicje pinów dla silników motor1_pin1 = 12 # Pin GPIO dla pierwszego kierunku silnika 1 motor1_pin2 = 13 # Pin GPIO dla drugiego kierunku silnika 1 motor2_pin1 = 14 # Pin GPIO dla pierwszego kierunku silnika 2 motor2_pin2 = 15 # Pin GPIO dla drugiego kierunku silnika 2 # Ustawianie pinów jako wyj?cia GPIO.setup(motor1_pin1, GPIO.OUT) GPIO.setup(motor1_pin2, GPIO.OUT) GPIO.setup(motor2_pin1, GPIO.OUT) GPIO.setup(motor2_pin2, GPIO.OUT) # Konfiguracja PWM pwm_motor1_pin1 = GPIO.PWM(motor1_pin1, 1000) # 1000 Hz dla PWM pwm_motor1_pin2 = GPIO.PWM(motor1_pin2, 1000) pwm_motor2_pin1 = GPIO.PWM(motor2_pin1, 1000) pwm_motor2_pin2 = GPIO.PWM(motor2_pin2, 1000) # Start PWM z wype?nieniem 0 (wy??czony silnik) pwm_motor1_pin1.start(0) pwm_motor1_pin2.start(0) pwm_motor2_pin1.start(0) pwm_motor2_pin2.start(0) # Funkcja do sterowania pierwszym silnikiem (silnik 1) def control_motor1(speed, direction): if direction == "forward": pwm_motor1_pin1.ChangeDutyCycle(speed) pwm_motor1_pin2.ChangeDutyCycle(0) elif direction == "backward": pwm_motor1_pin1.ChangeDutyCycle(0) pwm_motor1_pin2.ChangeDutyCycle(speed) # Funkcja do sterowania drugim silnikiem (silnik 2) def control_motor2(speed, direction): if direction == "forward": pwm_motor2_pin1.ChangeDutyCycle(speed) pwm_motor2_pin2.ChangeDutyCycle(0) elif direction == "backward": pwm_motor2_pin1.ChangeDutyCycle(0) pwm_motor2_pin2.ChangeDutyCycle(speed) try: while True: # Przyk?ad dzia?ania: # Silnik 1 do przodu z 50% pr?dko?ci? control_motor1(50, "forward") # Silnik 2 do ty?u z 70% pr?dko?ci? control_motor2(70, "backward") time.sleep(5) # Zmiana kierunku control_motor1(50, "backward") control_motor2(70, "forward") time.sleep(5) except KeyboardInterrupt: pass # Przerywamy program gdy u?ytkownik naci?nie Ctrl+C # Czyszczenie ustawie? GPIO po zako?czeniu programu pwm_motor1_pin1.stop() pwm_motor1_pin2.stop() pwm_motor2_pin1.stop() pwm_motor2_pin2.stop() GPIO.cleanup()
Editor is loading...
Leave a Comment