Похоже это скетч для Ардуино.
Есть 4 датчика - сенсора.
#define POT A0
#define SWET A2
#define TEMP A1
#define GAS_SENSOR A3
И lcd дисплей на 2 строки и 16 колонок.
Данные с датчиков считываются каждые 2 секунды и в зависимости от показаний аналогового пина 0 их значения выводятся на lcd дисплей.
Температура линейно преобразуется из диапазона от 0 до 1024 в диапазон от -50 до 450
temp_data=temp_input*5.0/1024;
temp_data=(temp_data-0.5)*100;
В случае если pot_data (A0) от 0 до 256 выводится
Current data:
S: sweet_data T: temp_daata
В случае если pot_data от 256 до 512 выводится
Gas data:
Now: gas_data /400
В случае если pot_data от 512 до 768 выводится
S:0 T:0
В случае если pot_data от 768 до 1024 выводится
Пустой экран.
Так как переменная debug=1 то в консоль тоже печатаются значения переменных считанных с датчиков ( напряжение на соответсвтующих пинах)
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define POT A0
#define SWET A2
#define TEMP A1
#define GAS_SENSOR A3
#define BUTTON 6
bool debug=1;
int pot_data=0;
int screen=0;
int swet_data=0;
int temp_input=0;
float temp_data=0;
int gas_data=0;
int swet_max=0;
float temp_max=0;
int swet_min=0;
float temp_min=0;
unsigned long int swet_sum=0;
int swet_count=0;
double temp_sum=0;
int temp_count=0;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(POT,INPUT);
pinMode(SWET,INPUT);
pinMode(TEMP,INPUT);
pinMode(BUTTON,INPUT);
pinMode(GAS_SENSOR,INPUT);
lcd.print(" This id my ");
lcd.setCursor(0,1);
lcd.print(" first project ");
delay(4000);
lcd.clear();
}
void loop() {
//inputs
pot_data=analogRead(POT);
swet_data=analogRead(SWET);
temp_input=analogRead(TEMP);
gas_data=analogRead(GAS_SENSOR);
if (debug){
Serial.println();
Serial.print("pot_data= ");
Serial.println(pot_data);
Serial.print("swet_data= ");
Serial.println(swet_data);
Serial.print("temp_input= ");
Serial.println(temp_input);
Serial.print("gas_data= ");
Serial.println(gas_data);
Serial.println();
Serial.println();
Serial.println();
Serial.println();
}
// calculate
screen=map(pot_data,0,1023,0,3);
temp_data=temp_input*5.0/1024;
temp_data=(temp_data-0.5)*100;
swet_sum=swet_sum+swet_data;
temp_sum=temp_sum+temp_data;
// sroll
if (screen==0){
lcd.print(" Current data:");
lcd.setCursor(0,1);
lcd.print("S: ");
lcd.print(swet_data);
lcd.setCursor(7,1);
lcd.print("T: ");
lcd.print(temp_data);
}else if (screen==1){
lcd.print(" Gas data: ");
lcd.setCursor(0,1);
lcd.print(" Now: ");
lcd.print(gas_data);
lcd.print(" / 400");
}else if (screen==2){
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("S: ");
lcd.print(swet_max);
lcd.setCursor(7,1);
lcd.print("T: ");
lcd.print(temp_max);
}else if (screen==3){
}
delay(2000);
lcd.clear();
}