Im using tinkercad for my robotics class and I can't seem to figure out a solution for this problem. Heres my codes:
#include <LiquidCrystal.h> //LCD library
#define echo 2
#define trig 3
// Gas Sensor
#define GREEN 4
#define Yellow 6
#define RED 7
#define Buzzer 5
#define Sensor A0
float duration;
float distance;
LiquidCrystal lcd(13,,12,11,10,9,8);
int sensor_Input;
float temp;
void setup()
{
// Ultrasonic sensor
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
Serial.begin(9600);
lcd.begin(13, 2);
//temp
measure_Temp();
display_Temp();
// Gas Sensor
for (int i = 0; i < 6; i++)
pinMode(i, OUTPUT);
Serial.begin(9600);
}
void loop()
{
// Ultrasonic Sensor
time_Measurement();
distance = duration * (0.0343) /2;
display_distance();
// Gas Sensor
for (int i = 0; i < 6; i++)
digitalWrite(i, LOW);
status_Indicator();
}
void status_Indicator()
{
// Gas Sensor
int sensor_In = analogRead(A0);
Serial.println(sensor_In);
if ( sensor_In>=40 )
{
digitalWrite(RED, HIGH);
digitalWrite(Buzzer, HIGH);
}
else if (sensor_In >=25 )
{
digitalWrite(Yellow, HIGH);
}
else
{
digitalWrite(GREEN, HIGH);
}
delay(10);
}
void time_Measurement()
{
// Ultrasonic Sensor
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
}
void display_distance()
{
lcd.clear();
lcd.setCursor(0, 0);
Serial.print("Distance in m: ");
Serial.print(distance);
Serial.println();
lcd.print("distance in m: ");
lcd.setCursor(5, 1);
lcd.print(distance);
delay(1000);
}
void measure_Temp()
{
//Temp
sensor_Input = analogRead(A0);
temp = (float)sensor_Input / 1024;
temp = temp *5;
temp = temp - 0.5;
temp = temp *100;
}
void display_Temp()
{
//temp
lcd.setCursor(0, 0);
Serial.print("Temp. in Celcius: ");
Serial.print(temp);
Serial.println();
lcd.print("Temp. in Celcius: ");
lcd.setCursor(5, 1);
lcd.print(temp);
delay(500);
}