Como usar o display Nokia 5110 para mostrar informações de sensores com arduino uno?

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.

Exibições: 841

Responder esta

Respostas a este tópico

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();

}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço