Taula de continguts:

Projectes de bricolatge: My Aquarium Controller: 4 passos
Projectes de bricolatge: My Aquarium Controller: 4 passos

Vídeo: Projectes de bricolatge: My Aquarium Controller: 4 passos

Vídeo: Projectes de bricolatge: My Aquarium Controller: 4 passos
Vídeo: Просто нанесите суперклей на светодиодную лампочку, и вы будете поражены 2024, Desembre
Anonim
Projectes de bricolatge: My Aquarium Controller
Projectes de bricolatge: My Aquarium Controller
Projectes de bricolatge: My Aquarium Controller
Projectes de bricolatge: My Aquarium Controller
Projectes de bricolatge: My Aquarium Controller
Projectes de bricolatge: My Aquarium Controller

Este foi o projecto mais complexo realizado até agora no nosso canal, este consisteix en realitzar um "upgrade" a um aquari que sofreu um restauro já há algum tempo, per isso colocamos sensores de temperatura, de nível de água e de flujo de água, alem disto tornamos a iluminação mais económica com també amb un control de temperatura da água do aquário mais eficiente e estável.

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 seran posteriorment reflectides accions de forma a corregir os parámetros de temperatura da água o gerando avisos luminosos e sonores caso estes estam fora do padronizados.

Cada um dos sensors utilitzen característiques específiques, són funcions diferents. El sensor de temperatura està constituït per uma NTC (Coeficient de temperatura negatiu), o bé, la seva resistència disminueix amb l’augment de la temperatura (Ver Gráfico acima). Aquest tipus de sensor és utilitzat per pinos d’entrada analògica de Arduino, através de uma montagem 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 quantitatidade de água que passa pelas tubagens do filtro do aquário, verificant assim se a o filtro està funcionant correctament. Aquest és constituït per un petit ventinha, on està fixat petits petits ímanes al llarg del seu rotor, que activament magnèticament amb un sensor intern dissenyat per Hall Switch Effect (Ver imagem acima).

Aquest ao sentir a passagem dos ímanes produz um sinal de pulso de onda quadrada, que varia a la seva freqüència consoante a rotació do rotor, o seja, consoante a quantitatidade de agua que pasa pelo sensor, asim este debe ser ligado a los pinos de entrada digital. fer Arduino.

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 com a àgua do aquário és lleugerament aquecida esta tende em evaporar, assim estes sensores activam avisos sempre que o nível está a sota do desejado.

No aquário estão montados 2 d'aquests sensors que se comportam com interruptors, estes devem ser ligados em serie, pois esta montagem apenas deve activar os avisos case ambos os sensores estejam activados, diminuindo assim a 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 adequados para a iluminação de plantas, normalmente designados por Full Spectrum, ou seja, produzem iluminação em tot o espectro de luz que as plantes necessitam.

As vantagens da utilaçã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 economicicos, alem disto também iluminam apenas numa direcção não sendo necessários reflectors (Ver imagem acima).

Per fim, instalamos 2ventoinhas de PC que té função de arrefecer a água do aquário principalment quan a temperatura ambient està elevada o que s'aconsegueix normalment durant o Verão, aquest sistema és molt important per a temperatura daigua és dos paràmetres més importants num aquário, estas ventoinhas funcionam a 12V DC e devem ser o mais silenciosas possivel.

Caso queiram saber mais sobre estes sensores vejam as su datasheet (Ver ficheiros abaixo) e os nossos tutoriais on expliquem detalladament o el seu funcionament i característiques.

Sensor de temperatura:

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

Sensor de flux:

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

Pas 1: Preparar aquari:

Image
Image
Preparar aquari
Preparar aquari
Preparar aquari
Preparar aquari

Começamos sempre os nossos projectos desenhando e testando o circuits através de uma pequena Breadboard e os components necessários para a su realización, só depois d'aquests testos terminats i confirmada a la seva funcionalitat, partits per a una concreció final (Ver circuit acima).

