8.5 KiB
Контрола релеја - Wio Terminal
У овом делу лекције, додаћете релеј вашем Wio Terminal-у поред сензора за влагу земљишта и контролисати га на основу нивоа влаге у земљишту.
Хардвер
Wio Terminal захтева релеј.
Релеј који ћете користити је Grove релеј, нормално отворен релеј (што значи да је излазни круг отворен или искључен када нема сигнала послатог релеју) који може да поднесе излазне кругове до 250V и 10A.
Ово је дигитални актуатор, тако да се повезује на дигиталне пинове на Wio Terminal-у. Комбиновани аналогни/дигитални порт је већ у употреби са сензором за влагу земљишта, тако да се овај релеј прикључује на други порт, који је комбиновани I²C и дигитални порт.
Повежите релеј
Grove релеј може се повезати на дигитални порт Wio Terminal-а.
Задатак
Повежите релеј.
-
Уметните један крај Grove кабла у утичницу на релеју. Кабл ће ући само у једном смеру.
-
Са Wio Terminal-ом искљученим из вашег рачунара или другог извора напајања, повежите други крај Grove кабла са левом утичницом Grove порта на Wio Terminal-у када гледате у екран. Оставите сензор за влагу земљишта повезан са десном утичницом.
- Уметните сензор за влагу земљишта у земљу, ако већ није из претходне лекције.
Програмирање релеја
Wio Terminal сада може бити програмиран за коришћење повезаног релеја.
Задатак
Програмирајте уређај.
-
Отворите пројекат
soil-moisture-sensor
из претходне лекције у VS Code-у ако већ није отворен. Додаћете код овом пројекту. -
Не постоји библиотека за овај актуатор - то је дигитални актуатор који се контролише високим или ниским сигналом. Да бисте га укључили, шаљете висок сигнал на пин (3.3V), а да бисте га искључили, шаљете низак сигнал (0V). Ово можете урадити помоћу уграђене Arduino функције
digitalWrite
. Почните тако што ћете додати следеће на крај функцијеsetup
како бисте подесили комбиновани I²C/дигитални порт као излазни пин за слање напона релеју:pinMode(PIN_WIRE_SCL, OUTPUT);
PIN_WIRE_SCL
је број порта за комбиновани I²C/дигитални порт. -
Да бисте тестирали да ли релеј ради, додајте следеће у функцију
loop
, испод последњегdelay
:digitalWrite(PIN_WIRE_SCL, HIGH); delay(500); digitalWrite(PIN_WIRE_SCL, LOW);
Код шаље висок сигнал на пин на који је релеј повезан да би га укључио, чека 500ms (пола секунде), а затим шаље низак сигнал да би искључио релеј.
-
Компилирајте и отпремите код на Wio Terminal.
-
Када се код отпреми, релеј ће се укључивати и искључивати сваких 10 секунди, са паузом од пола секунде између укључивања и искључивања. Чућете како релеј кликће када се укључује и искључује. LED диода на Grove плочи ће светлети када је релеј укључен, а угасити се када је искључен.
Контрола релеја на основу влаге земљишта
Сада када релеј ради, може се контролисати у зависности од очитавања влаге земљишта.
Задатак
Контролишите релеј.
-
Обришите 3 линије кода које сте додали за тестирање релеја. Замените их следећим кодом:
if (soil_moisture > 450) { Serial.println("Soil Moisture is too low, turning relay on."); digitalWrite(PIN_WIRE_SCL, HIGH); } else { Serial.println("Soil Moisture is ok, turning relay off."); digitalWrite(PIN_WIRE_SCL, LOW); }
Овај код проверава ниво влаге земљишта са сензора за влагу. Ако је изнад 450, укључује релеј, а искључује га када падне испод 450.
💁 Запамтите, капацитивни сензор за влагу земљишта очитава: што је нижи ниво влаге, то је више влаге у земљишту и обрнуто.
-
Компилирајте и отпремите код на Wio Terminal.
-
Пратите уређај преко серијског монитора. Видећете како се релеј укључује или искључује у зависности од нивоа влаге земљишта. Испробајте у сувом земљишту, а затим додајте воду.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 Овај код можете пронаћи у фасцикли code-relay/wio-terminal.
😀 Ваш програм за контролу релеја на основу сензора за влагу земљишта је успешно завршен!
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.