Go Down

Topic: Luxmeter on arduino mega (Read 137 times) previous topic - next topic

MauricioLainez

Nov 19, 2019, 06:14 am Last Edit: Nov 19, 2019, 06:26 pm by MauricioLainez
hola a todos
estoy desarrollando un luxometro en arduino mega como proyecto final de carrera.
el motivo de mi peticion de auxilio es la siguiente:
mi luxometro esta conectado al display lcd 16x2 con el suiguiente codigo:

Code: [Select]


#include <Wire.h>
#include <BH1750.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int lux;
int stringLength = 0;
//BH1750 lightMeter;
BH1750 lightMeter(0x23);
String light;

void setup() {
  lcd.begin(16, 2);
  Serial.begin(9600);
  lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE );
  delay(3000);

}

void loop() {

 

  uint16_t lux = lightMeter.readLightLevel(true);

  light = String(lux);
  stringLength = light.length();
 lcd.setCursor(0, 0);
 
  lcd.clear();
  lcd.print("Intensity in LUX");
  lcd.setCursor(0, 1);
  Serial.print("lux:");
  Serial.println(lux);
 
  lcd.print(lux);
  printLight(stringLength);

  delay(500);
}

void printLight(int length)
{
 
  switch (length)
  {
    case 1: lcd.setCursor(0, 1); lcd.print(light); break;
    case 2: lcd.setCursor(0, 1); lcd.print(light); break;
    case 3: lcd.setCursor(0, 1); lcd.print(light); break;
    case 4: lcd.setCursor(0, 1); lcd.print(light); break;
    case 5: lcd.setCursor(0, 1); lcd.print(light); break;
    default:lcd.setCursor(0, 1); lcd.print(light); break;
  }
}


a la hora de progamar mi arduino mega me sale un codigo -2, rastreandole por el monitor serie me aparece este mensaje:

Code: [Select]

[BH1750] Device is not configurated!
lux: -2

como dato de interes ya he probado con todas las configuraciones de la libreria del bh1750 y sigue igual

Que me falta hacer?
por favor ayuda

surbyte

Por favor lee las Normas del foro y edita tu código usando etiquetas.
Nada se debe postear como simple texto (como has hecho). En las normas esta claramente explicado como debes hacerlo.
De modo que editalo por favor.

MauricioLainez

gracias por el aporte surbyte, soy novato en el foro
 

surbyte

Bueno lo que ocurre es que tu dispositvo no esta respondiendo a la dirección 0x23.

Acá debo comerme las palabras ya que acabo de escribir que jamás cambio la dirección de una librería y que siempre funcionan.

Prueba usando I2CScanner.ino de tu IDE.
Con el verás donde esta ubicado el dispositivo BH1750

MauricioLainez

lo termine entregando con comunicacion serial, no me dio ningun problema; verificare la direccion que me indicas para salir de la incognita
un saludo desde El Salvador

Go Up