Necessari material:

  • 2x Ventoinhas PC 12V DC 80mm;
  • 4x LED SMD 10W Full Spectrum;
  • 4x dissipadors de calor LED;
  • 6x LED Amarelos de 1W;
  • 4x LED Azuis de 1W;
  • 1x PCB de 4x4 Cm;
  • 2x Bóias de nível;
  • 1x Sensor de Temperatura NTC 10KOhm;
  • 1x Sensor de Fluxo.

Instal·lació del sensor de flux:

O sensor de fluxo é muito fácil de instalar pois apenas temos que coloca-lo numa das tubagem de entrada o saída de água do filtro do aquário, no entanto, utilizamos umas ligações rápidas para mangueiras tornando assim mais fácil a desmontagem do sensor para ser mais 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 formes a que a o sistemes seja menys errático. Estão montadas em pequenos supportes desenhados através of o programa of desenho tècnic SolidWorks (Ver imagens acima) e materialised através of Impressão 3D (Ver ficheiros abaixo). Estes suportes 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).

Instalação das Ventoinhas:

Na instalação das ventoinhas do sistema de refrigeração de água, optamos por realizar 2aberturas de cerca de 80mm na tampa do aquário, o seja, com mateix diàmetre das ventoinhas de PC utilizadas. Estas Ventoinhas funcionan a 12V DC, são muito silenciosas e quan accionadas proporcionam a circulació de junt a superfície da àgua, que conseqüentment fa baixar a temperatura daigua 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 of Impressão 3D (Ver ficheiros abaixo).

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

A iluminação de presença ou Luz Lunar es realitza através de uma pequena PCB (Ver imagem acima) where estão montados os LED de 1Wamarelos e azuis. Aquesta PCB va ser desenhada através d'un programa de PCB Design (EasyEDA), on és possible imprimir o circuit em acetato, també deixant-vos o desenllaçar PCB pronto a imprimir o per importar, sent possible alterar-lo (Ver ficheiros abaixo).

A produção desta PCB foi realizada através de de method químico that consiste em 3processos, que são o process de revelação, o processo de corrosão e o process de limpeza e acabamento. Aquest mètode ha estat utilitzat per nosaltres recentment en altres projectes, per a que no es deixi massa maçador deixant-vos els enllaços d'altres projectes on es descriu tots aquests processos detalhadamente.

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

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

Aquesta iluminação tem apenas uma finalidade estética, sendo formada por 2circuitos de LED que podem ser accionats individualment o em conjunt, tendo a funció d'il·luminar o aquari quan a iluminação principal està desligada. No entanto, para que fosse um poco más divertido, controlamos esta iluminação consoante as fases da Lua, lligant i deslligant os 2 circuit a mesura que siguin fases vore alterant (Ver imagem acima).

Instalação de Iluminação de principal:

Una il·luminació principal és composta per 4 LEDSMD de 10WFull Spectrum ideal per a una il·luminació de plantes. Estes controlats individualment són necessaris una font d'alimentació amb una potència adequada per a aquest tipus de LED, aquests són molt potents i exigiran una font d'alimentació estàvel.

Atenção:

No es lliga els LED directament a la font d'alimentació, s'ha de baixar a la tensió que alimenta aquests LED, vingut de la font d'alimentació per a la tensió del funcionament desses LED que és cerca de 9V i com a font d'alimentació utilitzat és de 12V DC col·locem em serie uma resistência de potência ou dissipadora (Ver imagem abaixo).

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

Pas 2: Caixa De LED Aquari:

Caixa De LED Aquari
Caixa De LED Aquari
Caixa De LED Aquari
Caixa De LED Aquari
Caixa De LED Aquari
Caixa De LED Aquari

De forma a distribuir as alimentações dos sistemes do iluminação de ventilação do nosso aquário a partir de un único local, construímos um circuito donde colocámos todas as resistências dos LED dos sistemas de iluminação principal e de presença (Ver circuit acima).

Necessari material:

  • 1x font d'alimentació IP67 12V 50W;
  • 4x controlador de velocitat PWM ZS-X4A;
  • 4x Resistências 10 Ohms 10W;
  • 1x Dissipador de calor;
  • 1x Ventilador 40mm 12V 0, 1A;
  • 1x Interruptor de 2 posicions;
  • 1x PCB de 13x10 Cm;
  • 2x Resistências 100 Ohms 2W;
  • 4x Terminal Block de 2;
  • 1x Terminal de 3;
  • 1x Terminal de 4.

Alem das resistências de potência dos LED SMD de 10W, estes estão ligados a equipamentos PWM Controller ZS-X4A these permitem controlar a intensidade da iluminação através de uma resistência variável alterando assim a frequência do pulso na sua saída (Ver gráfico acima).

No entanto, as resistências de potência tendem em aquecerem um little 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 eléctrico, podendo ser controlado por um interruptor que fue instalado na caixa do circuito.

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 same função que as anteriors, no entanto com uma potencia de cerca de 2W (Ver cálculos acima).

A PCB deste circuitito was alsom desenhada através of a program of PCB Design (EasyEDA) where we can imprimir and alterar o circuit (Ver ficheiros abaixo), being alsom materialized através of method químico (Ver imagens acima).

A caixa destaque for this PCB foi desenhada no SolidWorks (Ver Imagens acima) i també materialized através of Impressão 3D. Aquesta està preparada per a una instal·lació das ventoinha de arrefecimiento das resistências de potência e o respectivo dissipador de calor (Ver ficheiros abaixo).

Pas 3: Controlador de l'Aquari:

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 y monitorizar os sistemas de iluminação principal e de presença, com també a temperatura do aquário. Aquest és constituït per um Arduino MEGA, que rep els sinais dos sensors distribuïts pelo aquário, activando posteriormente as ventoinhas de refrigeração da água do aquário e os sistemes de iluminação, això és através de mòduls de relés, cas que existeix un valor elevat per a dos valors patrons programats, aquest actiu avisos lluminosos i sonors (Ver circuit acima).

Necessari material:

  • 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 Resistência 10K Ohms;
  • 1x Resistència 220 Ohms;
  • 6x Resistência 1K Ohms;
  • 1x PCB de 15x10 Cm;
  • 1x LED Blau 1W;
  • 1x LED Amarelo 1W;
  • 1x LED Vermell 1W;
  • 3x Resistència 100 Ohms;
  • 1x Mòdul de 2 Relés;
  • 1x Mòdul de 4 Relés;
  • 1x Mòdul de 1 Relé;
  • 2x Terminal Terminal de 2;
  • 1x Terminal Terminal de 3;
  • 1x Terminal Terminal de 4;
  • 5x sòcol de capçalera masculí i femení.

Per a una construcció d’aquest equipament utilitzat de components integrats que ja falamos em tutoriais anteriors sense canal, també com a LCD 1602 on es visualitza la informació del menú, com a pàgines, guardats i inserits sense controlador, uma placa RTC DS1307 que proporciona informació de hora e data ao Arduino MEGA, tendo esta uma pilha tipo botão CR2032 para que no perca a informació guarda, garantint que fins i tot sem alimentació o Arduino no deixarà de ter a hora e dataactualizadas.

Arduino MEGA:

O Arduino MEGA é uma placa com um micro-controlador que posseeix 54 pins d’entrada i saída de sinal digital, 14 dos que podem ser usats com a saídasPWM (Pulse-Width Modulation) e 16entradas de sinal analógico. Tots aquests pinos podem ser utilitzats per lligar varis tipus de sensors entre els quais os sensors do nosso aquário. Alem dos sensores estes pinos também podem controlar varis tipus de components com a mòduls de relés, LCD e LED.

Instal·lació del LCD 1602:

Para ligar o LCD 1602 teremos de ter em atenção à configuração dos seus pinos durant a la seva muntatge, sent que cada pino tem uma funció especifica (Ver legenda acima). Esses pinos podem ser agrupats en 3 grups, o grup dos Pinos d’Alimentació, o de Pinos de Comunicação o o de Pinos de Informação.

Pinos d'Alimentació:

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

O Pino V0 tem a função d’ajustar o contraste dos caracteres, para podermos controlar estar ajuste ligamos este pino a uma resistência variável de 10KΩ, que funcionar com a divisor de tensió alterant assim 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, lligamos en serie uma resistencia de 220Ω para que o brillo no seja demasiado intenso, no permet que els LED interns do LCD se danifiquem.

Pinos de Comunicação:

  • RS (Selecciona registre);
  • R / W (lectura / escriptura);
  • E (Activa).

Nosaltres 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 permitido escrever no LCD aparecendo assim o caracteres, caso contrario podemos estar a ler o dados guardados en memoria interna do LCD.

Pinos d'informació:

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

En aquest projecte usem apenas 4 dos 8 possíveis pinos of informationção, pois using a biblioteca LiquidCrystal.h no code permet o Arduino enviar os dados for o LCD dividido in 2 parts, ou seja, são necessário metade dos pinos para realizar a mesma função, assim o LCD apenas necessita dos pinos d’informació de D4 a D7.

Caso queiram saber mais sobre o o LCD 1602 vejam o nosso tutorial onde explicamos o su funcionamiento más pormenorizadamente.https://www.instructables.com/id/Arduino-Tutorial-LCD-Temperature-Sensor/

Instal·lació de RTC DS1307:

Aquest component té com a funció fornir a informació de dades i hora de forma precisa i constant, o seja, mateix quan a alimentació externa és desligada per algú motiu per aquest manteniment dels dats de dades i hora sempre actualitzats mai perdent a informació.

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 use a linha com less pinos, pois apenas são necessários os pinos Gnd, Vcc, SDA e SCL.

Pinos d'Alimentació:

  • Gnd;
  • Vcc;
  • Ratpenat.

Em relação ao pino Bat apesar de não ser um pino de alimentação coloca-mos-o en aquest grup, pois aquest pin està lligat directament a bateria de tipus botãoCR2032 da RTC que serveix d'alimentació interna da placa, sent aquest pinyet utilitzat per a monitorització da carga da bateria.

Pinos de Comunicação:

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

Os pinos de comunicaçãoSCL e SDA da placa RTC fazem part de um sistema de comunicação chamado I2C (Ver diagrama acima), onde é possível comunicar com um ou més equipaments através d'apenas duas únicas linhas, sendo o SDA ou SERIAL DATA a linha que transmite e recebe a informação eo SCL ou SERIAL CLOCK o responsável por saber quan és que els equipaments són que receber o enviar una informació, ficant-los tots sincronitzats.

Cas queiram saber mais sobre a RTC DS1307 vejam o nosso tutorial onde explicamos o su funcionamiento más pormenorizadamente.

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

Alem dos components anteriors, que são os mais importantes, são usedados também 4botões de pressão que permitem ao utilisador navegar pelas páginas do menu podendo visualizar e alterar a informação fornecida pelos sensores ou guarda no Arduino, estes botões podem ter funções diferents ao longo do menu depenent de la pàgina i tipus d'informació visualitzada.

A pesar de serem completament diferents dos botons de premsa, as bóias de nível funcionam electricament de forma idèntica, pois és quan s’accionen ligament magneticament um interruptor.

Cas queiram saber mais sobre a montagem e funcionament dos botões de pressão vejam o nosso tutorial onde explicamos mais pormenorizadamente.

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

Quan va ser elaborat un circuit da PCB, el nostre controlador va ser considerat a un muntatge de divisor de tensió per a un sensor de temperatura, permetent que Arduino tingués la possibilitat de realitzar una leitura d’aquest sensor. 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), this case escolhemos oo pino A0, assim à medida que a temperatura altera a tensão nesse pino analógico també altera entre 0 e 5V, sendo assim possível ao Arduino realizar essa leitura.

Cas queiram saber mais sobre a montagem 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 significen diferents aconteciments, o LED de cor blau indica que a temperatura da àgua està abaixat de temperatura mínima seleccionada, o LED de cor vermell que indica que a temperatura està acima de temperatura màxima seleccionada i per fim o LED 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.

Per fim utilizamos 3 módulos de relés diferentes, sendo um de 1relé (Ventoinhas de arrefecimento), outro de 2relés (Iluminação de presença) e per ultimo outro de 4relés (Iluminação principal). Estes são indicados para montagens com o Arduino tendo a particularidade de serem activos não com a saída de sinal digital do Arduino em nível alto mais sim em nível baixo.

A PCB deste circuitito was também desenhada através of a program of PCB Design (EasyEDA) where we can imprimir and alterar o circuit (Ver ficheiros abaixo), being also materialized através of method químico (Ver imagem acima).

A caixa for this PCB foi desenhada no SolidWorks (Ver Imagens acima) i també produzidas através de Impressão 3D. Esta divide-se em 3 parts, assim a part frontal é onde estão indicações das ligações dos nossos sensores ao controlador, a parte intermédia que é donde está montada e fixa a la nostra PCB com o Arduino MEGA o LCD ea RTC, per fim a part traseira onde se troba tots els mòduls de relés tendo obertura per a passagem e ligação das respectivas cablagens cablagens (Ver ficheiros abaixo).

Pas 4: Codi:

Codi
Codi
Codi
Codi
Codi
Codi
Codi
Codi

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

Mas antes, vamos explicar resumidamente o nosso código, sendo que éste en este momento que vamos colocar como diferentes funciones necesarias para a elaboración de un menú con diferentes páginas y consecutivamente visualização de diferentes informaciones, sendo possible navegar por este através dos botões de pressa referidos acima.

Assim começamos lloc deve ser elaborado um petit esquema de blocs com a estrutura de páginas e funções que o ens equipament tindrà (Ver esquema acima), sendo assim mais easy elaborar o nosso code e case seja necessário alterar ou corrigir-lo sabemos sempre onde nos trobem.

// Corregiu una funció LOOP repetidament:

void loop () {// Condição para a leitura da distância: if (Menu == 0) {// Correr a função: Pagina_0 (); } // Condição para a leitura da temperatura: else if (Menu == 1) {// Correr a função: Pagina_1 (); } // Condição para a leitura da temperatura: else if (Menu == 2) {// Correr a função: Pagina_2 (); }} // Página 0: void Pagina_0 () {// Codi referent a les funcions d'aquesta pàgina. } // Página 1: void Pagina_1 () {// Codi referent a les funcions d'aquesta pàgina. } // Página 2: void Pagina_2 () {// Codi referent a les funcions d'aquesta pàgina. }

Caso queiram saber 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-…

Dipòsits de sabers qualificats a estrutura de codi passam per a biblioteques dos components que interagem amb Arduino, en aquest projecte importar-se com a biblioteques LiquidCrystal.h per a LCD 1602, as TimeLib.h, a Wire.hea DS1307RTC.h per a placa RTC DS1307, a Thermistor.h para o nosso sensor de temperatura, e por fim a EEPROM.h que nos permet gravar e ler dados gravados na memoria do Arduino, tot això és através del gestor de biblioteques del software do Arduino.

Começamos então pela biblioteca LiquidCrystal.h, esta facilita a configuração do LCD 1602 sendo apenas necessário 2funções per a què funcioni correctament.

Per escrever no LCD és necessari en primer lloc definit o local on es vingui a colocar els caràcters, o seja, a coluna ea linha, depòsits impresos o text que volem tenir em atenció que aquest LCD apenas tem 16colunas e 2linhas, caso o texto passe esses limites não aparecerão os caracteres.

// Definir els pinos de comunicació i informació del LCD:

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

e

configuració nul·la () {

// Inicia a comunicação com LCD 16x2: lcd.begin (2, 16); } void loop () {// Define a coluna (em 16) e a linha (em 2) do LCD onde escrever: lcd.setCursor (0, 0); // No escriviu cap LCD: lcd.print ("Temperatura:"); }

A biblioteca thermistor.h permet-nos apenas com uma função configurar aquest tipus de sensor de temperatura através del codi següent.

#include "thermistor.h" // Importar una biblioteca "thermistor"

// Aquesta funció defineix: THERMISTOR SENSOR (Pino_Sensor, 10000, 3950, 10000); // Pino de entrada do sensor; // Resistencia nominal a 25ºC do sensor; // Coeficiente beta do sensor; // Valor da resistência do sensor.

As 3bibliotecas, a TimeLib.h, a Wire.h e a DS1307RTC.h conté comandos, funcions i referències criades específicament per treballar amb placa RTC.

Una biblioteca TimeLib.h activa com a funcionalitats de temps, com a variables per a segons, minuts, hora, dia, mès, etc., facilitant assim els càlculs dos valors de temps.

A biblioteca Wire.h activa as funções de comunicação entre equipaments através do sistema de comunicação I2C. Os pinos de comunicação deste sistema são diferentes nos vários models de Arduino, caso queiram saber quais os pinos utilizados vejam o Link "https://www.arduino.cc/en/Reference/Wire".

Per últim a biblioteca DS1307RTC.h activa com a funcionalitats que permeten una leitura i escrit de dats de temps guardats en RTC.

bucle buit () {

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

Per fim a biblioteca EEPROM.h que permet gravar e lerdados gravados na memória no volátil do Arduino, sendo possível memorizar valores como por ejemplo, hora de ligar iluminação, valores de temperatura máxima y mínima y flujo de agua mínimo mismo que Arduino fique sem energia no és necessari configurar novament aquests valors o configurar-los.

Aquest tipus de memòria és diferent als nostres tipus de plaques de Arduino, tenint diferents capacitats, sense cas de Arduino MEGA (ATmega2560 - 4096 Bytes) tem 4KB, assim aquest tindrà 4096endereços o posicions, on podem guardar-nos. No entanto, só podemos guardar nesses endereços dados de 8 bits, ou seja, com um valor até 256 (Ver quadro acima).

Per utilitzar una memòria EEPROM do Arduino através desta biblioteca, poderemos use os seus principals comandos: Caso queiram ver mais sobre estes e outros comandos desta biblioteca, vejam as sua referencia em "https://www.arduino.cc/en/Reference/ 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án 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; bucle buit () {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; bucle buit () {EEPROM.write (i, Valor); // "i" = Endereço onde serão lidos os dados. }

Cas queiram saber mais sobre a RTC DS1307 e a memoria EEPROM do Arduino vejam o nosso tutorial on expliquem pormenorizadamente o as suas funções i features.

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

Per a utilitzar-los o Sensor de Fluxo no és necessari nenhuma biblioteca, no entanto, tenim que recórrer a càlculs de formes a determinar o valor mitjà de cabell sensor. Com aquest sensor produeix um senyal d’on quadrada, que varia a la seva freqüència consonant a quantitatitat d’aigua que passa per ele, terem d’utilitzar un funcionament "PulseIn", que tingui o temps en què sigui senyal està em alt nivell, bastant colocar a palavra "High" eo tempo em que o sinal está em nível baixo com a palavra "Low", no final a soma d'aquests 2 temps serà o temps total de cada cicle, no entant, aquest valor de temps és donat en micro-Segundo, ou 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 features do nosso sensor através da sua datasheet pois a razão de Pulsos / (L / min) Podeu ser diferent depenent de cada sensor (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 número de pulsos per segon (1Seg = 1000000µSeg). Calculo_Fluxo = 1000000 / Contagem_Total; // Multiplicação de (Num. Total de pulsos / Seg) x (Pulse Features), // (Ver na Datasheet Flow Sensor e cálculos acima): Calculo_Fluxo = (Calculo_Fluxo * 2.38); // Converteix mL / s em mL / min: Calculo_Fluxo = Calculo_Fluxo * 60; // Converteix mL / min em L / min Calculo_Fluxo = Calculo_Fluxo / 1000; if (Calculo_Fluxo <0) {Calculo_Fluxo = 0; } else {Calculo_Fluxo = Calculo_Fluxo; }

}

Per controlar els sistemes d’il·luminació també s’utilitzen càlculs de formes per facilitar una configuració del controlador, sense cas del sistema d’il·luminació principal o utilitzador apenas tindràs seleccionats 2 paràmetres, a l’hora d’inici del cicle d’il·luminació o número d’hores que estaran completament disponibles lligat (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ção de 7 em 7 dias até completar 28 dias ea Lua cheia novament.

Com aquest article ja estareu poc llarg, podem trobar un fitxer com un codi complet i que estem utilitzant actualment (Ver ficheiro abaixo).

Procurem os nossos altres projectos e tutoriais about do Arduino, where explicamos diverses montagens e o functionament dos seus components, já agora visitem o nosso canal no Youtube, Instagram, Facebook ou Twitter.

Abraço i até al proper projecte.

Recomanat: