sexta-feira, 27 de junho de 2025

2EL- A - Projeto 06 - Irrigação Automática com Arduino

P05 -  Irrigação Automática: KHETYLLIN LUIZA DE CARLOS GOMES, NICOLE BITENCOURT DA ROCHA, SOPHIA CARUSO XAVIER e VINICIUS BORGES GOUVÊA. 
Este Projeto Arduino de Irrigação Automática via Arduino possibilita cuidar da sua planta de forma autônoma, eliminando qualquer risco de falta ou excesso de água e proporcionando saúde e beleza para sua planta. Melhor do que saber quando sua planta precisa de água é saber que não precisa se preocupar, pois ela estará sempre com a quantia certa de água, sempre bem cuidada.
Considerado uma excelente opção para quem esta iniciando no mundo Maker, o Projeto Arduino de Irrigação Automática é um projeto com baixo custo e total funcionalidade. Podendo ser facilmente ampliado e utilizado como base para projetos ainda maiores, através do Sensor de Umidade do Solo podemos adaptar e reinventar, uma habilidade fundamental para quem está iniciando e querendo aprender.
Equipamentos Utilizados no Projeto Arduino de Irrigação:
– 1 Arduino Uno R3 + Cabo USB;
– 1 Sensor de Umidade de Solo para Arduino;
– 1 Mini Bomba de Água (d’água) para Arduino RS-385;
– 1 Módulo Relé 5V 10A 1 Canal com Optoacoplador;
– 1 Fonte de Alimentação Chaveada 12VDC 1A;
– 1 Fonte de Alimentação para Arduino 9VDC 1A;
– 1 Adaptador Fêmea com Bornes para plug P4 (2,1×5,5mm);
– ½ Metro de Fio Paralelo 0,5mm;
– 1,5 Metros de Mangueira para Aquário;
– Jumpers.

Aplicação e Funcionamento
Dentre os equipamentos que vamos utilizar no Projeto Arduino de Irrigação Automática podemos destacar dois que não utilizamos com tanta frequência em nossos projetos: o Módulo Sensor de Umidade do Solo e a Mini Bomba de Água RS-385.
Diferenciando-se de muitos sensores, este equipamento possui a capacidade de oferecer saída tanto digital quanto analógica, contendo um pino D0 digital e um A0 analógico. No pino D0 obtemos uma variação digital de 0 ou 1, ou seja, umidade presente ou não, enquanto que no pino A0 conseguimos um monitoramento mais preciso com maior variação.

Sensor de Umidade do Solo
O princípio de funcionamento deste equipamento baseia-se em suas hastes (sondas) que apresentam uma variação em sua resistência elétrica na presença de líquidos e elementos condutivos variando de acordo com suas capacidade de condução. Teoricamente, esta resistência quando chega a 0 (zero) e estabelece  um contato direto entre as hastes, gera um curto (resistência = 0).
Haste do Sensor de Umidade do Solo instalada na Planta
A utilização deste equipamento é bastante simplificada e flexível, se adaptando em diversos projetos como este que desenvolvemos, possibilitando sua melhor funcionalidade. Para o Projeto Arduino de Irrigação Automática vamos utilizar uma leitura analógica que indicará o momento em que a umidade estiver em um nível mediano e impossibilitando a falta ou o excesso de água.
O datasheet do sensor está disponível em: Manual_Sensor_Umidade_Solo.

Mini Bomba de Água RS-385
A Mini Bomba de Água terá um papel bastante importante no Projeto Arduino de Irrigação Automática, será responsável por deslocar a água do reservatório de espera até a planta sempre que necessário. Para acionar a Bomba de Água e garantir o seu funcionamento apenas quando necessário utilizaremos um módulo relé, responsável por ligar e desligar o nosso equipamento, veja:
Esquema de Ligação da Mini Bomba de Água com Arduino
Devido à falta de controle de fluxo, a Mini Bomba de Água te seu acionamento controlado via delay (tempo), o qual determina a quantia de água deslocada. Outra característica deste modelo é o alto fluxo de deslocamento de água, o que implica em um baixo intervalo de acionamento para fornecer água suficiente à planta.
Mesmo com uma fonte de alimentação variável de 9 a 15V, o recomendado para funcionamento da Mini Bomba é de 12V, tensões diferentes influenciam diretamente na quantia de água deslocada. A Mini Bomba de Água RS-385 é um equipamento de grande eficiência bastante empregado em sistemas de irrigação e automação residencial.
A mini bomba de água RS385 é ideal para utilizar com projetos que utilizem o Arduino, e projetos com microcontroladores. A mini bomba possui uma capacidade de impulsionar de 1500 a 2000 ml por minuto, com elevação de até 3 metros de altura, sendo ideal para pequenas irrigações, carros de bombeiros, automação de aquários entre outros projetos.

ESPECIFICAÇÕES:
- Materiais: metal e plástico;
- Tensão nominal: 12V;
- Voltagem adequada: DC 9 a 15V;
- Corrente sem carga: 0,6A;
- Corrente em máxima eficiência: ~2A;
- Altura de aspiração máxima: 2m;
- Elevação máxima: 3m;
- Vazão de água máxima: ~1,5 a 2 l/m;
- Diâmetro de entrada e saída: ~7,6mm;
- Diâmetro do motor: 28,6mm;
- Comprimento da bomba: 90mm;
- Peso: 100g.

Com um esquema de ligação bastante simplificado, o Projeto Arduino de Irrigação Automática se destaca em sua funcionalidade, proporcionando uma aplicação direta ao cotidiano e possibilitando melhorias e adaptações para a sua automação residencial.

Como base para a interpretação dos dados e posterior ação, utilizamos um Arduino Uno, uma placa microcontroladora bastante conhecida e de fácil manuseio que possibilita diversos projetos. No Projeto Arduino de Irrigação Automática em especial utilizamos o Arduino atribuído a um Sensor de Umidade, um Módulo Relé e uma Mini Bomba d’água, juntos estes equipamentos proporcionam a leitura e a resposta necessária para atingirmos nosso objetivo.

Esquema de Ligação do Projeto Arduino de Irrigação Automática
Diferenciando-se dos demais projetos que encontramos na internet, o presente esquema de ligação utiliza-se de um pino digital como alimentação 5V e exclui a necessidade uma protoboard. Este procedimento possibilita ao Projeto Arduino de Irrigação Automática utilizar-se de um pino digital em nível alto em vez dos tradicionais pinos de alimentação, um procedimento que torna o projeto mais simples e exclui a necessidade de uma protoboard.
O Sensor de Umidade utilizado no Projeto Arduino de Irrigação Automática possui pinos de saída tanto digital quanto analógico, porém optamos pela utilização do sinal analógico. Esta escolha nos oportuniza uma faixa maior de verificação com valores mais precisos e uma melhor configuração via software.
O módulo relé será responsável por acionar a Mini Bomba de Água, um procedimento relativamente simples, porém vale observar que a alimentação nominal é da mesma é de 12V. Desta maneira, é necessária a inclusão de uma fonte de alimentação compatível para fornecer sua capacidade básica de funcionamento.
O datasheet da placa Arduino UNO R3 está disponível em: Manual Arduino® UNO R3.

Código de Funcionamento do Projeto Arduino de Irrigação
O código de funcionamento do Projeto Arduino de Irrigação Automática é bastante simples, porém possui algumas propriedades vistas pela primeira vez em nossos projetos, uma delas é a declaração do pino digital em HIGH para alimentação.
Para facilitar ainda mais, o Projeto Arduino de Irrigação Automática não necessita de biblioteca e todas as suas variáveis são utilizadas de maneira direta através de relações numéricas, como a relação de porcentagem utilizada. O código está totalmente comentado e em condições de esclarecer qualquer dúvida quanto às suas variáveis, veja o código fonte de referência está disponível: Irrigação Automática com Arduino.

Durante o projeto observamos que a percentagem de acionamento não poderia tomar como padrão os 100% teoricamente estipulados devidos ao fato de que a resistência entre as hastes possuem algumas características próprias. Dentre elas podemos destacar as propriedades condutivas da água que não geram um curto e sofrem interferência da terra neste processo.
evando em consideração estas observações analisamos a resistividade do solo e através de testes determinamos que a percentagem ideal ficaria em torno de 45 a 50%, uma umidade significativa. Observamos também, que a umidade máxima em percentagem é de aproximadamente 65% em nosso projeto e para melhor funcionamento recomendamos a análise de resistividade da água através das hastes do sensor de umidade.
Com isto, temos um projeto extremamente simples, de fácil compreensão, desenvolvimento e adaptação, basta por a mão na massa e executá-lo da maneira que melhor preferir.

Com as devidas adaptações o Projeto Arduino de Irrigação Automática desenvolvido neste artigo pode ser utilizado em hortas inteiras, em gramados enormes e em todo tipo de plantação interna e externa.
Dentre as alterações possíveis, podemos destacar a troca da mini bomba d’água por uma válvula solenoide, a inclusão de mais sensores de umidade e um módulo relé com mais canais para contrle. Cada melhoria será desenvolvida tendo em vista o tamanho do projeto que almeja realizar ou o nível do projeto que deseja alcançar.

O desenho técnico da base do projeto está disponível em: 25_08_01 Base_Irrigação_KNSV .

O relatório do projeto está disponível em: 25_11_05  Irrigação Automática com Arduino .

Elaboração: Matheus Gebert Straub

© Direitos de autor. 2020: Gomes; Sinésio Raimundo. Última atualização: 22/02/2020

quinta-feira, 26 de junho de 2025

2EL- A - Projeto 05 - Varal com Sensor de Chuva controlado por Arduino

BIANCA SAES MAIA, LARISSA LIMA SANTANA, NATÁLIA ALVES SIQUEIRA e YASMIM DAS DORES SILVA.

 Em dias chuvosos, quando começa a chover, esquecemos roupas no varal e janelas abertas. Isso pode trazer sérios problemas. Logo, uma das formas de evitar isso, é utilizar um sistema de alarme com sensor de chuva Arduino.
Dessa forma, desenvolveremos um alarme com Arduino, a fim de nos alertar quando está chovendo e, também, informar a temperatura local do ambiente. Para isso, utilizaremos o sensor de chuva para monitorar o período chuvoso e o sensor de temperatura DS18B20(Biblioteca), para nos informar o valor de temperatura local.
Todos esses valores serão processados pelo Arduino e apresentados em uma tela LCD 16×2.
Portanto, ao final desse artigo, você aprenderá: como utilizar o módulo sensor de chuva, como utilizar o sensor de temperatura DS18B20 e como criar um alarme de chuva com Arduino.

Primeiramente, o projeto será montado de acordo com o esquema eletrônico apresentado a seguir.

Produtos Necessários para o Projeto:
  • 1 x Arduino Nano;
  • 1 x Display LCD 16×2;
  • 1 x Conversor I2C LCD 16×2;
  • 1 x Módulo Sensor de Chuva;
  • 1 x Sensor de Temperatura DS18B20;
  • Resistor 4k7R;
  • Kit Jumpers Rígidos.
  • Biblioteca Projeto Sensor de Chuva Arduino
Além do circuito apresentado acima, disponibilizamos o código completo para o Alarme Sensor de Chuva Arduino.
Para compreendermos o processo de desenvolvimento do projeto, dividimos a discussão em 3 etapas: Declaração de variáveis e objetos, configuração dos dispositivos e monitoramento da temperatura e estado chuvoso.

Declaração de Variáveis e Objetos
Primeiramente, incluímos todas as bibliotecas dos dispositivos e, em seguida, criamos o objeto lcd com seu respectivo endereço I2C.
Logo depois, definimos nomes para cada pino de conexão dos sensores e buzzer. Finalmente, realizamos as definições necessárias para criação do objeto do sensor de temperatura DS18B20 e declaramos a variável de controle PreviousValue.
Agora, apresentaremos a configuração do dispositivo LCD 16×2 e inicialização do sensor DS18B20.
Configuração do Display LCD e Sensor do Alarme de Chuva com Arduino
Inicialmente, realizamos a inicialização do LCD e, em seguida, ativamos o seu backlight, através da função lcd.backlight().
Posteriormente, inicializamos o sensor de temperatura DS18B20 e, logo depois, realizamos o teste de inicialização do sensor, de acordo com um endereço retornado.
Cada sensor, após inicializado, possui um endereço próprio. Caso não seja retornado um endereço, significa que ocorreu algum erro de comunicação.
Dessa forma, será apresentada a mensagem “Sensor não encontrado” e o fluxo de execução ficará preso no laço while(1);. Portanto, o usuário deverá analisar as conexões e o funcionamento do circuito do sensor DS18B20.
Por fim, apresentaremos a estrutura da lógica de leitura dos sensores e apresentação das informações na tela de LCD 16×2.

Monitoramento da Temperatura e Estado Chuvoso
Primeiramente, realizamos a requisição do valor de temperatura e armazenamos o valor lido na variável tempC.
Em seguida, realizamos a comparação do valor lido com a variável PreviousValue. Esta variável é utilizada para armazenar o valor anterior de temperatura.
Além disso, ela permite apresentar o valor de temperatura uma única vez na tela. Isto evita que o mesmo valor seja apresentado várias vezes e crie um efeito indesejado no LCD. Desse modo, caso o novo valor seja diferente do valor anterior, o fluxo de código entrará na condição.

Portanto, quando a condição é verdadeira, será apresentado o valor de temperatura, de acordo com a Figura 2.
Após isto, é realizada a leitura do módulo sensor de chuva, a fim de detectar ausência ou presença de chuva no ambiente.

O código fonte de referência está disponível: Varal com Sensor de Chuva Arduino.

Módulo Sensor de Chuva Arduino
O módulo é dividido em duas partes: a placa detectora e a placa de controle, conforme apresentado na Figura 3. A placa detectora é formada por várias linhas de metal, que são protegidas por uma camada antioxidante tratada com níquel e é responsável por detectar as gotículas de chuva. Além disso, temos o módulo da placa de controle. Ele é responsável por receber o sinal de detecção de gotículas de chuva e enviar para o Arduino.
Conforme é possível observar, o módulo de controle possui um trimpot de ajuste. Esse trimpot é utilizado para ajustar a sensibilidade de detecção de chuva. Portanto, de acordo com essa sensibilidade ajustada, o módulo enviará nível lógico baixo quando detectar chuva e nível lógico alto, quando não estiver chovendo.
Além disso, você pode configurá-lo para operar com a saída de sinal analógico.
Para este projeto, utilizaremos o módulo de controle configurado como digital e ajustaremos o trimpot para uma sensibilidade desejada.
Após o ajuste, temos o sistema completo apresentando a temperatura ambiente e o estado chuvoso na tela, conforme apresentado na Figura 4.
Posteriormente, quando inicia a chuva e aumenta a quantidade de gotículas depositadas sob a superfície da placa, haverá  uma mudança de estado de acordo como apresentado na Figura 5. Isto ocorre porquê o valor detectado pelo sensor ultrapassará a sensibilidade ajustada no módulo de controle.
Na sequência, o sistema irá acionar o buzzer, a fim de alertar o usuário para retirar as roupas do varal ou realizar qualquer ação desejada.
Portanto, após esta ação, o sistema reinicia todo o processo de leitura dos sensores e apresentação dos dados na tela do LCD.
Através do sistema apresentado, é possível desenvolver diversos projetos similares. Desse modo, você pode criar sistemas de automação de recolhimento do varal com roupas, automação de pluviômetros, dataloggers e entre outros projetos, que permitem o uso do sensor de chuva Arduino e o sensor de temperatura DS18B20.

O desenho técnico da base do projeto está disponível em: 25_08_01 Base_Varal_BLNY .
O relatório do projeto está disponível em: 25_11_06 Varal com Sensor de Chuva Arduino .

Elaboração: Diego Moreira

© Direitos de autor. 2025: Gomes; Sinésio Raimundo. Última atualização: 20/06/2025

quarta-feira, 25 de junho de 2025

2EL- A - Projeto 04 - Contador de Moedas com Arduino.

P3 - CONTADOR DE MOEDAS COM ARDUINO: BEATRIZ RODRIGUES SANCHES, CAUÃ HENRIQUE ALVES MECENE, JULIA SILVEIRA DA SILVA e RENAN EDUARDO PENEDO LEMONIE.

Este projeto consiste em um contador de moedas usando um Arduino, LEDs, IRs (sensor de infra-vermelho) e um display LCD. Ele permite que você insira diferentes moedas e acompanhe o valor acumulado em um display LCD. A estrutura promove inserção de moedas, que pela força da gravidade deslizam sobre uma rampa inclinada, desenhada com cortes que promovem a seleção das moedas mediante os diâmetros específicos das moedas de 0,05/0,10/0,25 centavos e R$ 1,00.
A maioria dos classificadores separa as moedas com base no diâmetro. As moedas rolam ou deslizam por uma rampa com ranhuras de tamanhos diferentes. Do topo da rampa para a base, as ranhuras aumentam progressivamente. Uma moeda passará por qualquer ranhura que não se ajuste ao seu diâmetro e cairá na primeira ranhura que se ajustar. Cada ranhura leva a uma bandeja ou outro recipiente que comporta apenas um tamanho de moeda. 

Detalhes da estrutura
A estrutura que apoia a rampa possui duas inclinações: uma para deslizamento da moeda e outra para apoiá-la à rampa e melhor guiá-la.
O compartimento de passagem/queda de cada moeda(após seleção da rampa) é isolado dos demais, que internamente conta com um sensor de infra vermelho apontados e posicionados na mesma direção. 
Embora a classificação de moedas por tamanho possa ser facilmente feita mecanicamente, contá-las é uma tarefa para a qual a eletrônica é mais adequada. Este projeto utiliza sensores infravermelhos (IR) para contar as moedas à medida que elas caem das ranhuras para as bandejas. Os sensores se comunicam com um microcontrolador Arduino Uno, que soma o valor total de todas as moedas em todas as bandejas. 
O Arduino controla um display LCD que exibe a soma de todas as moedas atualmente no contador. O LCD também informa qual tipo de moeda foi detectado, quando uma bandeja de moedas está cheia e quando uma bandeja de moedas foi esvaziada. O Arduino também controla cinco LEDs e se comunica com cinco botões táteis. Quando qualquer bandeja de moedas estiver cheia, um LED mestre (vermelho) acenderá. Isso notifica o usuário de que uma das bandejas está cheia. Ao mesmo tempo, um LED secundário (verde, amarelo, transparente ou azul) também acenderá. A cor do LED secundário aceso indica qual das quatro bandejas de moedas está cheia. Quando uma bandeja de moedas estiver cheia, o contador de moedas não processará mais moedas de nenhum tipo até que a bandeja esteja cheia e o respectivo botão de reinicialização seja pressionado. Pressionar o botão de reinicialização de uma bandeja de moedas subtrairá o valor de quantas moedas estavam na bandeja.

Esquema de montagem e componentes utilizados neste projeto:
  • Arduino Uno;
  • Display LCD 16x2;
  • 5x Sensor de luz infra vermelho para detectar as moedas;
  • 5x Botão para resetar o valor acumulado de dinheiro;
  • Resistores, fios e componentes básicos de eletrônica;
  • Pack de 3x baterias auxiliares;
  • Rampa desenhada com impresssora 3D (Imagem 01);
  • Estrutura divisória, inclinada de acrílico(em construção) para separar as moedas;
Configuração do Projeto
  • Conecte o display LCD ao Arduino conforme o esquema de pinagem especificado no código.
  • Conecte o sensor de infra vermelho (IRs) aos pinos do Arduino para detectar as moedas.
  • Conecte um botão ao Arduino para permitir o reset do valor acumulado.
  • Carregue o código fornecido neste repositório para o Arduino usando a IDE do Arduino.
Funcionamento
Quando uma moeda passa pelo o sensor de infra vermelho, a luz IR é refletida, e o Arduino conta essa interrupção como uma moeda cujo os valores são definidos para cada sensor.
O display LCD mostra a mensagem inicial e o valor acumulado em dinheiro.
Você pode inserir moedas para incrementar o valor acumulado.
Pressione o botão conectado ao Arduino para resetar o valor acumulado.
O código de detecção de moedas é baseado na entrada de um dos nossos sensores infravermelhos, neste caso, o sensor de moedas de 25 centavos. O sensor emite um sinal alto constante quando não detecta nada. O sinal alto é cortado quando um objeto passa pelo sensor. Este código procura a transição do sinal baixo de "detecção" para o sinal alto de "sem detecção". Quando essa transição ocorre, o monitor serial exibe o número de moedas de 25 centavos, anuncia que uma moeda de 25 centavos foi detectada e adiciona 1 ao número de moedas contadas no classificador.
Quando o número de qualquer moeda atinge um valor predeterminado, mostrado aqui como 10 moedas de 25 centavos, a máquina transita para um estado específico para um classificador de moedas completo. Além disso, essa mudança de estado é reportada ao monitor serial, juntamente com o número daquela moeda no dispositivo, e os LEDs mestre e específico da moeda são acesos.
A função sum pega o número atual de cada moeda, armazenado como uma variável no Arduino, e o multiplica pelo valor da moeda. Em seguida, ela soma todas as moedas armazenadas e as exibe continuamente no LCD. Como este é inserido no loop e, como tal, se repete com frequência, qualquer alteração no número de qualquer moeda é exibida imediatamente.

A base deste projeto é o módulo sensor infravermelho é muito simples, consistindo em dois componentes principais: o primeiro é a seção transmissora de infravermelho e o segundo é a seção receptora do transmissor de infravermelho do Arduino. Na seção transmissora, um LED infravermelho é usado e, na seção receptora, um fotodiodo é usado para receber o sinal infravermelho. Após algum processamento e condicionamento do sinal, você obterá a saída.
Sensor infravermelho funcionando: Um sensor de proximidade IR funciona aplicando uma voltagem ao diodo emissor de luz infravermelho integrado, que por sua vez emite luz infravermelha. Essa luz se propaga pelo ar e atinge um objeto; depois disso, a luz é refletida no sensor fotodiodo. Se o objeto estiver próximo, a luz refletida será mais forte; se o objeto estiver distante, a luz refletida será mais fraca. Se você observar atentamente o módulo, quando o sensor se torna ativo, ele envia um sinal baixo correspondente através do pino de saída, que pode ser detectado por um Arduino ou qualquer tipo de microcontrolador para executar uma tarefa específica. A única coisa legal sobre este módulo é que ele possui dois LEDs integrados, um dos quais acende quando há energia disponível e o outro acende quando o circuito é acionado. O manual do sensor está disponível em Manual_IR_Sensor.

O código fonte de referência está disponível: Contador de Moedas - Arduino.

Descrição da funcionalidade do projeto
A operação do classificador de moedas é simples. Comece colocando qualquer moeda americana (ou seja, 25 centavos, 5 centavos, 10 centavos ou 10 centavos) ao longo da parte superior do trilho inclinado (nº 1 na figura). Conforme a moeda cai pelo seu slot correspondente (nº 2), ela passará pelo sensor infravermelho apropriado (nº 3) e o acionará. 
O valor individual da moeda será adicionado à soma total do classificador exibida no LCD (nº 4). As moedas serão coletadas nos compartimentos localizados na parte traseira da máquina. Quando o número de moedas armazenadas atingir um valor predefinido (dez moedas no caso deste projeto), o LED correspondente à moeda e um LED mestre acenderão, e o dispositivo não contará mais moedas de nenhum tipo. Nesse momento, deve-se remover as moedas da bandeja cheia do dispositivo e pressionar o botão de reinicialização apropriado, subtraindo o valor das moedas removidas e retomando a contagem. A reinicialização mestre zerará a soma total do classificador se você tiver decidido remover todas as moedas do dispositivo.
Cada sensor IR tem uma resistência interna de 9,9K ohm entre os pinos VCC e OUT, e uma resistência interna de 10K ohm entre os pinos VCC e GND (terra). Em cada sensor, há um resistor adicional de 100 ohm conectado ao pino terra, trazendo a resistência total entre VCC e GND para 10,1K ohm. Sem nem mesmo olhar para o próprio circuito do sensor IR, pode-se deduzir que a menor resistência que o sensor poderia ter é se as resistências de 9,9K e 10,1K fossem de alguma forma conectadas em paralelo. Somando os recíprocos de 9900 ohms e 10100 ohms e então tomando o recíproco dessa soma produz uma resistência equivalente de aproximadamente 5K ohm. Usando a Lei de Ohm, 5 V / 5000 ohm = 1 mA. Novamente, esse valor está dentro dos parâmetros dos pinos digitais, embora os sensores IR recebam energia de um trilho comum vindo do pino de alimentação de 5 V do Arduino.
O datasheet da placa Arduino UNO R3 está disponível em: Manual Arduino® UNO R3.
 O datasheet da placa de Sensor IR está disponível em: Manual módulo Sensor IR.
O último componente a ser considerado é o display LCD 16x2. Quando alimentado com 5 V, um LCD 16x2, I2C, consome cerca de 30 mA com a luz de fundo ligada e o display funcionando (de acordo com esta fonte: https://protosupplies.com/product/lcd1602-16x2-i2... ). Portanto, um pino digital configurado para saída seria suficiente para alimentar o pino VCC do LCD. No entanto, assim como os botões, o LCD recebe energia do pino de alimentação de 5 V.
O datasheet da placa de Display LCD está disponível em: Manual módulo Display LCD.

O desenho técnico da base do projeto está disponível em: 25_08_03 Base_Moedeiro_BCJR .
O desenho técnico do separador do projeto está disponível em: 25_08_03 Separador_Moedeiro_BCJR .
O desenho técnico do Modeiro está disponível em: 25_08_03 Moedeiro_BCJR .
O relatório do projeto está disponível em: 25_11_03 Contador de Moedas .

segunda-feira, 23 de junho de 2025

2EL- A - Projeto 03 - Cofre com controle de acesso por senha com Arduino

P4 - Cofre com controle de acesso com senha - EDSON BENEDITO RODRIGUES DA CRUZ, JOÃO VITOR MARTINS DE FRANÇA, NÍCOLAS ENAY BELO COSTA e PAULO EDUARDO ZAVAN FILHO.
O Cofre Arduino é um projeto desenvolvido especialmente para atender makers e entusiastas de eletrônica que procuram soluções simplificadas para facilitar o dia a dia, em especial, os que buscam inovar na forma como guardar bens, sejam de valor econômico ou emocional.
Ele pode também ser considerado uma forma de apresentar a eletrônica e a robótica para crianças, jovens e adultos, despertando curiosidade em ver como tudo funciona em sincronia a partir de princípios simplificados de programação.
Através da Caixa Cofre MDF, será desenvolvido um protótipo de armazenamento com teclado matricial e sistema de fechadura eletrônica com liberação via senha. Um projeto simples e que pode ser bastante útil para quem deseja um cofre para os mais diversificados objetos em sua casa.
Munido dos mais diversificados tipos de funções, o Projeto Cofre Arduino possui integrada ainda um buzzer para notificação de toque e liberação, também possui uma função específica que notifica quando a senha digitada está incorreta.
Dentre as principais características da Caixa Cofre MDF, podemos destacar seu exclusivo sistema simplificado de tranca que se adapta facilmente ao projeto Cofre Arduino uma vez que associado a Fechadura Elétrica FE-91.
Com locais específicos para a fixação da Fechadura elétrica, do Arduino UNO e do Módulo Relé, a Caixa Cofre MDF para Projetos mostra-se cada vez mais completa uma vez que demonstra um excelente acabamento e dispensa a necessidade de parafusos através de seu sistema de encaixe por pressão. Além disto, possui locais para acesso a porta USB, fios de alimentação e saída da fechadura elétrica.
O datasheet da placa Arduino UNO R3 está disponível em: Manual Arduino® UNO R3.

Alimentação do Arduino e Fechadura Elétrica
Um dos fatores de maior complexidade que envolve o Cofre Arduino refere-se à sua alimentação e esquema de ligação para acionamento da Fechadura Elétrica, já que a fechadura necessita de uma tensão e uma corrente maior que as fornecidas pelo Arduino.
Tendo em vista as suas especificações, foi necessária a inclusão de uma fonte de alimentação externa e, para reduzir os elementos de conexão do projeto, optou-se por realizar tanto a alimentação do Arduino quanto da fechadura com uma única fonte de alimentação. Veja abaixo o esquema de ligação para os referidos produtos.
Como vemos, o fio vermelho (positivo) da Fechadura Elétrica deve ser interrompido e conectado no Módulo Relé junto à porta Normalmente Aberta (NO), enquanto que o fio preto (GND) vai soldado diretamente na placa Arduino, como indicado na imagem.
Para a alimentação da fechadura elétrica do Cofre Arduino, ainda é necessário conectarmos um fio na saída COM do relé que vá diretamente soldado no respectivo pino do Arduino também indicado na imagem. Feito isto, basta realizar a soldagem dos fios de alimentação que serão conectados externamente no cofre, veja figura abaixo.
O datasheet do módulo rele está disponível em: Manual_Rele_1C.
A tensão de alimentação indicada para utilização da Fechadura Elétrica é de 12V, o que nos obrigaria a alimentar também o Arduino com esta mesma tensão, tensão limite de funcionamento do mesmo, fator o qual poderia apresentar um aquecimento superior ao normal quando utilizado interruptamente, podendo ocasionar danos ao mesmo.
Para excluirmos a possibilidade citada anteriormente, realizamos os testes de funcionamento da fechadura com uma fonte de 9V, tensão ideal de funcionamento para o Arduino, e verificou-se que mesmo com uma tensão menor de acionamento a fechadura elétrica conseguia armar-se normalmente, porém com uma força menor que a exercida em 12V.
Desta forma, optou-se pela utilização da fonte de alimentação de 9V 1A uma vez que a força necessária para funcionamento da Fechadura não influencia no projeto e o Arduino continuaria com seu funcionamento normal sem aprestar riscos.
Abaixo seguem todos produtos utilizados no desenvolvimento do projeto, os quais pode ser adquiridos de forma avulsa conforma listagem. Se você quiser, pode adquirir a versão do Cofre Arduino Digital Completo, o qual já possui todas as peças necessárias para montagem.
– Caixa Cofre MDF para Projetos;
– Arduino UNO R3 + Cabo USB;
– Módulo Relé 5V 10A 1 Canal com Optoacoplador;
– Fechadura Elétrica Solenóide 12V NF – FE-91;
– Teclado Matricial Membrana 4×4 para Arduino;
– Buzzer Ativo 5V Bip Contínuo;
– Fonte de Alimentação para Arduino 9VDC 1A;
– Jack P4 Plástico (2,1×5,5mm) para Paineis e Chassis;
– Jumper Premium para Protoboard Macho-Macho 20 cm;
– Cabo flexível TiaFlex 5m – 0,14mm²;
– Porcas e Parafusos M3.

Esquema de Ligação do Cofre Arduino
Anteriormente, foi demonstrado o esquema de ligação entre os elementos ligados diretamente à alimentação via fonte do Cofre, agora vamos observar o esquema de ligação dos equipamentos junto ao Arduino.
Com exceção dos fios que foram demostrados em tópicos anteriores, os demais equipamentos são facilmente conectados e vão diretamente ao microcontrolador, facilitando o manuseio e o desenvolvimento do projeto.
Segue imagem com esquema de ligação para os módulos de comunicação e suas respectivas portas digitais.
O manual do teclado de membrana está disponível em: Manual_Teclado_Membrana.

Código de Funcionamento do Cofre Arduino
O código de funcionamento do Cofre Arduino é um pouco mais complexo do que os demais que estamos acostumados a utilizar, isto ocorre devido às funções específicas executadas pelas duas bibliotecas utilizadas, a Password.h e a Keypad.h, antes de carregarmos nossos códigos precisamos incluir ambas as bibliotecas.
Após adicionar os arquivos à pasta libraries de seu software Arduino, é hora de executar o código abaixo e aproveitas as funcionalidades deste projeto.

O código fonte de referência está disponível: Cofre com controle de acesso com senha - Arduino.

A senha do projeto poderá ser alterada a qualquer momento, porém será necessária a compilação do código sempre que realizado tal procedimento, para isto você deve alterar o valor presente dentro das aspas, que no caso padrão é 1234.
Neste projeto, podemos verificar a utilização bastante continuada de variáveis presentes em ambas as bibliotecas, seja para interpretação dos caracteres do teclado ou para a leitura da senha e associação dos caracteres.
Desenvolvido de maneira à proporcionar um produto acabado com todas as funções de um cofre tradicional, o Cofre Arduino é um projeto de grande funcionalidade e qualidade, uma vez que realiza o controle da fechadura elétrica de maneira simples e não possibilita ações externas durante o seu trabalho.
Mesmo com um código que parece parcialmente complicado de interpretar-se, a sua utilização é extremamente simples e não demanda grandes conhecimentos para seu manuseio, a senha pode ser facilmente alterada no código e compilada no Arduino, porém vale lembrar que as bibliotecas precisam estar instaladas para isto.
Agora é só montar o seu e guardar os itens mais preciosos da bancada, não deixando que ninguém pegue suas ferramentas ou itens favoritos. Realize o seu projeto e compartilhe suas experiências com todos, não deixe de comentar dizendo o que achou.

O desenho técnico da base do projeto está disponível em: 25_08_01 Base_Cofre_EJNP .

O relatório do projeto está disponível em: 25_11_04 Cofre com controle de acesso com senha .

Elaboração: Matheus Gebert Straub

© Direitos de autor. 2020: Gomes; Sinésio Raimundo. Última atualização: 22/02/2020

domingo, 22 de junho de 2025

2EL- A - Projeto 02 - Elevador Industrial Didático com Arduino

P2 - ELEVADOR ARDUINO: ALESSANDRO DOS SANTOS DE OLIVEIRA, ANA JULIA DOS SANTOS, ANA LAURA MOISES e ISABELLI VALERIAN DA SILVA

O Projeto Elevador Arduino foi desenvolvido com o intuito de explorar as funcionalidades do Elevador MDF, um produto interessante para quem deseja desenvolver as suas habilidades em programação e desenvolvimentos mecânicos. A sua montagem é bastante simplificada e o seu código possui alguns desafios bastante interessantes para os que desejam desenvolvê-lo.
Neste projeto, desenvolve-se o esquema de ligação e código de um elevador que tem como intuito reconhecer um dado andar solicitado e deslocar-se até este, um projeto que necessita de funções simultâneas entre motor, sensor de posição e botões de localização.
Como sensor base para o reconhecimento de posição do Projeto Elevador Arduino, utilizou-se um Módulo Reed Switch que em conjunto com um imã de neodímio fixado no case de deslocamento tinha a função de identificar o andar em que se encontrava e interagir com os demais componentes do projeto.

Driver Duplo Ponte H para Motor DC
A base de funcionamento do Projeto Elevador Arduino é o Motor DC responsável por deslocar o case para cima e para baixo, porém como sabemos, este não pode ser conectado diretamente ao Arduino e para auxiliar em procedimentos como controle de velocidade e inversão de direção está normalmente associados a Drivers como o modelos L9110s.
A conexão dos motores é extremamente simples, como não possuem uma polaridade estabelecida de instalação, podem ser conectados da melhor maneira à qual se adaptam ao projeto. Lembrando que a troca de polos resulta apenas na inversão da direção de movimento do motor.
Quanto aos pinos de alimentação, estes podem estar associados aos 5V do Arduino, porém como a corrente dos motores geralmente é maior que a fornecida pelo microcontrolador, é necessária a inclusão de uma fonte de alimentação externa. Podendo ser alimentado com 5V, os motores utilizam a mesma tensão necessária para alimentação através do pino Vin, um recurso que iremos utilizar.
Como vemos, o esquema de ligação do módulo de alimentação é bastante simples, porém algumas observações podem ser consideradas, no desenvolvimento do projeto foram soldados ao Jack P4 positivo (VCC) e negativo (GND) um jumper fêmea para alimentação do módulo e um jumper macho para alimentação do Arduino, veja:
Quanto aos pinos de controle do Drive Utilizado no Projeto Elevador Arduino, estes podem ser atribuídos a qualquer pino PWM do microcontrolador de acordo com o projeto que esteja sendo desenvolvido.
A Modulação por Largura de Pulso é a tradução da sigla PWM (Pulse Width Modulation) é uma técnica que possibilita ao Arduino uma saída analógica através de meios digitais, bastante utilizado para o controle de intensidade de LEDs e também controle de rotação de motores DC.
Os pinos digitais do Arduino fornecem uma senoidal de onda quadrada com 5V em nível HIGH (alto) e 0V em nível LOW (baixo), o que torna impossível a redução de tensão para valores entre seus mínimos e máximos através dos pinos digitais, desta maneira é necessário alterar o tempo entre os níveis de onda do pino para obter tal controle, ou seja, se alternarmos o estado de funcionamento rápido o suficiente, a velocidade do motor será alterada, por exemplo.
O ciclo de trabalho da comunicação PWM é definido pela porcentagem de tempo em que o sinal está em HIGH, ou seja, para um ciclo de trabalho de 50%, a senoidal ficará meio segundo em nível alto e meio segundo em nível baixo. Na imagem abaixo vemos através do exemplo de 40% as inscrições “T on” e “T off”, que representam consequentemente Tempo ligado e Tempo desligado.
Para facilitar o funcionamento dos pinos digitais como elementos de controle PWM, o Arduino possui uma função incorporada, a “analogWrite ();” que aceita valores entre 0 e 255 para determinar a porcentagem de funcionamento da onda, de uma maneira simplificada:
Em projetos com motores também é utilizado um tipo diferenciado de função para delimitação da velocidade, é a vSpeed, presente no desenvolvimento do presente projeto, os valores atribuídos a mesma por sua vez, seguem o mesmo padrão citado acima.
O datasheet do Drivers PWM L9110s está disponível em: Drivers L9110s.

Sensor Magnético KY-025 Reed Switch Sensor
O Módulo Sensor Magnético KY-025 Reed Switch além de exercer as mais diversificadas funções, possui ainda um trimpot responsável pelo controle de tensão, sendo que, quando posicionado para um dos lados o LED estará apagado e o módulo estará em estado normal de trabalho, enquanto que ao girar o trimpot para o outro lado, o módulo estará em modo de descanso sem realizar leituras e o LED permanecerá aceso.
Quando em modo de descanso, o Módulo Sensor Magnético estará em modo normalmente fechado apresentando tensão de 0V, já quando estiver em modo normal de funcionamento, estará em modo normalmente aberto com tensão igual à de entrada junto ao pino VCC.
CARACTERÍSTICAS: Controle realizado por reed switches; Trimpot com função ON/OFF; LEDs de indicação; Tensão do sinal relativa a tensão de entrada: 3,3 a 5V e Dimensões (CxLxA): 31x14x7mm.
O datasheet do Sensor Magnético está disponível em: KY-025 Reed Switch.

Diferentes modelos de Arduino possuem diferentes pinos específicos para controle PWM, no Arduino UNO, por exemplo, os pinos que suportam este controle são os 3, 5, 6, 9, 10 e 11 e estão representados por um “~” antes do numeral. A frequência de saída dos pinos PWM é normalmente de 490Hz, com exceção dos pinos 5 e 6 que possuem uma frequência de aproximadamente 980Hz.
Desta maneira, ao desenvolvermos projetos que necessitam de controle PWM, sempre devemos atribuir estes equipamentos aos pinos demonstrados na imagem acima, caso contrário as funções desejadas não serão executadas de acordo com as necessidades do projeto.
O datasheet da placa Arduino UNO R3 está disponível em: Manual Arduino® UNO R3.

Produtos Utilizados no Projeto Elevador Arduino
Abaixo seguem todos produtos utilizados no desenvolvimento do projeto, os quais pode ser adquiridos de forma avulsa conforma listagem. Se você quiser, pode adquirir a versão do Elevador com Arduino Completo, o qual já possui todas as peças necessárias para montagem.
  • 1 Arduino Uno R3 + Cabo USB;
  • 1 Estrutura em MDF para Elevador com Arduino EA50;
  • 1 Fonte de Alimentação Chaveada 5VDC 1A;
  • 1 Driver Duplo Ponte H de motor DC ou Passo L9110s;
  • 4 Módulo Sensor Magnético para Arduino;
  • 4 Chave Push Button PBS-102 104 Preta NF 1A;
  • 1 Jack P4 Plástico (2,1×5,5mm) para Paineis e Chassis;
  • 1 Motor DC 3-6V 80RPM com Caixa de Redução 120:1;
  • 1,5 Metros de Cabo flexível TiaFlex 5m – 0,14mm²;
  • 0,5 Metros de Fio de Nylon 0,25mm;
  • 1 Protoboard 50 Pontos para Montagem de Projetos;
  • 1 Imã De Neodímio N50 Super Forte 10mm X 4mm;
  • 8 Parafuso M3 x 6mm Metálico;
  • 2 Parafuso Philips M3 x 25mm Metálico;
  • 2 Porca M3 x 2,4mm Metálica;
  • 26 Jumper Premium para Protoboard Macho-Fêmea 20 cm;
  • 2 Jumper Premium para Protoboard Macho-Macho 30 cm.
Esquema de Ligação do Projeto Elevador Arduino
Para o Projeto Elevador Arduino, a quantia de equipamentos destaca-se uma vez que cada andar precisa de um elemento de indicação e um sensor de posição, a quantia de pinos utilizados do Arduino quase atinge o seu máximo, porém com exceção dos pinos do motor que necessitam serem conectados em lugares com suporte PWM, os demais equipamentos podem ser posicionados de acordo com o projeto.
Mesmo com uma quantia elevada de equipamentos e pinos utilizados pelo Arduino, o esquema de ligação não apresenta grandes dificuldades, fazendo-se necessária apenas a utilização de uma protoboard para uma central de distribuição de energia responsável por alimentar os Módulos Reed Switch e diminuir a necessidade de jumpers extensos.
Como vimos, os botões possuem seus pinos de referencia GND todos interligados e com apenas um fio saindo ao final, isto elimina a necessidade de outra protoboard e facilita a organização do projeto.
Outro detalhe bastante importante quanto a utilização deste botão, é que para sua utilização seria necessária a utilização de um resistor Pull Up, com o mesmo propósito anterior porém, utilizamos a função interna do Arduino que possibilita através de código eliminar a necessidade dos resistores.

Dicas para instalação de Componentes
Ao tratar-se de um produto com diversos equipamentos e com distâncias e limitações parcialmente visíveis, existem algumas dicas que podemos dar para facilitar a instalação e o funcionamento adequado do nosso projeto, além de melhor a sua parte estética.
Uma das principais facilidades que podem ser desenvolvidas neste projeto está na instalação dos botões para indicação de andar, para eliminar a necessidade de instalar um botão para cada um dos seus pinos, podemos realizar a soldagem de todos os pinos comuns e utilizar apenas uma porta do Arduino, para os pinos de sinal porém, é necessária a atribuição de jumpers individuais, veja:
Um fator que vale destacar é quanto a ligação dos Módulos Reed Switch mais elevados, infelizmente não ancontra-se Jumpers Premium em tamanho suficiente para satisfazer as necessidades, então recomenda-se utilizar dois dos modelos Macho-Fêmea em uma espécie de extensão, como podemos observar na imagem abaixo e salientar também o posicionamento e utilização da central de distribuição de energia via protoboard.
Outras dicas podem ser úteis quanto a organização dos cabos, abaixo do Arduino no seu case de fixação, temos disponível um orifício que pode ser utilizado para a passagem de fios, pode-se atribuir abraçadeiras para agrupamento de cabos como podemos ver na imagem acima e também realizar a passagem do fio do motor atrás do Módulo Reed Switch como visto na mesma imagem. A organização é a chave para o desenvolvimento de um projeto com acabamento de qualidade.
Manuseie o Reed Switch com cautela, pois seu material de vidro é bastante sensível. Para testar o funcionamento do sensor, aproxime um ímã e observe se o LED acende. Durante o teste, você pode baixar manualmente o elevador para facilitar o processo após a montagem. Se o LED acender ao aproximar o ímã, o sensor está funcionando corretamente.

Código de Funcionamento do Projeto Elevador Arduino
Uma facilidade que encontramos no Projeto Elevador Arduino é a capacidade de executar todas as suas funções sem a necessidade de bibliotecas, todos os seus comandos são comandos padrões do Software Arduino. A linguagem utilizada é basante simples e de fácil compreensão, veja o código fonte de referência que está disponível: Elevador Arduino com controle PWM .

Atenção: Caso seu botão seja do tipo NF (normalmente fechad0), para elevadores vendidos antes da data 05/04/2025, é necessário mudar o valor da variável da linha 18, alterando de “LOW” para “HIGH”.
As variáveis e funções do Projeto Elevador Arduino dificilmente sofrem alteração uma vez que suas ações são fixas e continuadas, porém para quem deseja, é possível realizar a alteração da velocidade do motor através  da seguinte definição:
Ao alterar no início este valor, todos os locais com definição de velocidade serão ajustados automaticamente para o valor expresso. Vale ter cuidado com velocidades muito baixas que podem ser insuficiente uma vez que o motor está atribuído a uma carga com torque parcialmente elevado.

Conclusão
O projeto é facilmente desenvolvido, alguns fatores quanto a instalação dos seus componentes podem ser um pouco confusos uma vez que são diversos conectores envolvidos, porém o código está pronto para uso e com todas as funções prontas, não sendo necessário qualquer tipo de alteração.
Com uma finalidade didática e totalmente interativa, o Projeto Elevador Arduino mostra-se bastante interessante uma vez que para os que aceitarem o desafio, a programação possui uma lógica bastante complexa para realizar corretamente todas as suas funções, excelente para desenvolver os conhecimentos prévios.
Além disto, o Elevador Arduino é um projeto que possibilita diversas outras melhorias, como a inclusão de displays, LEDs e Buzzers.

O desenho técnico da base do projeto está disponível em: 25_08_02 Base_Elevador_AAAI .
O relatório do projeto está disponível em: 25_11_02 Elevador Industrial Didático .


© Direitos de autor. 2025: Gomes; Sinésio Raimundo. Última atualização: 20/06/2025