Имеется Raspberry PI, Сервомашинка и кулер комповый 4пин(ШИМ)
2 скрипта отвечающих за:
1. управление сервой при помощи 2 кнопок
#!/usr/bin/python import time from RPIO import PWM PWM.setup() PWM.init_channel(1) servo = PWM.Servo() servo.set_servo(7, 1500) from RPi import GPIO button1Pin = 18 button2Pin = 15 GPIO.setmode(GPIO.BCM) GPIO.setup(button1Pin, GPIO.IN) GPIO.setup(button2Pin, GPIO.IN) try: while True: if not GPIO.input(button1Pin): servo.set_servo(7, 1800) time.sleep(1) elif not GPIO.input(button2Pin): servo.set_servo(7, 1200) time.sleep(1) else: servo.stop_servo(7) time.sleep(1) except KeyboardInterrupt: servo.stop_servo(7) PWM.clear_channel_gpio(1, 7)
#!/usr/bin/python # _*_ coding: cp1251 _*_ from RPIO import PWM import time import datetime #time on HOUR_OFF = 0 #MIN_ON = 59 #time off HOUR_ON =7 #MIN_OFF = 25 # Setup PWM and DMA channel 0 PWM.setup() PWM.init_channel(1) # Add some pulses to the subcycle PWM.add_channel_pulse(1, 25, 0, 0) try: while True: tf=open("/sys/bus/w1/devices/28-000003352199/w1_slave") tt=tf.read() tf.close() td=tt.split("\n")[1].split(" ") [9] t=float(td[2:]) now = datetime.datetime.now() if (HOUR_ON <= now.hour) : # 8 <= 11 if (t >= 27500) and (t <= 28000): PWM.add_channel_pulse(1, 25, 0, 200) elif (t >= 28010) and (t <= 28500): PWM.add_channel_pulse(1, 25, 0, 400) elif (t >= 28510) and (t <= 29000): PWM.add_channel_pulse(1, 25, 0, 600) elif (t >= 29010) and (t <= 29500): PWM.add_channel_pulse(1, 25, 0, 800) elif (t >= 29510) and (t <= 30000): PWM.add_channel_pulse(1, 25, 0, 1000) elif (t >= 30010): PWM.add_channel_pulse(1, 25, 0, 1600) else: PWM.add_channel_pulse(1, 25, 0, 0) #print "on", (t/1000) #print now.hour time.sleep(1) else: PWM.add_channel_pulse(1, 25, 0, 0) time.sleep(1) #print "off", (t/1000) #print now.hour except KeyboardInterrupt: PWM.clear_channel_gpio(1, 25) PWM.cleanup()
Помогите пожалуйста разобраться в проблеме. У меня подозрение что нормально работает только первый запущенный скрипт, второй же запускается нормально без ошибок но на деле не работает(