// 2.
// void setup() {
// pinMode(13, OUTPUT);
// pinMode(A0, INPUT);
// }
// int lightThreshold = 300;
// void loop() {
// int lightValue = analogRead(A0);
// if (lightValue < lightThreshold) {
// digitalWrite(13, HIGH);
// } else {
// digitalWrite(13, LOW);
// }
// }
// 1.
// void setup() {
// pinMode(13, OUTPUT);
// pinMode(2, INPUT_PULLUP);
// }
// void loop() {
// boolean button = digitalRead(2);
// if(!button){
// digitalWrite(13, HIGH);
// }else{
// digitalWrite(13, LOW);
// }
// }
// 3.
// void setup() {
// pinMode(13, OUTPUT);
// pinMode(2, INPUT_PULLUP);
// pinMode(A0, INPUT);
// }
// int lightThreshold = 250;
// bool autoMode = true;
// void loop() {
// if (digitalRead(2) == LOW) {
// autoMode = !autoMode;
// delay(300);
// if (!autoMode) {
// digitalWrite(13, LOW);
// }
// }
// if (autoMode) {
// int lightValue = analogRead(A0);
// if (lightValue < lightThreshold) {
// digitalWrite(13, HIGH);
// } else {
// digitalWrite(13, LOW);
// }
// }
// }
// 4.
// void setup() {
// pinMode(13, OUTPUT);
// pinMode(A0, INPUT);
// }
// void loop() {
// int lightValue = analogRead(A0);
// int blinkDelay = map(lightValue, 50, 900, 100, 2000);
// digitalWrite(13, HIGH);
// delay(blinkDelay / 2);
// digitalWrite(13, LOW);
// delay(blinkDelay / 2);
// }
// 5.
// void setup() {
// pinMode(2, INPUT_PULLUP);
// pinMode(13, OUTPUT);
// }
// bool ledOn = false;
// void loop() {
// if (digitalRead(2) == LOW) {
// for (int i = 0; i < 3; i++) {
// digitalWrite(13, HIGH); delay(200);
// digitalWrite(13, LOW); delay(200);
// }
// ledOn = !ledOn;
// digitalWrite(13, ledOn);
// while (digitalRead(2) == LOW);
// }
// }
// 6.
// void setup() {
// pinMode(2, INPUT_PULLUP);
// pinMode(13, OUTPUT);
// pinMode(A0, INPUT);
// }
// int minLight = 50;
// int maxLight = 900;
// bool calibrating = false;
// int lastPress = 0;
// void loop() {
// if (digitalRead(2) == LOW && millis() - lastPress > 2000) {
// calibrating = true;
// calibrate();
// }
// int light = analogRead(A0);
// if (light < minLight) digitalWrite(13, HIGH);
// else digitalWrite(13, LOW);
// }
// void calibrate() {
// while (calibrating) {
// digitalWrite(13, HIGH); delay(100);
// digitalWrite(13, LOW); delay(100);
// if (digitalRead(2) == LOW) {
// maxLight = analogRead(A0);
// break;
// }
// }
// while (calibrating) {
// digitalWrite(13, HIGH); delay(500);
// digitalWrite(13, LOW); delay(500);
// if (digitalRead(2) == LOW) {
// minLight = analogRead(A0);
// calibrating = false;
// break;
// }
// }
// }
// 7.
// void setup() {
// pinMode(11, OUTPUT);
// pinMode(2, INPUT_PULLUP);
// pinMode(A0, INPUT);
// }
// bool autoMode = true;
// int target = 128;
// const float GAMMA = 0.7;
// const float RL10 = 50;
// void loop() {
// if (digitalRead(2) == LOW) {
// delay(50);
// autoMode = !autoMode;
// while(digitalRead(2) == LOW);
// }
// int analogValue = analogRead(A0);
// float voltage = analogValue / 1024. * 5;
// float resistance = 2000 * voltage / (1 - voltage / 5);
// float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
// if (autoMode) {
// int light = analogRead(A0);
// int brightness = map(light, 0, 1023, 255, 0);
// analogWrite(11, brightness);
// } else {
// analogWrite(11, target);
// }
// delay(100);
// }
// 8.
// void setup() {
// pinMode(2, INPUT_PULLUP);
// pinMode(11, OUTPUT);
// }
// bool alarm = false;
// unsigned long lastBaselineUpdate = 0;
// int ph = analogRead(A0);
// void loop() {
// int currentLight = analogRead(A0);
// int buttonState = digitalRead(2);
// if (millis() - 0 > 5000 && !alarm) {
// ph = (ph * 3 + currentLight) / 4;
// lastBaselineUpdate = millis();
// }
// if (abs(currentLight - ph) > 100 && !alarm) {
// alarm = true;
// }
// if (buttonState == LOW && alarm) {
// alarm = false;
// ph = currentLight;
// digitalWrite(11, LOW);
// }
// if (alarm) {
// digitalWrite(11, (millis() / 200) % 2);
// } else {
// digitalWrite(11, LOW);
// }
// delay(50);
// }