цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Простой и дешевый датчик уровня воды своими руками



Простой и дешевый датчик уровня воды своими руками

Автор: Mike(admin) от 21-04-2022, 23:55

Сегодня на рынке представлено большое количество разнообразных датчиков уровня воды, и некоторые из них являются весьма бюджетными. Но что, если вам срочно нужен подобный датчик для проектов, где не так важна точность, и вы не хотите ждать посылки или идти в магазин за покупным датчиком? В данном случае есть простое и самое дешевое решение – сделать датчик уровня воды из того, что есть под руками.


Простой и дешевый датчик уровня воды своими руками

Для сборки самодельного датчика уровня воды понадобятся лишь провода и резисторы. Такой датчик уровня воды может обнаруживать низкий уровень содержания воды, высокий уровень содержания воды и нормальный уровень.


Соберите датчик в соответствии со следующим изображением и его эквивалентной мостовой схемой.


Простой и дешевый датчик уровня воды своими руками

Давайте проверим наш датчик уровня воды. Возьмем Arduino Uno и RGB-светодиод. К линиям 6 и 7 подключим ответвления от мостовой схемы датчика уровня воды, а к линиям 8, 9 и 10 подключим выводы RGB-светодиода. Код для Arduino представлен далее.



int H_pin=7;
int L_pin=6;
int B=10;
int G=9;
int R=8;
int H_State=0;
int L_State=0;
long lasttimeLoop2=0;
long lasttimeLEDFalsh=0;
void setup() {
  Serial.begin(115200);
  pinMode(H_pin,INPUT);
  pinMode(L_pin,INPUT);
  pinMode(B,OUTPUT);
  pinMode(G,OUTPUT);
  pinMode(R,OUTPUT);
}

void loop() {
  waterSensorLED();
  waterDisplay();
}

void waterDisplay(){
  if(millis()-lasttimeLoop2>1000){
    Serial.print("H_State=");
    Serial.print(H_State);
    Serial.print(",L_State=");
    Serial.print(L_State);
    Serial.println();  
    lasttimeLoop2=millis();
  }
}
void waterSensorLED(){
  H_State=digitalRead(H_pin);
  L_State=digitalRead(L_pin);
  
  if(H_State==1 and L_State==1){
    digitalWrite(G,1);
    digitalWrite(B,0);
    digitalWrite(R,0);
  }
  if(H_State==0 and L_State==1){
    if(millis()-lasttimeLEDFalsh>0 and millis()-lasttimeLEDFalsh<500){
      digitalWrite(G,1);
      digitalWrite(B,0);
      digitalWrite(R,1);  
    }
    if(millis()-lasttimeLEDFalsh>500 and millis()-lasttimeLEDFalsh<1000){
      digitalWrite(G,0);
      digitalWrite(B,0);
      digitalWrite(R,0);
    }
    if(millis()-lasttimeLEDFalsh>1000){
      lasttimeLEDFalsh=millis();
    }
  }
  if(H_State==0 and L_State==0){
    digitalWrite(G,0);
    digitalWrite(B,0);
    digitalWrite(R,1);
  }  
}

Когда уровень воды низкий, светодиод меняет цвет на желтый и мигает каждую секунду. Когда уровень воды высокий, светодиод меняет цвет на зеленый. Когда уровень воды очень низкий, светодиод меняется на красный.




© digitrode.ru


Теги: датчик уровня, датчик воды




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий