#include <Arduino.h>
// Komponenter för allt
const int LED_RED = 2;
const int LED_YELLOW = 3;
const int LED_GREEN = 4;
const int BUTTON = 5;
const int POTI = 6;
int resolution = 8;
int frequency = 5000;
// DELUPPGIFT 1:
/*
int LastButtonState = HIGH;
void setup() {
Serial.begin(115200);
analogReadResolution(12);
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
}
void loop() {
digitalWrite(LED_RED, HIGH);
digitalWrite(LED_GREEN, LOW);
int reading = digitalRead(BUTTON);
if (reading != LastButtonState) {
LastButtonState = reading;
if (LastButtonState == LOW) {
digitalWrite(LED_RED, LOW);
digitalWrite(LED_GREEN, HIGH);
delay(3000);
digitalWrite(LED_RED, HIGH);
digitalWrite(LED_GREEN, LOW);
}
}
delay(10); // den här delay() kan vara kvar, dp den snabbar på simulationen i Wokwi
}
*/
// DELUPPGIFT 2:
int LastButtonState = HIGH;
int LastLED_REDState = HIGH;
int LastLED_GREENState = LOW;
int brightness = 0;
int styrka = 0;
int light_delay = 3000;
unsigned long last_time = 0;
void setup() {
Serial.begin(115200);
analogReadResolution(12);
pinMode(BUTTON, INPUT_PULLUP);
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
ledcAttach(LED_RED, frequency, resolution);
ledcAttach(LED_GREEN, frequency, resolution);
}
void loop() {
int brightnessRED = map(LastLED_REDState, LOW, HIGH, 0, 125);
int brightnessGREEN = map(LastLED_GREENState, LOW, HIGH, 0, 125);
int reading = digitalRead(BUTTON);
if (reading != LastButtonState) {
LastButtonState = reading;
if (LastButtonState == LOW) {
unsigned long current_time = millis();
Serial.println(brightnessRED);
Serial.println(brightnessGREEN);
if (current_time - last_time >= light_delay) {
last_time = current_time;
brightnessRED = 125;
brightnessGREEN = 0;
ledcWrite(LED_RED, 125);
ledcWrite(LED_GREEN, 0);
Serial.println(brightnessRED);
Serial.println(brightnessGREEN);
}
else {
brightnessRED = 0;
brightnessGREEN = 125;
ledcWrite(LED_RED, brightnessRED);
ledcWrite(LED_GREEN, brightnessGREEN);
Serial.println(brightnessRED);
Serial.println(brightnessGREEN);
}
}
}
delay(10); // den här delay() kan vara kvar, dp den snabbar på simulationen i Wokwi
}