// elegir "custom chip"
//llamarlo "mq2-gas-sensor" , elegir opcion C
//genera dos archivos que dicen .json y otra .c
//en .json vamos a configurar el chip, los pines y los controles
// pines : VCC(conectar a 5V),GND, D0 (DIGITAL, se conecta a arduino con quien tenga solo numero),
// A0(ANALOGICO, so conecta a arduino con A1 u otro), "","",""
// controles: id (el nombre del control), label(nombre que se ve),
// type (range), min(valor minimo que tendra),
// max(valor maximo que tendra), step debe ser 1
// (los cambios se van a hacer de ? en ?)
//resistor: en unidad hom, y 220 de valor
// patita mas cerca al marron conectar al GND del arduino
//led: patita chueca en un analogico
//. patita recta en el resistor mas cerca del color rojo, al gnd
//pantalla lcd de 16 x 2
#include <LiquidCrystal_I2C.h>
#define MQ2_ANALOG A1 //pin analogico del chip creado de A0
#define MQ2_DIGITAL 2 //pin digital del led y del chip D0
LiquidCrystal_I2C lcd(0x27,16,2); //crear el lcd
void setup() {
// Pin initial configuration
Serial.begin(9600);
pinMode(MQ2_ANALOG, INPUT);
pinMode(MQ2_DIGITAL, INPUT);
// Inicializar el LCD
lcd.init();
lcd.backlight();
}
void loop() {
// Gas Sensor interaction with Arduino Uno simulation
Serial.print("Analog: ");
int MQ2_ANALOG_X = analogRead(MQ2_ANALOG); //Lee el valor analógico del pin A1 (0 a 1023).
int MQ2_scaledValue = map(MQ2_ANALOG_X, 0, 1023, 0, 100); //Mapea el valor leído a un rango de 0 a 100.
Serial.println(MQ2_scaledValue); //Muestra el valor analógico escalado en el monitor serial.
Serial.print("Digital: ");
Serial.println(digitalRead(MQ2_DIGITAL));//Lee el valor digital del pin 2 (HIGH o LOW).
delay(1000); // Introduce una pausa de 1 segundo antes de la siguiente iteración.
//Muestra el resultado
lcd.setCursor(1, 0);
lcd.print("Detector de gases");
lcd.setCursor(1, 1);
lcd.print("%Gas: ");
lcd.print(MQ2_scaledValue);
lcd.println(" PPM ");
delay(5);
}