Inhaltsverzeichnis:

DIY-Projekte - Mein Aquarium-Controller - Gunook
DIY-Projekte - Mein Aquarium-Controller - Gunook

Video: DIY-Projekte - Mein Aquarium-Controller - Gunook

Video: DIY-Projekte - Mein Aquarium-Controller - Gunook
Video: Need CO2? Build cheap, fast and easy DIY CO2 reactor! 2024, Juli
Anonim
DIY-Projekte - Mein Aquarium Controller
DIY-Projekte - Mein Aquarium Controller
DIY-Projekte - Mein Aquarium Controller
DIY-Projekte - Mein Aquarium Controller
DIY-Projekte - Mein Aquarium Controller
DIY-Projekte - Mein Aquarium Controller

Este foi o projecto mais complexo realizado até agora no nosso canal, este consiste em realizar um "upgrade"a um aquário que sofreu um restauro já há algum tempo, para isso colocamos sensores de temperatura, de nível de água e de gua.o de, além disto tornamos a lluminação mais económica como também um die Temperatur von àgua do aquário mais eficiente e estável zu kontrollieren.

O controlo e monitorização é realizada através de um Arduino MEGA, que recebe os sinais vindos dos sensores instalados no aquário, estes depois são analisados sendo posteriormente Reflectidas acções de forma a corrigir os parâmetros de luminoso s e fora do padronizados.

Cada um dos sensores utilizados têm características especificas, pois têm funções muito diferentes. O sensor de temperature é constituído por uma NTC (negativer Temperaturkoeffizient), ou seja, a sua resistência diminui com o aumento da temperature (Ver Gráfico acima). Este tipo de sensor und utilizado nos pinos de entrada analógica do Arduino, através de uma montagem divisor of Tensão variando a Tensão nesse pino entre 0 und 5V (Ver imagem acima).

O sensor de fluxo tem a função de mediar a quantidade de água que passa pelas tubagens do filtro do aquário, verificando assim se a o filtro está a funcionar correctamente. Este é constituído von uma pequena ventoinha, onde estão fixos pequenos ímanes ao longo do seu rotor, que activam magnetamente um sensor internal designado of Hall Switch Effect (Ver imagem acima).

Este ao sentir a passagem dos ímanes produz um sinal de pulso de onda quadrada, que varia a sua frequência consoante a rotação do rotor, ou seja, consoante a quantidade de agua que passa pelo sensor, assim este deve ser enligado aos digital pin. de Arduino machen.

Os sensores de nível ou bóias de nível tem como função verificar o nível de água do aquário, pois como a água do aquário é ligeiramente aquecida esta tende em evaporar.

No aquário estão montados 2 destes sensores que se comportam com interruptores, estes devem ser ligados em serie, pois esta montagem apenas deve activar os avisos caso os os sensores estejam activados, diminuindo assim de possibilidade.

Eine Beleuchtung für eine LED-Beleuchtung, eine LED-Beleuchtung mit einer Kapazität von 10 W und eine Beleuchtung für eine Beleuchtung von Pflanzen, normale Designs für Full Spectrum, oder eine LED-Beleuchtung, die für eine Beleuchtung von Pflanzen geeignet ist.

Als Vantagens da utilização deste tipo de iluminação são o facto de os LED serem bastante pequenos em relação à sua potência e assim mais económicos, alem disto também iluminam apenas numa direcção não sendaces reflektor).

Por fim, instalamos 2ventoinhas de PC que têm a função de arrefecer a água do aquário principalmente quando a temperature ambiente está elevada o que acontece normalmente durante o Verão, este sistema é muito Importante par guad a rossá quário da pois a rossá quo Estas ventoinhas funcionam a 12V DC und devem Ser o Mais Silenciosasas possivel.

Caso queiram sabre mais sobre istes sensores vejam as suas datasheet (Ver ficheiros abaixo) und ossos tutoriais onde explicamos detalhadamente or seu funcionamento and características.

Temperatursensor:

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

Flusssensor:

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

Schritt 1: Aquario vorbereiten:

Image
Image
Aquario vorbereiten
Aquario vorbereiten
Aquario vorbereiten
Aquario vorbereiten

Começamos semper os nossos projectos desenhando e testando o Circuitos através de uma pequena Breadboard und os Componentes Bedarf für eine sua realização, só depois destes testes terminados e Confirmada a sua funcionalidade, partizaçimas para a concimao.

