/* * JavaScript Puro: TCL Reservatórios Premium * Funções: Menu Mobile, Header Fixo (Sticky) e Scroll Suave. * Autor: Alquimista do Código 2.0 */ document.addEventListener('DOMContentLoaded', () => { // --- 1. Menu Mobile (Hamburguer) --- const navToggle = document.querySelector('.nav__toggle'); const navList = document.querySelector('.nav__list'); const body = document.body; if (navToggle && navList) { navToggle.addEventListener('click', () => { body.classList.toggle('nav-open'); const isExpanded = navToggle.getAttribute('aria-expanded') === 'true'; navToggle.setAttribute('aria-expanded', !isExpanded); }); } // --- 2. Dropdown (Acessível por Teclado e Click) --- // Esta lógica é necessária para desktop e mobile const dropdownToggles = document.querySelectorAll('.nav__link--dropdown-toggle'); dropdownToggles.forEach(toggle => { toggle.addEventListener('click', (e) => { // Prevenir o clique no link se for um dropdown (especialmente em mobile) e.preventDefault(); const parentItem = toggle.closest('.nav__item--dropdown'); parentItem.classList.toggle('dropdown-open'); }); // Adiciona suporte a teclado (Enter) toggle.addEventListener('keydown', (e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); const parentItem = toggle.closest('.nav__item--dropdown'); parentItem.classList.toggle('dropdown-open'); } }); }); // --- 3. Header Fixo (Sticky on Scroll) --- const header = document.getElementById('header'); if (header) { const stickyThreshold = 50; // Distância de scroll para fixar const handleScroll = () => { if (window.scrollY > stickyThreshold) { header.classList.add('header--sticky'); } else { header.classList.remove('header--sticky'); } }; window.addEventListener('scroll', handleScroll, { passive: true }); } // --- 4. Scroll Suave para Âncoras (Ex: CTA do Hero) --- const anchorLinks = document.querySelectorAll('a[href^="#"]'); anchorLinks.forEach(link => { link.addEventListener('click', function(e) { const href = this.getAttribute('href'); // Ignorar links que são apenas '#' ou toggles de dropdown if (href === '#' || this.classList.contains('nav__link--dropdown-toggle')) return; const targetElement = document.querySelector(href); if (targetElement) { e.preventDefault(); // Fecha o menu mobile se estiver aberto if (body.classList.contains('nav-open')) { body.classList.remove('nav-open'); navToggle.setAttribute('aria-expanded', 'false'); } // Calcula a posição do elemento de destino const headerOffset = header ? header.offsetHeight : 0; const elementPosition = targetElement.getBoundingClientRect().top; const offsetPosition = elementPosition + window.pageYOffset - headerOffset; window.scrollTo({ top: offsetPosition, behavior: 'smooth' }); } }); }); });

Projeto arduino de irrigação automática

Projeto Arduino de Irrigação Automática

O projeto Arduino de irrigação automática é uma solução inovadora que utiliza a tecnologia Arduino para otimizar o processo de irrigação em jardins e plantações. Com a crescente demanda por eficiência no uso da água, esse projeto se destaca por permitir um controle preciso da irrigação, garantindo que as plantas recebam a quantidade ideal de água. Além disso, a automação reduz o trabalho manual, tornando o cultivo mais prático e eficiente.

Componentes Necessários

Para implementar um projeto Arduino de irrigação automática, você precisará de alguns componentes essenciais. Os principais itens incluem: um Arduino (como o Arduino Uno), sensores de umidade do solo, relés para controlar a bomba de água, uma fonte de alimentação, tubos de irrigação e, opcionalmente, um módulo Wi-Fi para monitoramento remoto. A escolha dos componentes pode variar conforme a complexidade do seu projeto.

Funcionamento do Sistema

O sistema funciona através da leitura dos sensores de umidade do solo, que enviam dados ao Arduino. Quando a umidade do solo cai abaixo de um determinado nível, o Arduino aciona a bomba de água através do relé, iniciando a irrigação. Esse ciclo se repete até que a umidade atinja o nível desejado. Essa automação não só economiza água, mas também garante que as plantas estejam sempre saudáveis e bem hidratadas.

Benefícios da Irrigação Automática

Os benefícios de um projeto Arduino de irrigação automática são diversos. Primeiramente, ele promove a economia de água, evitando desperdícios. Em segundo lugar, a automação garante que as plantas sejam irrigadas nos horários mais adequados, melhorando seu crescimento. Além disso, a redução do trabalho manual permite que os cultivadores se concentrem em outras tarefas importantes, aumentando a produtividade geral.

Configuração do Arduino

A configuração do Arduino para um projeto de irrigação automática envolve a programação do microcontrolador. É necessário escrever um código que leia os dados dos sensores de umidade e controle a bomba de água. Existem diversas bibliotecas disponíveis que facilitam essa programação, permitindo que até mesmo iniciantes consigam implementar o projeto com sucesso. A programação pode ser feita na IDE do Arduino, que é bastante intuitiva.

Monitoramento Remoto

Para aqueles que desejam um controle ainda mais avançado, a integração de módulos Wi-Fi, como o ESP8266, permite o monitoramento remoto do sistema. Com essa configuração, é possível acessar dados em tempo real sobre a umidade do solo e o status da irrigação através de um aplicativo no smartphone. Isso proporciona maior comodidade e controle, especialmente para quem possui áreas de cultivo extensas.

Manutenção do Sistema

A manutenção de um projeto Arduino de irrigação automática é relativamente simples. É importante verificar periodicamente os sensores de umidade e a bomba de água para garantir que estejam funcionando corretamente. Além disso, a limpeza dos tubos de irrigação é essencial para evitar entupimentos. Com cuidados regulares, o sistema pode operar de forma eficiente por longos períodos.

Custos Envolvidos

Os custos para implementar um projeto de irrigação automática com Arduino podem variar bastante, dependendo dos componentes escolhidos e da complexidade do sistema. Em geral, os preços dos sensores, relés e do próprio Arduino são acessíveis, tornando essa solução viável para muitos cultivadores. Investir em um sistema automatizado pode resultar em economia a longo prazo, especialmente em regiões com escassez de água.

Aplicações Práticas

As aplicações de um projeto Arduino de irrigação automática são amplas. Ele pode ser utilizado em hortas urbanas, jardins residenciais, estufas e até mesmo em grandes plantações. A flexibilidade do sistema permite que ele seja adaptado a diferentes tipos de cultivo e condições climáticas, tornando-se uma ferramenta valiosa para agricultores e jardineiros.

Considerações Finais

Um projeto Arduino de irrigação automática não apenas melhora a eficiência do uso da água, mas também promove um cultivo mais saudável e produtivo. Com a tecnologia cada vez mais acessível, implementar um sistema de irrigação automatizado se torna uma opção viável e sustentável para todos que desejam otimizar seus processos de cultivo.