Outils pour utilisateurs

Outils du site


raspberry_pi:controle_led_rgb

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
raspberry_pi:controle_led_rgb [22/02/2015 00:18]
sky99
raspberry_pi:controle_led_rgb [22/02/2015 05:16] (Version actuelle)
sky99
Ligne 30: Ligne 30:
 #​!/​usr/​bin/​python #​!/​usr/​bin/​python
 from Adafruit_I2C import Adafruit_I2C from Adafruit_I2C import Adafruit_I2C
 +from Adafruit_MCP230xx import Adafruit_MCP230XX
 import smbus import smbus
 import time import time
-MCP23017_IODIRA = 0x00 
-MCP23017_IODIRB = 0x01 
-MCP23017_GPIOA ​ = 0x12 
-MCP23017_GPIOB ​ = 0x13 
-MCP23017_GPPUA ​ = 0x0C 
-MCP23017_GPPUB ​ = 0x0D 
-MCP23017_OLATA ​ = 0x14 
-MCP23017_OLATB ​ = 0x15 
-MCP23008_GPIOA ​ = 0x09 
-MCP23008_GPPUA ​ = 0x06 
-MCP23008_OLATA ​ = 0x0A 
-class Adafruit_MCP230XX(object):​ 
- OUTPUT = 0 
- INPUT = 1 
- def __init__(self,​ address, num_gpios, busnum = 0): 
- assert num_gpios >= 0 and num_gpios <= 16, "​Number of GPIOs must be between 0 and 16" 
- self.i2c = Adafruit_I2C(address=address,​ bus=smbus.SMBus(busnum))  
- self.address = address 
- self.num_gpios = num_gpios 
- # set defaults 
- if num_gpios <= 8: 
- self.i2c.write8(MCP23017_IODIRA,​ 0xFF)  # all inputs on port A 
- self.direction = self.i2c.readU8(MCP23017_IODIRA) 
- self.i2c.write8(MCP23008_GPPUA,​ 0x00) 
- elif num_gpios > 8 and num_gpios <= 16: 
- self.i2c.write8(MCP23017_IODIRA,​ 0xFF)  # all inputs on port A 
- self.i2c.write8(MCP23017_IODIRB,​ 0xFF)  # all inputs on port B 
- self.direction = self.i2c.readU8(MCP23017_IODIRA) 
- self.direction |= self.i2c.readU8(MCP23017_IODIRB) << 8 
- self.i2c.write8(MCP23017_GPPUA,​ 0x00) 
- self.i2c.write8(MCP23017_GPPUB,​ 0x00) 
-  ​ 
- def _changebit(self,​ bitmap, bit, value): 
- assert value == 1 or value == 0, "Value is %s must be 1 or 0" % value 
- if value == 0: 
- return bitmap & ~(1 << bit) 
- elif value == 1: 
- return bitmap | (1 << bit) 
- def _readandchangepin(self,​ port, pin, value, currvalue = None): 
- assert pin >= 0 and pin < self.num_gpios,​ "Pin number %s is invalid, only 0-%s are valid" % (pin, self.num_gpios) 
- #assert self.direction & (1 << pin) == 0, "Pin %s not set to output"​ % pin 
- if not currvalue: 
- currvalue = self.i2c.readU8(port) 
- newvalue = self._changebit(currvalue,​ pin, value) 
- self.i2c.write8(port,​ newvalue) 
- return newvalue 
  
- def pullup(self,​ pin, value): 
- if self.num_gpios <= 8: 
- return self._readandchangepin(MCP23008_GPPUA,​ pin, value) 
- if self.num_gpios <= 16: 
- if (pin < : 
- return self._readandchangepin(MCP23017_GPPUA,​ pin, value) 
- else: 
- return self._readandchangepin(MCP23017_GPPUB,​ pin-8, value) 
- # Set pin to either input or output mode 
- def config(self,​ pin, mode):​   ​ 
- if self.num_gpios <= 8: 
- self.direction = self._readandchangepin(MCP23017_IODIRA,​ pin, mode) 
- if self.num_gpios <= 16: 
- if (pin < <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>:​ 
- self.direction = self._readandchangepin(MCP23017_IODIRA,​ pin, mode) 
- else: 
- self.direction = self._readandchangepin(MCP23017_IODIRB,​ pin-8, mode) 
- return self.direction 
- def output(self,​ pin, value): 
- # assert self.direction & (1 << pin) == 0, "Pin %s not set to output"​ % pin 
- if self.num_gpios <= 8: 
- self.outputvalue = self._readandchangepin(MCP23008_GPIOA,​ pin, value, self.i2c.readU8(MCP23008_OLATA)) 
- if self.num_gpios <= 16: 
- if (pin < <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>:​ 
- self.outputvalue = self._readandchangepin(MCP23017_GPIOA,​ pin, value, self.i2c.readU8(MCP23017_OLATA)) 
- else: 
- self.outputvalue = self._readandchangepin(MCP23017_GPIOB,​ pin-8, value, self.i2c.readU8(MCP23017_OLATB)) 
- return self.outputvalue 
- 
- self.outputvalue = self._readandchangepin(MCP23017_IODIRA,​ pin, value, self.outputvalue) 
- return self.outputvalue 
-   ​ 
- def input(self, pin): 
- assert pin >= 0 and pin < self.num_gpios,​ "Pin number %s is invalid, only 0-%s are valid" % (pin, self.num_gpios) 
- assert self.direction & (1 << pin) != 0, "Pin %s not set to input" % pin 
- if self.num_gpios <= 8: 
- value = self.i2c.readU8(MCP23008_GPIOA) 
- elif self.num_gpios > 8 and self.num_gpios <= 16: 
- value = self.i2c.readU16(MCP23017_GPIOA) 
- temp = value >> 8 
- value <<= 8 
- value |= temp 
- return value & (1 << pin) 
-def readU8(self):​ 
-  result = self.i2c.readU8(MCP23008_OLATA) 
-  return(result) 
-def readS8(self):​ 
-  result = self.i2c.readU8(MCP23008_OLATA) 
-  if (result > 127): result -= 256 
-  return result 
-def readU16(self):​ 
-  assert self.num_gpios >= 16, "​16bits required"​ 
-  lo = self.i2c.readU8(MCP23017_OLATA) 
-  hi = self.i2c.readU8(MCP23017_OLATB) 
-  return((hi << <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>​ | lo) 
-def readS16(self):​ 
-  assert self.num_gpios >= 16, "​16bits required"​ 
-  lo = self.i2c.readU8(MCP23017_OLATA) 
-  hi = self.i2c.readU8(MCP23017_OLATB) 
-  if (hi > 127): hi -= 256 
-  return((hi << <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>​ | lo) 
-def write8(self,​ value): 
-  self.i2c.write8(MCP23008_OLATA,​ value) 
-def write16(self,​ value): 
-  assert self.num_gpios >= 16, "​16bits required"​ 
-  self.i2c.write8(MCP23017_OLATA,​ value & 0xFF) 
-  self.i2c.write8(MCP23017_OLATB,​ (value >> ​ & 0xFF)   ​ 
-# RPi.GPIO compatible interface for MCP23017 and MCP23008 
-class MCP230XX_GPIO(object):​ 
- OUT = 0 
- IN = 1 
- BCM = 0 
- BOARD = 0 
- def __init__(self,​ busnum, address, num_gpios): 
- self.chip = Adafruit_MCP230XX(busnum,​ address, num_gpios) 
- def setmode(self,​ mode): 
- # do nothing 
- pass 
- def setup(self, pin, mode): 
- self.chip.config(pin,​ mode) 
- def input(self, pin): 
- return self.chip.input(pin) 
- def output(self,​ pin, value): 
- self.chip.output(pin,​ value) 
- def pullup(self,​ pin, value): 
- self.chip.pullup(pin,​ value) 
-   ​ 
 def lightRGBLed(rState,​gState,​bState,​rPin,​gPin,​bPin):​ def lightRGBLed(rState,​gState,​bState,​rPin,​gPin,​bPin):​
- mcp.output(rPin,​ rState) +    ​mcp.output(rPin,​ rState) 
- mcp.output(gPin,​ gState) +    mcp.output(gPin,​ gState) 
- mcp.output(bPin,​ bState) +    mcp.output(bPin,​ bState) 
 +
 def lightRGBLed2(color,​rPin,​gPin,​bPin):​ def lightRGBLed2(color,​rPin,​gPin,​bPin):​
- if color == '​red':​ +    ​if color == '​red':​ 
- lightRGBLed(1,0,0,​rPin,​gPin,​bPin) +        lightRGBLed(0,​1,1,​rPin,​gPin,​bPin) 
- elif color == '​green':​ +    elif color == '​green':​ 
- lightRGBLed(0,1,​0,​rPin,​gPin,​bPin) +        lightRGBLed(1,​0,1,​rPin,​gPin,​bPin) 
- elif color == '​blue':​ +    elif color == '​blue':​ 
- lightRGBLed(0,0,​1,​rPin,​gPin,​bPin) +        lightRGBLed(1,1,0,​rPin,​gPin,​bPin) 
- elif color == '​yellow':​ +    elif color == '​yellow':​ 
- lightRGBLed(1,1,​0,​rPin,​gPin,​bPin) +        lightRGBLed(0,0,1,​rPin,​gPin,​bPin) 
- elif color == '​magenta':​ +    elif color == '​magenta':​ 
- lightRGBLed(1,0,​1,​rPin,​gPin,​bPin) +        lightRGBLed(0,​1,0,​rPin,​gPin,​bPin) 
- elif color == '​cyan':​ +    elif color == '​cyan':​ 
- lightRGBLed(0,1,1,​rPin,​gPin,​bPin) +        lightRGBLed(1,​0,0,​rPin,​gPin,​bPin) 
- elif color == '​white':​ +    elif color == '​white':​ 
- lightRGBLed(1,1,1,​rPin,​gPin,​bPin) +        lightRGBLed(0,0,0,​rPin,​gPin,​bPin) 
-  +    
 if __name__ == '​__main__':​ if __name__ == '​__main__':​
- mcp = Adafruit_MCP230XX(busnum = 1, address = 0x20, num_gpios = 16) +    ​mcp = Adafruit_MCP230XX(busnum = 1, address = 0x20, num_gpios = 16) 
- r1=10 +    r1=7 
- g1=8 +    g1=6 
- b1=9 +    b1=5 
- mcp.config(b1,​ mcp.OUTPUT) +    mcp.config(b1,​ mcp.OUTPUT) 
- mcp.config(g1,​ mcp.OUTPUT) +    mcp.config(g1,​ mcp.OUTPUT) 
- mcp.config(r1,​ mcp.OUTPUT) +    mcp.config(r1,​ mcp.OUTPUT)
- while (True):+
  
-   ​print "​off"​ +    while (True): 
-   lightRGBLed(0,​0,0,​r1,​g1,​b1) +      ​print "​off"​ 
-   ​time.sleep(1) +      lightRGBLed(1,​1,​1,​r1,​g1,​b1) 
-  ​ +      time.sleep(1) 
-   print "rouge" +   ​ 
-   lightRGBLed(1,​0,​0,​r1,​g1,​b1) +      print "​red"​ 
-   ​time.sleep(1) +      ​lightRGBLed(0,​1,1,​r1,​g1,​b1) 
-   +      time.sleep(1) 
-   ​print "vert" ​  +   ​ 
-   ​lightRGBLed(0,​1,​0,​r1,​g1,​b1) +      ​print "green"​   ​ 
-   ​time.sleep(1)+      ​lightRGBLed(1,​0,​1,​r1,​g1,​b1) 
 +      time.sleep(1) 
 +  
 +      print "blue"  
 +      lightRGBLed(1,​1,​0,​r1,​g1,​b1) 
 +      time.sleep(1)
  
-   ​print "bleu" +      ​print "green+blue"​   ​ 
-   lightRGBLed(0,​0,1,​r1,​g1,​b1) +      ​lightRGBLed(1,0,​0,​r1,​g1,​b1) 
-   ​time.sleep(1)+      time.sleep(1)
  
-   ​print "vert+bleu" ​  +      ​print "red+blue"​   ​ 
-   lightRGBLed(0,​1,​1,​r1,​g1,​b1) +      ​lightRGBLed(0,​1,​0,​r1,​g1,​b1) 
-   ​time.sleep(1)+      time.sleep(1)
  
-   ​print "rouge+bleu" ​  +      ​print "red+green"​   ​ 
-   lightRGBLed(1,​0,​1,​r1,​g1,​b1) +      ​lightRGBLed(0,​0,​1,​r1,​g1,​b1) 
-   ​time.sleep(1)+      time.sleep(1)
  
-   ​print "rouge+vert" ​  +      ​print "red+green+blue"   ​ 
-   ​lightRGBLed(1,1,​0,​r1,​g1,​b1) +      lightRGBLed(0,0,​0,​r1,​g1,​b1) 
-   time.sleep(1) +      time.sleep(1)
- +
-   print "​rouge+vert+bleu" ​  +
-   lightRGBLed(1,​1,​1,​r1,​g1,​b1) +
-   ​time.sleep(1)+
 </​file>​ </​file>​
  
Ligne 235: Ligne 103:
 La différence c'est qu'​ici,​ pour allumer une couleur, il faudra mettre le GPIO correspondant à 0. La différence c'est qu'​ici,​ pour allumer une couleur, il faudra mettre le GPIO correspondant à 0.
 Si le GPIO est à 0, il est à 0V. Donc, le courant entre par l'​anode a +3.3V, cela fait une tension de 3.3V au bornes de la DEL. En revanche, si on met le GPIO à 1, il sera à 3.3V. Ce qui fait qu'a chaque borne de la DEL, on a du +3.3V. du coup la tension aux bornes de celle ci est de 0V, et elle reste éteinte! Si le GPIO est à 0, il est à 0V. Donc, le courant entre par l'​anode a +3.3V, cela fait une tension de 3.3V au bornes de la DEL. En revanche, si on met le GPIO à 1, il sera à 3.3V. Ce qui fait qu'a chaque borne de la DEL, on a du +3.3V. du coup la tension aux bornes de celle ci est de 0V, et elle reste éteinte!
-Le code est donc inversé, puisqu'​il faut passer le GPIO à 0 pour allumer, et à 1 pour éteindre+Le code est donc inversé, puisqu'​il faut passer le GPIO à 0 pour allumer, et à 1 pour éteindre.
- +
-<file python colorChangeCC.py > +
-#​!/​usr/​bin/​python +
-from Adafruit_I2C import Adafruit_I2C +
-import smbus +
-import time +
-MCP23017_IODIRA = 0x00 +
-MCP23017_IODIRB = 0x01 +
-MCP23017_GPIOA ​ = 0x12 +
-MCP23017_GPIOB ​ = 0x13 +
-MCP23017_GPPUA ​ = 0x0C +
-MCP23017_GPPUB ​ = 0x0D +
-MCP23017_OLATA ​ = 0x14 +
-MCP23017_OLATB ​ = 0x15 +
-MCP23008_GPIOA ​ = 0x09 +
-MCP23008_GPPUA ​ = 0x06 +
-MCP23008_OLATA ​ = 0x0A +
-class Adafruit_MCP230XX(object):​ +
- OUTPUT = 0 +
- INPUT = 1 +
- def __init__(self,​ address, num_gpios, busnum = 0): +
- assert num_gpios >= 0 and num_gpios <= 16, "​Number of GPIOs must be between 0 and 16" +
- self.i2c = Adafruit_I2C(address=address,​ bus=smbus.SMBus(busnum))  +
- self.address = address +
- self.num_gpios = num_gpios +
- # set defaults +
- if num_gpios <= 8: +
- self.i2c.write8(MCP23017_IODIRA,​ 0xFF)  # all inputs on port A +
- self.direction = self.i2c.readU8(MCP23017_IODIRA) +
- self.i2c.write8(MCP23008_GPPUA,​ 0x00) +
- elif num_gpios > 8 and num_gpios <= 16: +
- self.i2c.write8(MCP23017_IODIRA,​ 0xFF)  # all inputs on port A +
- self.i2c.write8(MCP23017_IODIRB,​ 0xFF)  # all inputs on port B +
- self.direction = self.i2c.readU8(MCP23017_IODIRA) +
- self.direction |= self.i2c.readU8(MCP23017_IODIRB) << 8 +
- self.i2c.write8(MCP23017_GPPUA,​ 0x00) +
- self.i2c.write8(MCP23017_GPPUB,​ 0x00) +
-   +
- def _changebit(self,​ bitmap, bit, value): +
- assert value == 1 or value == 0, "Value is %s must be 1 or 0" % value +
- if value == 0: +
- return bitmap & ~(1 << bit) +
- elif value == 1: +
- return bitmap | (1 << bit) +
- def _readandchangepin(self,​ port, pin, value, currvalue = None): +
- assert pin >= 0 and pin < self.num_gpios,​ "Pin number %s is invalid, only 0-%s are valid" % (pin, self.num_gpios) +
- #assert self.direction & (1 << pin) == 0, "Pin %s not set to output"​ % pin +
- if not currvalue:​ +
- currvalue = self.i2c.readU8(port) +
- newvalue = self._changebit(currvalue,​ pin, value) +
- self.i2c.write8(port,​ newvalue) +
- return newvalue +
- +
- def pullup(self,​ pin, value): +
- if self.num_gpios <= 8: +
- return self._readandchangepin(MCP23008_GPPUA,​ pin, value) +
- if self.num_gpios <= 16: +
- if (pin < <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>:​ +
- return self._readandchangepin(MCP23017_GPPUA,​ pin, value) +
- else: +
- return self._readandchangepin(MCP23017_GPPUB,​ pin-8, value) +
- # Set pin to either input or output mode +
- def config(self,​ pin, mode):​  ​  +
- if self.num_gpios <= 8: +
- self.direction = self._readandchangepin(MCP23017_IODIRA,​ pin, mode) +
- if self.num_gpios <= 16: +
- if (pin < <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>:​ +
- self.direction = self._readandchangepin(MCP23017_IODIRA,​ pin, mode) +
- else: +
- self.direction = self._readandchangepin(MCP23017_IODIRB,​ pin-8, mode) +
- return self.direction +
- def output(self,​ pin, value): +
- # assert self.direction & (1 << pin) == 0, "Pin %s not set to output"​ % pin +
- if self.num_gpios <= 8: +
- self.outputvalue = self._readandchangepin(MCP23008_GPIOA,​ pin, value, self.i2c.readU8(MCP23008_OLATA)) +
- if self.num_gpios <= 16: +
- if (pin < <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>:​ +
- self.outputvalue = self._readandchangepin(MCP23017_GPIOA,​ pin, value, self.i2c.readU8(MCP23017_OLATA)) +
- else: +
- self.outputvalue = self._readandchangepin(MCP23017_GPIOB,​ pin-8, value, self.i2c.readU8(MCP23017_OLATB)) +
- return self.outputvalue +
- +
- self.outputvalue = self._readandchangepin(MCP23017_IODIRA,​ pin, value, self.outputvalue) +
- return self.outputvalue +
-    +
- def input(self, pin): +
- assert pin >= 0 and pin < self.num_gpios,​ "Pin number %s is invalid, only 0-%s are valid" % (pin, self.num_gpios) +
- assert self.direction & (1 << pin) != 0, "Pin %s not set to input" % pin +
- if self.num_gpios <= 8: +
- value = self.i2c.readU8(MCP23008_GPIOA) +
- elif self.num_gpios > 8 and self.num_gpios <= 16: +
- value = self.i2c.readU16(MCP23017_GPIOA) +
- temp = value >> 8 +
- value <<= 8 +
- value |= temp +
- return value & (1 << pin) +
-def readU8(self):​ +
-  result = self.i2c.readU8(MCP23008_OLATA) +
-  return(result) +
-def readS8(self):​ +
-  result = self.i2c.readU8(MCP23008_OLATA) +
-  if (result > 127): result -= 256 +
-  return result +
-def readU16(self):​ +
-  assert self.num_gpios >= 16, "​16bits required"​ +
-  lo = self.i2c.readU8(MCP23017_OLATA) +
-  hi = self.i2c.readU8(MCP23017_OLATB) +
-  return((hi << <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>​ | lo) +
-def readS16(self):​ +
-  assert self.num_gpios >= 16, "​16bits required"​ +
-  lo = self.i2c.readU8(MCP23017_OLATA) +
-  hi = self.i2c.readU8(MCP23017_OLATB) +
-  if (hi > 127): hi -= 256 +
-  return((hi << <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>​ | lo) +
-def write8(self,​ value): +
-  self.i2c.write8(MCP23008_OLATA,​ value) +
-def write16(self,​ value): +
-  assert self.num_gpios >= 16, "​16bits required"​ +
-  self.i2c.write8(MCP23017_OLATA,​ value & 0xFF) +
-  self.i2c.write8(MCP23017_OLATB,​ (value >> <img src='​http://​forum.pcinpact.com/​public/​style_emoticons/<#​EMO_DIR#>/​lunettes1.gif'​ class='​bbc_emoticon'​ alt='​8)'​ />/>/>/>/>/>/>​ & 0xFF)  ​  +
-# RPi.GPIO compatible interface for MCP23017 and MCP23008 +
-class MCP230XX_GPIO(object):​ +
- OUT = 0 +
- IN = 1 +
- BCM = 0 +
- BOARD = 0 +
- def __init__(self,​ busnum, address, num_gpios):​ +
- self.chip = Adafruit_MCP230XX(busnum,​ address, num_gpios) +
- def setmode(self,​ mode): +
- # do nothing +
- pass +
- def setup(self, pin, mode): +
- self.chip.config(pin,​ mode) +
- def input(self, pin): +
- return self.chip.input(pin) +
- def output(self,​ pin, value): +
- self.chip.output(pin,​ value) +
- def pullup(self,​ pin, value): +
- self.chip.pullup(pin,​ value) +
-    +
-def lightRGBLed(rState,​gState,​bState,​rPin,​gPin,​bPin):​ +
- mcp.output(rPin,​ rState) +
- mcp.output(gPin,​ gState) +
- mcp.output(bPin,​ bState) +
- +
-def lightRGBLed2(color,​rPin,​gPin,​bPin):​ +
- if color == '​red':​ +
- lightRGBLed(0,​1,​1,​rPin,​gPin,​bPin) +
- elif color == '​green':​ +
- lightRGBLed(1,​0,​1,​rPin,​gPin,​bPin) +
- elif color == '​blue':​ +
- lightRGBLed(1,​1,​0,​rPin,​gPin,​bPin) +
- elif color == '​yellow':​ +
- lightRGBLed(0,​0,​1,​rPin,​gPin,​bPin) +
- elif color == '​magenta':​ +
- lightRGBLed(0,​1,​0,​rPin,​gPin,​bPin) +
- elif color == '​cyan':​ +
- lightRGBLed(1,​0,​0,​rPin,​gPin,​bPin) +
- elif color == '​white':​ +
- lightRGBLed(0,​0,​0,​rPin,​gPin,​bPin) +
-   +
-if __name__ == '​__main__':​ +
- mcp = Adafruit_MCP230XX(busnum = 1, address = 0x20, num_gpios = 16) +
- r1=10 +
- g1=8 +
- b1=9 +
- mcp.config(b1,​ mcp.OUTPUT) +
- mcp.config(g1,​ mcp.OUTPUT) +
- mcp.config(r1,​ mcp.OUTPUT) +
- while (True): +
- +
-   print "​off"​ +
-   lightRGBLed(1,​1,​1,​r1,​g1,​b1) +
-   time.sleep(1) +
-   +
-   print "​rouge"​ +
-   lightRGBLed(0,​1,​1,​r1,​g1,​b1) +
-   time.sleep(1) +
-   +
-   +
-   print "​vert" ​  +
-   lightRGBLed(1,​0,​1,​r1,​g1,​b1) +
-   time.sleep(1) +
- +
-   print "​bleu"​ +
-   lightRGBLed(1,​1,​0,​r1,​g1,​b1) +
-   time.sleep(1) +
-   print "​vert+bleu" ​  +
-   lightRGBLed(1,​0,​0,​r1,​g1,​b1) +
-   time.sleep(1) +
-   print "​rouge+bleu" ​  +
-   lightRGBLed(0,​1,​0,​r1,​g1,​b1) +
-   time.sleep(1) +
-   print "​rouge+vert" ​  +
-   lightRGBLed(0,​0,​1,​r1,​g1,​b1) +
-   time.sleep(1) +
-   print "​rouge+vert+bleu" ​  +
-   lightRGBLed(0,​0,​0,​r1,​g1,​b1) +
-   time.sleep(1) +
-</​file>​+
  
  
  
raspberry_pi/controle_led_rgb.1424560680.txt.gz · Dernière modification: 22/02/2015 00:18 par sky99