see kood LED-e, mis süttivad erinevates värvides ja mustrites, sõltuvalt analoogseisundi mõõtmisest, ja saab tagasisidet välistest sensoritest, mis on ühendatud analoogsisendiga (A0). Siin on Potentsiomentr, mis kontrollib viie erinevat režiimi LED-i. mode1()mode2(),mode3(),mode4() ja mode5() funktsioonid, . Peamine tegevus toimub loop() funktsioonis, kus loetakse analoogseisundi väärtus (analogRead(sensorPin)), misjärel see väärtus mappitakse (map()) vahemikust 0-1023 vahemikku 1-5.

//1. deklareerim integer-tüüpi muutuja nimega sensorPin.

int sensorPin = A0; 

//2. deklareerime konstandid

const int red1 = 13;
const int blue1 = 12;
const int green1 = 11;

const int red2 = 10;
const int blue2 = 9;
const int green2 = 8;

const int red3 = 7;
const int blue3 = 6;
const int green3 = 5;

//2.1 Muutujad
int sensorValue = 0;
int Value_new;
int currentMode = 1; // Vaikerežiim on 1

//3. setup() funktsioon algseadistused, mida programm hiljem loop() funktsioonis //kasutab
void setup()
{
  pinMode(red1, OUTPUT);
  pinMode(red2, OUTPUT);
  pinMode(red3, OUTPUT);
  pinMode(blue1, OUTPUT);
  pinMode(blue2, OUTPUT);
  pinMode(blue3, OUTPUT);
  pinMode(green1, OUTPUT);
  pinMode(green2, OUTPUT);
  pinMode(green3, OUTPUT);

  // Lähtestab LED-id olekusse OFF
  turnOffLEDs();
}

void turnOffLEDs()
{
  digitalWrite(red1, LOW);
  digitalWrite(red2, LOW);
  digitalWrite(red3, LOW);
  digitalWrite(blue1, LOW);
  digitalWrite(blue2, LOW);
  digitalWrite(blue3, LOW);
  digitalWrite(green1, LOW);
  digitalWrite(green2, LOW);
  digitalWrite(green3, LOW);
}
//mode1 3 led red1,blue1,green1 lülitatud sisse.
void mode1()
{
  digitalWrite(red1, HIGH);
  digitalWrite(blue1, HIGH);
  digitalWrite(green1, HIGH);
}

//mode2 3 led red1,red2,green3 lülitatud sisse.
void mode2()
{
  digitalWrite(red2, HIGH);
  digitalWrite(red3, HIGH);
  digitalWrite(green3, HIGH);
  delay(100);
  digitalWrite(red1, LOW);
  digitalWrite(blue1, LOW);
  digitalWrite(green1, LOW);
  delay(100);
}

//mode3 kolm punase värvi lülitatud sisse, teised lülitatud välja.
void mode3()
{
  digitalWrite(red2, HIGH);
  digitalWrite(red3, HIGH);
  digitalWrite(green3, LOW);
  delay(100);
  digitalWrite(red1, HIGH);
  digitalWrite(blue1, LOW);
  digitalWrite(blue2, LOW);
  digitalWrite(blue3, LOW);
  digitalWrite(green1, LOW);
  digitalWrite(green2, LOW);
  delay(100);
}
//mode4 kolm rohelist LED'i lülitatud sisse, teised lülitatud välja.
void mode4()
{
  digitalWrite(red2, LOW);
  digitalWrite(red3, LOW);
  digitalWrite(green3, HIGH);
  delay(100);
  digitalWrite(red1, LOW);
  digitalWrite(blue1, LOW);
  digitalWrite(blue2, LOW);
  digitalWrite(blue3, LOW);
  digitalWrite(green1, HIGH);
  digitalWrite(green2, HIGH);
  delay(100);
}
//mode5 kõik LED'i lülitatud sisse, teised lülitatud välja.
void mode5()
{
  digitalWrite(red2, HIGH);
  digitalWrite(red3, HIGH);
  digitalWrite(green3, HIGH);
  delay(100);
  digitalWrite(red1, HIGH);
  digitalWrite(blue1, HIGH);
  digitalWrite(blue2, HIGH);
  digitalWrite(blue3, HIGH);
  digitalWrite(green1, HIGH);
  digitalWrite(green2, HIGH);
  delay(100);
}
void loop()
{
//5.Value_new = analogRead(sensorPin);: Selles reas loetakse väärtus mis on
// ühendatud pinnaga sensorPin  

  Value_new = analogRead(sensorPin);

//1.  0 on algne väärtus, mis vastab analoogsisendi minimaalsele väärtusele. 
//2. 1023 on algne väärtus, mis vastab analoogsisendi maksimaalsele väärtusele.
//3. 1 kuni 5 viis erinevat reziimi, vahemik 0 ja 1023 vahel.

  Value_new = map(Value_new, 0, 1023, 1, 5); // Map analog input to modes 1-5

 
//6. Kontrollib, kas režiim on muutunud.
  if (Value_new != currentMode)
  {

   //7. Lülitab LED-id režiimide vahetamisel välja
    turnOffLEDs();
   //8.  Värskendage praegust režiimi
    currentMode = Value_new; 

  }

  //9. Valitud režiimi alusel vastava režiimi funktsiooni kutsumine
  switch (currentMode)
  {
    case 1:
      mode1();
      break;
    case 2:
      mode2();
      break;
    case 3:
      mode3();
      break;
    case 4:
      mode4();
      break;
    case 5:
      mode5();
      break;
    default:
      turnOffLEDs();
      break;
  }
}