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

https://www.tinkercad.com/things/6zDitRfxeUF-frantic-bombul
Tööpõhimõte Katse Nuppude :
- Valguse süttimiseks peate vajutama kahte nuppu.
Komponeendid Katse Nuppude :
- 1 LED ;
- 3 resistor ;
- 2 nupud ;
- 7 juhtmed ;
- 1 Breadboard Small ;
- 1 Arduino Uno R3
Kood :
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(HIGH või LOW)
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); // lülitame LED sisse
}
else
{
digitalWrite(ledPin, LOW); // lülitame LED välja
}
}
Photo


Tööpõhimõte Katse Slideswitch’i :
- Valguse sisselülitamiseks peate kasutama slaidilüliti.
Komponeendid Katse Slideswitch’i :
- 1 LED ;
- 1 resistor ;
- 1 slaidilüliti ;
- 7 juhtmed ;
- 9V aku ;
- 1 Breadboard Small ;
- 1 Arduino Uno R3
Kood :
// C++ code
//
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);
}
}
Photo

3.2. Katse Photoresistor

Tööpõhimõte Katse Photoresistor:
- LED-i sisse- ja väljalülitamine photoresistor.
Komponeendid Katse Photoresistor :
- 1 LED ;
- 2 resistor ;
- 6 juhtmed ;
- 1 photoresistor;
- 1 Breadboard Small ;
- 1 Arduino Uno R3
Kood :
const int sensorPin = 0;
const int ledPin = 9;
int lightLevel, high = 0, low = 1023;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // //Serial monitori seadistamine
}
void loop()
{
// AnalogRead() kasutab väärtused vahemikus 0 (0 вольт) и 1023 (5 вольт).
// AnalogWrite(), kasutatakse, et LEDi sujuvalt sisselülitada 0(ei põle) kuni 255(põleb maksimalselt).
lightLevel = analogRead(sensorPin); //loeme mõõdetud analoogväärtuse
// Map() teisendab sisendi väärtused ühest vahemikust teisse. Näiteks, "from" 0-1023 "to" 0-255.
// Constrain() saed muutujale kindlad piirväärtused.
// Näiteks: kui constrain() kohtub arvudega 1024, 1025, 1026.., siis ta teisendab need 1023, 1023, 1023..). Kui arvud vähem kui 0, siis teisendab need 0:.
// lightLevel = constrain(lightLevel, 0, 255);
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)
{
low = lightLevel;
}
if (lightLevel > high)
{
high = lightLevel;
}
lightLevel = map(lightLevel, low+10, high-30, 0, 255);
lightLevel = constrain(lightLevel, 0, 255);
}
Video/Photo

https://drive.google.com/file/d/1C-xXs5w9j3Ecx1qMx1Y0EgWzVpaho6Ik/view?usp=drivesdk
Ülesanne 3 Öölamp

Tööpõhimõte Öölamp:
- LED-i sisse- ja väljalülitamine photoresistor.
Komponeendid Öölamp:
- 1 LED RBG ;
- 4 resistor ;
- 12 juhtmed ;
- 1 photoresistor;
- 1 potentiometer ;
- 1 Breadboard Small ;
- 1 Arduino Uno R3
Kood:
const int ledPin = 12;
const int led2Pin = 10;
const int led3Pin = 11;
int sensorPote = A0;
int sensorPoteValue;
int sensorPhoto=A1;
int sensorPhotoValue;
int Value;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
Serial.begin(9600);
}
void pinidOFF()
{
digitalWrite(ledPin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
}
void red(int sensorPhotoValue)
{
analogWrite(ledPin, sensorPhotoValue);
analogWrite(led2Pin, 0);
analogWrite(led3Pin, 0);
}
void green(int sensorPhotoValue)
{
analogWrite(ledPin, 0);
analogWrite(led2Pin, 0);
analogWrite(led3Pin, sensorPhotoValue);
}
void white(int sensorPhotoValue)
{
analogWrite(ledPin, sensorPhotoValue);
analogWrite(led2Pin, sensorPhotoValue);
analogWrite(led3Pin, sensorPhotoValue);
}
void blue(int sensorPhotoValue)
{
analogWrite(ledPin, 0);
analogWrite(led2Pin, sensorPhotoValue);
analogWrite(led3Pin, sensorPhotoValue);
}
void yellow(int sensorPhotoValue)
{
analogWrite(ledPin, sensorPhotoValue);
analogWrite(led2Pin, sensorPhotoValue);
analogWrite(led3Pin, 0);
}
void pink(int sensorPhotoValue)
{
analogWrite(ledPin, sensorPhotoValue);
analogWrite(led2Pin, 0);
analogWrite(led3Pin, sensorPhotoValue);
}
void loop()
{
sensorPoteValue = analogRead(sensorPote);
Value=map(sensorPoteValue,0,1023,0,8);
sensorPhotoValue=analogRead(sensorPhoto);
sensorPhotoValue=map(sensorPhotoValue,300,800,0,255);
sensorPhotoValue=constrain(sensorPhotoValue,0,255);
Serial.print(sensorPhotoValue);
Serial.print("->");
Serial.println(sensorPhotoValue);
if (Value==0 )
{
pinidOFF();
}
else if (Value==1)
{
red(sensorPhotoValue);
}
else if (Value==2)
{
green(sensorPhotoValue);
}
else if (Value==3)
{
blue(sensorPhotoValue);
}
else if (Value==4)
{
yellow(sensorPhotoValue);
}
else if (Value==5)
{
pink(sensorPhotoValue);
}
else
{
white(sensorPhotoValue);
}
delay(500);
}
Video/Photo


https://drive.google.com/file/d/1Bbd9O6lVli22K9q7H1-9XkzYqFSmEUua/view?usp=drivesdk
Kommentaatorid (uued võimalused)
Const-deklaratsioon loob muutumatu viite väärtusele. See ei tähenda, et selle väärtus on muutumatu — lihtsalt muutuja identifikaatorit ei saa ümber määrata.
Arduino switch state tähendab Arduino arduino arvus oleva lüliti olekut. Kui lüliti on ühes asendis, vastab see ühele olekule ja kui see on teise asendisse lülitatud, on see juba teine olek.
«lightLevel Arduino’s» tähendab valgustugevust, mida saab mõõta Arduinoga ühendatud valgusanduriga. See võimaldab teil saada teavet ümbritseva valgustugevuse praeguse taseme kohta. Seda teavet saab kasutada valgusdioodide või muude komponentide juhtimiseks sõltuvalt valgustingimustest.
Kasutamisvõimalused tavaelus :
Rakendused elus Võib kasutada laternad või päikesepaneelid, öömaja, lühter, automaatne laualamp
Добавить комментарий