Katse Nuppude ja Slideswitch’i kasutamise võimalus

const int button1Pin = 2; //viik kunu on ühebdatud nupp1
const int button2Pin = 3; //viik kuhu on ühendatud nupp2
const int ledPin = 13;
void setup()
{
pinMode(button1Pin, INPUT); //algväärtuse nupu viigu sisendiks
pinMode(button2Pin, INPUT); //algväärtuse nupu viigu sisendiks
pinMode(ledPin, OUTPUT); //algväärtuse LED viigu väljundiks
}
void loop()
{
int button1State, button2State; //nupu oleku muutujad
button1State = digitalRead(button1Pin);// salvestame muutujasse nupu hetke väärtuse
button2State = digitalRead(button2Pin);
if (((button1State == LOW) || (button2State == LOW)) // kui nupu on alla vajutatud
&& !
((button1State == LOW) && (button2State == LOW))) // kui nupude on alla vajutatud
{
digitalWrite(ledPin, HIGH); // süütame LEDi
}
else
{
digitalWrite(ledPin, LOW); // kustutame LEDi
}
}

int swPin=4; //Pin, millega lüliti on ühendatud
int ledPin=10; //Pin, millega LED on ühendatud
int switchstate=0; // Muutuja lüliti oleku salvestamiseks
void setup()
{
pinMode(swPin,INPUT); // Seadke lüliti viik sisendrežiimile (INPUT)
pinMode(ledPin,OUTPUT); // Seadke lüliti viik sisendrežiimile (INPUT)
}
void loop()
{
switchstate=digitalRead(swPin); // Lüliti oleku lugemine
if(switchstate==HIGH) // Kui lüliti on lubatud
{
digitalWrite(ledPin,HIGH); // Lülitage LED sisse
}
else
{
digitalWrite(ledPin,LOW); // Lülitage LED välja
}
}
photoresistor

const int sensorPin = 0;
const int ledPin = 9;
int lightLevel, high = 0, low = 1023; // создадим глобальные переменные для уровней яркости high (высокий), low (низкий):
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // //Serial monitori seadistamine
}
void loop()
{
lightLevel = analogRead(sensorPin); //loeme mõõdetud analoogväärtuse
manualTune(); //vahemiku käsitsi muutmine heledast tumedaks
analogWrite(ledPin, lightLevel);// vahemiku käsitsi muutmine heledast tumedaks
Serial.print(lightLevel); // prindime tulemused Serial Monitori (вывод данных с фоторезистора (0-1023))
Serial.println("");
delay(1000);
}
void manualTune()
{
lightLevel = map(lightLevel, 300, 800, 0, 255); // kaardistame selle analoogväljundi vahemikku (будет от 300 темно, до 800 (светло)).
lightLevel = constrain(lightLevel, 0, 255);
}
void autoTune()
{
if (lightLevel < low) // kui tase "lightLevel" on väiksem kui 1023, siis määrake
{
low = lightLevel; // nüüd "madalaim" ~ 800
}
if (lightLevel > high)
{
high = lightLevel;
}
lightLevel = map(lightLevel, low+0, high-30, 0, 255);
lightLevel = constrain(lightLevel, 0, 255);
}
öölamp
Kood on programm kolmevärvilise LED-iga valgusti juhtimiseks, mis põhineb fototakistilt ja teiselt andurilt saadud väärtustel. Sõltuvalt valguse tasemest ja anduri väärtusest muudab LED värvi.
KASUTASIN:
4 takisti
12 juhet
1 valgustakisti
1 potentsiomeeter

int RED_PIN = 7; // LED-i punase värvi tihvt
int BLUE_PIN = 12; // LED-i sinise värvi tihvt
int GREEN_PIN = 8; // LED-i rohelise värvi tihvt
int Sensorpin = A0; // Analoogviik anduri signaali lugemiseks
int takis = A1; // Analoogviik fototakisti signaali lugemiseks
int lightLevel, high = 0, low = 1023; // Переменные для хранения уровня освещенности
int DISPLAY_TIME = 100; // Aeg väärtuse kuvamiseks jadapordis
int sensorValue = 0; // Muutuja anduri väärtuse salvestamiseks
int Value_new; // Переменная для хранения нового значения с датчика
void setup()
{
pinMode(RED_PIN, OUTPUT); // Seadke punase LED-i viik väljundrežiimile (OUTPUT)
pinMode(BLUE_PIN, OUTPUT); // Seadke sinise LED-i viik väljundrežiimile (OUTPUT)
pinMode(GREEN_PIN, OUTPUT); // Установка пина для зеленого светодиода в режим вывода (OUTPUT)
Serial.begin(9600); // Andmete pordi monitorile väljastamiseks lähtestage jadaport
}
void loop()
{
int photoresistorValue = analogRead (takis); // Lugege väärtust fototakistist
Serial.println(photoresistorValue); // Fototakisti väärtuse väljastamine pordimonitorile
if (photoresistorValue<100) // Kui valgustase on madal
{
digitalWrite(RED_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
}
else
{
if (Value_new <=10) // Kui anduri uus väärtus on väiksem kui 10 või sellega võrdne
{
digitalWrite(RED_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
}
Value_new = analogRead(Sensorpin); // Andurilt väärtuse lugemine
Value_new=map(Value_new,0,1023,1,3);
if (Value_new==1)
{
redpon();
}
else if (Value_new==2)
{
greenpon();
}
else if (Value_new==3)
{
bluepon();
}
else
{
digitalWrite(RED_PIN, LOW); // Välja lülitama
digitalWrite(BLUE_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
}
}
}
void redpon()
{
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
}
void greenpon()
{
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
delay(1000);
}
void bluepon()
{
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
}
Kus kasutatakse valgustakisti:
1.Automaatne valgustus
2.Elektroonika
3.kauguse määramine objektist, selle olemasolu/puudumine
4.Meditsiin: meditsiinitehnoloogias kasutatakse valgusandureid näiteks hapnikutaseme mõõtmiseks
5.Turvalisus: Valgusandureid saab kasutada turvasüsteemides liikumise või takistuste tuvastamiseks.