Sensor de umidade da planta faça você mesmo
Componentes e suprimentos
| | × | 1 | |
| | × | 3 | |
| | × | 1 | |
| RGB Diffused Common Anode | | × | 1 | |
| | × | 2 | |
| Tábua de pão sem solda meio tamanho | | × | 1 | |
| | × | 8 | |
Aplicativos e serviços online
Sobre este projeto
Sensor de umidade da planta faça você mesmo
Veja este projeto no meu site!
Este projeto irá calcular o conteúdo de água do solo ao redor de uma planta medindo a constante dielétrica (a capacidade do solo de transmitir eletricidade) e irá alertá-lo com um LED vermelho quando a planta precisar de mais água ou um azul quando houver muita.
Você precisará reunir estas coisas para construir este projeto:
- Arduino UNO ou equivalente (x1):https://amzn.to/2DLjxR2
- resistores de 220Ω * (para LED) (x3):https://amzn.to/2S2sV5R
- resistor de 10kΩ (x1) - marrom preto laranja:https://amzn.to/2S2sV5R
- RGB LED (x1) ou 3 LEDs de cores diferentes:https://amzn.to/2Fzbusx
- Cabos de jumpers longos (x2):https://amzn.to/2Q7kiKc
- Cabos de jumpers (x6):https://amzn.to/2Q7kiKc
- Breadboard (x1):https://amzn.to/2RYqiSK
- Parafusos de qualquer tamanho (x2):https://amzn.to/2qWLYTF
- Porcas com o mesmo diâmetro dos parafusos acima (x2):https://amzn.to/2qWLYTF
Como associado da Amazon, ganho com compras qualificadas.
Etapa 1:criar pontas de sensor
Você precisará repetir esta etapa duas vezes (uma para cada pino):
- Comece a apertar a porca em torno do parafuso
- Deslize a extremidade do cabo longo do jumper entre a porca e a cabeça do parafuso.
- Continue apertando a porca até que você não consiga puxar o cabo jumper
Etapa 2:Crie o circuito
Siga o esquema ou a imagem do breadboard - o que funcionar melhor para você. Os fios identificados como "fora" são os dois pinos que você acabou de criar.
Etapa 3:fazer upload do código
Copie e cole este código no IDE do Arduino:
int moistPin =0; int moistVal =0; int tooDry =150; // define o parâmetro baixo para plantint tooWet =400; // define o parâmetro alto para a configuração do plantvoid () {Serial.begin (9600);} void loop () {moistVal =analogRead (moistPin); Serial.println (moistVal); porcentagem int =2,718282 * 2,718282 * (0,008985 * valor úmido + 0,207762); // calcula a porcentagem para sondas com cerca de 1 - 1,5 polegadas de distância Serial.print (porcentagem); Serial.println ("% Umidade"); if (moistVal <=tooDry) {digitalWrite (4, HIGH); // LED vermelho digitalWrite (3, LOW); digitalWrite (2, BAIXO); } else if (moistVal> =tooWet) {digitalWrite (4, LOW); digitalWrite (3, ALTO); // LED azul digitalWrite (2, LOW); } else {digitalWrite (4, LOW); digitalWrite (3, BAIXO); digitalWrite (2, ALTO); // LED verde} atraso (250);}
Etapa 4:coloque as pontas do sensor
- Insira as pontas que você fez a cerca de 1 "a 1,5" de distância no solo perto da planta que deseja monitorar.
- Dê à planta uma quantidade saudável de água e abra o monitor serial
- Deve fornecer leituras em torno de 25 - 30% se você der a quantidade certa de água
- Do contrário, tente mover os pinos para acertar (ou você acabou de adicionar água em excesso)
Observações adicionais:
Se for para fora, coloque o circuito dentro de um Tupperware ou outro recipiente à prova d'água para protegê-lo dos elementos. Em seguida, faça alguns orifícios para os fios do sensor passarem e adicione uma caixa de bateria para alimentá-lo. Porém, o meu não vai para fora e ficará bem sem um contêiner.
Código
Snippet de código # 1 Texto simples
int moistPin =0; int moistVal =0; int tooDry =150; // define o parâmetro baixo para plantint tooWet =400; // define o parâmetro alto para a configuração do plantvoid () {Serial.begin (9600);} void loop () {moistVal =analogRead (moistPin); Serial.println (moistVal); porcentagem int =2,718282 * 2,718282 * (0,008985 * valor úmido + 0,207762); // calcula a porcentagem para sondas com cerca de 1 - 1,5 polegadas de distância Serial.print (porcentagem); Serial.println ("% Umidade"); if (moistVal <=tooDry) {digitalWrite (4, HIGH); // LED vermelho digitalWrite (3, LOW); digitalWrite (2, BAIXO); } else if (moistVal> =tooWet) {digitalWrite (4, LOW); digitalWrite (3, ALTO); // LED azul digitalWrite (2, LOW); } else {digitalWrite (4, LOW); digitalWrite (3, BAIXO); digitalWrite (2, ALTO); // LED verde} atraso (250);}
Esquemas