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
Arduino mikrokontrollerid on laialt levinud platvorm elektroonikaharrastajate jaoks, pakkudes lihtsat viisi erinevate komponentide, nagu nupud, slaidlülitid ja valgusandurid, integreerimiseks. Nupud, eestikeeli “nupud”, on olulised osad Arduino projektides, võimaldades kasutajal käivitada erinevaid funktsioone või kontrollida seadme käitumist.
Slaidlülitid, mida nimetatakse eesti keeles “slaidlülititeks”, pakuvad sujuvat ja lineaarset juhtimist. Neid saab kasutada näiteks heleduse reguleerimiseks, helitugevuse muutmiseks või muude lineaarsete muutujate juhtimiseks Arduino projektides.
Valgusandurid, mida võib eesti keeles nimetada “valgusanduriteks”, on olulised komponendid automaatsetes valgustussüsteemides või muudes projektides, kus reageerimine valguse tasemele on vajalik. Arduino platvorm võimaldab neid komponente lihtsalt ühendada ja programmeerida vastavalt vajadustele.
Arduino platvormi tugevus seisneb selle avatud lähtekoodiga programmeerimises, mis võimaldab kasutajatel kohandada ja luua enda projekte. Nii saab nuppe konfigureerida erinevate funktsioonide jaoks, slaidlüliteid kasutada muutuvate parameetrite juhtimiseks ning valgusandureid integreerida automaatse valgustuse või muude valgusega seotud rakenduste jaoks.
Kokkuvõttes on Arduino platvorm mitmekülgne vahend elektroonikaharrastajatele, võimaldades loomingulist lähenemist nuppude, slaidlülitite ja valgusandurite kasutamisele erinevates projektides.
Arduino platvorm muudab nuppude, slaidlülitite ja valgusandurite integreerimise lihtsaks. See võimaldab elektroonikaharrastajatel loovalt kohandada nende komponentide funktsionaalsust vastavalt individuaalsetele projektinõuetele.