Katse 2

-Potentsiomeetri kasutamine-

int sensorPin = 0;    	  

int ledPin = 13;                           			  

int sensorValue = 0;  					  

void setup()

{       

  pinMode(ledPin, OUTPUT);  

  Serial.begin(9600);

}

void loop() {          					   

  sensorValue = analogRead(sensorPin); //   loeb analoog sisendi väärtust ja saadab tagasi täisarvu vahemikus 0 kuni 1023. See tähendab 10 bitilist täpsust (2^10 = 1024).		  

  digitalWrite(ledPin, HIGH);         

  delay(sensorValue);                 

  digitalWrite(ledPin, LOW);              

  delay(sensorValue);  

  float voltage = sensorValue * (5.0 / 1023.0); // konverteerime väärtuse (0 - 1023)  ja tagastab (0 - 5V):

  Serial.println(voltage);   // Saadud tulemused kirjutame Serial Monitori.         

} 
// C++ code
//
int sensorPin = 0;    	  

int ledPin = 11;                           			  

int sensorValue = 0;

void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  sensorValue = analogRead(sensorPin);//   loeb analoog sisendi väärtust ja saadab tagasi täisarvu vahemikus 0 kuni 1023. See tähendab 10 bitilist täpsust (2^10 = 1024).
  sensorValue=map(sensorValue,0,1023,0,255);
  
  analogWrite(ledPin,sensorValue);
  
  float voltage = sensorValue * (5.0 / 1023.0); // konverteerime väärtuse (0 - 1023)  ja tagastab (0 - 5V):

  Serial.println(sensorValue);// Saadud tulemused kirjutame Serial Monitori.
}

Valguskett

Töö kirjeldus:
Viie särarežiimiga valguskett..

Komponendid:

Arudino Uno
Takisti (5)
Juhtmed (12)
5 värvilist LEDi (2 punased, 2 rohelised ja 1 kollanne)
Potentsiomeetr

https://www.tinkercad.com/things/ed4Uh908MhU?sharecode=kwrZp1tqJyJcsVPC0e8oKL3TMJkM_rYlxcPgaw4kseg

Tööpõhimõte:

Sellel vanikul on viis režiimi, mida lülitatakse potentsiomeetri abil.

Esimene režiim:
kõik tuled süttivad kordamööda. Iga pirn põleb 1 millisekundi ja kustub siis.

Teine režiim:
Lambipirnid on otsast keskelt lühikesed, põlevad 1,5 millisekundit ja kustuvad seejärel 1 millisekundi.

Kolmas režiim:
Punane ja kollane tuli hakkab vilkuma. Nende põlemis- ja lagunemisajad on juhuslikud. 0,1 millisekund kuni 1 millisekund.

Neljas režiim:
Rohelised tuled hakkavad vilkuma, põlevad 1 sekundi ja kustuvad sama kaua.

Viies režiim:
Punased tuled hakkavad kordamööda vilkuma, põlevad 1 sekundi ja kustuvad sama kaua.

Kuidas seda kasutada saab?
Seda saab kasutada kaunistusena kõikjal korteris või kaunistuseks uueks aastaks või mõneks muuks puhkuseks.

Programm:

int sensorPin = 0;    	  

int ledPin = 13;
int ledPin1 = 12;
int ledPin2 = 11;
int ledPin3 = 10;
int ledPin4 = 9;

int sensorValue = 0;
int value_new;

void setup()

{       

  pinMode(ledPin, OUTPUT);
  pinMode(ledPin1, OUTPUT);  
  pinMode(ledPin2, OUTPUT);  
  pinMode(ledPin3, OUTPUT);  
  pinMode(ledPin4, OUTPUT);  


  Serial.begin(9600);

}

void loop()
{
  value_new=analogRead(sensorPin);
  
  value_new=map(value_new,0,1023,1,5);
  if (value_new==1)
  {
    ochered();
  }
  else if (value_new==2)
  {
  	sbokov();
  }
  else if (value_new==3)
  {
    svecha();
  }
  else if (value_new==4)
  {
    green();
  }
  else
  {
    red();
  }
}

void svecha()
{
  digitalWrite(ledPin, HIGH);
  digitalWrite(ledPin2, HIGH);
  digitalWrite(ledPin4, HIGH);
  delay(random(10,100)); //величина паузы задается случайным значением
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin, LOW);
  digitalWrite(ledPin4, LOW);
  delay(random(10,50));
}


void sbokov()
{
  sensorValue = analogRead(sensorPin);		  

  digitalWrite(ledPin, HIGH);
  digitalWrite(ledPin4, HIGH);
  delay(150);
  digitalWrite(ledPin1, HIGH);
  digitalWrite(ledPin3, HIGH);
  delay(150);
  digitalWrite(ledPin2, HIGH);
  delay(150);

  delay(sensorValue);                 

  digitalWrite(ledPin, LOW);
  digitalWrite(ledPin4, LOW);
  delay(100);
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin3, LOW);
  delay(100);
  digitalWrite(ledPin2, LOW);
  delay(100);

  delay(sensorValue);
}
  
  
  
void ochered()
{
  sensorValue = analogRead(sensorPin);		  

  digitalWrite(ledPin, HIGH);
  delay(100);
  digitalWrite(ledPin1, HIGH);
  delay(100);
  digitalWrite(ledPin2, HIGH);
  delay(100);
  digitalWrite(ledPin3, HIGH);
  delay(100);
  digitalWrite(ledPin4, HIGH);
  delay(100);

  delay(sensorValue);                 

  digitalWrite(ledPin, LOW);
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin3, LOW);
  digitalWrite(ledPin4, LOW);

  delay(sensorValue);
}

void green()
{
  digitalWrite(ledPin1, HIGH);
  digitalWrite(ledPin3, HIGH);
  delay(100);
  
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin3, LOW);
  delay(100);
}

void red()
{
  digitalWrite(ledPin, HIGH);
  delay(100);
  digitalWrite(ledPin4, HIGH);
  delay(100);
  
  digitalWrite(ledPin, LOW);
  delay(100);
  digitalWrite(ledPin4, LOW);
  delay(100);
  
}