Съдържание:

Направи си сам проекти - Моят аквариум контролер: 4 стъпки
Направи си сам проекти - Моят аквариум контролер: 4 стъпки

Видео: Направи си сам проекти - Моят аквариум контролер: 4 стъпки

Видео: Направи си сам проекти - Моят аквариум контролер: 4 стъпки
Видео: Свързване на стъпков мотор с 6 кабела и контролер с 4 кабела 2024, Ноември
Anonim
Направи си сам проекти - Моят аквариум контролер
Направи си сам проекти - Моят аквариум контролер
Направи си сам проекти - Моят аквариум контролер
Направи си сам проекти - Моят аквариум контролер
Направи си сам проекти - Моят аквариум контролер
Направи си сам проекти - Моят аквариум контролер

Este foi o projecto mais complexo realizado até agora no nosso channel, este consiste em realizar um "upgrade" a um aquário que sofreu um restauro já há algum tempo, para isso colocamos sensores de temperature, 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 temperature 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 reflectidas acções de forma a corrigir os parâmetros de ooso eoso emorosá caso fora do padronizados.

Cada um dos sensores utilizados têm características especificas, pois têm funções muito diferentes. O сензорът за температурата е съставен от uma NTC (отрицателен температурен коефициент), ou seja, a sua устойчивост на намаляване на com o aumento да температура (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 сензор за 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 funkcionar correctamente Este é í í uma uma uma uma uma uma,, o o o o o o o o o o o o o o o o o o o o o o o o o o, o o o o uma uma uma uma,, o o uma o uma uma uma o uma uma,,, Este ao sentir a passm 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 quantideade de agua que passa pelo sensor, assim este deve ser ligado aos pinos de entrada digital направете 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áix

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

A iluminação do aquário foi alterada за 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, produmin iluminação em todo o espectro de luz quese.

Тъй като вантагените да използват 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 needários image

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 system é muito importante pois a temperature da água é dos paráriotros estas ventoinhas funcionam a 12V DC e devem ser o mais silenciosas possivel.

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

Сензор за температура:

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

Сензор за Fluxo:

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

Стъпка 1: Подгответе Aquário:

Image
Image
Подгответе Aquário
Подгответе Aquário
Подгответе Aquário
Подгответе Aquário

Começamos semper os nossos projectos desenhando e testando o circuitos através de uma pequena Breadboard e os componentsntes needsários para a sua realização, só depois destes testes terminados e confirmmada a sua funcionalidade, partimos para a concretização final (Ver circuisus

Необходими материали:

  • 2x Ventoinhas PC 12V DC 80mm;
  • 4x LED SMD 10W пълен спектър;
  • 4x Dissipadores 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 сензор за температура NTC 10KOhm;
  • 1x сензор за Fluxo.

Инсталиране на сензор за 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 fácil a desmontagem fácil a limpeza dos tubos do filtro (ver imagem acima).

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

Като bóias de nível são instaladas em cantos opostos do aquário de formas a que a o sistemas seja menos errático. Estão montadas em pequenos suportes desenhados através de o program de desenho técnico SolidWorks (Ver imagens acima) e materializados através de Impressão 3D (Ver ficheiros abaixo). Estes suportes são facilmente installá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:

При инсталирането на das ventoinhas до системата за хладилник de água, оптамос за реализиране на 2aberturas de cerca de 80mm на tampa do aquário, ou seja, com mesmo diâmetro das ventoinhas за използване на компютри. Estas Ventoinhas функционира с 12V DC, são muito silenciosas e quando accionadas proporcionam a circulação de ar junto à superfície da água, que следователно faz baixar a температура 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).

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

Осветителното тяло на Luz Lunar реализира através de uma pequena PCB (Ver imagem acima) на estão montados ос LED от 1Wamarelos e azuis. Esta PCB foi desenhada através de um program de PCB Design (EasyEDA), onde é possível imprimir on circuito em acetato, também deixamos-vos o desenho do PCB pronto a imprimir or para importar, sendo possível altera-lo (Ver ficheiros abaixo)

Производител на десктоплатна платка за реализация на através de de método químico que се състои от 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 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 consonto, tendo a função de iluminar o aquário quando a iluminação principal está desligada. No entanto, para que fosse um pouco mais divertido, controlamos esta iluminação consoante as fases da Lua, ligando e desligando os 2 circuito à medida que essas fases vão alterando (Ver imagem acima).

Инсталационен илюминационен директор:

Основен осветител и композит от 4 LEDSMD от 10W Пълен спектър идеален за осветление от плантации. Estes são controlados individualmente sendo needário uma fonte de alimentação com a potencia adequada 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 que é cerca de 9V e como a fonte de allizadaço DC colocamos em serie uma otporê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 completamente inacessível (Ver ficheiros abaixo).

Стъпка 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 onnde colocámos todas as resistanceês dos LED dos sistemas de iluminação principal e de presença (Ver circuito acima).

Необходими материали:

  • 1x захранване IP67 12V 50W;
  • 4x ШИМ контролер за скорост ZS-X4A;
  • 4x съпротивление 10 ома 10W;
  • 1x Dissipador de calor;
  • 1x вентилатор 40mm 12V 0, 1A;
  • 1x прекъсвач с 2 позиции;
  • 1x PCB de 13x10 Cm;
  • 2x съпротивление 100 ома 2W;
  • 4x терминален блок de 2;
  • 1x терминален блок de 3;
  • 1x терминален блок de 4.

Alem das резистенция на LED LED SMD с 10W, ест естао лигадос и оборудване PWM контролер ZS-X4A estes permitem контролер и интензивност да осветление através от uma устойчивост variável alterando assim a честота до pulso aca

No entanto, as resntências de potência tendem em aquecerem um pouco sendo needário colocar um dissipador de calor e uma pequena ventoinha de PC de 40mm, esta funciona 12V DC sendo alimentada através do prprio circuito eléctrico, podendo ser controlada por um interrupdo que caixa do circuito.

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

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

Детайл за печатна платка за десенхада без SolidWorks (Ver Imagens acima) и материали за материали, създадени в Impressão 3D. Esta está preparada para a instalação das ventoinha de arrefecimento das resistanceências de potência e o respectivo dissipador de calor (Ver ficheiros abaixo).

Стъпка 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 systems of iluminação principal e de presença, como também a temperature do aquário. Este é Constituído por um Arduino MEGA, que recebe os sinais dos sensores distribuídos pelo aquário, activando posteriormente as ventoinhas de rashladração da água do aquário e os sistemas de iluminação, isto através de módulos de reléso caso caso vaso caso caso vaso caso vaso caso vaso caso vaso caso, este activa avisos luminosos e sonoros (Ver circuito acima).

Необходими материали:

  • 1x Arduino MEGA;
  • 1x LCD 1602;
  • 1x RTC DS1307;
  • 1x Батерия 3V CR2032;
  • 5x Botões de pressão;
  • 1x променлива устойчивост на 10K ома;
  • 1x Resistência 10K ома;
  • 1x Resistência 220 ома;
  • 6x Resistência 1K ома;
  • 1x PCB de 15x10 Cm;
  • 1x LED Azul 1W;
  • 1x LED Amarelo 1W;
  • 1x LED Vermelho 1W;
  • 3x Resistência 100 ома;
  • 1x Modulo de 2 Relés;
  • 1x Modulo de 4 Relés;
  • 1x Modulo de 1 Relé;
  • 2x терминален блок de 2;
  • 1x терминален блок de 3;
  • 1x терминален блок de 4;
  • 5x гнездо за мъжка и женска глава.

За конструиране на оборудване за използване на компоненти, които са компоненти, които получават falamos em tutoriais anteriores no nosso channel, tais como или LCD 1602, за да визуализират информацията в менюто, като suas páginas, os dados guardados и insertidos no controlador1, uma umaca placa R 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 no deixará de ter a hora e dataactualizadas.

Arduino MEGA:

O Arduino MEGA е ума плака с микро микроконтролатор, който разполага с 54 пино от ентрада и саида на синалния цифров, 14 досегашни подсета, използвани от нас като PWM (Pulse-Width Modulation) и 16 централни аналогови аналога. 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 controlem vários tipos de componentsntes como Módulos de relés, LCD e LED.

Инсталиране на LCD 1602:

За LCD 1602 teremos de ter em atenção à конфигурация dos seus pinos durante a sua монтаж, 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.

Пинос де Алиментантао:

  • 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 controler esse ajuste ligamos este pino a uma resistanceê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 до Arduino MEGA, no entanto, ligamos em série uma otporência de 220Ω para que o brilho não seja demasiado интензивност, не можете да разрешите LED интерфейсите за LCD, които се данифицират.

Pinos de Comunicação:

  • RS (Избор на регистър);
  • R / W (четене / запис);
  • E (Активиране).

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 на memory interna do.

Pinos de Informação:

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

Neste projecto utilizamos apenas 4 dos 8 possíveis pinos de infoção, pois utilizando a biblioteca LiquidCrystal.h no código permite o Arduino enviar os dados para or LCD divideido em 2 partes, ou seja, são needário metade dos pinos para realizar a mesma função o LCD дисплеи, необходими за информация за D4 и D7.

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

Инсталиране на RTC DS1307:

Este componentnte co 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 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 needários os pinos Gnd, Vcc, SDA e SC.

Пинос де Алиментантао:

  • Gnd;
  • Vcc;
  • Прилеп.

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 да RTC que service de alimentação interna da placa, sendo este pino muito utilizado para da carga da bateria.

Pinos de Comunicação:

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

Os pinos de comunicaçãoSCL e SDA, за да 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 SDA или SDA e Recebe a informação eo SCL ou SERIAL CLOCK o responseável por sabre quando é que os equipamentos têm que receber ou enviar a informação, ficando assim todos sincronizados.

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

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

Alem dos componentsntes 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 loço desoão es eso dependendo da página e tipo de informação visualizada.

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

Caso queiram sabre 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 foi elaborado circuititu to PCB do nosso controllador fori разглежда като монтаж до делител де тензо за para сензор за температура, разрешаващ que o Arduino може да реализира leitura deste sensor. Задайте като производител на сензор за температура от 10KΩ, лого с резистентност, която е десцензирана за делител на тензора на дем на 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 altera a tensão nesse pino analógico também altera entre 0 e 5V, assim possível ao Arduino реализира essa leitura.

Caso queiram sabre mais sobre a montagem e funcionamento do sensor de temperature vejam o nosso tutorial onndexplicamos mais pormenorizadamente.

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

O контролер тем 3авизос луминозос que значителен различава acontecimentos, o LED de cor azul индикатор que a температура да água está abaixo да температура mínima seleccionada, o LED de cor vermelha que indica que a температура está acima да температура máxima seleccionada e por fim cor amarela que indica que o fluxo de agua do filtro do aquário está a aixo do do seleccionado, sendo todos estes ligados a pinos de saída de sinal digital do Arduino MEGA.

Por 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 principal). 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.

PCB deste circuito foi também desenhada através de um program of PCB Design (EasyEDA) onnde podemos imprimir e alterar o circuitito (Ver ficheiros abaixo), sendo também materializada através de método químico (Ver imagem acima).

Една печатна платка за десенхада без SolidWorks (Ver Imagens acima) и продуцентска продукция, създадена от Impressão 3D. Esta divide-se em 3 partes, assim a parte frontal é onnde 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 or 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 passm e ligação das respectivas cablagens cablagens (Ver ficheiros abaixo).

Стъпка 4: Código:

Кодиго
Кодиго
Кодиго
Кодиго
Кодиго
Кодиго
Кодиго
Кодиго

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

Mas antes, vamos explicar resumidamente o nosso código, sendo que é neste que vamos colocar as diferentes funções neophodárias para a elaboração de um menu com diferentes páginas e concucumentamente visualização de diferentes informações, sendo possível visão visés visão visã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 caso seja needário alterar ou korosigir encontramos.

// Коригиране на função LOOP повторение:

void loop () {// Condição para a leitura da distância: if (Menu == 0) {// Поправете функцията: Pagina_0 (); } // Condição para a leitura da temperature: else if (Menu == 1) {// Поправете функцията: Pagina_1 (); } // Condição para a leitura da temperature: else if (Menu == 2) {// Поправете функцията: Pagina_2 (); }} // Страница 0: void Pagina_0 () {// Código referente ás função desta página. } // Страница 1: void Pagina_1 () {// Código referente ás função desta página. } // Страница 2: void Pagina_2 () {// Código referente ás função desta página. }

Caso queiram sabre mais sobre este tipo de esquema de menu vejam o nosso tutorial onnde 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 componentsntes que interagem com o Arduino, neste projecto importarmos as bibliotecas LiquidCrystal.h para o LCD 1602, as TimeLib.h, Wire.hea DS1307RTC.h para a placa RTC DS1307, a Thermistor.h за сензора за температура на температурата, e por fim a EEPROM.h que nos permite gravar e ler dados gravados on memory of Arduino, tudo isto através do gestor de bibliotecas do software to Arduino.

Можете да въведете библиотека LiquidCrystal.h, която улеснява конфигурирането на LCD 1602, като изпращате апени, необходими за 2 функции, за да коригирате функциите.

Para escrever no LCD é needá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 passe esses limites não aparecerão os caracteres.

// Определете os pinos de comunicação e informação do LCD:

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

д

void setup () {

// Inicia a comunicação com LCD 16x2: lcd.begin (2, 16); } void loop () {// Дефиниране на coluna (em 16) e a linha (em 2) do LCD onnde escrever: lcd.setCursor (0, 0); // Escreve no LCD: lcd.print ("Температура:"); }

Библиотечен термистор. H permite-nos apenas com uma função конфигуратор este tipo de sensor de temperature através do código seguinte.

#include "thermistor.h" // Импортирайте "термисторна" библиотека

// Esta função define: THERMISTOR SENSOR (Pino_Sensor, 10000, 3950, 10000); // Pino de entrada do sensor; // Resistência номинален сензор за 25ºC do; // Coeficiente бета до сензор; // Доблест на съпротивлението на сензора.

Като 3bibliotecas, TimeLib.h, Wire.h и a DS1307RTC.h продължават командите, функциите и референциите criadas especificamente за trabalhar com a placa RTC.

Библиотека TimeLib.h се активира като funcionalidades de tempo, como variáveis para segundos, minutos, hora, dia, mês и т.н., улесняващ усвояването на cálculos dos valores de tempo.

Библиотека Wire.h се активира като функция за комуникация, която предлага оборудване и система за комуникация I2C. Os pinos de comunicação deste system são diferentes nos vários modelos de Arduino, caso queiram sabre quais os pinos utilizados vejam o Link „https://www.arduino.cc/en/Reference/Wire“.

Por ultimo a biblioteca DS1307RTC.h се активира като funcionalidades que permitem a leitura e escrita de dados de tempo guardados на RTC.

void loop () {

int h, m, s, D, M, A; // Variáveis para alteração da hora e data. // Определете uma nova hora e data: setTime (h, m, s, D, M, A); // Грава на RTC с добавено темпо: RTC.set (now ()); // Преглед на RTC с добавяне на темпо: 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 exemplo, hora de ligar iluminação, valores de temperature máxima e mínima e fluxo de amoque ague mímo armo mino armo ego ague migia не изпращайте необходимото конфигуриране на нови елементи, които са ценности или конфигурации.

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

Para utilizar a memória EEPROM до Arduino através desta 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 на 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 на 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 sabre mais sobre a RTC DS1307 and a memory EEPROM do Arduino vejam o nosso tutorial on explicamos pormenorizadamente o as suas funções e características.

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

Para utilizarmos o Sensor de Fluxo não é needário nenhuma biblioteca, no entanto, temos que recorrer a cálculos de formas a deteraror or valor medido pelo sensor. Como este sensor produz um sinal de onde quadrada, que varia a sua frekvenê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 "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/(c/мин.) Pode (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)); // Изчисляване на броя на пулсовете по повод (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); // Преобразуване на ml/s em mL/min: Calculo_Fluxo = Calculo_Fluxo * 60; // Преобразуваме ml/min em L/min Calculo_Fluxo = Calculo_Fluxo/1000; if (Calculo_Fluxo <0) {Calculo_Fluxo = 0; } else {Calculo_Fluxo = Calculo_Fluxo; }

}

Para controlar os sistemas de iluminação também utilizamos cálculos de formas a facilitar a configuração do controlador, no caso do system de iluminação principal o utilizador apenas terá de seleccionar 2 parâmetros, a hora de inicio do ciclo de iluminaçãic eo numero eo numero eo numero лигадо (Ver imagem acima).

Em relação à iluminação de presença или o 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 конфигурация 7 7 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 actualmente (Ver ficheiro abaixo).

Procurem os nossos outros projectos e tutoriais acerca do Arduino, onnde explicamos diversas montagens e или funcionamento dos seus компоненти, агора посещение на nosso канал без Youtube, Instagram, Facebook или Twitter.

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

Препоръчано: