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.