Циљ вежбе


Упознавање са радом са ADC и PWM


Задаци вежбе

1. Написати скеч за управљање јачине светлења диоде уз помоћ потенциометра и Arduina
2. Конструисати шему са диодом и потенциометром на макетној платформи


Инструменти за испуњавање вежбе

1. Рачунар умрежен на интернет
2. Платфома Arduina са USB излазом (на пример, Arduino UNO)
3. Макетна платформа 
4. Диода
5. Отпорник од 220 Ома
6. Потенциометар
7. Каблови


Теоријски део

Потециометар је промењиви отпорник код којег можемо мењати отпорност. При завртању и одвртању ручице потенциометра мењамо његову отпорност од нулте вредности до неке максималне. АDC (аналогно - дигитални конвертор) је електронско коло које аналогни сигнал претвара у дигитални.
На платформи Arduino се налази неколико уграђених ADC којим можемо доступити путем програма са функцијом analogRead() која прима број порта ADC (A0 - А5). Како Arduino користи 8 - битни ADC на излазу се добијају значења од 0 до 1024 и у складу са тим, напон на излазу има значења од 0 до 5 волти. 
PWM или импулсно ширинска модулација је процес генерације правоугаоних импулса са промењивом ширином импулса.

Т - период PWM (у Arduinu се користи 490Hz, а некад и 980Hz)
t - активан период и има вредност од 0 до Т
Однос t/T је однос активног периода и пуног периода. На микроконтролерима Arduina PWM је доступна на неколико дигиталних пинова и при томе се користи функција analogWrite(). Функцији се предаје параметар који има значење од 0 до 255 и у складу са тим се регулише активни период импулса, чије вредности иду од 0 до Т, а и однос t/T чије вредности иду од 0 до 1. 


Испуњавање вежбе

Креирамо нови скеч и чувамо га под називом LedBrightness. Проверавамо да ли је изабран правилан порт и платформа.
Конструишемо шему и пазимо да прикључимо диоду ка порту који подржава PWM (такви портови се означени симболом "~"), узмимо на пример порт 11. Крајње контакте потенциометра треба прикључити на Vcc и Gnd који се налазе на платформи, а средњи на аналогни излаз на пример А0.

Када користимо PWM и ADC на Arduinu нису нужни никакви допунски кораци, јединствено што треба то је да у функцији loop() учитамо сигнале са аналогног пина и у складу са тим вредностима прерачунамо однос t/T. 

analogWrite(11,analogRead(A0)/4);

Учитавамо скеч и проверавмо да ли се при окретању ручице потенциометра мења јачина којом светли наша диода.

Задатак: Направити шему са диодом и потенциометром при чему ће се боја и нијанса диоде мењати по моделу HSV (погледти овде