first commit
This commit is contained in:
commit
a5a0434432
1126 changed files with 439481 additions and 0 deletions
|
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/env python
|
||||
#
|
||||
# GrovePi Example for using the Grove Chainable RGB LED (http://www.seeedstudio.com/wiki/Grove_-_Chainable_RGB_LED)
|
||||
#
|
||||
# The GrovePi connects the Raspberry Pi and Grove sensors. You can learn more about GrovePi here: http://www.dexterindustries.com/GrovePi
|
||||
#
|
||||
# Have a question about this example? Ask on the forums here: http://www.dexterindustries.com/forum/?forum=grovepi
|
||||
#
|
||||
'''
|
||||
## License
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
GrovePi for the Raspberry Pi: an open source platform for connecting Grove Sensors to the Raspberry Pi.
|
||||
Copyright (C) 2017 Dexter Industries
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
'''
|
||||
|
||||
import time
|
||||
import grovepi
|
||||
|
||||
# Connect first LED in Chainable RGB LED chain to digital port D7
|
||||
# In: CI,DI,VCC,GND
|
||||
# Out: CO,DO,VCC,GND
|
||||
pin = 7
|
||||
|
||||
# I have 10 LEDs connected in series with the first connected to the GrovePi and the last not connected
|
||||
# First LED input socket connected to GrovePi, output socket connected to second LED input and so on
|
||||
numleds = 4 #If you only plug 1 LED, change 10 to 1
|
||||
|
||||
grovepi.pinMode(pin,"OUTPUT")
|
||||
time.sleep(1)
|
||||
|
||||
# Chainable RGB LED methods
|
||||
# grovepi.storeColor(red, green, blue)
|
||||
# grovepi.chainableRgbLed_init(pin, numLeds)
|
||||
# grovepi.chainableRgbLed_test(pin, numLeds, testColor)
|
||||
# grovepi.chainableRgbLed_pattern(pin, pattern, whichLed)
|
||||
# grovepi.chainableRgbLed_modulo(pin, offset, divisor)
|
||||
# grovepi.chainableRgbLed_setLevel(pin, level, reverse)
|
||||
|
||||
# test colors used in grovepi.chainableRgbLed_test()
|
||||
testColorBlack = 0 # 0b000 #000000
|
||||
testColorBlue = 1 # 0b001 #0000FF
|
||||
testColorGreen = 2 # 0b010 #00FF00
|
||||
testColorCyan = 3 # 0b011 #00FFFF
|
||||
testColorRed = 4 # 0b100 #FF0000
|
||||
testColorMagenta = 5 # 0b101 #FF00FF
|
||||
testColorYellow = 6 # 0b110 #FFFF00
|
||||
testColorWhite = 7 # 0b111 #FFFFFF
|
||||
|
||||
# patterns used in grovepi.chainableRgbLed_pattern()
|
||||
thisLedOnly = 0
|
||||
allLedsExceptThis = 1
|
||||
thisLedAndInwards = 2
|
||||
thisLedAndOutwards = 3
|
||||
|
||||
sleep_time=0.5
|
||||
|
||||
#Turns off the led specified by led_num
|
||||
def turn_off_led(led_num):
|
||||
grovepi.storeColor(0,0,0)
|
||||
time.sleep(.1)
|
||||
grovepi.chainableRgbLed_pattern(pin, thisLedOnly, led_num)
|
||||
time.sleep(.1)
|
||||
|
||||
#Turns on the led specified by led_num to color set by r,g,b
|
||||
def turn_on_led(led_num,r,g,b):
|
||||
grovepi.storeColor(r,g,b)
|
||||
time.sleep(.1)
|
||||
grovepi.chainableRgbLed_pattern(pin, thisLedOnly, led_num)
|
||||
time.sleep(.1)
|
||||
|
||||
try:
|
||||
|
||||
print("Initialise")
|
||||
|
||||
# init chain of leds
|
||||
grovepi.chainableRgbLed_init(pin, numleds)
|
||||
time.sleep(.5)
|
||||
|
||||
print("1")
|
||||
# turn on led at 0
|
||||
turn_on_led(0,0,255,0)
|
||||
time.sleep(sleep_time)
|
||||
|
||||
# turn on led at 1
|
||||
print("2")
|
||||
turn_off_led(0)
|
||||
turn_on_led(1,0,255,0)
|
||||
time.sleep(sleep_time)
|
||||
|
||||
# turn on led at 2
|
||||
print("3")
|
||||
turn_off_led(1)
|
||||
turn_on_led(2,0,255,0)
|
||||
time.sleep(sleep_time)
|
||||
|
||||
# turn on led at 3
|
||||
print("4")
|
||||
turn_off_led(2)
|
||||
turn_on_led(3,0,255,0)
|
||||
time.sleep(sleep_time)
|
||||
|
||||
# turn off all
|
||||
print("Off")
|
||||
grovepi.chainableRgbLed_test(pin, numleds, testColorBlack)
|
||||
time.sleep(sleep_time)
|
||||
except KeyboardInterrupt:
|
||||
# reset (all off)
|
||||
grovepi.chainableRgbLed_test(pin, numleds, testColorBlack)
|
||||
except IOError:
|
||||
print ("Error")
|
||||
Loading…
Add table
Add a link
Reference in a new issue