Вежба: Сензор светлости са ESP32 платформом
У овој вежби ученици упознају рад сензора светлости и његову примену у комбинацији са ESP32 микроконтролером. Помоћу аналогног улаза очитава се ниво осветљења у околини, а затим се та вредност користи за приказ информација у Serial Monitor-у или за управљање LED диодом.
Вежба представља добар увод у рад са аналогним сензорима и повезује:
- рад са ESP32 платформи,
- аналогно очитавање помоћу ADC конвертора,
- сензорске системе и мерење осветљења,
- основе аутоматског управљања,
- Arduino програмирање.

ESP32 + сензор светлости
Основна поставка за мерење нивоа осветљења у околини.
📑 Садржај
- Шта је сензор светлости?
- Фоторезистор и слични елементи
- Потребна опрема
- Повезивање компоненти
- Вежба 1 – Мерење светлости и Serial Monitor
- Вежба 2 – LED диода која јаче светли у мраку
- Могућа проширења пројекта
- На шта треба обратити пажњу
Шта је сензор светлости?
Сензор светлости је електронска компонента која омогућава да се детектује јачина светлости у окружењу. У зависности од врсте сензора, промена осветљења може да доведе до промене отпора, напона или дигиталног сигнала.
У овој вежби користимо сензор који се понаша као део напонског делитеља, а ESP32 затим чита промене на аналогном улазу. На основу тога можемо да проценимо да ли је у просторији јаче светло или је присутан мрак.

Принцип рада
Светлосни сензор мења електрична својства у зависности од количине светлости.
Фоторезистор и слични елементи
Један од најчешћих елемената за мерење светлости је фоторезистор (LDR – Light Dependent Resistor). Његов отпор се мења у зависности од количине светлости која пада на његову површину. Када је светлости више, отпор је мањи, а када је светлости мање, отпор расте.
Више о једноставном мерењу осветљења помоћу light сензора може се видети и на овој страни: мерење осветљења помоћу light сензора и ESP32.
Напомена
У овој лекцији се акценат ставља на практично очитавање вредности светлости, њихово приказивање у серијском монитору и каснију примену за управљање LED диодом.
Овакав приступ је веома користан у аутоматским системима осветљења, паметним кућама и разним сензорским пројектима.
🧰 Потребна опрема
За реализацију ове вежбе потребно је:
- ESP32 развојна плоча,
- сензор светлости (LDR / light сензор),
- отпорник од 10 kΩ,
- breadboard плоча,
- повезне жице,
- USB кабл,
- рачунар са Arduino IDE окружењем.
Повезивање компоненти
Сензор светлости се повезује као део напонског делитеља. Средња тачка делитеља доводи се на аналогни улаз ESP32 плоче, а вредност се затим очитава помоћу функције analogRead().
У овој вежби користимо следеће повезивање:
- средња тачка између LDR сензора и отпорника → GPIO34
- један крај LDR сензора → 3V3
- други крај LDR сензора → GPIO34
- отпорник од 10 kΩ → GND

Шема повезивања
Приказ основне шеме за мерење осветљења помоћу ESP32.

Задња страна
Приказ распореда и повезивања са задње стране.

Вежба са LED-ом
Каснија проширена верзија вежбе са LED диодом.

Додатни приказ
Задња страна кола које укључује и LED диоду.
Напомена о повезивању
ESP32 користи 12-битни ADC, па је важно да аналогни сигнал буде стабилан и правилно доведен на GPIO34.
Код мерног кола је добро да се користе кратке жице и чврста веза на breadboard плочи како би очитавања била што поузданија.
Вежба 1: Мерење светлости и приказ у Serial Monitor-у
У овој вежби ESP32 очитава аналогну вредност са сензора светлости, затим ту вредност преводи у погодан опсег за приказивање јачине осветљења. На тај начин ученици виде како се сирови ADC подаци могу обрадити и употребити у даљој примени.
Овде се не користи LED диода. Циљ је да се разуме сам принцип мерења светлости и начин на који се добијена вредност приказује у серијском монитору.

Реална поставка
Практично повезивање сензора светлости на breadboard плочи.
Циљ вежбе
Циљ је да се очита вредност са аналогног улаза, затим да се из ње добије процена осветљености. Што је амбијент тамнији, то је очитана вредност другачија, па се преко програма може пратити промена услова у просторији.
ESP32 програм
// Аналогни улаз на који је доведен сигнал са напонског делитеља
// који чине LDR сензор и отпорник од 10 kΩ
#define LDR_PIN 34
void setup() {
// Покретање серијске комуникације брзином од 115200 bps
// да бисмо могли да пратимо очитане вредности у Serial Monitor-у
Serial.begin(115200);
// ESP32 користи 12-битни ADC,
// па analogRead() враћа вредности од 0 до 4095
analogReadResolution(12);
}
void loop() {
// Очитавање аналогне вредности са GPIO34 пина
int ocitanaVrednost = analogRead(LDR_PIN);
// Превођење ADC вредности у опсег 255–0
// Обрнут распон је користан јер већа вредност
// може да представља слабије осветљење
int nivoOsvetljenosti = map(ocitanaVrednost, 0, 4095, 255, 0);
// Испис оригиналне ADC вредности
Serial.print("LDR: ");
Serial.print(ocitanaVrednost);
// Испис прерачунате вредности осветљења
Serial.print(" brightness: ");
Serial.println(nivoOsvetljenosti);
// Кратка пауза између два мерења
delay(500);
}

Serial Monitor
Приказ очитаних ADC вредности и израчунате вредности осветљености током рада програма.
Објашњење програма
- Функција analogRead() чита вредност са аналогног пина GPIO34.
- Пошто ESP32 користи 12-битни ADC, вредност се креће од 0 до 4095.
- Функција map() преводи ту вредност у погоднији опсег.
- Обрнуто мапирање је корисно јер мања количина светлости може да се прикаже већом вредношћу затамњења.
- Резултат се исписује у Serial Monitor, где се лако може пратити промена осветљења.
nivoOsvetljenosti = map(ocitanaVrednost, 0, 4095, 255, 0);
Ова линија кода омогућава да се сирови ADC подаци лакше тумаче у наставку рада.
Вежба 2: LED диода која јаче светли када је мање светлости у околини
У другој вежби истом сензору светлости додаје се LED диода. Када је у околини мање светлости, LED треба да јаче светли, а када је осветљење веће, њен интензитет треба да буде мањи. На тај начин добија се једноставан пример аутоматског ноћног осветљења.

Шема са LED диодом
Проширена верзија кола у којој се додаје и LED диода.
Циљ вежбе
Циљ је да се покаже практична примена мерења светлости. Сензор очитава услове у просторији, а ESP32 на основу тога управља LED диодом тако да она постане јача у мраку, а слабија на јаком светлу.
ESP32 програм
// Аналогни улаз на који је повезан LDR сензор
#define LDR_PIN 34
// LED диода повезана на GPIO2
#define LED_PIN 2
void setup() {
// Покретање серијске комуникације
Serial.begin(115200);
// Подешавање LED пина као излаза
pinMode(LED_PIN, OUTPUT);
// ESP32 користи 12-битни ADC
analogReadResolution(12);
}
void loop() {
// Очитавање вредности са LDR сензора
int ocitanaVrednost = analogRead(LDR_PIN);
// Превођење вредности у опсег 255–0
int jacinaSvetlosti = map(ocitanaVrednost, 0, 4095, 255, 0);
// Слање PWM вредности LED диоди
analogWrite(LED_PIN, jacinaSvetlosti);
// Кратка пауза пре следећег очитавања
delay(100);
}

Serial Monitor
Приказ очитаних вредности током рада програма који управља јачином светлења LED диоде.
Објашњење програма
- LDR сензор се чита помоћу analogRead().
- Вредност се прерачунава у опсег који одговара јачини светлења LED диоде.
- Функција analogWrite() шаље PWM сигнал и тиме мења интензитет светлости диоде.
- Када је у просторији тамније, диода светли јаче.
- Када има више светлости, диода светли слабије.
Могућа проширења пројекта
- Аутоматско паљење расвете у соби.
- Постављање прага осветљења за укључивање LED диоде.
- Коришћење више LED диода са различитим нивоима светлења.
- Слање података преко Wi-Fi мреже.
- Приказ мерења на веб страници.
- Израда паметног ноћног светла.
⚠️ На шта треба обратити пажњу
- Проверити исправност повезивања LDR сензора и отпорника.
- Проверити да ли је аналогни улаз заиста GPIO34.
- Обратити пажњу на стабилно напајање ESP32 плоче.
- Ако је LED диода слабо видљива, проверити отпорник у серији са диодом.
- Пре покретања програма проверити целокупно коло.
Примена стеченог знања
Ова вежба показује како се помоћу ESP32 плоче може мерити светлост и користити та информација за даље управљање излазима. На тај начин се једноставни сензорски подаци претварају у користан аутоматски одговор система.
У следећим корацима могуће је да се овај пројекат прошири на паметно осветљење, алармне системе, аутоматско управљање прозорима или приказ података преко интернета.
## 📚 Додатно учење
Мерење осветљења помоћу ESP32
Детаљније објашњење рада light сензора, фотоотпорника, напонског делитеља и мерења осветљења помоћу ESP32 платформе.
🔎 Продуби знање
Истражи како функционише ADC конвертор у ESP32 микроконтролеру и на који начин се аналогни напон претвара у дигиталну вредност.
🧪 Идеје за експеримент
- Промени праг осветљења.
- Испробај различите вредности отпорника.
- Осветли сензор лампом и прати промене.
- Покриј сензор руком и упореди резултате.
Следећи корак
Комбинуј сензор светлости са OLED дисплејом или Wi-Fi комуникацијом и направи систем за праћење осветљења у реалном времену.
Мини квиз
1. Која функција очитава аналогну вредност са ESP32?
2. Који GPIO пин је коришћен за LDR сензор у овој вежби?
3. Која је максимална вредност коју враћа 12-битни ADC на ESP32?
4. Шта се дешава у другој вежби када је мање светлости?