Нам понадобится:
Ссылочка на Arduino uno: http://ali.ski/gC_mOa
Cсылочка на макетную плату: http://ali.ski/rq8wz8
Ссылочка на контактные провода: http://ali.ski/Exjr3
Ссылочка на диоды и резисторы: http://fas.st/KK7DwjyF
Sensor Shield: http://ali.ski/aDWTuB
Ссылочка на датчик влажности почвы: http://ali.pub/v7ij4
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В данной статье рассмотрим пример применения датчика почвы и Arduino. А именно с помощью светодиодов, будем смотреть на сколько сильно увлажнена наша почва.
Сам датчик почвы аналоговый, поэтому его будем подключать к пину A0.
Будем использовать 8 светодиодов и подключим их к 4-11 пинам ардуино.
После подключения датчика и диодов по описанной схеме необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
// контакт подключения аналогового выхода датчика int aPin=A0; // контакты подключения светодиодов индикации int ledPins[8]={4,5,6,7,8,9,10,11}; // переменная для сохранения значения датчика int avalue=0; // переменная количества светящихся светодиодов int countled=8; // значение полного полива int minvalue=240; // значение критической сухости int maxvalue=600; void setup() { // инициализация последовательного порта Serial.begin(9600); // настройка выводов индикации светодиодов // в режим OUTPUT for(int i=0;i<8;i++) { pinMode(ledPins[i],OUTPUT); } } void loop() { // получение значения с аналогового вывода датчика avalue=analogRead(aPin); // вывод значения в монитор последовательного порта Arduino Serial.print("avalue=");Serial.println(avalue); // масштабируем значение на 8 светодиодов countled=map(avalue,maxvalue,minvalue,0,7); // индикация уровня влажности for(int i=0;i<8;i++) { if(i<=countled) digitalWrite(ledPins[i],HIGH); //зажигаем светодиод else digitalWrite(ledPins[i],LOW); // гасим светодиод } // пауза перед следующим получением значения 1000 мс delay(1000); }
Ссылочка на скетч: https://yadi.sk/d/Aqi6vRzBwUUdv
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.