Índice:
- Etapa 1: Ingredientes
- Etapa 2: construção do Arduino
- Etapa 3: codificando o Arduino
- Etapa 4: Opcional: Tela LCD
- Etapa 5: peças impressas
- Etapa 6: posicionamento
Vídeo: Motor de passo controlado por luz + suporte / suporte de parede: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Este suporte é usado para abrigar um motor de passo controlado por Arduino, projetado para controlar automaticamente uma cortina de acordo com o nível de luz na sala. Você também pode adicionar uma tela LCD para imprimir o nível de luz. O equipamento 3D é apenas para demonstração, um equipamento real pode ser necessário para aplicações práticas, como a cortina, mas também qualquer outra aplicação que você possa imaginar.
Etapa 1: Ingredientes
Para iniciar este projeto você precisará;
- 2 conjuntos de chips Arduino - Um escudo do motor Arduino - Uma tela LCD Arduino - 1 placa de ensaio - 1 motor de passo bipolar - 1 bateria D - 1 resistor dependente de luz - 1 resistor de 10k Ω - 10 fios macho-macho - 6 macho - fios fêmea - acesso a uma impressora 3D
Etapa 2: construção do Arduino
Primeiro alinhe a blindagem do motor com os pinos do Arduino e, uma vez que eles estejam alinhados, coloque-o firmemente. Em seguida, conecte os fios do motor de passo nos pinos 8, 9, 10 e 11 da blindagem do motor. Depois disso, conecte a bateria D nos slots, conforme mostrado no diagrama. Em seguida, você deseja obter os 6 fios (macho para fêmea) para a tela LCD e conecte-os à outra unidade Arduino conforme mostrado no diagrama de circuito. Em seguida, configure o LDR conforme mostrado acima, com o resistor conectado à linha negativa. Ao adicionar o LDR, no lado com o resistor, adicione as conexões A0 e no lado oposto, adicione 1 entrada de 5 V para cada placa que você está usando, então se você estiver usando 2 placas, você vai querer que cada uma delas tenha um pino de 5 V e A0 indo para o LDR.
Conecte todos os fios de forma que sejam iguais ao diagrama - 2 entradas para o LDR - 2 saídas do LDR e um resistor conectado ao aterramento - 8 fios para o LCD, 1 5 V, 1 terra e 6 entradas - 4 fios conectando ao stepper- 2 conexões para a bateria- O aterramento da placa de ensaio deve ser conectado
Etapa 3: codificando o Arduino
Aqui está um código de amostra para alterar o status da engrenagem com base no LDR
Este é o código que permitiria ao projeto controlar automaticamente uma cortina. A foto acima explica os diferentes caminhos através das instruções IF aninhadas em termos de a cortina subir, descer ou ficar onde está. (clique na imagem para vê-la na íntegra, pois há problemas de formatação)
# defineLDRA0 // Define a variável "LDR" para A0 pin # include
constintstepsPerRevolution = 200; // Quando o motor de passo é ativado, sua rotação completa é igual a 200 passos
SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Define a entrada para o stepper como pinos 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Define a velocidade com que o motor executa um rotationpinMode (LDR, INPUT); // Define a variável "LDR" como uma entrada Serial.begin (9600); // Inicia uma leitura serial }
voidloop () {intlightlevel = analogRead (LDR); // Define a variável "lightlevel" como uma ação que lê o valor de "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Imprime o valor de "lightlevel" com a legenda acima
/ * Agora há um loop que detecta o nível de luz em cada ponto do caminho * 3 opções estão disponíveis, subir, descer, ficar na mesma posição * É projetado para que se o nível de luz permanecer o mesmo, ele irá permanece o mesmo, senão vai mudar * ou seja, se for 950, vai para 952, nada vai acontecer, mas se fosse de 950 para 600 puxaria a cortina para cima e vice-versa * Cada degrau é representado por uma letra na frente da etapa para rastrear onde ela está no loop por meio do monitor serial * /
if (lightlevel> = 900) {Serial.println ("A"); // Qual passo está no loopmyStepper.step (3 * stepsPerRevolution); // O stepper faz 3 revoluções para frente. Se for negativo, ele retrocede o atraso (30000); // Deixa por 5 minutos intlightlevel = analogRead (LDR); // Define a variável "lightlevel" como a última leitura do LDRSerial.print ("Light Level:"); // Imprime o texto na frente da variável Serial.println (lightlevel) // Imprime o valor do nível de luz
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nível de luz);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nível de luz);}
else {Serial.println ("D"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
else {Serial.println ("E"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nível de luz);}
else {Serial.println ("G"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
}
else {Serial.println ("H"); myStepper.step (0); atraso (10000); intlightlevel = analogRead (LDR); Serial.print ("Nível de luz:"); Serial.println (nível de luz);
if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3 * stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nível de luz);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nível de luz);}
else {Serial.println ("K"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
else {Serial.println ("L"); myStepper.step (0); atraso (10000); intlightlevel = analogRead (LDR); Serial.print ("Nível de luz:"); Serial.println (nível de luz);
if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nível de luz);}
else {Serial.println ("N"); myStepper.step (0); atraso (10000); intlightlevel = analogRead (LDR); Serial.print ("Nível de luz:"); Serial.println (nível de luz);
}}
}
}
Etapa 4: Opcional: Tela LCD
Isso imprimiria o nível de luz detectado pelo LDR na tela LCD.
#incluir
-
// Adiciona a biblioteca de cristal líquido com código adicional # define ldr A0 // Define a variável "ldr" para o pino A0
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // inicializa a biblioteca com os números dos pinos da interface
voidsetup () {// código que é executado uma vez no startlcd.begin (16, 2); // configura o número de colunas e linhas do LCD respectivamentepinMode (ldr, INPUT); // Define o ldr como uma entrada pinSerial.begin (9600); // Inicia a comunicação com o monitor serial
}
voidloop () {// código que será repetido continuamenteSerial.println (analogRead (ldr)); // Imprime a leitura que o ldr pega (um número entre 0-1023) no monitor seriallcd.setCursor (6, 0); // define o cursor para a coluna 6, linha 0lcd.print (analogRead (ldr)); // Imprime esta leitura no LCD screendelay (1000); // Atrasa o próximo comando por um segundo
}
Etapa 5: peças impressas
Use os seguintes arquivos para imprimir o suporte e equipamento. Você pode personalizar o equipamento para seus próprios fins e pode usar o suporte para montá-lo em uma parede ou como uma tela. Como o equipamento 3D é fraco, um equipamento real pode ser usado como seu substituto, desde que corresponda à cortina que controlaria.
Se for usada a engrenagem impressa em 3D, um dos dentes da engrenagem foi removido para que um parafuso de fixação pudesse fixá-la ao motor.
As 2 pernas frontais do suporte de parede também podem ser removidas se ele for montado em uma parede. Eles só foram adicionados para que ficasse de pé enquanto estávamos testando.
Etapa 6: posicionamento
Agora que todas as peças estão prontas, é hora de iniciar a colocação final.
Em primeiro lugar, coloque o motor de passo na caixa fornecida no suporte e coloque a engrenagem no eixo. Em seguida, mova os fios para que eles fiquem atrás do suporte. Por fim, coloque o arduino e a bateria atrás do suporte
Sua placa agora deve ser semelhante à da foto acima.
Parabéns!
O equipamento pode ser usado para cortinas automatizadas ou qualquer outra coisa que você queira controlado pelo LDR.
Você terminou. Aproveite sua nova criação.
Recomendado:
Comutador de relé IOT controlado por voz baseado em Arduino (com suporte para Google Home e Alexa): 11 etapas
Comutador de relé IOT controlado por voz baseado em Arduino (com suporte para Google Home e Alexa): Este projeto descreve como fazer um comutador de relé IOT controlado por voz baseado em Arduino. Este é um relé que você pode ligar e desligar remotamente usando um aplicativo para iOS e Android, bem como vinculá-lo ao IFTTT e controlá-lo com sua voz usando Goog
Suporte de parede para iPad como painel de controle de automação residencial, usando ímã servo controlado para ativar a tela: 4 etapas (com fotos)
Suporte de parede para iPad como painel de controle de automação residencial, usando ímã servo controlado para ativar a tela: Ultimamente, tenho passado muito tempo automatizando coisas dentro e ao redor da minha casa. Estou usando o Domoticz como meu aplicativo de automação residencial, consulte www.domoticz.com para obter detalhes. Em minha busca por um aplicativo de painel que mostra todas as informações do Domoticz
Suporte de chave inteligente controlado por voz: 3 etapas (com imagens)
Suporte de chave inteligente com controle de voz: você é o tipo de pessoa que não é bom com o gerenciamento de chaves e sempre tem que tentar cada chave para cada outra fechadura? Bem, não se preocupe, apenas pegue um pouco de motivação e suas ferramentas criadoras para inovar seu porta-chaves inteligente próprio controlado por voz
Suporte do carregador de parede: 8 etapas
Suporte para carregador de parede: uma maneira legal de reutilizar um calendário e fazer um suporte para o seu celular carregar. Demora 15 minutos. na frente da TV:)
Suporte de parede / base de carregamento para iPhone: 4 etapas
Suporte / base de carregamento para iPhone: Crie um suporte de parede de carregamento DIY para o seu iPhone / iPod usando o carregador de parede, o cabo USB e um frasco cortado de shampoo. Este Instructable foi apresentado como um projeto de 5 minutos na seção DIY da Popular Science. Você vai precisar de: Um frasco de shampoo (este o