Error begin no puedo soluconarlo

Tengo un unico error es el de begin no puedo alguien que me ayude

#include <SoftwareSerial.h>
#include <LiquidCrystal_I2C.h>

// Configuración del Bluetooth
SoftwareSerial bluetooth(10, 11); // RX, TX pines
int bluetoothData;

// Configuración de la pantalla LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C, 16 columnas, 2 filas

// Pines del sistema Andon
const int greenLED = 2;
const int yellowLED = 3;
const int redLED = 4;
const int alarmPin = 5;

// Estados del sistema Andon
enum AndonState {
Normal,
MaterialMissing,
Maintenance
};

// Variables del elevador
int elevatorPosition = 0; // Posición del elevador (0 para abajo, 1 para primer nivel, 2 para segundo nivel)

void setup() {
// Configuración del Bluetooth
bluetooth.begin(9600);

// Configuración de la pantalla LCD
lcd.begin (16,2); //esta linea es el unico error que me aparece
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Bienvenido!");

// Configuración de los pines del sistema Andon
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(redLED, OUTPUT);
pinMode(alarmPin, OUTPUT);

// Estado inicial del sistema Andon
setAndonState(Normal);
}

void loop() {
// Verificar si se recibió una señal vía Bluetooth
if (bluetooth.available()) {
bluetoothData = bluetooth.read();
if (bluetoothData == '1') {
// Se recibió una señal para ir al primer nivel
moveElevator(1);
} else if (bluetoothData == '2') {
// Se recibió una señal para ir al segundo nivel
moveElevator(2);
}
}

// Actualizar la información en la pantalla LCD
updateLCD();
}

void moveElevator(int level) {
elevatorPosition = level;
updateLCD();

// Simular movimiento del elevador (Aquí puedes agregar tu lógica real para controlar el movimiento del elevador)
delay(2000); // Simulación de tiempo de movimiento

// Mostrar mensaje en la pantalla LCD
lcd.setCursor(0, 1);
lcd.print("Posicionado");
delay(2000);
lcd.setCursor(0, 1);
lcd.print(" ");
}

void updateLCD() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Posicion: ");
lcd.print(elevatorPosition);

// Mostrar mensaje activo del sistema Andon según el estado
lcd.setCursor(0, 1);
switch (getAndonState()) {
case Normal:
lcd.print("Andon: Verde ");
break;
case MaterialMissing:
lcd.print("Andon: Amarillo");
break;
case Maintenance:
lcd.print("Andon: Rojo ");
break;
}
}

AndonState getAndonState() {
// Aquí puedes agregar tu lógica para determinar el estado del sistema Andon
// Por ejemplo, puedes usar sensores o condiciones específicas para cambiar el estado

// Estado de ejemplo aleatorio (para pruebas)
int state = random(3);

return static_cast(state);
}

void setAndonState(AndonState state) {
// Establecer el estado del sistema Andon
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
digitalWrite(alarmPin, LOW);

switch (state) {
case Normal:
digitalWrite(greenLED, HIGH);
break;
case MaterialMissing:
digitalWrite(yellowLED, HIGH);
digitalWrite(alarmPin, HIGH);
break;
case Maintenance:
digitalWrite(redLED, HIGH);
digitalWrite(alarmPin, HIGH);
break;
}
}

Por favor edita tu post y pon el código según las Normas del Foro en Español, punto 7.

lcd.begin (16,2);

es incorrecto, lo correcto es

lcd.init();
1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.