Wheel.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import wiringpi
  2. class Wheel:
  3. __pin1=0
  4. __pin2=0
  5. # 初始化轮
  6. def __init__(self,pin1,pin2,pwm):
  7. self.__pin1=pin1
  8. self.__pin2=pin2
  9. wiringpi.pinMode(self.__pin1,1)
  10. wiringpi.pinMode(self.__pin2,1)
  11. wiringpi.digitalWrite(self.__pin1,0)
  12. wiringpi.digitalWrite(self.__pin2,0)
  13. # 设置pwm使能
  14. self.__pwm=pwm
  15. wiringpi.pinMode(self.__pwm,1)
  16. # 设置周期10ms的pwm控制,0.1*100=10,并初始化占空比为0%,无速度
  17. # wiringpi.pwmSetClock(2)
  18. wiringpi.softPwmCreate(self.__pwm,0,100)
  19. wiringpi.softPwmWrite(self.__pwm,0)
  20. # 前转
  21. def forward(self):
  22. wiringpi.digitalWrite(self.__pin1,1)
  23. wiringpi.digitalWrite(self.__pin2,0)
  24. # 后转
  25. def backward(self):
  26. wiringpi.digitalWrite(self.__pin1,0)
  27. wiringpi.digitalWrite(self.__pin2,1)
  28. # 停止
  29. def stop(self):
  30. wiringpi.digitalWrite(self.__pin1,0)
  31. wiringpi.digitalWrite(self.__pin2,0)
  32. # 设置速度
  33. def setSpeed(self,speed):
  34. if speed<0 or speed>100:
  35. return
  36. wiringpi.softPwmWrite(self.__pwm,speed)