Satura rādītājs:

DIY projekti - mans akvārija kontrolieris: 4 soļi
DIY projekti - mans akvārija kontrolieris: 4 soļi

Video: DIY projekti - mans akvārija kontrolieris: 4 soļi

Video: DIY projekti - mans akvārija kontrolieris: 4 soļi
Video: 3 простых изобретения с автомобильным генератором 2024, Jūlijs
Anonim
DIY projekti - mans akvārija kontrolieris
DIY projekti - mans akvārija kontrolieris
DIY projekti - mans akvārija kontrolieris
DIY projekti - mans akvārija kontrolieris
DIY projekti - mans akvārija kontrolieris
DIY projekti - mans akvārija kontrolieris

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 fluxo de degua, além disto tornamos un iluminação mais económica como também um controolo 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 sinais vindos dos sensores instalados no aquário, estes depois são analisados sendo posteriormente reflexidas acções de forma a corrigir os parâmetros de temperatura da água ou geoosos fora do padronizados.

Cada um dos sensores utilizados têm características especificas, pois têm funções muito diferentes. Temperatūras sensors ir NTC (negatīvs temperatūras koeficients) komponents, vai arī tas nozīmē, ka temperatūra ir ierobežota (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).

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 é constituído por uma pequena ventoinha, onde estão fixos pequenos ímanes ao longo do seu rotor, que activam magnetamente um sensor interno designado Hall Hall 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 rotção do rotor, ou seja, consoante a quantidade de agua que passa pelo sensor, assim este deve ser ligado aos pinos de entrada digital dari 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á des baix.

No aquário estão montados 2 destes sensores que se comportam com interruptores, estes devem ser ligados em serie, pois esta montāža apenas deve activar os avisos caso ambos os sensores estejam activados, diminuindo assim a possibleilidade 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 sobados para a iluminação de plantas, normalmente designados of Full Spectrum, ou seja, produzem iluminação em todo o espectro de luzitam que.

Kā 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 directcção não sendo needsários refores (Ver imagem acima).

Por 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 system é muito importante pois a temperatura da água é dos parâmetros svarīgs ūdens daudzums 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 tutoriais onde explicamos detalhadamente o seu funcionamento e características.

Temperatūras sensors:

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

Fluxo sensors:

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

1. darbība. Sagatavotājs Aquário:

Image
Image
Sagatavotājs Aquário
Sagatavotājs Aquário
Sagatavotājs Aquário
Sagatavotājs Aquário

Nākošie projekti ir paredzēti, lai pārbaudītu un pārbaudītu maizes plāksni un komponentus.

Nepieciešamie materiāli:

  • 2x Ventoinhas PC 12V DC 80mm;
  • 4x LED SMD 10W pilns spektrs;
  • 4x Dissipadores de calor LED;
  • 6x LED Amarelos de 1W;
  • 4x LED Azuis de 1W;
  • 1x 4x4 cm PCB;
  • 2x Bóias de nível;
  • 1x temperatūras sensors NTC 10KOhm;
  • 1x Fluxo sensors.

Fluxo sensora uzstādīšana:

O sensors 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 fácil a desmontagem do sensor para ser mais fácil a limpeza dos tubos do filtro (ver imagem acima).

Instalācija das Bóias de nível:

Kā bóias de nível são instaladas em cantos opostos do aquário de formas a que a o systemas seja menos errático. Estão montadas em pequenos suportes desenhados através de o programme des deshoho técnico SolidWorks (Ver imagens acima) e materializados através de Impressão 3D (Ver ficheiros abaixo). Estes suportes são facilitmente 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:

Ja ir uzstādītas ledusskapja sistēmas, tad ir pieejamas optiskās sistēmas, kas nodrošina 2 mm diametru, 80 mm, un tas kļūst par akvāriju, vai arī tas ir pieejams, izmantojot PC utilizadas. Estas Ventoinhas darbojas ar 12 V līdzstrāvu, sausa muito silenciosas un quando accionadas proporcionam a circulação de ar junto à superfície da água, que conventionemente faz baixar a temperatura da água do aquário.

Estas ventoinhas e todo o system 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).

Iluminação de presença uzstādīšana:

A iluminação de presença ou Luz Lunar é realizada através de uma pequena PCB (Ver imagem acima) on the montados os LED de 1Wamarelos e azuis. Esta PCB fori desenhada através de um programme de PCB Design (EasyEDA), on one of possível imprimir o circuitito em acetato, também deixamos-vos o desenho do PCB first and imprimir ou para importar, sendo possível altera-lo (Ver ficheiros abaixo).

