Näidis 1

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.
}
VALGUSKETT
5 erinevat režiimi. 1. Lambipirnide vaheldumisi sisse- ja väljalülitamine. 2. Vilkuvad ainult kollased tuled 3. Valgusfoor 4. Kõik tuled täielikult sisse ja välja.
Komponeendid:
Arduino Uno
Arendusplaat
Potentiometer
6 LED
6 resistorid

Programm:
// C++ code
//
int sensorPin = A0;
int ledPin13= 13;
int ledPin11 = 11;
int ledPin9 = 9;
int ledPin6 = 6;
int ledPin4 = 4;
int ledPin2 = 2;
int sensorValue = A0;
int Value_new;
// seadke kõik muutujadvoid setup()
{
pinMode(ledPin13, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin2, OUTPUT);
Serial.begin(9600);
} //seada muutujad oma ülesandele
void loop()
//
{
Value_new = analogRead(sensorPin);loeb analoog sisendi väärtust ja saadab tagasi täisarvu vahemikus 0 kuni 1023.
Value_new=map(Value_new, 0, 1023, 1, 5);
//piiratud muutuja 5 režiimiga
if (Value_new==2)
{
Valguskett();
}
else if (Value_new==3)
{
vilkuv_kollane();
}
else if (Value_new==4)
{
ValgusfoorDay();
}
else if (Value_new==5)
{
onoff();
}
else
{
digitalWrite(ledPin13, LOW);
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin9, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin2, LOW);
}
}
void Valguskett()
{
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);
for (int x = 0; x < 4; x++)
{
digitalWrite(ledPin13, HIGH);
delay(random(80, 150)); //juhuslik viivitus
digitalWrite(ledPin13, LOW);
digitalWrite(ledPin11, HIGH);
delay(random(80, 150));
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin9, HIGH);
delay(random(80, 150));
digitalWrite(ledPin9, LOW);
digitalWrite(ledPin6, HIGH);
delay(random(80, 150));
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin4, HIGH);
delay(random(80, 150));
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin2, HIGH);
delay(random(80, 150));
digitalWrite(ledPin2, LOW);
float voltage = sensorValue * (5.0 / 1023.0); // konverteerime väärtuse (0 - 1023) ja tagastab (0 - 5V):
Serial.println(voltage); // Saadud tulemused kirjutame Serial Monitori.
}
}
void vilkuv_kollane() {
for (int x = 0; x < 4; x++)
{
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin11, HIGH);
delay(random(500, 1000));
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin11, LOW);
delay(random(500, 1000));
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin11, HIGH);
delay(random(500, 1000));
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin11, LOW);
delay(random(500, 1000));
}
}
void ValgusfoorDay()
{
for (int x = 0; x < 4; x++)
{
digitalWrite(9, LOW);
digitalWrite(2, LOW);
digitalWrite(13, HIGH);
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(13, LOW);
digitalWrite(6, LOW);
digitalWrite(11, HIGH);
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(11, LOW);
digitalWrite(4, LOW);
digitalWrite(9, HIGH);
digitalWrite(2, HIGH);
delay(1000);
}
}
void onoff()
{
for (int x = 0; x < 4; x++)
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
digitalWrite(9, HIGH);
digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(13, LOW);
digitalWrite(11, LOW);
digitalWrite(9, LOW);
digitalWrite(6, LOW);
digitalWrite(4, LOW);
digitalWrite(2, LOW);
delay(1000);
}
}
https://www.tinkercad.com/things/jBB4StYm6jq
Video:
Kasutamisvõimalused tavaelus:
Возможности данной схемы довольно просты. Например: в промышленности, робототехнике, моде, дизайне, развлечении, украшениях.