Índice:

Site / Faixa LED controlada por Wi-Fi com Raspberry Pi: 9 etapas (com imagens)
Site / Faixa LED controlada por Wi-Fi com Raspberry Pi: 9 etapas (com imagens)

Vídeo: Site / Faixa LED controlada por Wi-Fi com Raspberry Pi: 9 etapas (com imagens)

Vídeo: Site / Faixa LED controlada por Wi-Fi com Raspberry Pi: 9 etapas (com imagens)
Vídeo: How To Use Addressable RGB WS2812B LED Strips With a Raspberry Pi Single Board Computer 2024, Novembro
Anonim
Site / Faixa LED controlada por Wi-Fi com Raspberry Pi
Site / Faixa LED controlada por Wi-Fi com Raspberry Pi

Fundo:

Eu sou um adolescente e tenho desenhado e programado pequenos projetos eletrônicos nos últimos anos, além de participar de competições de robótica.

Recentemente, estava trabalhando na atualização da configuração da minha mesa e decidi que uma boa adição seria alguma iluminação ambiente. No início, acabei de comprar uma faixa de LED a bateria de 5v controlada por controle remoto, mas não foi um processo muito gratificante e tive uma ideia. Eu tinha algumas peças sobressalentes espalhadas e estava tentando pensar em algo a ver com o Raspberry Pi que ganhei de Natal. Durante um dia particularmente enfadonho na aula de ciências, percebi que poderia usar os pinos GPIO do Raspberry Pi para controlar as luzes LED, contanto que eles gerassem valores RGB.

Meu plano de design inicial era ter as luzes controladas por uma tela sensível ao toque montada na parede ou mesa, mas depois de algumas revisões, decidi que a maneira mais fácil de fazer seria controlá-la com outro dispositivo. Enquanto pensava em escrever um aplicativo para meu telefone em Java, um pequeno site parecia muito mais eficiente.

Este projeto está aberto a muitas melhorias e, embora meu html + php seja meio incompleto, eles fazem o trabalho

Tópicos:

Os principais pontos que este guia atingirá são ---

  1. Controlando GPIO no Raspberry Pi
  2. Hospedando um servidor web Apache no Pi
  3. Usando o servidor da web para controlar uma faixa de luz LED RGB

Etapa 1: Materiais e suprimentos necessários

  • 1 x Raspberry Pi (usei um Pi 2 Modelo B)
  • Cartão microSD
  • Algo para alimentar seu Pi (cabo USB e adaptador de energia AC)
  • 1 adaptador WiFi USB OU uma conexão Ethernet
  • 1 cabo USB para serial -
  • 1 x breakout GPIO -
  • 1 placa de ensaio pequena -
  • USB para MicroSD -
  • Várias cores de fio de núcleo sólido
  • Um recinto
  • 3 x transistores do tipo NPN (usei transistores BC547b)
  • 1x tira de luz LED 5V
  • Fios de ligação fêmea para macho -

Etapa 2: Configurando o ambiente de Pi

Configurando o ambiente do Pi
Configurando o ambiente do Pi
Configurando o ambiente do Pi
Configurando o ambiente do Pi

Usei uma caixa de plástico inclinada para encerrar o projeto, de forma que ele não se destacasse na minha prateleira. Furei um orifício na lateral para o cabo USB serial e posicionei o Pi próximo à placa de ensaio e à cunha Pi.

Etapa 3: Configurando seu Pi (Parte 1)

Configurando seu Pi (Parte 1)
Configurando seu Pi (Parte 1)

Para este projeto, usei a versão mais recente do Raspbian não-desktop

Um guia sobre como instalar o Raspbian pode ser encontrado aqui:

(Você pode precisar de um adaptador USB para microSD para o seu computador)

Assim que o Raspbian estiver instalado no cartão SD, você pode prosseguir para conectá-lo ao Raspberry Pi e conectar o cabo Ethernet ou adaptador WiFi USB ao Pi

Em seguida, instale o Tera Term em seu computador, o que permite a interface com o terminal do Raspberry Pi através de seu PC:

Em seguida, conecte o cabo serial USB da cunha Pi ao PC. Ele pode ser acessado através do Tera Term. Certifique-se de que a taxa de transmissão da porta serial esteja definida como 115200.

Primeiro, o Pi postará um prompt para fazer login se o sistema operacional tiver sido instalado corretamente

O nome de usuário e a senha padrão são:

Nome de usuário: pi

Senha: framboesa

Etapa 4: Preparando seu Pi (Parte 2)

Configurando WiFi

No terminal, execute o comando

sudo nano / etc / network / interfaces

Em seguida, cole este código e substitua o SSID e PSK pelo nome e senha do seu roteador

auto lo

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "senha"

Este arquivo permite que o Pi se conecte ao seu WiFi

Em seguida, reinicie o Pi com a linha

sudo reboot

Instalando o servidor web

Faça login e instale o servidor Apache com

sudo apt-get install apache2 -y

e

sudo apt-get install php libapache2-mod-php -y

Para encontrar o endereço IP do seu Pi execute o comando

hostname -I

Use o seu navegador para acessar o IP que é mostrado a fim de verificar se funciona.

Por exemplo, no Google Chrome, eu digitaria 192.168.1.72 na barra de endereço.

A documentação que você deve seguir pode ser encontrada em

A biblioteca PiGPIO também precisa ser instalada, o que permite controlar os dados enviados pelos pinos GPIO.

sudo apt-get install build-essential descompactar wget

e

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && descompacte pigpio.zip && cd PIGPIO && sudo make install

Etapa 5: escrever o código

Navegue para / var / www / html com a linha

cd / var / www / html

No diretório, haverá um arquivo html padrão, que você precisará editar.

sudo nano index.html

Dentro do Nano, exclua tudo o que já estiver lá e substitua pelo código a seguir.

(Tera Term pode ser um pouco desagradável para copiar e colar, mas geralmente depois de copiar o texto, alt + v deve fazer o trabalho)

função readRGB (color) {if (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; Retorna; } else {var xmlhttp = new XMLHttpRequest (); xmlhttp.onreadystatechange = function () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (cor); xmlhttp.open ("GET", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Selecione uma cor:

Em seguida, salve-o como main.html, em vez de index.html

O código acima atua como o botão que você pressiona e como o código que envia a cor selecionada para o outro arquivo.

Em seguida, execute o comando

sudo nano

e cole

$ r $ g $ b ;

exec ("porcos p 17 $ g"); exec ("porcos p 22 $ r"); exec ("porcos p 22 $ b"); ?>

e salve-o como action_page.php

Este código recebe o valor RGB e define os valores PWM na faixa de LED.

Etapa 6: Projeto do circuito

Projeto de Circuito
Projeto de Circuito

Agora que todo o software está configurado, é hora de trabalhar no hardware.

O objetivo do circuito é enviar sinais PWM (Pulse Width Modulated) do Pi para a matriz de LED.

A faixa de LED tem quatro pinos: vermelho, verde, azul e alimentação (5 volts no meu caso).

Cada pino PWM controla uma das três cores por meio de um transistor, que atua como uma chave.

Cada transistor possui três pinos: coletor, base e emissor.

O sinal PWM controla o ciclo de trabalho (por quanto tempo a chave liga e desliga).

O ciclo de trabalho resulta em luzes mais escuras ou mais claras.

Como as luzes se acendem e apagam muito rápido, as pessoas a veem como uma luz sólida com brilho variável.

NOTA: No esquema, os símbolos de LED representam a matriz de LED e os resistores limitadores de corrente dentro do fio.

Etapa 7: passar manteiga no pão… Borda

Pôr manteiga no seu pão… Borda
Pôr manteiga no seu pão… Borda

Ao fazer as conexões, certifique-se de que o Pi esteja desligado.

Coloque a cunha Pi com uma linha de pinos em qualquer metade da placa de ensaio e conecte-a ao Pi com o cabo de fita. Usei fio de núcleo sólido para reduzir a desordem na placa de ensaio e para garantir que nada fosse desconectado acidentalmente.

Coloque os transistores na metade superior da placa de ensaio (coluna A) e conecte a matriz de LED na metade inferior (linhas H, I ou J).

Conecte o trilho de alimentação negativo ao pino GND na cunha e o trilho positivo ao pino 5V.

Conecte o barramento de alimentação positivo ao pino da fonte de alimentação da matriz de LED.

Para cada transistor, conecte o pino emissor ao barramento de alimentação negativo e conecte o pino coletor a linhas separadas correspondentes aos pinos da matriz de LED (usei a linha 1 como 5v e 2, 3 e 4 como verde, vermelho e azul, na coluna f). Em seguida, conecte quatro fios de jumper macho a fêmea da placa de ensaio à faixa de LED.

Finalmente, conecte o pino da base do transistor verde ao pino 17 na cunha, a base do transistor vermelho ao pino 22 e a base do transistor azul ao pino 24.

Etapa 8: Teste

Testando
Testando

Em um navegador da web, navegue até o endereço IP do Pi e, em seguida, escreva /main.html

Selecione uma cor e se surpreenda com as "maravilhas da tecnologia moderna"!

Etapa 9: entre em contato comigo se tiver alguma dúvida / feedback

Se você tiver dúvidas ou sugestões, sinta-se à vontade para deixar um comentário ou me mandar um DM aqui e tentarei responder o mais rápido possível.

Boa sorte!

Recomendado: