Mục lục:

Dự án tự làm - Bộ điều khiển bể cá của tôi: 4 bước
Dự án tự làm - Bộ điều khiển bể cá của tôi: 4 bước

Video: Dự án tự làm - Bộ điều khiển bể cá của tôi: 4 bước

Video: Dự án tự làm - Bộ điều khiển bể cá của tôi: 4 bước
Video: Xây dần ước mơ "Bảo Tàng Tiền Tệ" 🏛 2024, Tháng bảy
Anonim
Dự án tự làm - Bộ điều khiển hồ cá của tôi
Dự án tự làm - Bộ điều khiển hồ cá của tôi
Dự án tự làm - Bộ điều khiển hồ cá của tôi
Dự án tự làm - Bộ điều khiển hồ cá của tôi
Dự án tự làm - Bộ điều khiển hồ cá của tôi
Dự án tự làm - Bộ điều khiển hồ cá của tôi

Este foi o projecto mais complexo realizado até agora no nosso channel, este bao em realizar um "nâng cấp" một um aquário que sofreu um Restaurantro já há algum tempo, para isso colocamos sensores de temperatura, de nível de água e de fluxo de de água, além disto tornamos a iluminação mais económica como também um Controllo da temperatura da água do aquário mais eficiencye e estável.

O Controllo e monitorização é realizada através de um Arduino MEGA, que Collectbe os sinais vindos dos sensores instalados no aquário, estes depois são analisados sendo posteriormente phản xạ fora do padronizados.

Cada um dos cảm giác thông minh, đặc biệt, độc têm funções muito diferentes. O sensor de temperatura é consuído por uma NTC (Hệ số nhiệt độ âm), ou seja, a sua Resistência diminui com o aumento da temperatura (Ver Gráfico acima). Este tipo de sensor é useizado nos pinos de entrada analógica do Arduino, através de uma monticm divisor de tensão variando a tensão nesse pino entre 0 e 5V (Ver imagem acima).

O sensor de fluxo tem a função de medir a quantidade de água que passa pelas tubagens do filtro do aquário, Verificando assim se a o filtro está a funcionar correctamente. Este é consuído por uma pequena ventoinha, onde estão fixos pequenos ímanes ao longo do seu rotor, que activam từ tính um cảm biến interno Designado por Hall Switch Effect (Ver imagem acima).

Este ao sentir a paragraphm dos ímanes produz um sinal de pulso de onda quadrada, que varia a sua thường xuyên lência consoante a rotação do rotor, ou seja, consoante a quantidade de agua que passa pelo sensor, assim este deve ser ligado aos pinos de entrada digital làm Arduino.

Os sensores de nível ou bóias de nível tem como função verifyficar o nível de água do aquário, độc como a água do aquário é ligeiramente aquecida esta tense em evorar, assim estes sensores activam avisos semper quejado o nível está a baixo do desejado.

No aquário estão montados 2 destes sensores que se comportam com interrupores, estes devem ser ligados em serie, độc esta monticm apenas deve activar os avisos caso ambos os sensores estejam activados, diminuindo assim a possibilidade de erro (Ver imagem acima).

A iluminação do aquário foi alterada para LED, sendo que cada LED tem uma potência de cerca de 10W e são fullados para a iluminação de plantas, normalmente Designados bởi Full Spectrum, ou seja, produzem iluminação em todo o espectro de luz que as plant.

As vantagens da useização deste tipo de iluminação são o facto de os LED serem Beiante pequenos em relação à sua potência e assim mais económicos, alem disto também iluminam apenas numa direcção não sendo nhu yếu phẩm phản xạ (Ver imagem acima).

Por fim, instalamos 2ventoinhas de PC que têm a função de arrefecer a água do aquário majormente quando a temperatura ambiente está elevada o que acontece normalmente durante o Verão, este sistema é muito importante độc a temperatura quan trọng da água é, dos paresâmetros mario quan trọng estas ventoinhas funcionam a 12V DC e devem ser o mais silenciosas possivel.

Caso queiram saber mais sobre estes sensores vejam as suas datasheet (Ver ficheiros abaixo) e os nossos tutorialriais onde explicamos detalhadamente o seu funcionamento e características.

Cảm biến de temperatura:

www.instructables.com/id/Arduino-Tutorial-…

Cảm biến de Fluxo:

www.instructables.com/id/Arduino-Tutorial-…

Bước 1: Chuẩn bị Aquário:

Image
Image
Preparar Aquário
Preparar Aquário
Preparar Aquário
Preparar Aquário

Começamos semper os nossos projectos desenhando e testando o circuitos através de uma pequena Breadboard e os componentes needários para a sua realização, só depois destes testes terminados e confirmada a sua funcionalidade, partimos para a specifictização chung cuộc).

Vật chất cần thiếtário:

  • 2x Ventoinhas PC 12V DC 80mm;
  • 4x LED SMD 10W Toàn phổ;
  • 4x LED tản nhiệt de calor;
  • 6x LED Amarelos de 1W;
  • 4x LED Azuis de 1W;
  • 1x PCB de 4x4 Cm;
  • 2x Bóias de nível;
  • 1x Cảm biến de Temperatura NTC 10KOhm;
  • 1x Cảm biến de Fluxo.

Instalação do Sensor de Fluxo:

O sensor de fluxo é muito fácil de instalar độc apenas temos que coloca-lo numa das tubagem de entrada ou saída de água do filtro do aquário, no entanto, useizamos umas ligações fiidas para mangueiras tornando assim mais fácil a desmo Movieism do sensor fácil a limpeza dos tubos do filtro (ver imagem acima).

Instalação das Bóias de nível:

As bóias de nível são instaladas em cantos opostos do aquário de formas a que a o sistemas seja menos errático. Estão montadas em pequenos suportes desenhados através de o programma de desenho técnico SolidWorks (Ver imagens acima) e materializados através de Impressão 3D (Ver ficheiros abaixo). Estes suportes sãoosystemmente instaláveis no aquário e são ajustáveis para que seja mortível colocar as bóias de nível na altura vờida (Ver ficheiros STL abaixo).

Instalação das Ventoinhas:

Na instalação das ventoinhas do sistema de coldração de água, optamos por realizar 2aberturas de cerca de 80mm na tampa do aquário, ou seja, com mesmo diâmetro das ventoinhas de PC useizadas. Estas Ventoinhas funcionam a 12V DC, são muito silenciosas e quando accionadas ratiocionam a Ciração de ar junto à superfície da água, queequentemente faz baixar a temperatura da água do aquário.

Estas ventoinhas e todo o sistema eléctrico ficam completamente ocultos após serem colocadas as suas coberturas, também desenhadas no SolidWorks (Ver Imagens acima) e produzidas através de Impressão 3D (Ver ficheiros abaixo).

Instalação da Iluminação de presença:

A iluminação de presença ou Luz Lunar é realizada através de uma pequena PCB (Ver imagem acima) onde estão montados os LED de 1Wamarelos e azuis. Esta PCB foi desenhada através de um Programa de PCB Design (EasyEDA), onde é possível printmir o circuito em acetato, também deixamos-vos o desenho do PCB pronto a printmir ou para importar, sendoível altera-lo (Ver ficheiros abaixo).

A produção desta PCB foi realizada através de método nhanhico que bao gồm 3 quy trình, que são o processo de revelação, o processo de corrosão e o processo de limpeza e acabamento. Este método tem sido useizado por its lastemente em outros projectos, para que não seja demasiado maçador deixo-vos os links de outros projectos onde é descriminado todos estes processos detalhadamente.

www.instructables.com/id/DIY-Projects-My-U…

www.instructables.com/id/DIY-Projects-My-A…

Esta iluminação tem apenas uma finalidade estética, sendo formada bởi 2circuitos de LED que podem ser accionados personalmente ou em affunto, xu hướng một função de iluminar o aquário quando a iluminação chính está desligada. No entanto, para que fosse um pouco mais divertido, controlamos esta iluminação consoante as fases da Lua, ligando e desligando os 2 circuito à medida que essas fases vão alterando (Ver imagem acima).

Instalação de Iluminação de hiệu trưởng:

Một iluminação chính é composta bởi 4 LEDSMD de 10WFull Spectrum lý tưởng cho một iluminação de plantas. Estes são controlados Individualmente sendo needário uma fonte de alimentação com một potencia thoả mãn para este tipo de LED, độc estes são hoang dã potentes e exigem uma fonte alimentação estável.

Atenção:

Não ligar os LED directamente à fonte de alimentação, độc deve-se baixar a tensão que alimenta estes LED, vinda da fonte de alimentação para perto da tensão de funcionamento tráng miệng LED que é cerca de 9V e como a fonte de alimentação useizada é de 12V DC colocamos em serie uma Resistência de potência ou Dissadora (Ver imagem abaixo).

Da mesma forma que as ventoinhas ficam ocultas todos os LED e o seu respectivo circuito eléctrico através das mesmas coberturas ficando mais estético e seguro, độc o circuito eléctrico fica completamente inacessível (Ver ficheiros abaixo).

Bước 2: Caixa De LED Aquário:

Caixa De LED Aquário
Caixa De LED Aquário
Caixa De LED Aquário
Caixa De LED Aquário
Caixa De LED Aquário
Caixa De LED Aquário

De forma a partitionuir as alimentações dos sistemas do iluminação de ventilação do nosso aquário a partr de um único local, construímos um circuito onde colocámos todas as Resistências dos LED dos sistemas de iluminação chính e de presença).

Vật liệu thiết yếu

  • 1x Nguồn điện IP67 12V 50W;
  • Bộ điều khiển tốc độ 4x PWM ZS-X4A;
  • 4x Điện trở 10 Ohms 10W;
  • 1x Dissipador de calor;
  • 1x Quạt 40mm 12V 0, 1A;
  • 1x Interruptor de 2 posições;
  • 1x PCB de 13x10 Cm;
  • 2x Điện trở 100 Ohms 2W;
  • 4x Terminal Block de 2;
  • 1x Khối nhà ga de 3;
  • 1x Khối đầu cuối de 4.

Alem das Resistências de potência dos LED SMD de 10W, estes estão ligados a Equipamentos PWM Controller ZS-X4A estes allowem controlar a intensidade da iluminação através de uma Resistência variável alterando assim a thường xuyên grência do pulso na sua saída (Veráfico acima).

No entanto, as Resistências de potência tensem em aquecerem um pouco sendo needário colocar um Dissador de calor e uma pequena ventoinha de PC de 40mm, esta funciona 12V DC sendo alimentada através do próprio circuito eléctrico, podendo ser controlada por instaladoor que caixa làm mạch.

Alem das Resistência dos LED SMD, também foram colocadas as Resistências de 100 Ohms do sistema de iluminação de presença, estas têm a mesma função que as anteriores, no entanto com uma potencia de cerca de 2W (Ver cálculos acima).

A PCB deste Circuito foi também desenhada através de um Programa de PCB Design (EasyEDA) onde podemos printmir e alterar o circuito (Ver ficheiros abaixo), sendo também materializada através de método youmico (Ver imagens acima).

A caixa desta para esta PCB foi desenhada no SolidWorks (Ver Imagens acima) e também materializadas através de Impressão 3D. Esta está preparada para a instalação das ventoinha de arrefecimento das resistanceências de potência e o respectivo Dissador de calor (Ver ficheiros abaixo).

Bước 3: Controlador Do Aquário:

Controlador Do Aquário
Controlador Do Aquário
Controlador Do Aquário
Controlador Do Aquário
Controlador Do Aquário
Controlador Do Aquário

