/* Lab Trial Test 2
* Name: CHIA HOOI BOOY
* Class:DEEC2
* Date:10-July-2024
*/
#define ADC_IN A5
#define ADC_REF 3.3
char led_red = 23;
char led_red_state = LOW;
long led_red_previous_millis = 0;
int led_red_interval = 2000;
long ADC_previous_millis = 0;
int ADC_interval = 500;
int ADC_value;
void setup()
{
// put your setup code here, to run once:
pinMode(led_red, OUTPUT);
Serial.begin(115200);
}
void loop()
{
long current_millis = millis();
if (current_millis - led_red_previous_millis >= led_red_interval)
{
led_red_previous_millis = current_millis;
if(led_red_state == LOW)
led_red_state =HIGH;
else
led_red_state = LOW;
digitalWrite(led_red, led_red_state);
}
if (current_millis - ADC_previous_millis >= ADC_interval)
{
ADC_previous_millis = current_millis;
ADC_value = analogRead(ADC_IN); //I use A5 (pin 33)
//Print output of ADC to Serial Monitor
Serial.print("ADC value = "); Serial.println(ADC_value);
}
if (ADC_value <= 1000)
{
digitalWrite(led_red, LOW);
}
else if ( (ADC_value > 1000) && (ADC_value < 3500) )
{
digitalWrite(led_red,HIGH);
}
else
{
digitalWrite(led_red, HIGH);
digitalWrite(led_red, led_red_state);
}
}