Your cart is currently empty!
1.- Näidis- (Nupp)
Töö kirjeldus:
Välja- ja sisselülitusnupuga Led
Kasutatud komponenid:
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Juhtmed (7tk)
Takisti (3tk)
LED (1tk: Punane)
Nupp (2tk)
Töö protsess:
Ühendage diood, takisti, nupud ja juhtmed plaadile. Valgusahel töötab järgmiselt.
Kui nuppu vajutatakse, lülitub LED sisse.
Nupp rakendamine:
Vajutage või hoidke all nuppu tulemuse saamiseks
Skeem:

Programm:
// Nuppud. -----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 } }
2.- Näidis- Slideswitch’i kasutamine
Töö kirjeldus:
LED koos sisse/väljalülitiga
Kasutatud komponenid:
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Juhtmed (7tk)
Takisti (1tk)
LED (1tk: Punane)
Switch (1tk)
Patarei (1tk)
Töö protsess:
Ühendage diood, takisti, switch ja juhtmed plaadile. Valgusahel töötab järgmiselt.
Kui Switch vajutatakse, lülitub LED sisse.
Switch rakendamine:
Lülita Switch sisse või välja tulemuse saamiseks
Skeem:

Programm:

3.2. Katse Photoresistor
(Fototakisti abil valguse mõõtmine, valgustundlik LED)
Töö kirjeldus:
LED Valgustusest sõltuv
Kasutatud komponenid:
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Juhtmed (6tk)
Takisti (2tk)
LED (1tk: Punane)
Fotoregister (1tk)
Töö protsess:
Ühendage diood, takisti, fotoregister ja juhtmed plaadile. Fotoresistor töötab järgmiselt.
LED süttib sõltuvalt valgusest
Fotoresistori rakendamine:
süttib sõltuvalt valgusest
Skeem:

Programm:
-----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); }
Ülesanne “Öölamp”
Töö kirjeldus:
Öövalgustus koos nupu ja pildisalvestajaga
Kasutatud komponenid:
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Juhtmed (17tk)
Takisti (9tk)
LED (8tk: 4tk Punane, 4tk Roheline)
Aku (1tk)
Fotoregister (1tk)
Switch (1tk)
Töö protsess:
Ühendage dioodid, takisti, Aku, fotoregister ja juhtmed plaadile. Öölamb töötab järgmiselt.
Öövalgustus hakkab tööle, kui vajutate lülitit, öövalgustus on kahes režiimis – öösel ja päeval.
Kui on pime, süttib see
Kui on päevane aeg, lülitub see välja.
Öölamp rakendamine:
Tänava-, tööstus- ja koduvalgustuseks (LED-lambid ja -valgustid); dekoratiivvalgustus, taustavalgustus.
Skeem:

Programm:
// C++ code const int swPin = 4; const int redled1 = 12; const int blueled1 = 11; const int redled2 = 10; const int blueled2 = 9; const int redled3 = 8; const int blueled3 = 7; const int redled4 = 6; const int blueled4 = 5; int switchstate = LOW; int lightLevel; void setup() { pinMode(swPin, INPUT); pinMode(redled1, OUTPUT); pinMode(blueled1, OUTPUT); pinMode(redled2, OUTPUT); pinMode(blueled2, OUTPUT); pinMode(redled3, OUTPUT); pinMode(blueled3, OUTPUT); pinMode(redled4, OUTPUT); pinMode(blueled4, OUTPUT); Serial.begin(9600); // Настройка сериального монитора } void loop() { switchstate = digitalRead(swPin); if (switchstate == HIGH) { lightLevel = analogRead(A0); // читаем аналоговое значение Serial.println(lightLevel); lightLevel = map(lightLevel, 100, 1000, 0, 255); // маппируем его в диапазон (0-255) lightLevel = constrain(lightLevel, 0, 255); // ограничиваем его в диапазоне (0-255) analogWrite(redled1, lightLevel); analogWrite(blueled1, lightLevel); analogWrite(redled2, lightLevel); analogWrite(blueled2, lightLevel); analogWrite(redled3, lightLevel); analogWrite(blueled3, lightLevel); analogWrite(redled4, lightLevel); analogWrite(blueled4, lightLevel); Serial.print(lightLevel); // выводим результаты в сериальный монитор Serial.println(«»); delay(1000); } else { digitalWrite(redled1, LOW); digitalWrite(blueled1, LOW); digitalWrite(redled2, LOW); digitalWrite(blueled2, LOW); digitalWrite(redled3, LOW); digitalWrite(blueled3, LOW); digitalWrite(redled4, LOW); digitalWrite(blueled4, LOW); }}
Video:
Uued funktsioonid:
const int swPin = 4;
– Объявляет константуswPin
и присваивает ей значение 4, – (пин, к которому подключен переключатель.)const int redled1 = 12;
,const int blueled1 = 11;
, и т.д. – Объявляют константы для пинов, к которым подключены светодиодыint switchstate = LOW;
– будет хранить текущее состояние переключателя. Изначально установлено вLOW
.int lightLevel;
– будет хранить уровень освещенности.digitalRead(pin)
– Считывает состояние пина (HIGH или LOW).analogRead(pin)
– Считывает аналоговое значение с аналогового пинаSerial.begin(speed)
– Инициализирует последовательную связь с указанной скоростью в битах в секунду (speed
).Serial.println(data)
– Отправляет данные в последовательный монитор с новой строкой в конце.map(value, fromLow, fromHigh, toLow, toHigh)
– Преобразует значение из одного диапазона в другой.constrain(value, min, max)
– Ограничивает значение в заданном диапазоне.analogWrite(pin, value)
– Устанавливает аналоговое значение на указанном пине (0-255).