/* Lab Test 2
* Name: CHIA HOOI BOOY
* Class: DEEC2
* Date:17-July-2024
*/
#define ADC_IN A5
#define ADC_REF 3.3
char led_red = 23;
char led_red_state = LOW;
long led_red_previousMillisA = 0;
int led_red_intervalA = 1000;
long ADC_previousMillisA = 0;
int ADC_intervalA = 500;
int ADC_value;
void setup()
{
// put your setup code here, to run once:
pinMode(led_red, OUTPUT);
Serial.begin(9600);
delay(5000);
}
void loop()
{
int adcRes;
long currentMillisA = millis();
if (currentMillisA - led_red_previousMillisA >= led_red_intervalA)
{
led_red_previousMillisA = currentMillisA;
if(led_red_state == LOW)
led_red_state =HIGH;
else
led_red_state = LOW;
digitalWrite(led_red, led_red_state);
}
if (currentMillisA - ADC_previousMillisA >= ADC_intervalA)
{
ADC_previousMillisA = currentMillisA;
ADC_value = analogRead(ADC_IN); //I use A5 (pin 33)
Serial.println(adcRes);
delay(1000);
//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);
}
}