Material Utilizado:
1x Led verde, 1x Led azul e 1x Led vermelho
3x Resistores de 330Ω e 1x Resistor de 220Ω
1x Alto Falante 4mm de espessura
1. Sensor de Umidade Grove
Faixa de operação é de 3.3V a 5V, com corrente de 0 a 35mA. Este sensor pode ser utilizado para detectar a umidade do solo ou julgar se existe água ao redor dele. A lógica de funcionamento dele é através da resistividade do solo ao qual ele está conectado ou da água ao qual está imerso. Assim quanto menor o nível de umidade do solo, menor o valor da saída do sensor, e portanto, seu valor de pico é quando imerso em água. Como na tabela abaixo.
2. Montagem
3. Sketch
int sensorPin = A0; // Variável endereçada no pino analógica A0 que receberá o sinal vindo do sensorint sensorValue = 0; // variável que armazenará o valor de sensorPinint ledgreen = 11;
int ledblue = 10;
int ledred = 9;
int BUZZER = 13; // Ligar o buzzer (Som) no pino 13
void setup() {
Serial.begin(9600); // Inicia a serial com um baud rate de 9600
pinMode(ledgreen, OUTPUT); // declara ledgreen como saída
pinMode(ledblue, OUTPUT); // declara ledblue como saída
pinMode(ledred, OUTPUT); // declara ledred como saída
pinMode(BUZZER,OUTPUT); // declara BUZZER como saída
}
void loop() {
// read the value from the sensor:
Serial.print("sensor = " ); // Imprime na serial a palavra sensor e um sinal de =
sensorValue = analogRead(sensorPin); // Lê o valor do sensor e armazena em sensorValue
delay(1000);
Serial.println(sensorValue); // Imprime na serial o valor do sensor
if(sensorValue<300 ){
digitalWrite(ledgreen, HIGH); // Atribui nível lógico alto ao pino do LED, acendendo-o
digitalWrite(ledblue, LOW); // Atribui nível lógico baixo ao pino do LED, apagando-o
digitalWrite(ledred, LOW); // Atribui nível lógico baixo ao pino do LED, apagando-o
tone(13,392,300); //comando tone é o que cria o som
/*
o número 13 indica que o pino positivo do buzzer está na porta 13
o número 392 é a frequência que será tocada
o número 300 é a duração do som
abaixo o segundo valor será modificado para que se toque uma frequência diferente, e assim se crie uma melodia
*/
delay(500);
tone(13,523,300); //aqui sai o som
delay(500);
tone(13,261,300); //aqui sai o som
delay(500);
tone(13,392,300); //aqui sai o som
delay(500);
tone(13,523,300); //aqui sai o som
delay(500);
}
if(sensorValue >300 &&sensorValue < 700){
digitalWrite(ledblue, HIGH); // Atribui nível lógico alto ao pino do LED, acendendo-o
digitalWrite(ledgreen, LOW); // Atribui nível lógico baixo ao pino do LED, apagando-o
digitalWrite(ledred, LOW); // Atribui nível lógico baixo ao pino do LED, apagando-o
}
if(sensorValue >700){
digitalWrite(ledred, HIGH); // Atribui nível lógico alto ao pino do LED, acendendo-o
digitalWrite(ledgreen, LOW); // Atribui nível lógico baixo ao pino do LED, apagando-o
digitalWrite(ledblue, LOW); // Atribui nível lógico baixo ao pino do LED, apagando-o
tone(13,300,300); //aqui sai o som
delay(500);
tone(13,100,300); //aqui sai o som
delay(500);
tone(13,900,300); //aqui sai o som
delay(500);
}
}
4.Referências
Comentar
Pessoal para expressar esse valor no LCD seria apenas acrescentar ele no circuito e na rotina. estou pensando em colocar o LCD para evitar o PC aberto assim facilitar a vida de minha esposa. Obrigado a todos.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)