Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Público-Alvo: Engenheiros eletrônicos, entusiastas de Arduino e pessoas interessadas em automação residencial. A automação de portões tem se tornado cada vez mais comum em residências e empresas, proporcionando maior comodidade e segurança. Neste artigo, vamos explorar como utilizar o Arduino para criar um sistema inteligente de controle de acesso para portões, permitindo a abertura e fechamento automáticos, além de outras funcionalidades avançadas. Projeto: O projeto consiste em criar um sistema de automação de portão utilizando um Arduino, um módulo relé, um sensor de presença, um display LCD e um teclado numérico. O objetivo é permitir que o usuário possa abrir e fechar o portão de forma automatizada, utilizando um código de acesso. Além disso, o sistema irá exibir mensagens no display LCD, como por exemplo, "Portão aberto" ou "Código incorreto". O projeto também contará com um temporizador para fechamento automático do portão após um determinado período de tempo. Lista de componentes:
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
// Definição dos pinos do módulo relé
// Definição dos pinos do sensor de presença
// Definição dos pinos do teclado numérico const byte ROWS = 4; // número de linhas do teclado const byte COLS = 4; // número de colunas do teclado char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; // conecte os pinos das linhas do teclado aos pinos do Arduino byte colPins[COLS] = {5, 4, 3, 2}; // conecte os pinos das colunas do teclado aos pinos do Arduino Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
// Definição do objeto para controle do display LCD LiquidCrystal_I2C lcd(0x27, 16, 2); // Endereço do display LCD I2C
void setup() { pinMode(RELE_PIN, OUTPUT); // Configura o pino do módulo relé como saída pinMode(PIR_PIN, INPUT); // Configura o pino do sensor de presença como entrada lcd.begin(16, 2); // Inicializa o display LCD lcd.print("Digite o codigo:"); // Exibe mensagem inicial no display LCD }
void loop() { char key = keypad.getKey(); // Lê a tecla pressionada no teclado numérico
if (key) { if (key == '#') { abrirPortao(); // Função para abrir o portão } else { lcd.print(key); // Exibe a tecla pressionada no display LCD } }
if (digitalRead(PIR_PIN) == HIGH) { lcd.clear(); // Limpa o display LCD lcd.print("Portao aberto"); // Exibe mensagem de portão aberto delay(5000); // Aguarda 5 segundos lcd.clear(); // Limpa o display LCD lcd.print("Digite o codigo:"); // Exibe mensagem para digitar o código novamente } }
void abrirPortao() { digitalWrite(RELE_PIN, HIGH); // Ativa o módulo relé para abrir o portão lcd.clear(); // Limpa o display LCD lcd.print("Portao aberto"); // Exibe mensagem de portão aberto delay(5000); // Aguarda 5 segundos digitalWrite(RELE_PIN, LOW); // Desativa o módulo relé para fechar o portão lcd.clear(); // Limpa o display LCD lcd.print("Digite o codigo:"); // Exibe mensagem para digitar o código novamente }
Gostou deste projeto de automação de portão com Arduino? Compartilhe com seus amigos que também são entusiastas de eletrônica e automação residencial!