Pular para o conteúdo principal

Grove - Barra de LED

pir

Grove – LED Bar é composta por um medidor de LED de 10 segmentos e um chip controlador de LED MY9221. Ela pode ser usada como um indicador para carga de bateria restante, tensão, nível de água, volume de música ou outros valores que exijam uma exibição em gradiente. Há 10 barras de LED no gráfico de barras de LED: uma vermelha, uma amarela, uma verde-clara e sete barras verdes. O código de demonstração está disponível para que você comece rapidamente. Ele acende os LEDs sequencialmente do vermelho ao verde, de modo que, no final, todo o gráfico de barras esteja aceso. Quer ir além? Vá em frente e programe seu próprio efeito.

pir

Versão

Versão do ProdutoAlteraçõesData de Lançamento
Grove – LED Bar V1InicialJunho de 2014
Grove – LED Bar V2Melhorada a fonte de alimentaçãoOut. 2015

Recursos

  • Tensão de entrada: 3,3V/5V
  • Cada segmento de LED pode ser controlado individualmente via código
  • Exibição intuitiva
  • Opção de alimentação flexível, suporta 3-5,5 VCC
  • Código de demonstração disponível
  • Biblioteca compatível com Suli
dica

Para mais detalhes sobre módulos Grove, consulte o Grove System

Especificação

ParâmetroValor/Faixa
Tensão de operação3,3/5V
Temperatura de operação-20℃ a +80℃
Comprimento de onda de emissão de pico - VERMELHO (corrente 20mA)630-637nm
Comprimento de onda de emissão de pico - Verde-amarelo (corrente 20mA)570-573nm
Comprimento de onda de emissão de pico - AMARELO (corrente 20mA)585-592nm
Intensidade luminosa por segmento - VERMELHO (corrente 20mA)50-70mcd
Intensidade luminosa por segmento - Verde-amarelo (corrente 20mA)28-35mcd
Intensidade luminosa por segmento - AMARELO (corrente 20mA)45-60mcd
Segmento de LED10
Tamanho40mm * 20mm

Plataformas Suportadas

ArduinoRaspberry Pi

pir

pir

cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software/código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.

Primeiros Passos

nota

Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.

Brincar com Arduino

Hardware

  • Passo 1. Prepare os itens abaixo:
Seeeduino V4.2Base ShieldGrove-LED Bar

pir

pir

pir

Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o Grove-LED Bar à porta D8 do Grove-Base Shield.
  • Passo 3. Conecte o Grove - Base Shield ao Seeeduino.
  • Passo 4. Conecte o Seeeduino ao PC através de um cabo USB.

pir

nota

Se não tivermos o Grove Base Shield, também podemos conectar o Grove-LED Bar diretamente ao Seeeduino como abaixo.

SeeeduinoGrove-LED Bar
5VVermelho
GNDPreto
D9Branco
D8Amarelo

Software

  • Passo 1. Baixe a Grove - LED Bar Library do Github

  • Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.

  • Passo 3. Reinicie a IDE do Arduino. Abra o exemplo “Level” pelo caminho: File --> Examples --> Grove LED Bar --> Level.

pir

  • Passo 4. Carregue a demonstração. Se você não souber como carregar o código, verifique how to upload code.

O resultado deve ser como:

pir

Brincar com Raspberry Pi

Hardware

  • Passo 1. Prepare os itens abaixo:
Raspberry piGrovePi_PlusGrove-LED Bar

pir

pir

pir

Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o GrovePi_Plus ao Raspberry.

  • Passo 3. Conecte o Grove-LED Bar à porta D5 do GrovePi_Plus.

  • Passo 4. Conecte o Raspberry ao PC através de um cabo USB.

pir

Software

dica

Neste wiki usamos o caminho ~/GrovePi/ em vez de /home/pi/Desktop/GrovePi, você precisa garantir que o Passo 2 e o Passo 3 usem o mesmo caminho.

nota

Recomendamos fortemente que você atualize o firmware, ou para alguns sensores você poderá obter erros.

nota

Se você estiver usando Raspberry Pi com Raspberrypi OS >= Bullseye, você deve usar esta linha de comando apenas com Python3.

  • Passo 3. Dê git clone no repositório do Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git

  • Passo 4. Navegue até o diretório de demos:
cd yourpath/GrovePi/Software/Python/

Aqui está o código grove_ledbar.py.

import time
import grovepi
import random

# Connect the Grove LED Bar to digital port D5
# DI,DCKI,VCC,GND
ledbar = 5

grovepi.pinMode(ledbar,"OUTPUT")
time.sleep(1)
i = 0

# LED Bar methods
# grovepi.ledBar_init(pin,orientation)
# grovepi.ledBar_orientation(pin,orientation)
# grovepi.ledBar_setLevel(pin,level)
# grovepi.ledBar_setLed(pin,led,state)
# grovepi.ledBar_toggleLed(pin,led)
# grovepi.ledBar_setBits(pin,state)
# grovepi.ledBar_getBits(pin)

while True:
try:
print "Test 1) Initialise - red to green"
# ledbar_init(pin,orientation)
# orientation: (0 = red to green, 1 = green to red)
grovepi.ledBar_init(ledbar, 0)
time.sleep(.5)


print "Test 2) Set level"
# ledbar_setLevel(pin,level)
# level: (0-10)
for i in range(0,11):
grovepi.ledBar_setLevel(ledbar, i)
time.sleep(.2)
time.sleep(.3)

grovepi.ledBar_setLevel(ledbar, 8)
time.sleep(.5)

grovepi.ledBar_setLevel(ledbar, 2)
time.sleep(.5)

grovepi.ledBar_setLevel(ledbar, 5)
time.sleep(.5)


print "Test 3) Switch on/off a single LED"
# ledbar_setLed(pin,led,state)
# led: which led (1-10)
# state: off or on (0,1)
grovepi.ledBar_setLed(ledbar, 10, 1)
time.sleep(.5)

grovepi.ledBar_setLed(ledbar, 9, 1)
time.sleep(.5)

grovepi.ledBar_setLed(ledbar, 8, 1)
time.sleep(.5)

grovepi.ledBar_setLed(ledbar, 1, 0)
time.sleep(.5)

grovepi.ledBar_setLed(ledbar, 2, 0)
time.sleep(.5)

grovepi.ledBar_setLed(ledbar, 3, 0)
time.sleep(.5)


print "Test 4) Toggle a single LED"
# flip a single led - if it is currently on, it will become off and vice versa
# ledbar_toggleLed(ledbar, led)
grovepi.ledBar_toggleLed(ledbar, 1)
time.sleep(.5)

grovepi.ledBar_toggleLed(ledbar, 2)
time.sleep(.5)

grovepi.ledBar_toggleLed(ledbar, 9)
time.sleep(.5)

grovepi.ledBar_toggleLed(ledbar, 10)
time.sleep(.5)


print "Test 5) Set state - control all leds with 10 bits"
# ledbar_setBits(ledbar, state)
# state: (0-1023) or (0x00-0x3FF) or (0b0000000000-0b1111111111) or (int('0000000000',2)-int('1111111111',2))
for i in range(0,32):
grovepi.ledBar_setBits(ledbar, i)
time.sleep(.2)
time.sleep(.3)


print "Test 6) Get current state"
# state = ledbar_getBits(ledbar)
# state: (0-1023) a bit for each of the 10 LEDs
state = grovepi.ledBar_getBits(ledbar)
print "with first 5 leds lit, the state should be 31 or 0x1F"
print state

# bitwise shift five bits to the left
state = state << 5
# the state should now be 992 or 0x3E0
# when saved the last 5 LEDs will be lit instead of the first 5 LEDs
time.sleep(.5)


print "Test 7) Set state - save the state we just modified"
# ledbar_setBits(ledbar, state)
# state: (0-1023) a bit for each of the 10 LEDs
grovepi.ledBar_setBits(ledbar, state)
time.sleep(.5)


print "Test 8) Swap orientation - green to red - current state is preserved"
# ledbar_orientation(pin,orientation)
# orientation: (0 = red to green, 1 = green to red)
# when you reverse the led bar orientation, all methods know how to handle the new LED index
# green to red
grovepi.ledBar_orientation(ledbar, 1)
time.sleep(.5)

# red to green
grovepi.ledBar_orientation(ledbar, 0)
time.sleep(.5)

# green to red
grovepi.ledBar_orientation(ledbar, 1)
time.sleep(.5)


print "Test 9) Set level, again"
# ledbar_setLevel(pin,level)
# level: (0-10)
# note the red LED is now at index 10 instead of 1
for i in range(0,11):
grovepi.ledBar_setLevel(ledbar, i)
time.sleep(.2)
time.sleep(.3)


print "Test 10) Set a single LED, again"
# ledbar_setLed(pin,led,state)
# led: which led (1-10)
# state: off or on (0,1)
grovepi.ledBar_setLed(ledbar, 1, 0)
time.sleep(.5)

grovepi.ledBar_setLed(ledbar, 3, 0)
time.sleep(.5)

grovepi.ledBar_setLed(ledbar, 5, 0)
time.sleep(.5)


print "Test 11) Toggle a single LED, again"
# ledbar_toggleLed(ledbar, led)
grovepi.ledBar_toggleLed(ledbar, 2)
time.sleep(.5)

grovepi.ledBar_toggleLed(ledbar, 4)
time.sleep(.5)


print "Test 12) Get state"
# state = ledbar_getBits(ledbar)
# state: (0-1023) a bit for each of the 10 LEDs
state = grovepi.ledBar_getBits(ledbar)

# the last 5 LEDs are lit, so the state should be 992 or 0x3E0

# bitwise shift five bits to the right
state = state >> 5
# the state should now be 31 or 0x1F


print "Test 13) Set state, again"
# ledbar_setBits(ledbar, state)
# state: (0-1023) a bit for each of the 10 LEDs
grovepi.ledBar_setBits(ledbar, state)
time.sleep(.5)


print "Test 14) Step"
# step through all 10 LEDs
for i in range(0,11):
grovepi.ledBar_setLevel(ledbar, i)
time.sleep(.2)
time.sleep(.3)


print "Test 15) Bounce"
# switch on the first two LEDs
grovepi.ledBar_setLevel(ledbar, 2)

# get the current state (which is 0x3)
state = grovepi.ledBar_getBits(ledbar)

# bounce to the right
for i in range(0,9):
# bit shift left and update
state <<= 1;
grovepi.ledBar_setBits(ledbar, state)
time.sleep(.2)

# bounce to the left
for i in range(0,9):
# bit shift right and update
state >>= 1;
grovepi.ledBar_setBits(ledbar, state)
time.sleep(.2)
time.sleep(.3)


print "Test 16) Random"
for i in range(0,21):
state = random.randint(0,1023)
grovepi.ledBar_setBits(ledbar, state)
time.sleep(.2)
time.sleep(.3)


print "Test 17) Invert"
# set every 2nd LED on - 341 or 0x155
state = 341
for i in range(0,5):
grovepi.ledBar_setBits(ledbar, state)
time.sleep(.2)

# bitwise XOR all 10 LEDs on with the current state
state = 0x3FF ^ state

grovepi.ledBar_setBits(ledbar, state)
time.sleep(.2)
time.sleep(.3)


print "Test 18) Walk through all possible combinations"
for i in range(0,1024):
grovepi.ledBar_setBits(ledbar, i)
time.sleep(.1)
time.sleep(.4)

except KeyboardInterrupt:
grovepi.ledBar_setBits(ledbar, 0)
break
except IOError:
print "Error"
  • Passo 5. Execute a demonstração.
sudo python3 grove_ledbar.py

Visualizador Online de Esquemático

Recursos

Projetos

Grove LED Bar v2.0: Calliope Mini é equipado com dois conectores Grove. Neste projeto, eu quero explorar como conversar com essas peças Grove da Seeed.

Grove LED Bar Controller with the Bean+: Aprenda o básico de como usar componentes Grove populares com o novo LightBlue Bean+ para começar a construir seus próprios projetos!

Suporte Técnico e Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...