Essa é minha primeira postagem, estou iniciando com Arduino, e já me deparei com um grande obstaculo para fazer a programação de meu projeto.
Comprei um sensor de umidade do solo e ele funciona mandando informações para o monitor serial do Arduino.
Mas o que realmente quero, é que ele mande as informações para um display Nokia 5110.
Não estou conseguindo fazer as informações coletadas pelo sensor e processadas pelo Arduino apareçam neste display. Tenho todas as bibliotecas do display e ele funciona perfeitamente em um outro projeto com sensor de temperatura.
Código fonte do sensor de umidade do solo
int ativaSensor = 8;
int Sensor = A1;
int val;
void setup(){
pinMode(ativaSensor, OUTPUT);
Serial.begin(9600);
}
void loop(){
digitalWrite(ativaSensor, HIGH);
val = analogRead(Sensor);
if(val <= 300){
Serial.print("Encharcado ");
Serial.println(val);
}
if((val > 300)&&(val <= 700)){
Serial.print("Solo Muito Umido ");
Serial.println(val);
}
if((val > 700)&&(val <= 800)){
Serial.print("Solo Umido ");
Serial.println(val);
}
if((val > 800)&&(val <= 1000)){
Serial.print("Solo Seco ");
Serial.println(val);
}
if(val > 1000){
Serial.print("Solo Muito Seco ");
Serial.println(val);
}
digitalWrite(ativaSensor, LOW);
delay(4000);
}
Peço a ajuda dos membros deste fórum para resolver meu problema.
Tags:
Consegui desenvolver o projeto, fiz varias pesquisas e ficou bom.
#include <LCD5110_Graph.h>
LCD5110 myGLCD(8,9,10,11,12);
extern unsigned char TinyFont[];
extern unsigned char SmallFont[];
int Irriga = 7;
int ativaSensor = 2;
int Sensor = A1;
int val;
void setup(){
pinMode(Irriga,OUTPUT);
digitalWrite(Irriga,LOW);
pinMode(ativaSensor, OUTPUT);
Serial.begin(9600);
myGLCD.InitLCD();
myGLCD.drawRoundRect(0,0,83,19);
}
void loop(){
digitalWrite(ativaSensor, HIGH);
val = analogRead(Sensor);
if(val <= 450){
myGLCD.print(" Encharcado ",CENTER, 27);
Serial.print("Encharcado ");
Serial.println(val);
}
if((val > 450)&&(val <= 700)){
myGLCD.print(" Solo mt umido ", CENTER, 27);
Serial.print("Solo muito umido ");
Serial.println(val);
}
if((val > 700)&&(val <= 800)){
myGLCD.print(" Solo umido ",CENTER, 27);
Serial.print("Solo umido ");
Serial.println(val);
}
if((val > 800)&&(val <= 1000)){
myGLCD.print(" Solo seco ",CENTER, 27);
Serial.print("Solo seco ");
Serial.println(val);
}
if(val > 1000){
myGLCD.print(" Solo mt seco ",CENTER, 27);
Serial.print("Solo muito seco ");
Serial.println(val);
}
if(val >800){
digitalWrite(Irriga,HIGH);
myGLCD.setFont(TinyFont);
myGLCD.print("Irrigando",CENTER, 38);
Serial.print("Irrigando ");
}
if(val <800){
digitalWrite(Irriga,LOW);
myGLCD.print(" ",CENTER, 38);
}
delay(5000);
myGLCD.setFont(SmallFont);
myGLCD.print("Controle de",CENTER,2);
myGLCD.print(" IRRIGACAO ",CENTER,11);
myGLCD.setFont(SmallFont);
myGLCD.update();
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por