Índice:
Vídeo: Luzes de quintal interativas, luzes de passagem: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Eu queria construir algum tipo de iluminação de quintal interativa para meu quintal. A ideia era que, quando alguém caminhava por um lado, uma animação era ativada na direção em que você estava caminhando. Comecei com a Dollar General $ 1,00 luz solar
Etapa 1: destrua as luzes do Solor
O primeiro passo foi apagar as luzes para dar lugar a mais coisas divertidas. Comecei cortando o led original e a bateria. Não se esqueça de guardar essas peças, pois elas serão úteis em outro projeto. Eu também removi a cúpula cromada que estava na parte inferior da luz solar e colei na parte superior como pode ser visto nas fotos
Etapa 2: Instalando Better Lights
para o led, usei ws2811b à prova d'água, que pode ser encontrado aqui
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Originalmente, planejei colocar os sensores PIR dentro das luzes solares. mas isso provou ser problemático porque o sensor basicamente não conseguia ver além do plástico. deve ter algum tipo de propriedade de filtragem UV. então optei por algo mais parecido com isso
www.thingiverse.com/thing:2590216
Etapa 3: codificação
se você quiser fazer as luzes não usarem sensor ou apenas correr o tempo todo, procure o local que está comentado como "alterando o estado do sinalizador" e configure-o para éter 1 ou 0 adicionarei mais fotos quando concluir isso para mim. ainda é um trabalho em andamento, mas acho que é muito legal não compartilhar imediatamente. obrigado por olhar
void setup () {
// coloque seu código de configuração aqui, para executar uma vez: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }
void loop () {
Serial.println (FlagState);
if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Waiting (); }}
void ForwardLeds () {
FirstLed = -1; LastLed = 16; para (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Branco; leds [FirstLed] = CRGB:: Branco; atraso (750); FastLED.show (); Serial.print ("passagem branca"); Serial.print (i); Serial.println ("de 8"); } FirstLed = -1; LastLed = 16; para (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Azul; leds [FirstLed] = CRGB:: Azul; atraso (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = -1; LastLed = 16; para (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Roxo; leds [FirstLed] = CRGB:: Roxo; atraso (250); FastLED.show (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = -1; LastLed = 16; para (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Preto; leds [FirstLed] = CRGB:: Preto; atraso (250); FastLED.show (); Serial.print ("LED apagando"); Serial.print (i); Serial.println ("de 8"); } FlagState = 2; // alterando o estado do sinalizador} void RevLeds () {Serial.println ("in reverse"); FirstLed = 8; LastLed = 7; para (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Branco; leds [FirstLed] = CRGB:: Branco; atraso (750); FastLED.show (); Serial.print ("Passe branco"); Serial.print (i); Serial.println ("de 8"); } FirstLed = 8; LastLed = 7; para (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Azul; leds [FirstLed] = CRGB:: Azul; atraso (250); FastLED.show (); Serial.print ("Blue pass"); Serial.print (i); Serial.println ("de 8"); } FirstLed = 8; LastLed = 7; para (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Roxo; leds [FirstLed] = CRGB:: Roxo; atraso (250); FastLED.show (); Serial.print ("Passe vermelho"); Serial.print (i); Serial.println ("de 8"); }
FirstLed = 8;
LastLed = 7; para (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Preto; leds [FirstLed] = CRGB:: Preto; atraso (250); FastLED.show (); Serial.print ("Desligando o Led"); Serial.print (i); Serial.println ("de 8"); } FlagState = 2; // alterando o estado do sinalizador} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("encaminhamento acionado"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev disparado"); FlagState = 1; } Serial.println ("loop concluído em espera"); }
Recomendado:
Espelho de cortesia DIY em etapas fáceis (usando luzes de tira LED): 4 etapas
Espelho de toucador DIY em etapas fáceis (usando tiras de LED): Neste post, fiz um espelho de toucador DIY com a ajuda de tiras de LED. É muito legal e você deve experimentá-los também
Partículas interativas: 8 etapas
Partículas interativas: Este é um guia passo a passo para configurar o sistema de partículas interativas incluído. Este é um sistema bastante avançado que pode ser confuso às vezes e algum conhecimento em codificação, Max MSP, Arduino e configurações de áudio / visual é recomendado
Layout de modelo de ferrovia com tapume de passagem automatizado (V2.0): 13 etapas (com fotos)
Layout da ferrovia modelo com tapume de passagem automatizado (V2.0): Este projeto é uma atualização de um dos projetos de automação de ferrovia modelo anterior, o layout da ferrovia modelo com tapume automatizado. Esta versão adiciona a funcionalidade de acoplamento e desacoplamento da locomotiva com o material circulante. A operação de
Filtros LED de passagem alta e média: 4 etapas
Filtros de passagem alta e média de LED: Criamos filtros de passagem alta e média para fazer com que os LEDs brilhem e diminuam dependendo da frequência colocada no circuito. Quando frequências mais altas são colocadas no circuito, apenas o LED verde acende. Quando a frequência é colocada no circuito i
Como controlar luzes / luzes domésticas usando Arduino e Amazon Alexa: 16 etapas (com imagens)
Como controlar a luz / luzes domésticas usando Arduino e Amazon Alexa: Eu expliquei como controlar a luz que está conectada ao UNO e controlada por Alexa