3.1 Katse Nuppude ja Slideswitch’i kasutamise võimalus
Komponeendid:
- Arduino Uno
- Arendusplaat
- LED
- Takisti
- Juhtmed
- Nuppud

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 (выключаем светодиод) } }
Komponeendid:
- Arduino Uno
- Arendusplaat
- LED
- Takisti
- Juhtmed
- Slideswitch
- Patarei

int swPin = 4; int ledPin = 10; int switchstate = 0; void setup() { pinMode(swPin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { switchstate=digitalRead(swPin); if(switchstate==HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin,LOW); } }
3.2. Katse Photoresistor
Komponeendid:
- Arduino Uno
- Arendusplaat
- LED
- Takisti
- Juhtmed
- 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() { // Диапазон чисел с которыми работает функция analogRead() находится в пределах от 0 (0 вольт) и 1023 (5 вольт). // Но! Управлением яркостью светодиода занимается функция analogWrite(), она использует диапазон от от 0 до 255. lightLevel = analogRead(sensorPin); //loeme mõõdetud analoogväärtuse manualTune(); // ручное изменение диапазона от светлого к темному //autoTune(); // автоматическое analogWrite(ledPin, lightLevel); // Выражение выше, будет изменять яркость светодиода вместе с уровнем освещенности. Чтобы сделать наоборот, заменить в analogWrite(ledPin, lightLevel) "lightLevel" на "255-lightLevel". Теперь у нас получился ночник! // для отладки, чтобы увидеть показания датчиков через "монитор порта" 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) // если уровень "lightLevel" меньше 1023, то присвоим { low = lightLevel; // теперь самым "низким" ~ 800 } if (lightLevel > high) { high = lightLevel; } lightLevel = map(lightLevel, low+0, high-30, 0, 255); lightLevel = constrain(lightLevel, 0, 255); }
Ülesanne Öölamp
Komponeendid:
- Arduino Uno
- Arendusplaat
- LED
- Takisti
- Juhtmed
- Photoresistor
- Potentiomeeter

Video:

Plaadi sisselülitamisel, kui RGB LED ei ole valgustatud, lülitub LED sisse ja helendab erinevates värvides. Intensiivsuse suurendamiseks on võimalik keerata potentsiomeeter kas miinimumväärtusele või alla 10 või maksimumväärtusele.
Code:
int redPin = 4; // määrake RGB LED-i viigud (punane) int greenPin = 2; // määrake RGB LED-i viigud (roheline) int bluePin = 3; // määrake RGB LED-i viigud (sinine) int potentiometerPin = A0; // määrata fotoresistori int photoresistorPin = A1; //ja potentsiomeetri viigud void setup() { Serial.begin(9600); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { int photoresistorValue = analogRead(photoresistorPin); // fotoresistori väärtus int potentiometerValue = analogRead(potentiometerPin); // potentsiomeetri väärtus Serial.println(photoresistorValue); if (photoresistorValue < 100) { // dioodi väljalülitamine, kui fotoresistori väärtus on väiksem kui 100 digitalWrite(redPin, LOW); digitalWrite(greenPin, LOW); digitalWrite(bluePin, LOW); } else { if (potentiometerValue <= 10) { // dioodi väljalülitamine, kui potentsiomeetri väärtus on väiksem või võrdne 10 digitalWrite(redPin, LOW); digitalWrite(greenPin, LOW); digitalWrite(bluePin, LOW); } else { // muidu töötab diood analogWrite(redPin, random(255)); analogWrite(greenPin, random(255)); analogWrite(bluePin, random(255)); delay(300); } } }
fotoresistori kasutamine elus
- Päikesepatarei
- Öövalgus
- Laternapostid
- Kaamerad ja taskulambid
- Autosüsteemid (fotoresistoreid kasutatakse autosüsteemides, nagu päevased sõidutuled ja esilaternate automaatsed lülitussüsteemid).
Martini versioon, kuid me otsustasime kasutada minu versiooni.
Komponeendid:
- Arduino Uno
- Arendusplaat
- LED
- Takisti
- Juhtmed
- Photoresistor
- Slideswitch
- Nupp

const int slideSwitchPin = 12; const int rgbRedPin = 7; const int rgbGreenPin = 6; const int rgbBluePin = 5; const int buttonPin = 4; const int photoresistorPin = A0; int brightnessMode = 0; // 0 = low brightness, 1 = medium brightness, 2 = high brightness int photoresistorValue = 0; bool isDark = false; void setup() { pinMode(slideSwitchPin, INPUT_PULLUP); pinMode(rgbRedPin, OUTPUT); pinMode(rgbGreenPin, OUTPUT); pinMode(rgbBluePin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); Serial.begin(9600); } void loop() { // Read the value of the photoresistor photoresistorValue = analogRead(photoresistorPin); // Check if the slide switch is turned on if (digitalRead(slideSwitchPin) == HIGH) { // Check if it's dark if (photoresistorValue > 500) { isDark = true; } else { isDark = false; } // If it's dark, turn on the RGB LED if (isDark) { // Check if the button is pressed to change the brightness mode if (digitalRead(buttonPin) == LOW) { brightnessMode = (brightnessMode + 1) % 3; delay(100); // Wait for button debounce } // Set the brightness of the RGB LED based on the brightness mode switch (brightnessMode) { case 0: setRgbBrightness(rgbRedPin, rgbGreenPin, rgbBluePin, 20); break; case 1: setRgbBrightness(rgbRedPin, rgbGreenPin, rgbBluePin, 127); break; case 2: setRgbBrightness(rgbRedPin, rgbGreenPin, rgbBluePin, 255); break; } // Set the color of the RGB LED to white setRgbColor(rgbRedPin, rgbGreenPin, rgbBluePin, 255, 255, 255); } else { // If it's not dark, turn off the RGB LED and reset the brightness mode setRgbColor(rgbRedPin, rgbGreenPin, rgbBluePin, 0, 0, 0); brightnessMode = 0; } } else { // If the slide switch is turned off, turn off the RGB LED and reset the brightness mode setRgbColor(rgbRedPin, rgbGreenPin, rgbBluePin, 0, 0, 0); brightnessMode = 0; } // Print the value of the photoresistor and isDark (0 is light, 1 is dark) to the Serial Monitor Serial.print("Photoresistor value: "); Serial.print(photoresistorValue); Serial.print(", isDark: "); Serial.println(isDark); } // Helper function to set the color of the RGB LED void setRgbColor(int redPin, int greenPin, int bluePin, int redValue, int greenValue, int blueValue) { analogWrite(redPin, redValue); analogWrite(greenPin, greenValue); analogWrite(bluePin, blueValue); } // Helper function to set the brightness of the RGB LED void setRgbBrightness(int redPin, int greenPin, int bluePin, int brightness) { analogWrite(redPin, brightness); analogWrite(greenPin, brightness); analogWrite(bluePin, brightness); }
Peen funktsionaalsus ei ole teada, kuna ei ole olnud võimalik rakendada nuppu