Dear all,
The code attached is running fine for both Ardiono Uno and Mega.
However, when I add blynk commands, specially blynk begin, code stops to work. LCD stops, relay stops and so on.
I search many topics about lack of memory and thats why I changed to Mega, external source, change blynk.begin to blynk.config() and blynk.connect() (that I have no experience before or how to code them).
Could you guys help me on that?
• Hardware model: Arduino Uno or Mega, W5100 shield, LCD 16X2 with I2C, DHT11, relay 1 channel
• Smartphone IoS
Code that works:
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA
#include <LiquidCrystal_I2C.h> //INCLUSÃO DE BIBLIOTECA
#include <dht.h> //INCLUSÃO DE BIBLIOTECA
const int pinoRele = 8; //PINO DIGITAL UTILIZADO PELO MÓDULO RELÉ
const int pinoDHT11 = A2; //PINO ANALÓGICO UTILIZADO PELO DHT11
dht DHT; //VARIÁVEL DO TIPO DHT
const int pinoSensorChuva = A1; //PINO ANALÓGICO UTILIZADO PELO SENSOR DE CHUVA
int leituraA1; //VARIÁVEL QUE ARMAZENA O VALOR LIDO NA PORTA ANALÓGICA
int moistpercent;
// Inicializa o display no endereco 0x27
LiquidCrystal_I2C lcd(0x3f,2,1,0,4,5,6,7,3, POSITIVE); //ENDEREÇO DO I2C E DEMAIS INFORMAÇÕES
void setup(){
Serial.begin(9600); //INICIALIZA A PORTA SERIAL
pinMode(pinoRele, OUTPUT); //DEFINE A PORTA COMO SAÍDA
digitalWrite(pinoRele, HIGH); //MÓDULO RELÉ INICIA DESLIGADO
lcd.begin (16,2); //SETA A QUANTIDADE DE COLUNAS(16) E O NÚMERO DE LINHAS(2) DO DISPLAY. EM SUMA: UMA MATRIZ DE 16 COLUNAS E 2 LINHAS
lcd.setBacklight(HIGH); //LIGA O BACKLIGHT (LUZ DE FUNDO)
pinMode(pinoSensorChuva,INPUT); //DEFINE A PORTA COMO ENTRADA
delay(1000); //INTERVALO DE 1 SEGUNDO ANTES DE INICIAR O CÓDIGO
}
void loop(){
lcd.setCursor(0,0);
lcd.print("UA:");
lcd.setCursor(3,0);
lcd.print(DHT.humidity);
lcd.setCursor(5,0);
lcd.print(" % ");
lcd.setCursor(8,0);
lcd.print("TA:");
lcd.setCursor(11,0);
lcd.print(DHT.temperature);
lcd.setCursor(13,0);
lcd.print(" \337C");
DHT.read11(pinoDHT11); //LÊ AS INFORMAÇÕES DO SENSOR
Serial.print("Umidade = "); //ESCREVE O TEXTO NA JANELA SERIAL
Serial.print(DHT.humidity); //ESCREVE NA JANELA SERIAL O VALOR DA UMIDADE
Serial.print(" % "); //ESCREVE O TEXTO EM SEGUIDA
Serial.print("Temperatura = "); //ESCREVE O TEXTO NA JANELA SERIAL
Serial.print(DHT.temperature); //ESCREVE NA JANELA SERIAL O VALOR DE TEMPERATURA
Serial.println("* Celsius "); //ESCREVE O TEXTO NA JANELA SERIAL
delay(2000); //INTERVALO DE 2 SEGUNDOS * NÃO DIMINUIR ESSE VALOR
leituraA1 = analogRead(pinoSensorChuva); //LÊ O VALOR NA PORTA ANALÓGICA (VALOR LIDO EM BITS QUE VAI DE 0 A 1023 BITS)
moistpercent=(100-(leituraA1-500)/5.23);
if(leituraA1 < 761){ //SE A LEITURA FOR MENOR QUE "511", FAZ / O VALOR 511 PODE SER AJUSTADO ENTRE 0 E 1023
Serial.print(100-(leituraA1-500)/5.23); //ESCREVE O VALOR LIDO NA PORTA ANALÓGICA
Serial.println(" / UMIDO"); //ESCREVE O TEXTO EM SEGUIDA
if (moistpercent >=100) {
lcd.setCursor(0,1);
lcd.print("US:");
lcd.setCursor(3,1);
lcd.print(moistpercent);
lcd.setCursor(6,1);
lcd.print("%");
lcd.setCursor(8,1);
lcd.print("UMIDO ");
}else{ //SENÃO
lcd.setCursor(0,1);
lcd.print("US:");
lcd.setCursor(3,1);
lcd.print(" ");
lcd.setCursor(4,1);
lcd.print(moistpercent);
lcd.setCursor(6,1);
lcd.print("%");
lcd.setCursor(8,1);
lcd.print("UMIDO ");
}
}else{ //SENÃO
Serial.print(100-(leituraA1-500)/5.23); //ESCREVE O VALOR LIDO NA PORTA ANALÓGICA
Serial.println(" / IRRIGAR"); //ESCREVE O TEXTO EM SEGUIDA
if (moistpercent >=100) {
lcd.setCursor(0,1);
lcd.print("US:");
lcd.setCursor(3,1);
lcd.print(moistpercent);
lcd.setCursor(6,1);
lcd.print("%");
lcd.setCursor(8,1);
lcd.print("UMIDO ");
}else{ //SENÃO
lcd.setCursor(0,1);
lcd.print("US:");
lcd.setCursor(3,1);
lcd.print(" ");
lcd.setCursor(4,1);
lcd.print(moistpercent);
lcd.setCursor(6,1);
lcd.print("%");
lcd.setCursor(8,1);
lcd.print("IRRIGAR");
}
delay(100); //DELAY DE 100ms
}
if (moistpercent<=50){
digitalWrite(pinoRele, LOW); //ENERGIZA O PINO 8 E O RELÉ ATIVA
Serial.println("RELE LIGADO"); //ESCREVE O TEXTO NA JANELA SERIAL
}else{ //SENÃO, FAZ
digitalWrite(pinoRele, HIGH); //ENERGIZA O PINO 8 E O RELÉ DESATIVA
Serial.println("RELE DESLIGADO"); //ESCREVE O TEXTO NA JANELA SERIAL
}
}
Tks all