3.1. Katse Nuppude ja Slideswitch’i kasutamise võimalus
Кнопка – при ножатии используется, чтобы запустить действие, выполнить команду.

конструкция работает так, что при первом нажатии светодиод включается, а при втором выключается

const int button1Pin = 2; const int button2Pin = 3; const int ledPin = 13; void setup() { pinMode(button1Pin, INPUT); pinMode(button2Pin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { int button1State, button2State; button1State = digitalRead(button1Pin); button2State = digitalRead(button2Pin); if (((button1State == LOW) || (button2State == LOW)) && ! ((button1State == LOW) && (button2State == LOW))) { digitalWrite(ledPin, HIGH); // lülitame LED sisse } else { digitalWrite(ledPin, LOW); // lülitame LED välja } }
Näidis- Slideswitch’i kasutamine
Ключ — электрический коммутационный аппарат или устройство, применяется для замыкания или размыкания электрической цепи или группы электрических цепей.
батарейка – небольшой по размеру элемент питания электроэнергией для различных устройств.
От положения переключателя зависит работа

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

Фоторезистор — полупроводниковый прибор, изменяющий величину своего сопротивления при облучении светом

const int sensorPin = 0; const int ledPin = 9; int lightLevel, high = 0, low = 1023; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop() { lightLevel = analogRead(sensorPin); manualTune(); autoTune(); analogWrite(ledPin, lightLevel); Serial.print(lightLevel); Serial.println(""); delay(1000); } void manualTune() { lightLevel = map(lightLevel, 300, 800, 0, 255); lightLevel = constrain(lightLevel, 0, 255); } void autoTune() { if (lightLevel < low) { low = lightLevel; } if (lightLevel > high) { high = lightLevel; } lightLevel = map(lightLevel, low+10, high-30, 0, 255); lightLevel = constrain(lightLevel, 0, 255);
Ülesanne 3 Öölamp
ночник загорается когда он включен кнопкой и фоторезистор при этом не чувствует свет. Можно использовать как обычный ночник в комнате для легкого освещен

https://drive.google.com/file/d/1tt05RBd8ZYeSBzsS4E8hfQkL8PSayz_q/view?usp=sharing
https://drive.google.com/file/d/1JMid_asF0-DBlV7FlE57r455co3Qo79e/view?usp=sharing
const int swPin = 4; const int ledPin1 = 9; const int ledPin2 = 10; const int ledPin3 = 11; const int ledPin4 = 6; const int ledPin5 = 5; int switchState = 0; const int sensorPin = A0; int lightLevel, high = 0, low = 1023; void setup() { pinMode(swPin, INPUT); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(ledPin4, OUTPUT); pinMode(ledPin5, OUTPUT); Serial.begin(9600); } void loop() { lightLevel = analogRead(sensorPin); Serial.print(lightLevel); Serial.println(""); switchState = digitalRead(swPin); Serial.print(switchState); Serial.println(""); analogWrite(ledPin1, lightLevel); analogWrite(ledPin2, lightLevel); analogWrite(ledPin3, lightLevel); analogWrite(ledPin4, lightLevel); analogWrite(ledPin5, lightLevel); if (switchState == HIGH) { lightLevel = analogRead(sensorPin); Serial.print(lightLevel); Serial.println(""); switchState = digitalRead(swPin); Serial.print(switchState); Serial.println(""); analogWrite(ledPin1, lightLevel); analogWrite(ledPin2, lightLevel); analogWrite(ledPin3, lightLevel); analogWrite(ledPin4, lightLevel); analogWrite(ledPin5, lightLevel); } else { analogWrite(ledPin1, LOW); analogWrite(ledPin2, LOW); analogWrite(ledPin3, LOW); analogWrite(ledPin4, LOW); analogWrite(ledPin5, LOW); } } void manualTune() { lightLevel = map(lightLevel, 300, 800, 0, 255); lightLevel = constrain(lightLevel, 0, 255); } void autoTune() { if (lightLevel < low) { low = lightLevel; } if (lightLevel > high) { high = lightLevel; } lightLevel = map(lightLevel, low + 10, high - 30, 0, 255); lightLevel = constrain(lightLevel, 0, 255); delay(1000); }