Raspberry Pi Relay Board v1.0

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Ответить
evgeny241
Сообщения: 1
Зарегистрирован: Пн дек 14, 2015 3:36 pm
Благодарил (а): 0
Поблагодарили: 0

Raspberry Pi Relay Board v1.0

Сообщение evgeny241 » Пн дек 14, 2015 3:38 pm

подскажите можно как то затянуть сию плату ?чтобы управлять 4мя нагрузками ? лучше с примером

в комплекте шел скрипт на питоне из него из командной строки все включается и выключается .
import time
import smbus
import signal
import sys
bus = smbus.SMBus(1) # 0 = /dev/i2c-0 (port I2C0), 1 = /dev/i2c-1 (port
I2C1)
class Relay():
global bus
def __init__(self):
self.DEVICE_ADDRESS = 0x20 #7 bit address (will be left shifted
to add the read write bit)
self.DEVICE_REG_MODE1 = 0x06
self.DEVICE_REG_DATA = 0xff
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)

def ON_1(self):
print 'ON_1...'
self.DEVICE_REG_DATA &= ~(0x1<<0)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)
def ON_2(self):
print 'ON_2...'
self.DEVICE_REG_DATA &= ~(0x1<<1)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)
def ON_3(self):
print 'ON_3...'
self.DEVICE_REG_DATA &= ~(0x1<<2)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)
def ON_4(self):
print 'ON_4...'
self.DEVICE_REG_DATA &= ~(0x1<<3)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)

def OFF_1(self):
print 'OFF_1...'
self.DEVICE_REG_DATA |= (0x1<<0)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)

def OFF_2(self):
print 'OFF_2...'
self.DEVICE_REG_DATA |= (0x1<<1)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)
def OFF_3(self):
print 'OFF_3...'
self.DEVICE_REG_DATA |= (0x1<<2)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)

def OFF_4(self):
print 'OFF_4...'
self.DEVICE_REG_DATA |= (0x1<<3)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)

def ALLON(self):
print 'ALLON...'
self.DEVICE_REG_DATA &= ~(0xf<<0)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)

def ALLOFF(self):
print 'ALLOFF...'
self.DEVICE_REG_DATA |= (0xf<<0)
bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1,
self.DEVICE_REG_DATA)
if __name__=="__main__":
relay = Relay()
# Called on process interruption. Set all pins to "Input" default mode.
def endProcess(signalnum = None, handler = None):
relay.ALLOFF()
sys.exit()
signal.signal(signal.SIGINT, endProcess)
while True:
ct = raw_input("input: ")
if ct == '1on':
relay.ON_1()
elif ct == '2on':
relay.ON_2()
elif ct == '3on':
relay.ON_3()
elif ct == '4on':
relay.ON_4()
elif ct == '1off':
relay.OFF_1()
elif ct == '2off':
relay.OFF_2()
elif ct == '3off':
relay.OFF_3()
elif ct == '4off':
relay.OFF_4()
elif ct == 'allon':
relay.ALLON()
elif ct == 'alloff':
relay.ALLOFF()

но как его сюда прикрутить ... готов обсудить условия кто поможет
Ответить