A produção desta PCB foi realizada através de de método químico que consiste em 3processos, que são o processo de revelação, o processo de korroo e o processo de limpeza e acabamento. Este método tem sido utilizado por nós Recentemente 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 and iluminação principi 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 circuitito à medida que essas fases vão alterando (Ver imagem acima).

Iluminação de principāls:

Iluminācijas galvenais komposts 4 LEDSMD 10WFull Spectrum ideāls paraugam. Estes são controlados individualmente sendo needário uma fonte de alimentação com a potences pietiekamība, kas atbilst LED tipa gaismas diodei, poest est são bastante potentes e exigem uma fonte alimentação estável.

Atenção:

LED gaismas tiešais apgaismojums, fona 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ção de 12 utilizācija 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 circuitito eléctrico através das mesmas coberturas ficando mais estético e seguro, pois o circuitito eléctrico fica completamente inacessível (Ver ficheiros abaixo).

2. darbība: Caixa De LED Aquário:

LED apgaismojums Caixa De
LED apgaismojums Caixa De
LED apgaismojums Caixa De
LED apgaismojums Caixa De
LED apgaismojums Caixa De
LED apgaismojums Caixa De

De forma a distribuir as alimentações dos systemas do iluminação de ventição do nosso aquário and partir de um único local, constructionímos um circuit in on colocámos todas as resistências dos LED dos systemas de iluminação princip e and presença (Ver circuitito acima).

Nepieciešamie materiāli:

  • 1x barošanas avots IP67 12V 50W;
  • 4x PWM ātruma regulators ZS-X4A;
  • 4x pretestība 10 omi 10W;
  • 1x kaloriju izkliedētājs;
  • 1x ventilators 40mm 12V 0, 1A;
  • 1x pārtraucējs 2 posmos;
  • 1x PCB 13x10 cm;
  • 2x pretestība 100 omi 2W;
  • 4x 2. termināļa bloks;
  • 1x 3. termināļa bloks;
  • 1x spaiļu bloks 4.

Alem das resistências de potência dos LED SMD de 10W, estes estão ligados and equipamentos PWM Controller ZS-X4A estes allowem Control to a intensidade da iluminação através de uma pretestība dažādās variācijās, kā arī bieža parādība, kā arī verificēt

No entanto, kā pretestības potences tendem em aquecerem um pouco sendo nepieciešamība colocar um disipador de calor e uma pequena ventoinha de PC de 40mm, esta funciona 12V DC sendo alimentada através do próprio circuit electrico, podendo ser controlada por um interruptor caixa do circuitito.

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

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

A caixa desta para esta PCB foi desenhada no SolidWorks (Ver Imagens acima) and 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).

3. darbība: Controlador Do Aquário:

Kontroladors Do Aquário
Kontroladors Do Aquário
Kontroladors Do Aquário
Kontroladors Do Aquário
Kontroladors Do Aquário
Kontroladors Do Aquário

Vamos então ao nosso controlador, este equipamento irá control and monitorizar os systemas de iluminação princip e and presença, como também and temperatura do aquário. Este a constituído por um Arduino MEGA, que recebe os sinais dos sensores distribuídos pelo aquário, activando posteriormente as ventoinhas de coldração da água do aquário e os systemas de iluminação, isto através de modeulos de relés, caso exo programme algoritms, este activa avisos luminosos e sonoros (Ver circuitito acima).

Nepieciešamie materiāli:

  • 1x Arduino MEGA;
  • 1x LCD 1602;
  • 1x RTC DS1307;
  • 1x Bateria de 3V CR2032;
  • 5x Botões de pressão;
  • 1x 10 K omu pretestība;
  • 1x pretestība 10K omi;
  • 1x pretestība 220 omi;
  • 6x pretestība 1K omi;
  • 1x PCB 15x10 cm;
  • 1x LED Azul 1W;
  • 1x LED Amarelo 1W;
  • 1x LED Vermelho 1W;
  • 3x pretestība 100 omi;
  • 1x Modulo de 2 Relés;
  • 1x Modulo de 4 Relés;
  • 1x Modulo de 1 Relé;
  • 2x termināļa bloks de 2;
  • 1x 3. termināļa bloks;
  • 1x 4. termināļa bloks;
  • 5x vīriešu un sieviešu galvenes ligzda.

Para a buildção deste equipamento são utilizados vários komponentes que já falamos em tutoriais anteriores no nosso canal, tais como o LCD 1602 onde visualizamos an informationção do menu, as suas páginas, os dados guardados e inseridos no controlador, uma placa RTC DS1ce7 de hora e data ao Arduino MEGA, tendo esta uma pilha tipo botão CR2032 para que não perca and informationçã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 ir 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) un 16centradas 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 komponentes como Modulos de relés, LCD e LED.

Instalējiet LCD 1602:

Piemēram, LCD 1602 teremos de ter em atenção à configuração dos seus pinos durante a sua montāža, 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.

Pimen de Alimentação:

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

O Pino V0 tem a função de ajustar vai contraste dos caracteres, para podermos controlar esse ajuste ligamos este pino a uma pretestības variācijas līmenis 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, nav atļauju, lai LED iekšējie paneļi būtu aprīkoti ar LCD displejiem.

Pinos de Comunicação:

  • RS (Register Select);
  • R / W (lasīšana / rakstīšana);
  • E (Iespējot).

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

Pinos de Informação:

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

Neste projecto utilizamos apenas 4 dos 8 possíveis pinos de informationçã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 needário metade dos pinos para realizar a mesma função, ass o LCD ekrāni, kas nepieciešami D4 un D7 informācijai.

Caso queiram saber maisījums o o LCD 1602 vejam o nosso tutorial onde explicamos o seu funcionamento more pormenorizadamente.https://www.instructables.com/id/Arduino-Tutorial-LCD-Temperature-Sensor/

Instalācija RTC DS1307:

Este komponentu tem como função fornecer informācijas un datu e hora de forma precisa e konstante, ou seja, mesmo quando un alimentação externa é desligada por algum motivo esta mantém os dados de data e hora semper aktualizato nunca perdendo a informationçã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 needários os pinos Gnd, Vcc, SDA e SCL.

Pimen de Alimentação:

  • Gnd;
  • Vcc;
  • Sikspārnis.

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 type botãoCR2032 da RTC que serve de alimentação interna da placa, sendo este pino muito utilizão para aiza da carga da bateria.

Pinos de Comunicação:

  • SCL;
  • SDA;
  • DS;
  • SQ

Os pinos de comunicaçãoSCL un SDA da placa RTC fazem parte de um system 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 SERIAL DATAm linha e saņemšana un informācija SCO vai sērijas pulkstenis vai atbildes reakcija uz saber quando é que os equipamentos têm que receber ou enviar a informação, ficando assim todos sincronizados.

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

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

Alem dos komponentes anteriores, que são os mais svarīgākie, 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 informationção fornecida pelos sensores ou guarda no Arduino, est est do bôes podoes atkarība da página un 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, pois estas quando accionadas ligam magnetamente um interruptor.

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

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

Quando foi elaborado circuitito da PCB do nosso controlador foi apsvērumi un montāža, lai sadalītu temperatūru un temperatūras sensoru, atļautu que o Arduino possa realizar a leitura deste sensor. Segmenti kā īpaši izstrādāti vai izgatavoti no 10KΩ temperatūras sensora, logotipa un pretestības que escolhemos para vai dalītāja devēja devēja 10KΩ.

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

Caso queiram saber more sobre a montagem and funcionamento do sensor de temperatura vejam o nosso tutorial onde explicamos more pormenorizadamente.

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

O controlador tem 3avisos luminosos que nozīmīgs atšķirīgs 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 estama acima da temperatura máxima seleccionada de por fim 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 utilizamos 3 modeulos de relés diferentes, sendo um de 1relé (Ventoinhas de arrefecimento), outro de 2relés (Iluminação de presença) un por ultimo outro de 4relés (Iluminação principā). Estes são indicados para montagens com o Arduino tendo a specificidade 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 circuit, foi também desenhada através de um program de PCB Design (EasyEDA) on podemos imprimir e alterar o circuit (Ver ficheiros abaixo), sendo também materializada através de método químico (Ver imagem acima).

A caixa para esta PCB foi desenhada no SolidWorks (Ver Imagens acima) and 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).

4. darbība: Código:

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

Agora só nos falta programme vai 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 different diffresentes funções needsárias para a elaboração de um menu at different different páginas e consecutivamente visualização de diferentes informationções, sendo possível naveo deere de porte

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 terapija (Ver esquema acima), sendo assim more fácil elaborar o nosso código e caso seja needário alterar ou corrigir-lo sabemos encontramos.

// Labot atkārtotu funcão LOOP:

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 () {// Código referente ás função desta página. } // 1. lapa: void Pagina_1 () {// Código referente ás função desta página. } // Página 2: void 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 as bibliotecas dos komponentes que interagem com o Arduino, neste projecto importarmos as bibliotecas LiquidCrystal.h LCD 1602, as TimeLib.h, a Wire.hea DS1307RTC.h para a 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 gestor de bibliotecas do software do Arduino.

Ievadiet LiquidCrystal.h, vispirms veiciet un konfigurējiet LCD 1602 sūtīšanas nepieciešamību 2funções para que este funcione correctamente.

Para ecrever no LCD é nepieciešamība 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 passe esses limites não aparecerão os caracteres.

// Noteikta informācija par komunicēšanu un informāciju 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 () {// Definējiet kolonnu (em 16) e a linha (em 2) veiciet LCD ekrāna izvilkšanu: lcd.setCursor (0, 0); // Escreve no LCD: lcd.print ("Temperatūra:"); }

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

#include "thermistor.h" // Importējiet "termistoru" bibliotēku

// Esta função define: THERMISTOR SENSOR (Pino_Sensor, 10000, 3950, 10000); // Pino de entrada do sensors; Izturība pret nominālo temperatūru līdz 25ºC; // Coeficiente beta do sensors; // Valor da resistência do sensor.

Kā 3bibliotecas, TimeLib.h, Wire.h un DS1307RTC.h ir iekļauti komandi, funções e referencias criadas especificamente para trabalhar com a placa RTC.

Bibliotēka TimeLib.h darbojas kā tempa funkcionalitāte, var būt dažādi segmenti, minūtes, stundas, dia, mês utt.

A biblioteca Wire.h activa as funções de comunicação entre equipamentos através do system de comunicação I2C. Os pinos de comunicação deste system 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".

Visbeidzot, biblioteka DS1307RTC.h darbojas kā funkcionālās funkcijas, kas atļauj lekciju un escrita de dados de tempo Guardados ar RTC.

void loop () {

int h, m, s, D, M, A; // Variáveis para alteração da hora e data. // Definējiet uma nova hora e datus: setTime (h, m, s, D, M, A); // Ievads 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 memorizar valores como por example, hora de ligar iluminação, valores de temperatura máxima e mínima e fluxo de agua mino mesino não sendo nepieciešamības konfigurētājs novamente estes valores ou configurações.

Este tipo de memória é diferente nos vários tipos de placas do Arduino, tendo diferentes capacidades, no caso do Arduino MEGA (ATmega2560 - 4096 Bytes) tem 4KB, assim este terap 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).

EEPROM un Arduino através biblioteca, poderemos utilizar os seus principais 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á 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 var uzzināt vairāk par RTC DS1307 un atmiņu EEPROM do Arduino vejam o nosso tutorial onde explicamos pormenorizadamente o as suas funções e características.

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

Lai izmantotu vai izmantotu Fluxo não é needário nenhuma biblioteca, no entanto, temos que recorrer a cálculos de formas a determinar o valor medido pelo sensor, izmanto. Como este sensor produc um sinal de onde quadrada, que varia a sua frequência consoante a quantidade de agua que passa por ele 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 "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, 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 características do nosso sensor através da sua datasheet pois a razão de Pulsos/(L/min) pode ser diferente atkarība (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 number de pulsos por segundo (1Seg = 1000000µSeg). Aprēķins_Fluxo = 1000000/Contagem_Total; // Multiplicação de (Num. Total de pulsos/Seg) x (Pulse Characteristics), // (Ver na Datasheet Flow Sensor e cálculos acima): Calculo_Fluxo = (Calculo_Fluxo * 2.38); // Pārvērst ml/s em ml/min: Calculo_Fluxo = Calculo_Fluxo * 60; // Pārvērst ml/min em L/min Calculo_Fluxo = Calculo_Fluxo/1000; ja (Calculo_Fluxo <0) {Calculo_Fluxo = 0; } cits {Calculo_Fluxo = Calculo_Fluxo; }

}

Lai kontrolētu sistēmas sistēmu, kas nodrošina ilumināciju, kas tiek izmantota, izmantojot kalkulācijas formas un atvieglojumu un konfigurāciju, lai kontrolētu kontroli, bez kazino sistēmas sistēmas iluminācijas principa vai utilizatora apenu terapijas izvēles 2 parâmetros, a hora de inicio do ciclo de iluminação eo numero de horas que 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 and desliga os LED da iluminação de presença alterando a configurater dias de 7 ea Lua cheia novamente.

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

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

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

Ieteicams: