Isi kandungan:

Projek DIY - Pengawal Akuarium Saya: 4 Langkah
Projek DIY - Pengawal Akuarium Saya: 4 Langkah

Video: Projek DIY - Pengawal Akuarium Saya: 4 Langkah

Video: Projek DIY - Pengawal Akuarium Saya: 4 Langkah
Video: Pegawai Kanan TLDM Yang Kurang Ajar 2024, Julai
Anonim
Projek DIY - Pengawal Akuarium Saya
Projek DIY - Pengawal Akuarium Saya
Projek DIY - Pengawal Akuarium Saya
Projek DIY - Pengawal Akuarium Saya
Projek DIY - Pengawal Akuarium Saya
Projek DIY - Pengawal Akuarium Saya

Este foi o projecto mais complexo realizado até agora no nosso canal, este conste 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 fluxo de de água, além disto tornamos a iluminação mais económica como também um controlo da 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 sinaisis 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 temperatura da estoosososososososososososososososososososososososososososososososososososososososososososososososos fora do padronizados.

Cada um dos sensores utilizados têm características especificas, pois têm funções muito diferentes. O sensor de temperatura é constído por uma NTC (Negative Temperature Coefficient), ou seja, a sua resistência diminui com o aumento da temperatura (Ver Gráfico acima). Este tipo de sensor é utilizado nos pinos de entrada analógica do 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 quantidade de água que passa pelas tubagens do filtro do aquário, verificando assim se a o filtro está a funcionar correctamente. Este é constído por uma pequena ventoinha, onde estão fixos pequenos ímanes ao longo do seu rotor, que activam magneticamente um sensor interno designado por 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 freê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 buat 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 como a água do aquário é ligeiramente aquecida esta tende em evaporar, assim estes sensores activam avisos semper que o nível está a baix.

Tiada 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 ambos os sensores estejam activados, diminuindo assim a possibilidade de erro (Ver imagem acima).

Iluminação do aquário juga telah mengubah LED, sendo que cada LED tem uma potência de cerca de 10W e são secukupnya untuk iluminação de plantas, normalmente designados por Full Spectrum, ou seja, produzem iluminação em todo o espectro de luz que sebagai tanaman.

Sebagai 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 sendo Needorrrrrrrrrccão não sendo Needo

Oleh fim, instalamos 2ventoinhas de PC que têm a função de arrefecer a água do aquário Principmente quando a temperatura ambiente está elevada o que acontece normalmente durante o Verão, este sistema é muito importante pois a temperatura da ágároua, esuumum égároua, esaumum égua importantmouum estas ventoinhas funcionam sebuah 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 tutoriais onde explicamos detalhadamente o seu funcionamento e características.

Sensor de temperatura:

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

Sensor de Fluxo:

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

Langkah 1: Persiapan Aquário:

Image
Image
Persediaan Aquário
Persediaan Aquário
Persediaan Aquário
Persediaan Aquário

Começamos semper os nossos projectos desenhando e testando o circuitos através de uma pequena Breadboard e os componentses Needários para a sua realização, só depois destes testes terminados e confirmada a sua funcionalidade, partimos para a concretização final (Ver circuito acima).

Bahan keperluan:

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

Instalação do 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, no entanto, utilizamos umas ligações rápidas para mangueiras tornando assim mais fascil buat limpeza dos tubos do filtro (ver imagem acima).

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

Sebagai opsyen yang lebih baik, saya boleh lakukan secara langsung. Estão montadas em pequenos suportes desenhados através de o programa de desenho técnico SolidWorks (Ver imagens acima) e materializados através de Impressão 3D (Ver ficheiros abaixo). Estes suportes são facilitymente instaláveis no aquário e são ajustáveis para que seja possível colocar sebagai bóias de nível na altura pretendida (Ver ficheiros STL abaixo).

Instalação das Ventoinhas:

Sebagai contoh, das ventoinhas do sistema de refrigeraçã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 utilizadas. Estas Ventoinhas funcionam a 12V DC, são muito silenciosas e quando accionadas proporcionam a circulação de ar junto à superfície da água, que reactentemente faz baixar a temperatura da água do aquário.

Estas ventoinhas e todo o sistema eléctrico ficamomplamente 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:

Pengetahuan yang betul dan luaran Lunar adalah realizada através de uma pequena PCB (Ver imagem acima) onde estão montados os LED de 1Wamarelos e azuis. Esta PCB juga telah diserahkan pada programa de PCB Design (EasyEDA), onde é possível imprimir o circuito em acetato, também deixamos-vos o desenho do PCB pronto a imprimir ou para importar, sendo possível altera-lo (Ver ficheiros abaixo).

Sebuah produção desta PCB juga merealisasikan através de de método químico que terdiri daripada 3 proses, que são o processo de revelação, o processo de corosão e o processo de limpeza e acabamento. Este método tem sido utilizado por nós freshemente 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 por 2circuitos de LED que podem ser accionados individualmente ou em conjunto, tendo a função de iluminar o aquário quando a iluminação prinsipal está desligada. Tiada 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 prinsipal:

Pengetua iluminação adalah kompos 4 LEDSMD de 10WFull Spectrum sesuai untuk iluminação de plantas. Estes são controlados individualmente sendo requário uma fonte de alimentação com a potenciaukupada para este tipo de LED, pois estes são bastante potentes e exigem uma fonte alimentação estável.

Atenção:

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 como a fonte de alimentaã 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 e o seu respectivo circuito eléctrico através das mesmas coberturas ficando mais estético e seguro, pois o circuito eléctrico fica completeamente inacessível (Ver ficheiros abaixo).

Langkah 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 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 sebagai resistências dos LED dos sistemas de iluminação prinsipal e de presença (Ver circuito acima)

Bahan keperluan:

  • 1x Bekalan Kuasa IP67 12V 50W;
  • Pengawal Kelajuan 4x PWM ZS-X4A;
  • 4x Resistências 10 Ohms 10W;
  • 1x Dissipador de calor;
  • 1x Kipas 40mm 12V 0, 1A;
  • 1x Interruptor de 2 posições;
  • 1x PCB de 13x10 Cm;
  • 2x Resistências 100 Ohms 2W;
  • Blok Terminal 4x Terminal 2;
  • 1x Terminal Blok de 3;
  • 1x Terminal Blok 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 permitem controlar a intensidade da iluminação através de uma resistência variável alterando assim a freência do pulso na sua saída

Tidak ada entanto, sebagai resistências de potência tendem em aquecerem um pouco sendo requá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 controlada por interrupt caixa do circuito.

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

Rangkaian PCB yang perlu juga direka bentuk dan direka bentuk Reka Bentuk PCB (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).

Caixa desta para esta PCB juga tidak mempunyai 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 resistências de potência e o respectivo dissipador de calor (Ver ficheiros abaixo).

Langkah 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 prinsipal e de presença, como também a temperatura do aquário. Este é constituído por um MEGA Arduino, que recebe os Sinais dos sensores distribuídos pelo Aquario, activando posteriormente sebagai ventoinhas de refrigeração da água melakukan Aquario e os sistemas de Iluminação, isto através de módulos de relés, caso exista algum keberanian forum dos valores padrão programados, este activa avisos luminosos e sonoros (Ver circuito acima).

Bahan keperluan:

  • 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 Azul 1W;
  • 1x LED Amarelo 1W;
  • 1x LED Vermelho 1W;
  • 3x Resistência 100 Ohms;
  • 1x Modulo de 2 Relés;
  • 1x Modulo de 4 Relés;
  • 1x Modulo de 1 Relé;
  • Blok Terminal 2x Terminal 2;
  • 1x Terminal Blok de 3;
  • 1x Terminal Blok de 4;
  • Soket Header Lelaki & Wanita 5x.

Sebagai satu konstruktif deste equipamento são utilizados vários componentses que já falamos em tutoriais anteriores no nosso canal, tais como o LCD 1602 onde visualizamos a menu informação do, seperti suas páginas, os dados guardados e inseridos no controlador, uma placa RTC de hora e data ao Arduino MEGA, tendo esta uma pilha tipo botão CR2032 para que não perca a informaçã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 placa com um micro-controlador que possui 54 pinos de entrada e saída de sinal digital, 14 dos quais podem ser usados como saídasPWM (Pulse-Width Modulation) dan 16entradas de sinal analógico. Todos estes pinos podem ser utilizados para ligar vários tipos de sensores entre os quais os sensores do nosso aquário. Alem dos sensores estes pinos também podem controlar vários tipos de componentses como Módulos de relés, LCD dan 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 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:

  • 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 resistência variável de 10KΩ, que funcionar como um divisor de tensão alterando 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, 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 (Pilih Pilih);
  • R / W (Baca / Tulis);
  • E (Dayakan).

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

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 permite o Arduino enviar os dados para o LCD dividido em 2 partes, ou seja, são requário metade dos pinos para realizar a mesim o LCD apenas requita dos pinos de informação de D4 a D7.

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

Instalação da RTC DS1307:

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

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 requários os pinos Gnd, Vcc, SDA dan SCL.

Pinos de Alimentação:

  • Gnd;
  • Vcc;
  • Kelawar.

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 melayani de alimentação interna da placa, sendo este pino muito utilizado da carga da bateria.

Pinos de Comunicação:

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

Os pinos de comunicaçãoSCL e 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 equipamentos através de apenas duas únicas linhas, sendo o SDA ou SERA e terima maklumat SCL ou SERIAL CLOCK o responsável por saber quando é que os equipamentos têm que receiver atau enouar 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 komponenes anteriores, que são os mais importantes, são utilizados também 4botões de pressão que permitem ao utilizador navegar pelas páginas do menu podendo visualizar e alterar a informação fornecida pelos sensores ou guarda no Arduino, estes boteses menu dependendo da página e tipo de informação visualizada.

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

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

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

Quando dan elaborado circuito da PCB do nosso controlador juga mempertimbangkan montagem do divisor de tensão para o sensor de temperatura, izinindo que o Arduino possa realisar a leitura deste sensor. Segundo sebagai pengkhususan melakukan fauna o sensor de temperatura dan de 10KΩ, logo sebuah resistensi ncc eschemos 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 ereo assim possível ao Arduino realizar essa leitura.

Caso 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 indicam 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á acima da temperatura máxima seleccion mimaksima 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.

Oleh 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 por ultimo outro de 4relés (Iluminação prinsipal). Estes são indicados para montagens com o Arduino tendo a tertentuidade de serem activos não com a saída de sinal digital do Arduino em nível alto mais sim em nível baixo.

Rangkaian PCB destinasi juga 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).

Caixa para esta PCB juga tidak mempunyai SolidWorks (Ver Imagens acima) e também produzidas através de Impressão 3D. Esta divide-se em 3 partes, assim a parte frontal é onde estão indicações das ligações dos nossos sensores ao controlador, a 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 tendo abertura para a passagem e ligação das respectivas cablagens cablagens (Ver ficheiros abaixo).

Langkah 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 sebagai diferentes funções requárias para a elaboração de um menu com diferentes páginas e consecutivamente visualização de diferentes informações, sendo estes, nesaves, deseseses

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 caso seja ضروريário alterar ou corr encontramos.

// Coret a função LOOP pengulangan:

gelung kosong () {// Condição para a leitura da distância: if (Menu == 0) {// Correr a função: Pagina_0 (); } // Condição para a leitura da temperatura: lain jika (Menu == 1) {// Correr a função: Pagina_1 (); } // Condição para a leitura da temperatura: lain jika (Menu == 2) {// Correr a função: Pagina_2 (); }} // Página 0: batal Pagina_0 () {// Código referente dan função desta página. } // Página 1: batal Pagina_1 () {// Código referente ás função desta página. } // Página 2: batal Pagina_2 () {// Código referente ás função desta 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-…

Depois de sabermos qual a estrutura do código passamos para sebagai bibliotecas dos componentses que interagem com o Arduino, neste projecto importarmos as bibliotecas LiquidCrystal.h para o LCD 1602, sebagai TimeLib.h, Wire.hea DS1307RTC.h para placa RTC DS130, Thermistor.h para o nosso sensor de temperatura, el e fim a EEPROM.h que nos izin gravar e ler dados gravados na memoria do Arduino, tudo isto através do gestor de bibliotecas melakukan perisian Arduino.

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

Para escrever no LCD é diperlukaná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 este LCD apenas tem 16colunas e 2linhas, caso o texto karangan membatasi não aparecerão os caracteres.

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

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

e

batal persediaan () {

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

Thermistor biblioteca.h permite-nos apenas com uma função configurar este tipo de sensor de temperatura através do código seguinte.

#termasuk "termistor.h" // Import perpustakaan "termistor"

// Esta função define: THERMISTOR SENSOR (Pino_Sensor, 10000, 3950, 10000); // Pino de entrada do sensor; // Resistência nominal sensor do 25ºC; // Sensor beta do Coeficiente; // Valor da resistência do sensor.

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

A biblioteca TimeLib.h activa as funcionalidades de tempo, como variáveis para segundos, minutos, hora, dia, mês, dll., A biblioteca Wire.h activa sebagai 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 utilizados vejam o Link "https://www.arduino.cc/en/Reference/Wire".

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

gelung kosong () {

int h, m, s, D, M, A; // Variáveis para alteração da hora e data. // Tentukan data uma nova hora e: setTime (h, m, s, D, M, A); // Grava na RTC os dados de tempo: RTC.set (sekarang ()); // Lagi RTC os dados de tempo: RTC.get (); }

Oleh fim a biblioteca EEPROM.h que permite 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 máxima e mimnima e fluxo de aguxino não sendo requário configurar novamente estes valores ou configurações.

Esto tipo de memória é diferente nos vários tipos de plasas do Arduino, tendo diferentes capacidades, no caso do Arduino MEGA (ATmega2560 - 4096 Bytes) tem 4KB, asim este terá 4096endereços ou posições, onde podemos guardar os nosso dados. Tiada entanto, só podemos guardar nesses endereços dados de 8 bit, 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 sebagai sua referensi utama "https://www.arduino.cc/en/Reference EEPROM"

// Apagar os dados na EEPROM.

int i; // Variável para os endereços da EEPROM; gelung void () {untuk (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; gelung kekosongan () {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; gelung kosong () {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 utilizarmos o Sensor de Fluxo não é ضروريário nenhuma biblioteca, no entanto, temos que recorrer a cálculos de formas sebagai penentu o valor medido pelo sensor. Como este sensor produz um sinal de onde quadrada, que varia a sua freê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 nível alto, bastando colocar a palavra "Tinggi" e tempo em que o sinal está em nível baixo com a palavra "Low", tidak ada final a soma destes 2 tempos será o tempo total de cada ciclo, no entanto, este valor de tempo é dado em 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 sebagai características do nosso sensor através da sua datasheet pois a razão de Pulsos / (L / min 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, TINGGI) + pulseIn (Pino_Sensor, RENDAH)); // 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 Datasheet Flow Sensor e cálculos acima): Calculo_Fluxo = (Calculo_Fluxo * 2.38); // Tukarkan mL / s em mL / min: Calculo_Fluxo = Calculo_Fluxo * 60; // Tukarkan mL / min em L / min Calculo_Fluxo = Calculo_Fluxo / 1000; jika (Calculo_Fluxo <0) {Calculo_Fluxo = 0; } lain {Calculo_Fluxo = Calculo_Fluxo; }

}

Para controlar os sistemas de iluminação também utilizamos cálculos de formas a fasilitar a configuração do controlador, no caso do sistema de iluminação Principal o utilizador apenas terá de seleccionar 2 parâmetros, a hora de inicio do ciclo de ilumina de essum de num de laum ligado (Ver imagem acima).

Maklumat lanjut data 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çaça del del a a configuraçaça del del a configura ea Lua cheia novamente.

Como este artigo jai vai um pouco longo, podem encontrar o ficheiro com o código completeo e que estamos a utilizar actualmente (Ver ficheiro abaixo).

Procurem os nossos outros projectos e tutoriais acerca do Arduino, onde explicamos diversas montagens e o funcionamento dos seus komponenes, já agora visitem o nosso canal no Youtube, Instagram, Facebook atau Twitter.

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

Disyorkan: