fan controller added

main
Petr Sorokoumov 4 weeks ago
parent c097ae4605
commit 7a3f57a4b6

@ -41,3 +41,6 @@ docker pull ros:jazzy-ros-core
3) запустить образ:
docker run -it --rm ros:jazzy-ros-core
## Управление вентилятором
Класс управления вентилятором находится в файле wave_rover_controller/fan_gpio. При создании надо указать номер контакта на разъёме Raspberry Pi (от 1 до 40), через который будет выполняться управления. Методы enable и disable включают и выключают транзисторный ключ вентилятора, метод finish желательно вызвать по окончании работы. Пример запуска есть в конце этого же файла.

@ -0,0 +1,36 @@
# controller for fan using Raspberry Pi GPIO interface
import RPi.GPIO as GPIO
class GPIOController:
def __init__(self, board_pin):
# start processing using board numbering
# (all pins are numbered from 1 to 40)
GPIO.setmode(GPIO.BOARD)
self.board_pin = board_pin
GPIO.setup(self.board_pin, GPIO.OUT)
def enable(self):
# set high output on the pin
GPIO.output(self.board_pin, GPIO.HIGH)
def disable(self):
# set low output on the pin
GPIO.output(self.board_pin, GPIO.LOW)
def finish(self):
# drop settings of the pin
GPIO.cleanup(self.board_pin)
if __name__ == '__main__':
import time
gc = GPIOController(13)
print('testing in progress...')
for i in range(10):
gc.enable()
time.sleep(5)
gc.disable()
time.sleep(5)
gc.finish()
print('testing finished')
Loading…
Cancel
Save