Vamos então ao nosso controlador, este equipamento irá controlar e monitorizar os sistemas de iluminação hiệu trưởng e de presença, como também a temperatura do aquário. Este é consuído por um Arduino MEGA, que Collectbe os sinais dos sensores distuídos pelo aquário, activando posteriormente as ventoinhas de coldração da água do aquário e os sistemas de iluminação, is foto através de módul valo de relés program, este activa avisos luminosos e sonoros (Ver circuito acima).

Vật liệu thiết yếu

  • 1x Arduino MEGA;
  • 1x LCD 1602;
  • 1x RTC DS1307;
  • 1x Bateria de 3V CR2032;
  • 5x Botões de pressão;
  • 1x Resistência variável de 10K Ohms;
  • 1x Kháng chiến 10K Ohms;
  • 1x Điện trở 220 Ohms;
  • 6x Kháng chiến 1K Ohms;
  • 1x PCB de 15x10 Cm;
  • 1x LED Azul 1W;
  • 1x LED Amarelo 1W;
  • 1x LED Vermelho 1W;
  • 3x Điện trở 100 Ohms;
  • 1x Modulo de 2 Relés;
  • 1x Modulo de 4 Relés;
  • 1x Modulo de 1 Relé;
  • 2x Nhà ga số 2;
  • 1x Khối nhà ga de 3;
  • 1x Khối đầu cuối de 4;
  • 5x Ổ cắm Header Nam & Nữ.

Para a construção deste Equipamento são useizados vários componentes que já falamos em tutorialriais anteriores no nosso channel, tais como o LCD 1602 onde visualizamos a Informação do menu, as suas páginas, os dados Guardados e inseridos no controlador, uma quea RTC DS1307 de hora e data ao Arduino MEGA, teo esta uma pilha tipo botão CR2032 para que não perca a informationação Guarda, garantindo que a mesmo sem alimentação o Arduino não deixará de ter a hora e dataactualizadas.

Arduino MEGA:

O Arduino MEGA é uma saídasPWM (Điều chế độ rộng xung) e 16entradas de sinal analógico. Todos estes pinos podem ser useizados para ligar vários tipos de sensores entre os quais os sensores do nosso aquário. Alem dos cảm nhận estes pinos também podem controlar vários tipos de componentes como Módulos de relés, LCD e LED.

Instalação do LCD 1602:

Para ligar o LCD 1602 teremos de ter em atenção à configuração dos seus pinos durante a sua mo Movie, sendo que cada pino tem uma função especifica (Ver legenda acima). Esses pinos podem ser agrupados em 3 grupos, o grupo dos Pinos de Alimentação, o de Pinos de Comunicação e o de Pinos de Informação.

Pinos de Alimentação:

  • Gnd;
  • Vcc;
  • V0;
  • LED - ou A (Anodo);
  • LED + ou K (Catodo).

O Pino V0 tem a função de ajustar o contraste dos caracteres, para podermos controlar esse ajuste ligamos este pino a uma khángência variável de 10KΩ, que funcionar como um divisor de tensão alterando đồng hóa tensão entre 0 e 5V (Ver imagem acima).

Os pinos de alimentação do LED de luz de fundo do LCD (A e K) são também ligados aos pinos de Gnd e + 5V do Arduino MEGA, no entanto, ligamos em série uma Resistência de 220Ω para que o brilho não seja demasiado intenso, não permitindo que os LED internos do LCD se danifiquem.

Pinos de Comunicação:

  • RS (Đăng ký Chọn);
  • R / W (Đọc / Ghi);
  • E (Bật).

Nos pinos de comunicação apenas se deve ter alguma atenção ao pino R / W, độc este deve estar ligado a Gnd, para que seja permitido escrever no LCD aparecendo assim o caracteres, caso contrario podemos estar a ler o dados Guardados na memoria interna do LCD.

Pinos de Informação:

  • D0;
  • Đ1;
  • Đ2;
  • Đ3;
  • D4;
  • D5;
  • D6;
  • D7.

Neste projecto Pracizamos apenas 4 dos 8 Possíveis pinos de Informação, độc dược utizando a biblioteca LiquidCrystal.h nodigo permite o Arduino enviar os dados para o LCD dividido em 2 partes, ou seja, são mesimário metade dos pinos para realizar a o Các con khỉ trên màn hình LCD cần thiết phải có dos pinos de Informação de D4 a D7.

Caso queiram saber mais sobre o LCD 1602 vejam o nosso tutorial onde explicamos o seu funcionamento mais pormenorizadamente. Https://www.instructables.com/id/Arduino-Tutorial-LCD-Tempe Nhiệt-Sensor/

Instalação da RTC DS1307:

Este componente tem como função fornecer a informationação de data e hora de forma Preisa e hằng số, ou seja, mesmo quando a alimentação externa é desligada por algum motivo esta mantém os dados de data e hora semper realizados nunca perdendo a Informação.

Neste projecto foi useizada uma RTC DS1307, que contem 2 linhas de pinos de alimentação e de comunicação (Ver legenda acima), no entanto, iremos Pracizar a linha com menos pinos, độc apenas são nhu yếu phẩm os pinos Gnd, Vcc, SDA e SCL.

Pinos de Alimentação:

  • Gnd;
  • Vcc;
  • Con dơi.

Em relação ao pino Bat apesar de não ser um pino de alimentação coloca-mos-o neste grupo, độc este pino está ligado directamente à bateria do tipo botão da carga da bateria.

Pinos de Comunicação:

  • SCL;
  • SDA;
  • DS;
  • SQ.

Os pinos de comunicaçãoSCL e SDA da sa khoáng RTC fazem parte de um Sistema de comunicação chamado I2C (Ver Diagrama acima), onde é Possível comunicar com um ou mais Equipamentos através de apenas duas únicas linhas, sendo que SDA ou SERIAL DỮ LIỆU e nhận được một thông báo eo SCL ou ĐỒNG HỒ SERIAL o responseável bởi saber quando é que os equipamentos têm que Collectber ou enviar a Informação, ficando assim todos sincronizados.

Caso queiram saber mais sobre a RTC DS1307 vejam o nosso tutorial onde explicamos o seu funcionamento mais pormenorizadamente.

www.instructables.com/id/Arduino-Tutorial-Clock-LCD/

Alem dos thành phần anteriores, que são os mais importantes, são useizados também 4botões de pressão que allowem ao useizador navegar pelas páginas do menu podendo visualizar e alterar a Informação fornecida pelferent cảm nhận ou Guarda no Arduino, estes botões podem ter funçõ phụ thuộc vào da página e tipo de Informação visualizada.

A pesar de serem completamente diferentes dos botões de pressão, as bóias de nível funcionam electricamente de forma idêntica, độc estas quando accionadas ligam từ tính um một người ngắt lời.

Caso queiram saber mais sobre a monticm e funcionamento dos botões de pressão vejam o nosso tutorial onde explicamos mais pormenorizadamente.

www.instructables.com/id/Arduino-Tutorial-…

Quando foi trau chuốt mạch điện tử PCB do nosso controlador foi coirada a mo Moviem do divisor de tensão para o sensor de temperatura, permitindo que o Arduino Possa nhận ra cảm biến leitura deste. Segundo as especificações do Fabricante o sensor de temperatura é de 10KΩ, logo a Resistência que escolhemos para o divisor de tensão também deve ser de 10KΩ.

O ponto comum deste divisor de tensão é ligado a um dos pinos analógicos do Arduino Mega (Ver imagem acima), neste caso escolhemos oo pino A0, assim à medida que a temperatura altera a tensão nesse pino analógico também altera entre 0 e 5V, sendo đồng hóa Possível ao Arduino realizar essa leitura.

Caso queiram saber mais sobre a monticm e funcionamento do sensor de temperatura vejam o nosso tutorial onde explicamos mais pormenorizadamente.

www.instructables.com/id/Arduino-Tutorial-…

O controlador tem 3avisos luminosos que ý nghĩa khác nhau acontecimentos, o LED de cor azul indica que a temperatura da água está abaixo da temperatura mínima seleccionada, o LED de cor vermelha que indica que a temperatura está acima da temperatura máxima seleccionada e por fimcionada e por fimcionada e por fimcionada e por fimcionada de cor amarela que indica que o fluxo de agua do filtro do aquário está a abaixo do seleccionado, sendo todos estes ligados a pinos de saída de sinal digital do Arduino MEGA.

Por fim useizamos 3 módulos de relés diferentes, sendo um de 1relé (Ventoinhas de arrefecimento), outro de 2relés (Iluminação de presença) e por ultimo outro de 4relés (Iluminação hiệu trưởng). Estes são indicados para monticns com o Arduino xu hướng một cuộc hành động cụ thể của serem hoạt động não com một saída de sinal digital do Arduino em nível alto mais sim em nível baixo.

Một PCB deste Circuito foi também desenhada através de um Programa de PCB Design (EasyEDA) onde podemos printmir e alterar o circuito (Ver ficheiros abaixo), sendo também materializada através de método youmico (Ver imagem acima).

A caixa para esta PCB foi desenhada no SolidWorks (Ver Imagens acima) e também produzidas através de Impressão 3D. Esta split-se em 3 partes, assim a parte frontal é onde estão indicações das ligações dos nossos sensores ao controlador, parte intermédia que é onde está montada e fixa a nossa PCB com o Arduino MEGA o LCD ea RTC, por fim a parte traseira onde se encontram todos os módulos de relés tenso abertura para a paragraphm e ligação das respectivas cablagens cablagens (Ver ficheiros abaixo).

Bước 4: Código:

Código
Código
Código
Código
Código
Código
Código
Código

Agora só nos falta programar o nosso controlador do aquário, para isso ligamos o cabo USB ao nosso controlador e carregamos o respectivo código no Arduino MEGA (Ver ficheiro abaixo).

Mas antes, vamos explicar resumidamente o nosso código, sendo que é neste que vamos colocar as diferentes funções needárias para a CÔNG phu de um menu com diferentes páginas e consecutivamente visualização de diferentes Informações, sendo có khả năng thực hiện.

Assim começamos lugar deve ser goneçamos um pequeno esquema de blocos com a estrutura de páginas e funções que o nosso Equipamento terá (Ver esquema acima), sendo assim mais fácil trau chuốt o nosso código e caso seja cần thiết encontramos.

// Correr a função LOOP lặp lại:

void loop () {// Condição para a leitura da distância: if (Menu == 0) {// Chỉnh sửa função: Pagina_0 (); } // Condição para a leitura da temperatura: else if (Menu == 1) {// Chỉnh sửa função: Pagina_1 (); } // Condição para a leitura da temperatura: else if (Menu == 2) {// Chỉnh sửa função: Pagina_2 (); }} // Página 0: void Pagina_0 () {// Código tham chiếu ás função desta página. } // Página 1: void Pagina_1 () {// Código tham chiếu ás função desta página. } // Página 2: void Pagina_2 () {// Código tham chiếu ás função desta página. }

Caso queiram saber mais sobre este tipo de esquema de menu vejam o nosso tutorial onde explicamos como modrar e programar uma menu no Arduino.

www.instructables.com/id/Arduino-Tutorial-…

Depois de sabermos Qual a estrutura do codigo passamos para as bibliotecas dos componentes que interagem com o Arduino, neste projecto importarmos as bibliotecas LiquidCrystal.h para o LCD 1602, as TimeLib.h, a Wire.hea DS1307RTC.h para a sa khoáng RTC DS1307, a Thermistor.h para o nosso sensor de temperatura, e por fim a EEPROM.h que nos permite gravar e ler dados gravados na memoria do Arduino, tudo isto através do someoneor de bibliotecas do software do Arduino.

Começamos então pela biblioteca LiquidCrystal.h, esta secureita a configuração do LCD 1602 sendo apenas needário 2funções para que este funcione correctamente.

Para escrever no LCD é needário em primeiro lugar Defr o local onde se começará a colocar os caracteres, ou seja, a coluna ea linha, depois printmimos o texto que queremos tenso em atenção que este LCD apenas tem 16colunas e 2linhas, caso o texto pass esses limites não aparecerão os caracteres.

// Định nghĩa os pinos de comunicação e Informação do LCD:

LiquidCrystal lcd ("RS", "E", "D7", "D6", "D5", "D4");

e

void setup () {

// Inicia a comunicação com LCD 16x2: lcd.begin (2, 16); } void loop () {// Định nghĩa coluna (em 16) e a linha (em 2) do LCD onde escrever: lcd.setCursor (0, 0); // Escreve no LCD: lcd.print ("Temperatura:"); }

Một điện trở nhiệt biblioteca.h permite-nos apenas com uma função configurar este tipo de sensor de temperatura através do código seguinte.

#include "thermistor.h" // Nhập thư viện "thermistor"

// Esta função định nghĩa: CẢM BIẾN THERMISTOR (Pino_Sensor, 10000, 3950, 10000); // Cảm biến Pino de entrada do; // Resistência định danh một cảm biến 25ºC do; // Coeficiency beta do sensor; // Valor da Resistência do sensor.

Như 3bibliotecas, TimeLib.h, Wire.h e a DS1307RTC.h comandos, funções e refadas especificamente para trabalhar com một RTC.

Một biblioteca TimeLib.h activa dưới dạng funcionalidades de tempo, como variáveis para segundos, minutos, hora, dia, mês, v.v., easyando assim os cálculos dos valores de tempo.

Một biblioteca Wire.h activa as funções de comunicação entre Equipamentos através do sistema de comunicação I2C. Os pinos de comunicação deste sistema são diferentes nos vários modelos de Arduino, caso queiram saber quais os pinos useizados vejam o Liên kết "https://www.arduino.cc/en/Reference/Wire".

Por ultimo a biblioteca DS1307RTC.h activa as funcionalidades que allowem a leitura e escrita de dados de tempo Guardados na RTC.

void loop () {

int h, m, s, D, M, A; // Dữ liệu Variáveis para alteração da hora e. // Định nghĩa dữ liệu uma nova hora e: setTime (h, m, s, D, M, A); // Grava na RTC os dados de tempo: RTC.set (now ()); // Lê na RTC os dados de tempo: RTC.get (); }

Por fim a biblioteca EEPROM.h que permite gravar e lerdados gravados na memória não volátil do Arduino, sendo possível memzar valores como por exelo, hora de ligar iluminação, valores de temperatura máxima e mínima e fluxo de queua mínimo fique sem não sendo needário configurar novamente estes valores ou configurações.

Este tipo de memória é diferente nos vários tipos de lasas do Arduino, xu hướng khác biệt dung lượng, không có caso do Arduino MEGA (ATmega2560 - 4096 byte) tem 4KB, assim este terá 4096endereços ou posições, onde podemos Guardar os nosso dados. No entanto, só podemos Guardar nesses endereços dados de 8 bit, ou seja, com um valor até 256 (Ver quadro acima).

Para useizar a memória EEPROM do Arduino através desta biblioteca, poderemos Operatingizar os seus precisionais comandos: Caso queiram ver mais sobre estes e outros comandos desta biblioteca, vejam as suaferencia em "https://www.arduino.cc/en/Reference/vi/ EEPROM"

// Apagar os dados na EEPROM.

int i; // Variável para os endereços da EEPROM; void loop () {for (int i = 0; i <EEPROM.length (); i ++) {EEPROM.write (i, 0); // "i" = Endereço onde será escritos 0.}} // ---------------------------------- ------------------- // Ler os dados gravados da EEPROM. int i; // Variável para os endereços da EEPROM; int Valor; // Variável para leitura da EEPROM; void loop () {Valor = EEPROM.read (i); // "i" = Endereço onde serão lidos os dados. } // ----------------------------------------------- ------ // Gravar dados na EEPROM. int i; // Variável para os endereços da EEPROM; int Valor; // Variável para leitura da EEPROM; void loop () {EEPROM.write (i, Valor); // "i" = Endereço onde serão lidos os dados. }

Caso queiram saber mais sobre a RTC DS1307 e a memoria EEPROM do Arduino vejam o nosso tutorial onde explicamos pormenorizadamente o as suas funções e características.

www.instructables.com/id/Arduino-Tutorial-…

Para useizarmos o Sensor de Fluxo não é cần thiết phải có biblioteca, no entanto, temos que recorrer a cálculos de formas a valider o valor medido pelo sensor. Como este sensor produz um sinal de onde quadrada, que varia a sua thường xuyênência consoante a quantidade de agua que passa por ele, teremos de useizar a função "PulseIn", que conta o tempo em que esse sinal está em nível alto, libeando colocar a palavra "Cao" eo tempo em que o sinal está em nível baixo com a palavra "Thấp", không cuối cùng a soma hủy 2 nhịp độ será o tempo tổng de cada ciclo, no entanto, este valor de tempo é dado em micro-Segundo, ou seja, 1000000µSeg.

Depois libea um código idêntico ao descrito abaixo para que Obamos encontrar o valor vờido, teremos apenas de ter em atenção quais as características do nosso sensor através da sua datasheet độc a razão de Pulsos / (L / min) podeendo diferente sensor (Ver cálculos acima).

// A rotina de LOOP e executive repeattidamente: void loop () {// Contagem do tempo de duração de cada pulso em nível Alto e nível baixo. Contagem_Total = (xungIn (Pino_Sensor, HIGH) + xungIn (Pino_Sensor, LOW)); // Contagem de numro de pulsos por segundo (1Seg = 1000000µSeg). Calculo_Fluxo = 1000000 / Contagem_Total; // Multiplicação de (Số tổng de pulsos / Seg) x (Đặc điểm xung), // (Ver na Datasheet Flow Sensor e cálculos acima): Calculo_Fluxo = (Calculo_Fluxo * 2.38); // Chuyển đổi mL / s em mL / phút: Calculo_Fluxo = Calculo_Fluxo * 60; // Chuyển đổi mL / phút em L / phút Calculo_Fluxo = Calculo_Fluxo / 1000; if (Calculo_Fluxo <0) {Calculo_Fluxo = 0; } else {Calculo_Fluxo = Calculo_Fluxo; }

}

Para controlar os sistemas de iluminação também useizamos cálculos de formas a folateitar a configuração do controlador, no caso do sistema de iluminação hiệu trưởng o useizador apenas terá de seleccionar 2 parâmetros ess a hora de inicio do cicraslo de que ilumic hoarção eo số ligado (Ver imagem acima).

Em relação à iluminação de presença ou Lunar apenas teremos de seleccionar a data da próxima Lua cheia como o ciclo da lua tem aproximadamente 28 dias o controlador liga e desliga os LED da iluminação de presença alterando a configuraças de 7 ea Lua cheia novamente.

Como este Artigo já vai um pouco longo, podem encontrar o ficheiro com o código hoàn thành e que estamos a Pracizar realitymente (Ver ficheiro abaixo).

Procurem os nossos outros projectos e tutorialriais acerca do Arduino, onde explicamos divas monticns e o funcionamento dos seus componentes, já agora visitem o nosso channel no Youtube, Instagram, Facebook ou Twitter.

Abraço e até ao próximo projecto.

Đề xuất: