#include "mbed.h"
// Definiši pinove za LED diode i ADC pin
DigitalOut leds[] = {PTD4, PTD5, PTD6, PTD7, PTA8, PTA9, PTA10, PTA11};
AnalogIn potentiometer(PTA28); // Prilagoditi prema stvarnom pinoutu
// Funkcija za mapiranje vrijednosti
float map_value(float value, float in_min, float in_max, float out_min, float out_max) {
return (value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
int main() {
while (true) {
// Čitaj vrijednost sa potenciometra
float potentiometer_value = potentiometer.read(); // Vraća vrijednost između 0.0 i 1.0
// Mapiraj očitanu vrijednost na raspon vremena kašnjenja
int delay_time = map_value(potentiometer_value, 0.0, 1.0, 100, 2000); // u milisekundama
// Paljenje i gašenje LED dioda
for (int i = 0; i < 8; i++) {
leds[i] = 1; // Uključi LED
ThisThread::sleep_for(delay_time); // Čekaj
leds[i] = 0; // Isključi LED
ThisThread::sleep_for(delay_time); // Čekaj
}
// Uključi sve LED diode
for (int i = 0; i < 8; i++) {
leds[i] = 1;
}
ThisThread::sleep_for(delay_time); // Čekaj
// Isključi LED diode u obrnutom redoslijedu
for (int i = 7; i >= 0; i--) {
leds[i] = 0; // Isključi LED
ThisThread::sleep_for(delay_time); // Čekaj
}
}
}