3.1. Katse Nuppude ja Slideswitch’i kasutamise võimalus
Skeem:

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 ( переменные для сохранения состояния кнопок)
// Поскольку кнопки имеют только два состояния (нажаты и не нажаты) мы будем
// работать с ними используя цифровые порты ввода. Для того чтобы считывать
// digitalRead() функция позволяет получить один параметр с цифрового порта и возвратить либо HIGH (+5V), либо LOW ("0").
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 (выключаем светодиод)
}
}
3.2. Katse Photoresistor
Skeem:

const int sensorPin = 0;
int lightLevel, high = 0, low = 1023;
const int ledPin = 9;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
manualTune();
}
void manualTune()
{
lightLevel = map(lightLevel, 300, 800, 0, 255);
lightLevel = constrain(lightLevel, 0, 255);
lightLevel = analogRead(sensorPin);
analogWrite(ledPin, lightLevel);
Serial.print(lightLevel);
Serial.println("");
delay(1000);
}
Öölamp
Komponeendid:
Arduino Uno
Arendusplaat
LED
Resistor 2x
Photoresistor
Cabel 10x
Potentsiomeetr
Skeem:

Programm:
const int sensorPin = 0;
int lightLevel, high = 0, low = 1023;
const int ledPin = 9;
int potentiaPin = 5;
int potentiaValue = 0;
int Value_new;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
Value_new = analogRead(potentiaPin);
Value_new=map(Value_new, 0, 1023, 1, 2);
if (Value_new == 1)
{
manualTune();
}
else if (Value_new ==2)
{
digitalWrite(ledPin, LOW);
}
}
void manualTune()
{
lightLevel = map(lightLevel, 300, 800, 0, 255);
lightLevel = constrain(lightLevel, 0, 255);
lightLevel = analogRead(sensorPin);
analogWrite(ledPin, lightLevel);
Serial.print(lightLevel);
Serial.println("");
delay(1000);
}
Ööbikut kasutatakse igapäevaelus.