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;
}
}