Materialbedarf:

  • 2x Ventoinhas PC 12V DC 80mm;
  • 4x LED SMD 10W Vollspektrum;
  • 4x Wärmeableiter LED;
  • 6x LED Amarelos de 1W;
  • 4x LED Azuis de 1W;
  • 1x Platine von 4x4 cm;
  • 2x Bóias de nível;
  • 1x Temperatursensor NTC 10KOhm;
  • 1x Fluxo-Sensor.

Installation des Sensor de Fluxo:

O sensor de fluxo é muito fácil de instalar pois apenas temos que coloca-lo numa das tubagem de entrada ou saída de água do filtro do aquário, kein entanto, utilizamos umas ligações rápidas para mangueiras tornando do assims do assims do assim fácil a limpeza dos tubos do filtro (ver imagem acima).

Installation des Bóias de nível:

Als bóias de nível são instaladas em cantos oppostos do aquário de formas a que a o sistemas seja menos errático. Estão montadas em pequenos supportes deenhados através or programa de deenho técnico SolidWorks (Ver Imagens acima) und Materializados através de Impressão 3D (Ver ficheiros abaixo). Estes unterstützt são facilmente instaláveis no aquário e são ajustáveis para que seja possível colocar as bóias de nível na altura pretendida (Ver ficheiros STL abaixo).

Installation des Ventoinhas:

Na Installation der Ventoinhas mit Kühlsystem von água, optamos from realizar 2aberturas de Cerca de 80mm na tampa do aquário, oder seja, com mesmo diâmetro the ventoinhas de PC utilizadas. Estas Ventoinhas funcionam a 12V DC, são muito silenciosas and aquando accionadas proporcionam a circulação de junto to superfície da água, que consequentemente faz baixar a a guada do aquário.

Estas ventoinhas und todo o sistema eléctrico ficame completamente ocultos apos colocadas as suas coberturas, também desenhadas no SolidWorks (Ver Imagens acima) und produziert através de 3D (Ver ficheiros abai).

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

Eine LED-Beleuchtung von Luz Lunar und eine Leiterplatten-Realisierung (Ver imagem acima) auf der Montage von LEDs von 1Wamarelos und azuis. Esta PCB für Designs von PCB Design (EasyEDA), onde é Possível Imprimir o Circuito em Aceto, Também Deixamos-vos oder Desenho do PCB pronto a Imprimir or para importar, sendo possível altera-lo a (Verxo ficheiroslo).

Eine produção desta PCB für die realizada através de de método químico que consiste em 3processos, 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 utilizado por nos newemente em outros projectos, para que não seja demasiado maçador deixo-vos os 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 from 2 Circuitos de LED, que podem ser accionados e em conjunto, tendo a função de iluminar or aquário quando a lluminação está deligada. 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).

Installation von Iluminação de Principal:

Eine Hauptbeleuchtung mit einem Kompost von 4 LEDSMD von 10WFull Spectrum, ideal für eine Beleuchtung von Pflanzen. Estes são controlados individualmente sendo ecessário uma fonte de alimentação com a potencia adequada para est tipo de LED, pois istes são bastante potentes and exigem uma adequada fonte estável.

Achtung:

Não ligar os LED directamente à fonte de alimentação, pois deve-se baixar a Tensão que alimenta estes LED, vinda da fonte de alimentação para perto da Tensão de funcionamento desses LED que é cerca de 9V e comicalio a fonte de 12 DC colocamos em serie uma resistência de potência ou dissipadora (Ver imagem abaixo).

Da mesma forma que as ventoinhas ficam ocultas todos os LED and o seu respectivo circuito eléctrico através the mesmas coberturas ficando mais estético e seguro, pois o Circuito eléctrico fica completbai fiacecessível axo.

Schritt 2: Caixa De LED Aquario:

Caixa De LED Aquario
Caixa De LED Aquario
Caixa De LED Aquario
Caixa De LED Aquario
Caixa De LED Aquario
Caixa De LED Aquario

De forma a distribuir as alimentações dos sistemas do iluminação de ventilação do nosso aquário a partir de um único local, construímos um Circuito onde colocámos todas as resistências dos dos sistemas de iluminação principal.

Materialbedarf:

  • 1x Netzteil IP67 12V 50W;
  • 4x PWM-Drehzahlregler ZS-X4A;
  • 4x Widerstände 10 Ohm 10W;
  • 1x Kalorienverbraucher;
  • 1x Lüfter 40mm 12V 0, 1A;
  • 1x Unterbrecher für 2 Positionen;
  • 1x Leiterplatte von 13x10 cm;
  • 2x Widerstände 100 Ohm 2W;
  • 4x Klemmenblock de 2;
  • 1x Klemmenblock de 3;
  • 1x Klemmenblock de 4.

Alle LED-SMD-SMD-Module mit 10W, die mit einem PWM-Controller ZS-X4A ausgestattet sind, können eine Intensitätssteuerung für eine Beleuchtungsintensität ermöglichen, die eine variable Widerstandsfrequenz ändert.

Kein entanto, as resistências de potência tendem em aquecerem um pouco sendo necessário colocar um dissipador de calor e uma pequena ventoinha de PC de 40mm, esta funciona 12V DC sendo alimentada através do próprio Circuito epodléctricoi por caixa do Circuito.

Alem das Resistncia dos LED SMD, Também Foram Colocadas als 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).

A PCB deste Circuito foi também desenhada através de um programa de PCB Design (EasyEDA) onde podemos imprimir e alterar o Circuito (Ver ficheiros abaixo), sendo também materializada através de método químico (Ver imagens acima).

Dies ist eine Voraussetzung für eine PCB-Entladung ohne SolidWorks (Ver Imagens acima) und ein Material für 3D-Eindrücke. Esta está preparada para a instalação das ventoinha de arrefecimento das resistências de potência e o respektivo dissipador de calor (Ver ficheiros abaixo).

Schritt 3: Controlador Do Aquario:

Controlador Do Aquario
Controlador Do Aquario
Controlador Do Aquario
Controlador Do Aquario
Controlador Do Aquario
Controlador Do Aquario

Vamos então ao nosso controlador, este equimento irá controlar und monitorizar os sistemas de Iluminação Principal und de Presença, Como também a aquário Temperatur. Este é constituído por um Arduino MEGA, que recebe os sinais dos sensores distribuídos pelo aquário, activando posteriormente as ventoinhas de refrigeração da água do aquário e os sistemas de iluminação, isto dos de valãos de valãos de lgão através de mléados, este activa avisos luminosos e sonoros (Ver circuito acima).

Materialbedarf:

  • 1x Arduino-MEGA;
  • 1x LCD 1602;
  • 1x Echtzeituhr DS1307;
  • 1x Batterie von 3V CR2032;
  • 5x Botões de pressão;
  • 1x Widerstandswiderstand von 10K Ohm;
  • 1x Widerstand 10K Ohm;
  • 1x Widerstand 220 Ohm;
  • 6x Widerstand 1K Ohm;
  • 1x Platine von 15x10 cm;
  • 1x LED Azul 1W;
  • 1x LED Amarelo 1W;
  • 1x LED Vermelho 1W;
  • 3x Widerstand 100 Ohm;
  • 1x Modulo de 2 Relés;
  • 1x Modulo de 4 Relés;
  • 1x Modulo de 1 Relé;
  • 2x Klemmenblock de 2;
  • 1x Klemmenblock de 3;
  • 1x Klemmenblock de 4;
  • 5x Stecker- und Buchsenleistenbuchse.

Para a construção deste equimento são utilizados vários componentses que já falamos em tutoriais anteriores no nosso canal, tais como o LCD 1602 onde visualizamos a informação do menu, as suas páginas, os dados guardados e inseridos o inseridos o inseridos o LCD 1602 onde visualizamos a informação do menu hora e data ua Arduino MEGA, tendo esta uma pilha tipo botão CR2032, um keine Informationen zu schützen, eine mesmo alimentação oder Arduino nicht zu deixará de ter a hora and dataactualizadas.

Arduino-MEGA:

Oder Arduino MEGA ist ein Platz für einen Mikrocontroller mit 54 möglichen Eingängen und digitalen Signalen, 14 Kanäle für die Verwendung von Signalen mit PWM (Puls-Width-Modulation) und 16 Eingängen für analoge Signale. Todos estes pinos podem ser utilizados para ligar vários tipos de sensores entre os quais os sensores do nosso aquário. Alle Sensoren sind die wichtigsten Tasten für die Steuerung von verschiedenen Arten von Komponenten mit anderen LED-Modulen, LCD- und LED-Anzeigen.

Installation des LCD 1602:

Para ligar o LCD 1602 teremos de em atenção à configuração dos seus pinos durante a sua montagem, 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:

  • Masse;
  • Vcc;
  • V0;
  • LED - oder A (Anodo);
  • LED + oder K (Catodo).

O Pino V0 tem a função de ajustar okontraste dos caracteres, para podermos controlar esse ajuste ligamos este pino a uma resistência variável de 10KΩ, que funcionar como um divisor de tensão alterando assim a tensão entre 0 e 5V).

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 inten Keine Zulassung von LED-internos für LCD-Anzeigen.

Pinos de Comunicação:

  • RS (Registerauswahl);
  • R/W (Lesen/Schreiben);
  • E (Aktivieren).

Nos pinos de comunicação apenas se deve ter alguma atenção ao pino R/W, pois este deve estar ligado a Gnd, para que seja allowido escrever no LCD aparecendo assim or caracteres, caso contrario podemos estar a ler o dados interadona do na memor.ia.

Pinos de Informação:

  • D0;
  • D1;
  • D2;
  • D3;
  • D4;
  • D5;
  • D6;
  • D7.

Neste projecto utilizamos apenas 4 dos 8 possíveis pinos de informação, pois utilizando a biblioteca LiquidCrystal.h no código allowe o Arduino enviar os dados para o LCD dividido em 2 partes, ou seja, são notàrio para metade dos a messário o LCD-Apenas, die erforderlich sind, um Informationen von D4 und D7 zu erhalten.

Caso queiram sabre mais sobre o o LCD 1602 vejam o nosso Tutorial onde explicamos o seu funcionamento mais pormenorizadamente.https://www.instructables.com/id/Arduino-Tutorial-LCD-Temperature-Sensor/

Installation von RTC DS1307:

Este Componente tem como função fornecer a informação de data e hora de forma precisa e constante, ou seja, mesmo quando a alimentação externa é desligada por algum motivo esta mantém os dados de data e hora semper actualizados

Neste projecto foi utilizada uma RTC DS1307, que contem 2 linhas de pinos de alimentação e de comunicação (Ver legenda acima), no entanto, iremos utilizar a linha com menos pinos, pois apenas são necessários os cc pinos Gnd, V

Pinos de Alimentação:

  • Masse;
  • Vcc;
  • Schläger.

Em relação ao pino Bat Apesar de não ser um pino de alimentação coloca-mos-o neste grupo, pois este pino está ligado directamente à bateria do tipo botãoCR2032 da RTC que de alimentação interna da placa, sendo este pino está ligado directamente à bateria do tipo botãoCR2032 da RTC que de alimentação interna da placa, sendo este pino a monitor utilize da carga da bateria.

Pinos de Comunicação:

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

Os pinos de comunicaçãoSCL und SDA da placa RTC fazem parte de um sistema de comunicação chamado I2C (Ver diagrama acima), onde é possível comunicar com um ou mais equimentos através de apenas duas únicas únicas linhas, sende e erhalten eine informação eo SCL oder SERIAL CLOCK o responsável por sabre quando é que os equimentos têm que receber oder enviar a informação, ficando assim todos sincronizados.

Caso queiram sabre mais sobre a RTC DS1307 vejam oder nosso Tutorial onde explicamos oder seu funcionamento mais pormenorizadamente.

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

Alem dos Componentes anteriores, que são os mais Importantes, são utilizados também 4botões de pressão que allowem ao utilizador navegar pelas páginas do menu podendo visualizar e alterar a informação fornecida pelos sensores ou diffuse botes Arduino, estes botes no poes Dependendo da Página und Tipo de informação visualizada.

Ein Pesar de serem completamente diferentes dos botões de pressão, als bóias de nível funcionam electricamente de forma idêntica, pois estas quando accionadas ligam magneticamente um einen Unterbrecher.

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

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

Quando für die Leiterplatten-Schaltung, die keine Kontrolle über eine Montage des Tensão-Divisors für den Temperatursensor, die Zulassung von Arduino für die Realisierung eines Leitwertsensors ermöglicht. Segundo as especificações do Fabricante o Sensor de Temperatura é de 10KΩ, logo a resistência que escolhemos para o divisor de 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 temperature a altera a Tensão nesse pino analógico também altera 5a entre 0 e assim possível ua Arduino realizar essa leitura.

Caso queiram sabre mais sobre a montagem e funcionamento do sensor de temperature vejam or nosso tutorial onde explicamos mais pormenorizadamente.

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

O controlador tem 3avisos luminosos que significam diferentes 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á acimax de elec 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.

Von drei verschiedenen Verwendungsvarianten, von 1 Relé (Ventoinhas de Arrefecimento), Outro von 2 Relés (Iluminação de Presença) und von Ultimo Outro von 4 Relés (Iluminação Principal). Estes são indicados para montagens com oder Arduino tendo a specialidade de serem activos não com a saída de sinal digital do Arduino em nível alt mais sim em nível baixo.

A PCB deste Circuito foi também desenhada através de um programa de PCB Design (EasyEDA) onde podemos imprimir e alterar o Circuito (Ver ficheiros abaixo), sendo também materializada através de método químico (Ver imagem acima).

Eine Lösung für die Herstellung von PCB ohne SolidWorks (Ver Imagens acima) und Produkte mit 3D-Eindruck. Esta Divide-se em 3 partes, assim a parte frontal é onde estão indicações das ligações dos nossos sensores ua controlador, a parte intertermédia que é onde está montada e fixa a nossa PCB com o Arduino MEGA o LCD ea parte, por traseira onde se encontram todos os módulos de relés tendo abertura para a Passagem e ligação the respektivas cablagens cablagens (Ver ficheiros abaixo).

Schritt 4: Código:

Codigo
Codigo
Codigo
Codigo
Codigo
Codigo
Codigo
Codigo

Agora ohne falta programar oder nosso controlador do aquário, para isso ligamos or cabo us ao nosso controlador and carregamos or respekivo 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 necessárias para a elaboração de um menu com diferentes páginas e consecutivamente visualização de diferentes, sende informação en réservação

Assim começamos lugar deve ser elaborado 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 elaborar o nosso código e cario alterardesemoupermosir enkontramos.

//Correr a função LOOP repetidamente:

void loop() { //Bedingung für eine leitura da distância: if (Menu == 0) { //Correr a função: Pagina_0(); } //Bedingung für eine Temperaturleitura: else if (Menu == 1) { //Correr a função: Pagina_1(); } //Bedingung für eine Temperaturleitura: else if (Menü == 2) { //Korrektur für eine Funktion: Pagina_2(); } } //Página 0: void Pagina_0() { //Código referente as função desta página. } //Página 1: void Pagina_1() { //Código referente as função desta página. } //Página 2: void Pagina_2() { //Código referente as função desta página. }

Caso queiram sabre mais sobre este tipo de esquema de menu vejam o nosso Tutorial onde explicamos como elaborar 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 interagem com o Arduino, neste projecto importarmos as bibliotecas LiquidCrystal.h para o LCD 1602, als TimeLib.h, a Wire.hea DS1307RTC.h para a placa RTC DS1307, a Thermistor.h para o nosso sensor de temperature, e por fim a EEPROM.h que nos allowe gravar e ler dados gravados na memoria do Arduino, tudo isto através do gestor de bibliotecas do software do Arduino.

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

Para escrever no LCD é necessário em primeiro lugar definir o local onde se começará a colocar os caracteres, ou seja, a coluna ea linha, depois imprimimos o texto que queremos tendo em atenção que estehase LCD apenso tem 2 textohase pass esses limites não aparecerão os caracteres.

//Definir os pinos de comunicação e informação do LCD:

Flüssigkristall-LCD ("RS", "E", "D7", "D6", "D5", "D4");

e

Void-Setup () {

//Inicia a comunicação com LCD 16x2: lcd.begin (2, 16); aufrechtzuerhalten. Void Schleife () {// Definieren Sie eine Spalte (em 16) und eine Linha (em 2) tun LCD onde escrever: lcd.setCursor (0, 0); // Escreve kein LCD: lcd.print ("Temperatura:"); }

Eine biblioteca thermistor.h Permite-Nos Apenas com uma função configurar este tipo de sensor de temperature através do código seguinte.

#include "thermistor.h" //Importieren einer "thermistor"-Bibliothek

//Es muss eine Funktion definiert werden: THERMISTOR SENSOR (Pino_Sensor, 10000, 3950, 10000); // Pino de entrada do sensor; //Resistência nominell einem 25ºC do Sensor; // Coeficiente Beta-Do-Sensor; // Valor da resistência do Sensor.

Als 3bibliotecas, a TimeLib.h, a Wire.h e a DS1307RTC.h contêm comandos, funções and referencias criadas especificamente para trabalhar com a place RTC.

Eine biblioteca TimeLib.h activa as funcionalidades de tempo, como variáveis para segundos, minutos, hora, dia, mês, etc, facilitando assim os cálculos dos valores de tempo.

Eine biblioteca Wire.h activa as funções de comunicação entre equimentos através do sistema de comunicação I2C. Os pinos de comunicação deste sistema são déferentes nos varrios modelos de Arduino, caso queiram sabre quais os pinos utilizados vejam oder Link "https://www.arduino.cc/en/Reference/Wire".

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

Leere Schleife () {

int h, m, s, D, M, A; // Variáveis para alteração da hora e data. //Definiere uma nova hora e-Daten: 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(); }

Von einer biblioteca EEPROM.h que Erlaubnis von Gravar e lerdados gravados na memória não volátil do Arduino, sendo possível memorizar valores como por exemplo, hora de ligar iluminação, valores de temperatura maxima fluxer não sendo necessário configurar novamente estes valores ou configurações.

Este tipo de memória é diferente nos varios tipos de placas do Arduino, tendo diferentes capacidades, no caso do Arduino MEGA (ATmega2560 - 4096 Bytes) tem 4KB, assim aste terà 4096endereços ou posições, onde podemos daardos.os no No entanto, só podemos guardar nesses endereços dados de 8 bits, ou seja, com um valor até 256 (Ver quadro acima).

Para utilizar a memória EEPROM do Arduino através desta biblioteca, poderemos utilizar os seus principais comandos: Caso queiram ver mais sobre estes e outros comandos desta biblioteca, vejam als sua referencia emino "https://www.enardu/reference" EEPROM"

//Apagar os dados auf EEPROM.

int ich; //Variável para os endereços da EEPROM; Void Schleife () { 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 ich; //Variável para os endereços da EEPROM; int Tapferkeit; //Variável para leitura da EEPROM; Void Schleife () { Valor = EEPROM.read (i); //"i" = Endereço onde serão lidos os dados. } //----------------------------------------------------------- ------ //Gravar dados auf EEPROM. int ich; //Variável para os endereços da EEPROM; int Tapferkeit; //Variável para leitura da EEPROM; Void Schleife () {EEPROM.write (i, Valor); //"i" = Endereço onde serão lidos os dados. }

Caso queiram sabre mais sobre a RTC DS1307 und memoria EEPROM do Arduino vejam oder nosso Tutorial onde explicamos pormenorizadamente or as suas funçõeses and características.

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

Para utilizarmos o Sensor de Fluxo não écessário nenhuma biblioteca, no entanto, temos que recorder a cálculos de formas a determinar o valor medido pelo sensor. Como este sensor produz um sinal de onde quadrada, que varia a sua frequência consoante a quantidade de agua que passa por ele, teremos de utilizar a função "PulseIn", que conta o tempo em que esse sinal está em car abastando alto, palavra "High" eo tempo em que o sinal está em nível baixo com a palavra "low", no final a soma destes 2 tempos será o tempo total de cada ciclo, no entanto, este valor de tempo é dado em micro-Segundo, oder seja, 1000000µSeg.

Depois basta um código idêntico ao descrito abaixo para que possamos encontrar o valor pretendido, teremos apenas de ter em atenção quais as características do nosso sensor através da sua datasheet pois a razão de Pulsos / (Ver cálculos acima).

//A rotina de LOOP e executada repetidamente:void loop(){ //Contagem do tempo de duração de cada pulso em nível Alto e nível baixo. Contagem_Total = (pulseIn(Pino_Sensor, HIGH) + pulseIn(Pino_Sensor, LOW)); //Contagem de numero de pulsos por segundo (1Seg = 1000000µSeg). Calculo_Fluxo = 1000000/Contagem_Total; //Multiplicação de (Num. Total de pulsos/Seg)x(Pulse Caracteristics), //(Ver na Datenblatt Flow Sensor und cálculos acima): Calculo_Fluxo = (Calculo_Fluxo * 2.38); // ml/s em ml/min umrechnen: Calculo_Fluxo = Calculo_Fluxo * 60; //Umrechnen ml/min em L/min Calculo_Fluxo = Calculo_Fluxo / 1000; if (Calculo_Fluxo < 0) {Calculo_Fluxo = 0; } sonst{ Calculo_Fluxo = Calculo_Fluxo; }

}

Para controlar os sistemas de iluminação também utilizamos cálculos de formas a facilitar a configuração do controlador, no caso do sistema de iluminação Principal o utilizador apenas terá de seleccionar 2 parametros, a hora de inicio do ceo 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çara alterando at 7 configura alterando ea Lua cheia novamente.

Como este artigo já vai um pouco longo, podem encontrar o ficheiro com o código completo e que estamos a utilizar currentmente (Ver ficheiro abaixo).

Procurem os nossos outros projectos and Tutoriais acerca do Arduino, onde explicamos diversas montagens und o funcionamento dos seus componentses, já agora visitem o nosso canal no Youtube, Instagram, Facebook oder Twitter.

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

Empfohlen: