Регионални центар за таленте "Михајло Пупин"

 

Вежба: Arduino и сензор осветљења (LDR)

У овој вежби ученици се упознају са радом сензора осветљења (LDR) и мерењем нивоа светлости у окружењу помоћу Arduino Uno микроконтролера. Ово је једна од основних вежби у области примењене електронике и представља добар увод у рад са аналогним сензорима.

Кроз овај пример ученици уче како да сензор претворе у део једноставног мерења, како да очитају вредност у Arduino IDE-у и како да ту вредност прикажу у реалном времену помоћу Processing-а.

👉 За додатни увод у платформу погледај:
Увод у Arduino програмирање

 

Arduino Uno mikrokontroler ploča

Arduino Uno

Основна плоча за читање података са сензора и прве експерименте.

LDR senzor osvetljenja

LDR сензор

Фотоотпорник чији се отпор мења у зависности од јачине светлости.

 

🔧 Потребна опрема

Arduino Uno

Микроконтролер за очитавање вредности са сензора.

Breadboard

Плоча за брзо повезивање без лемљења.

LDR сензор

Фотоотпорник за мерење нивоа светлости.

Отпорник 10kΩ

Користи се у напонском делитељу са LDR-ом.

Жице

За повезивање компоненти.

 

🧠 Како ради LDR сензор?

LDR (Light Dependent Resistor) је фотоотпорник чији се отпор мења у зависности од количине светлости:

  • ☀️ више светлости → мањи отпор
  • 🌙 мање светлости → већи отпор

LDR и фиксни отпорник од 10kΩ формирају напонски делитељ, па Arduino на аналогном улазу A0 може да очита вредност од 0 до 1023. Та вредност зависи од нивоа светлости у просторији.

 

👉 За детаљније објашњење рада LDR сензора и напонског делитеља погледај:
LDR сензор – детаљно објашњење и проширена вежба

 

⚠️ Важно пре повезивања

Arduino не треба повезивати са рачунаром пре него што су све компоненте правилно повезане. Посебно је важно да се LDR не повезује директно без отпорника, јер је отпорник неопходан за безбедан рад кола и за правилно мерење.

Ако се отпорник изостави, мерење може бити погрешно, а сензор или плоча могу бити изложени непожељном оптерећењу.

 

🔌 Повезивање

1. Повежи пин 5V са једном страном LDR сензора.

2. Другу страну LDR-а повежи са једним крајем отпорника од 10kΩ.

3. Други крај отпорника повежи на GND.

4. Место где се спајају LDR и отпорник повежи на A0.

5. Када су све везе проверене, повежи Arduino са рачунаром преко USB кабла.

 

Povezivanje LDR senzora na Arduino

Повезивање LDR сензора на Arduino

 

💻 Arduino код

const int sensorPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int lightValue = analogRead(sensorPin); // 0 (dark) to 1023 (bright)
  Serial.println(lightValue);
  delay(200);
}

 

📟 Шта се дешава у Arduino програму?

LDR сензор осећа количину светлости у окружењу и мења свој отпор. Arduino затим чита напон на аналогном улазу A0 и шаље добијену вредност преко серијске комуникације на рачунар.

То значи да Arduino непрекидно „прати“ светлост у просторији и шаље вредности у реалном времену. Тај податак можемо касније да прикажемо графички, да га користимо за управљање LED диодом, аутоматским светлом или другим уређајем.

У овом примеру Arduino шаље само бројеве у опсегу од 0 до 1023, где мања вредност означава тамније окружење, а већа вредност јаче осветљење.

 

📊 Processing код

import processing.serial.*;
Serial myPort;
String val = "";
int lightLevel = 0;

void setup() {
  size(400, 200);
  myPort = new Serial(this, Serial.list()[0], 9600);
}

void draw() {
  background(255);
  fill(0);
  textSize(20);
  text("Light Intensity: " + lightLevel, 50, 100);

  if (myPort.available() > 0) {
    val = myPort.readStringUntil('\n');
    if (val != null) {
      lightLevel = int(trim(val));
    }
  }
}

 

📡 Како ради Processing део?

Processing прима вредност коју Arduino шаље преко серијске комуникације и приказује је на екрану у реалном времену. На тај начин добијамо једноставан визуелни интерфејс за посматрање светлости у просторији.

Овакав приступ је веома користан јер ученици не виде само бројеве, већ одмах уочавају како се подаци из физичког света претварају у графички приказ на рачунару.

Тако се повезују сензор, микроконтролер и програмско окружење, што је важан корак ка сложенијим пројектима и визуелизацији података.

 

🔎 Шта се дешава у целом систему?

  • LDR осећа светлост и мења отпор.
  • Arduino чита вредност са аналогног улаза.
  • Вредност се шаље преко серијске комуникације.
  • Processing прима вредност и приказује је на екрану.

 

💡 Вежба 2.1: Додавање LED диоде

У наставку вежбе може се додати и LED диода која реагује на ниво светлости. Када је у просторији тамније, LED може да светли јаче, а када је више светла, да слабије светли. На тај начин добија се једноставан модел аутоматског осветљења.

LED диода се повезује преко отпорника од 220Ω, како би се заштитила од превелике струје.

LDR i LED dioda u proširenoj vežbi

Проширена вежба: LDR + LED

 

Повезивање LED диоде

  • анода LED диоде → пин 9 преко 220Ω отпорника
  • катода LED диоде → GND

 

Arduino код са LED диодом

const int sensorPin = A0;
const int ledPin = 9;

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int lightValue = analogRead(sensorPin); // 0 (dark) to 1023 (bright)
  int ledValue = map(lightValue, 0, 1023, 255, 0);

  analogWrite(ledPin, ledValue);
  Serial.println(lightValue);

  delay(200);
}

 

Примена

Ова вежба има више практичних примена:

  • аутоматско укључивање светла
  • паметна расвета
  • основе визуелизације података
  • увод у рад са сензорима и микроконтролерима

Кроз овај пример ученици виде како се један једноставан сензор може користити у реалним техничким решењима и како се подаци могу приказати и обрадити помоћу Processing-а.

 

Закључак

Вежба са LDR сензором представља одличан први корак ка разумевању рада са аналогним сигналима, сензорима и визуелизацијом података. Ово знање је основа за наредне вежбе као што су DHT11, ултразвучни сензор, серво мотор и паметна башта.

Управо због тога је ова лекција важна као почетна тачка у серији практичних примера из области примењене електронике.

 

📚 Додатно учење

🔎 Продуби знање

Ако желиш детаљније објашњење начина рада сензора и електронског кола, погледај проширену лекцију:

LDR сензор – детаљно објашњење

🧪 Идеје за експеримент

  • Промени вредност отпорника (5kΩ, 20kΩ) и посматрај разлике
  • Прати вредности у различитим условима (дан/ноћ)
  • Покушај да направиш график промене светлости

🚀 Следећи корак

Покушај да повежеш више сензора или да направиш систем који аутоматски управља осветљењем у просторији.

🧠 Мини квиз

1. Како се мења отпор LDR сензора када се повећа количина светлости?



2. Који тип сигнала Arduino чита са LDR сензора?



3. Зашто користимо отпорник од 10kΩ са LDR-ом?



4. Који је опсег вредности које Arduino чита са аналогног улаза?




 

Вежба: Arduino и сензор осветљења (LDR)

У овој вежби ученици се упознају са радом сензора осветљења (LDR) и мерењем нивоа светлости у окружењу помоћу Arduino Uno микроконтролера. Ово је једна од основних вежби у области примењене електронике и представља добар увод у рад са аналогним сензорима.

Кроз овај пример ученици уче како да сензор претворе у део једноставног мерења, како да очитају вредност у Arduino IDE-у и како да ту вредност прикажу у реалном времену помоћу Processing-а.

👉 За додатни увод у платформу погледај:
Увод у Arduino програмирање

 

Arduino Uno mikrokontroler ploča

Arduino Uno

Основна плоча за читање података са сензора и прве експерименте.

LDR senzor osvetljenja

LDR сензор

Фотоотпорник чији се отпор мења у зависности од јачине светлости.

 

🔧 Потребна опрема

Arduino Uno

Микроконтролер за очитавање вредности са сензора.

Breadboard

Плоча за брзо повезивање без лемљења.

LDR сензор

Фотоотпорник за мерење нивоа светлости.

Отпорник 10kΩ

Користи се у напонском делитељу са LDR-ом.

Жице

За повезивање компоненти.

 

🧠 Како ради LDR сензор?

LDR (Light Dependent Resistor) је фотоотпорник чији се отпор мења у зависности од количине светлости:

  • ☀️ више светлости → мањи отпор
  • 🌙 мање светлости → већи отпор

LDR и фиксни отпорник од 10kΩ формирају напонски делитељ, па Arduino на аналогном улазу A0 може да очита вредност од 0 до 1023. Та вредност зависи од нивоа светлости у просторији.

 

👉 За детаљније објашњење рада LDR сензора и напонског делитеља погледај:
LDR сензор – детаљно објашњење и проширена вежба

 

⚠️ Важно пре повезивања

Arduino не треба повезивати са рачунаром пре него што су све компоненте правилно повезане. Посебно је важно да се LDR не повезује директно без отпорника, јер је отпорник неопходан за безбедан рад кола и за правилно мерење.

Ако се отпорник изостави, мерење може бити погрешно, а сензор или плоча могу бити изложени непожељном оптерећењу.

 

🔌 Повезивање

1. Повежи пин 5V са једном страном LDR сензора.

2. Другу страну LDR-а повежи са једним крајем отпорника од 10kΩ.

3. Други крај отпорника повежи на GND.

4. Место где се спајају LDR и отпорник повежи на A0.

5. Када су све везе проверене, повежи Arduino са рачунаром преко USB кабла.

 

Povezivanje LDR senzora na Arduino

Повезивање LDR сензора на Arduino

 

💻 Arduino код

const int sensorPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int lightValue = analogRead(sensorPin); // 0 (dark) to 1023 (bright)
  Serial.println(lightValue);
  delay(200);
}

 

📟 Шта се дешава у Arduino програму?

LDR сензор осећа количину светлости у окружењу и мења свој отпор. Arduino затим чита напон на аналогном улазу A0 и шаље добијену вредност преко серијске комуникације на рачунар.

То значи да Arduino непрекидно „прати“ светлост у просторији и шаље вредности у реалном времену. Тај податак можемо касније да прикажемо графички, да га користимо за управљање LED диодом, аутоматским светлом или другим уређајем.

У овом примеру Arduino шаље само бројеве у опсегу од 0 до 1023, где мања вредност означава тамније окружење, а већа вредност јаче осветљење.

 

📊 Processing код

import processing.serial.*;
Serial myPort;
String val = "";
int lightLevel = 0;

void setup() {
  size(400, 200);
  myPort = new Serial(this, Serial.list()[0], 9600);
}

void draw() {
  background(255);
  fill(0);
  textSize(20);
  text("Light Intensity: " + lightLevel, 50, 100);

  if (myPort.available() > 0) {
    val = myPort.readStringUntil('\n');
    if (val != null) {
      lightLevel = int(trim(val));
    }
  }
}

 

📡 Како ради Processing део?

Processing прима вредност коју Arduino шаље преко серијске комуникације и приказује је на екрану у реалном времену. На тај начин добијамо једноставан визуелни интерфејс за посматрање светлости у просторији.

Овакав приступ је веома користан јер ученици не виде само бројеве, већ одмах уочавају како се подаци из физичког света претварају у графички приказ на рачунару.

Тако се повезују сензор, микроконтролер и програмско окружење, што је важан корак ка сложенијим пројектима и визуелизацији података.

 

🔎 Шта се дешава у целом систему?

  • LDR осећа светлост и мења отпор.
  • Arduino чита вредност са аналогног улаза.
  • Вредност се шаље преко серијске комуникације.
  • Processing прима вредност и приказује је на екрану.

 

💡 Вежба 2.1: Додавање LED диоде

У наставку вежбе може се додати и LED диода која реагује на ниво светлости. Када је у просторији тамније, LED може да светли јаче, а када је више светла, да слабије светли. На тај начин добија се једноставан модел аутоматског осветљења.

LED диода се повезује преко отпорника од 220Ω, како би се заштитила од превелике струје.

LDR i LED dioda u proširenoj vežbi

Проширена вежба: LDR + LED

 

Повезивање LED диоде

  • анода LED диоде → пин 9 преко 220Ω отпорника
  • катода LED диоде → GND

 

Arduino код са LED диодом

const int sensorPin = A0;
const int ledPin = 9;

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int lightValue = analogRead(sensorPin); // 0 (dark) to 1023 (bright)
  int ledValue = map(lightValue, 0, 1023, 255, 0);

  analogWrite(ledPin, ledValue);
  Serial.println(lightValue);

  delay(200);
}

 

Примена

Ова вежба има више практичних примена:

  • аутоматско укључивање светла
  • паметна расвета
  • основе визуелизације података
  • увод у рад са сензорима и микроконтролерима

Кроз овај пример ученици виде како се један једноставан сензор може користити у реалним техничким решењима и како се подаци могу приказати и обрадити помоћу Processing-а.

 

Закључак

Вежба са LDR сензором представља одличан први корак ка разумевању рада са аналогним сигналима, сензорима и визуелизацијом података. Ово знање је основа за наредне вежбе као што су DHT11, ултразвучни сензор, серво мотор и паметна башта.

Управо због тога је ова лекција важна као почетна тачка у серији практичних примера из области примењене електронике.

 

📚 Додатно учење

🔎 Продуби знање

Ако желиш детаљније објашњење начина рада сензора и електронског кола, погледај проширену лекцију:

LDR сензор – детаљно објашњење

🧪 Идеје за експеримент

  • Промени вредност отпорника (5kΩ, 20kΩ) и посматрај разлике
  • Прати вредности у различитим условима (дан/ноћ)
  • Покушај да направиш график промене светлости

🚀 Следећи корак

Покушај да повежеш више сензора или да направиш систем који аутоматски управља осветљењем у просторији.

🧠 Мини квиз

1. Како се мења отпор LDR сензора када се повећа количина светлости?



2. Који тип сигнала Arduino чита са LDR сензора?



3. Зашто користимо отпорник од 10kΩ са LDR-ом?



4. Који је опсег вредности које Arduino чита са аналогног улаза?




Vrati se na vrh