Робота зі світловими сенсорами
Автор: Falconer • Май 29, 2022 • Лабораторная работа • 605 Слов (3 Страниц) • 229 Просмотры
Лабораторної роботи №3
Тема: Робота зі світловими сенсорами
Мета: Отримання досвіду роботи з компонентами, які змінюють свої характеристики в залежності від інтенсивності світла.
Завдання:
Реалізувати схему пристрою та програму для нього в залежності від варіанту:
Перший варіант:
Компоненти: Arduino UNO, резистори, IR-ресівер, фототранзистор, RBG-світлодіод
[pic 1]
Пристрій, який активується червоною кнопкою (On/Off) на пульті управління, який є компонентом в Autodesk Tinkercad. В залежності від рівня освітленості, який потрапляє на фотодіод, змінюється колір RGB світлодіода. Шкала градації складається з 5 юнітів, кожен юніт включає в себе певний діапазон рівня освітленості (діапазони можуть бути не рівні, ви можете розтавляти їх на свій розсуд). Кольори світлодіоду відносно номерів діапазонів освітленості:
- #6E6EFF
- #0000FF
- #00FF66
- # 00FF00
- #C8FF00
Також має бути реалізовано два режими зміни кольорів при натисненні кнопок 1 та 2 на пульті управління. Перший режим – кольори змінюються в прямому порядку списку, який зазначено вище, другий режим – в оберненому.
Код програм:
#include <IRremote.h>
int RECV_PIN = 11;
int pinPhoto = A0;
int pinRed = 4;
int pinGreen = 6;
int pinBlue = 5;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(pinRed, OUTPUT);
pinMode(pinGreen, OUTPUT);
pinMode(pinBlue, OUTPUT);
}
void loop() {
int val = analogRead(pinPhoto);
Serial.println(val);
if(val < 85){
if(irrecv.decode(&results)){
int value = results.value;
Serial.println(value);
switch(value){
case 2295: //Keypad button "1"
//set color red
functionA();
}
switch(value){
case -30601: //Keypad button "2"
//set color skyblue
functionB();
}
...