Go Down

Topic: Sensor de umidade SHT20 + Display LCD 128x64 pixels (Read 309 times) previous topic - next topic

Biel01

Olá pessoal,

Sou iniciante em programação... no momento não tenho o mínimo de conhecimento em programação.

Estou tentando configurar um sensor de umidade SHT20 para exibir as informações no display LCD 128x64, mas não consigo. Segue abaixo o código:

#include <U8glib.h>
#include <DFRobot_SHT20.h>
#include <Wire.h>
#include "DFRobot_SHT20.h"

DFRobot_SHT20    sht20;

//Configuração de Pinagem, Enable, RW, RS, RESET
U8GLIB_ST7920_128X64_1X Display(8, 7, 6, 9);

// Rotina de Configuração da Escrita no Display
void Display_config() {
 
  Display.setFont(u8g_font_6x10);
  Display.setFontRefHeightExtendedText();
  Display.setDefaultForegroundColor();
  Display.setFontPosTop();
 
}


  void Tela1() {
 
  Display.setFont(u8g_font_unifont);
  Display.drawBox(0, 0, 128, 64);
  Display.drawStr(0, 0, "Verificador de Umidade de Solo e Cimento");
  Display.drawStr(53, 40, "C&G Elétrica e Desenvolvimento");

}


void Tela2() {
 
  Display.setFont(u8g_font_unifont);
  Display.drawBox(0, 0, 128, 64);
  Display.drawStr(0, 0, "Temperatura:");
  Display.drawStr(temp: , 1);
  Display.drawStr(15, 0, "ºC");
  Display.drawStr(53, 40, "Umidade:");
 // Display.drawStr(humd, 1);
  Display.drawStr(70, 40, "%");

}
 


void setup() {
 
  Serial.begin(9600);
 
  if ( Display.getMode() == U8G_MODE_R3G3B2 )
    Display.setColorIndex(20);
  else if ( Display.getMode() == U8G_MODE_GRAY2BIT )
    Display.setColorIndex(1);
  else if ( Display.getMode() == U8G_MODE_BW )
    Display.setColorIndex(1);



  sht20.initSHT20();                                  // Init SHT20 Sensor
  delay(100);
  sht20.checkSHT20();                                 // Check SHT20 Sensor


}

void loop() {

  float humd = sht20.readHumidity();                  // Read Humidity
  float temp = sht20.readTemperature();               // Read Temperature
 
//Tela 1
Display.firstPage();
  do {
    Display_config();
    Tela1();
  }
  while (Display.nextPage());
  delay(5000);

//Tela 2
 Display.firstPage();
  do {
    Display_config();
    Tela2();
  }
   while (Display.nextPage());
  delay(50);

Quando tento compilar exibe o erro:

}'temp' was not declared in this scope

Alguém pode me ajudar por gentileza?

rtek1000

Olá,

Pelo visto ninguém se atreveu a ajudar com o código até o momento, mas veja que é complicado você partir para um programa desses, quando você diz que "Sou iniciante em programação... no momento não tenho o mínimo de conhecimento em programação."

Eu recomendaria que seja iniciado nos códigos exemplos básicos, que acompanham a IDE, aqueles que não precisam de Shield ou acessórios, procure entender cada parte do programa, só então partir para algo mais avançado, fazer do jeito contrário, só vai deixar as coisas mais difíceis, é como ensinar alguém a dirigir, já com o motor ligado.

Talvez este material ajude:
http://ordemnatural.com.br/pdf-files/CartilhadoArduino_ed1.pdf
Please avoid private messages, your question may be someone's answer in the future!

Go Up