水位指示器和泵控制器使用arduino
基于Arduino的项目 188app 188

水位指示器和泵控制器使用Arduino

使用Arduino制作水位指示器和泵控制器是一个非常好的想法。我们可以利用传感器、电子设备和一些编程知识,使供水系统完全自动化。我们正在制作的水泵控制器会根据水位自动开关。此外,它还显示水位。

观看这个视频

组件要求:

  • 超声波传感器x 1
  • Arduino微控制器(UNO, Mini, Pro Mini)
  • 液晶显示(16 × 2)
  • 电位器x 1
  • BJT (bc547晶体管)
  • 电阻220Ω x 1
  • 1kΩ电阻x 1
  • 直流电机(水泵)
  • 你可以通过在电路中添加一个5V继电器来控制一个交流230V电机。你可以通过BJT (bc547晶体管)控制继电器。
水位指示器使用arduino
使用Arduino实现水位指示器的工作

线路图:

电路图如图所示。

电路说明:

超声波传感器连接Arduino的数字输入引脚。Arduino在16 × 2 LCD上显示电机状态和水位。如果水位下降到100厘米以下,则电机启动。当水位超过40厘米时,单片机自动关闭电机。所以不会因为溢出而浪费水,而且全自动节省电力。电位器用来调节液晶显示器的亮度。我们用BJT BC547来驱动电机,可以用它来驱动继电器。

水位指示器和水泵控制器

使用Arduino实现水位指示器的工作:

让我们通过代码来了解电路的工作原理。

#include  #define ECHO 9 #define TRIGGER 10 #define TRIGGER_pulse 1 #define motor 11 int DURATION;浮动的距离;浮动DIST;浮动领导;液晶液晶(7,6,5,4,3,2);int num = 1;

在上面的代码中,我们包含了液晶显示库。它是一个内置库。你也可以使用I2C液晶库如果你有用于LCD的I2C模块。我们已经定义了回声、触发器和电机引脚。此外,我们已经声明了液晶显示器的引脚。距离值声明为浮点类型。

无效的设置(){//设置LCD的列数和行数:pinMode(TRIGGER, OUTPUT);pinMode(呼应,输入);pinMode(电动机、输出);Serial.begin (9600);液晶显示器。开始(16日2);液晶显示器。打印(“LevelApprox:”);}

在void设置循环输入和输出中,引脚已经声明。TRIGGER和motor设置为输出,ECHO为输入引脚。9600为Arduino与LCD电路串行通信的波特率。

无效循环()digitalWrite(触发、高);触发器是给定一个逻辑高输入延迟(TRIGGER_pulse);延迟是给触发引脚digitalWrite(触发、低);逻辑高用于触发//查看接收响应脉冲需要多长时间DURATION = pulseIn(ECHO,HIGH);//以厘米为单位的距离距离= 0.01716* duracion;// d = ((100- distance)/100)*255;距离= 1.25*距离;以(距离);控制电机的代码if(DIST <= 40){digitalWrite(11、低);lcd.setCursor (0,1);液晶显示器。打印(" ");} if(DIST >=100){digitalWrite(11日高);lcd.setCursor (0,1);液晶显示器。打印(“水灌装”);水位打印距离液晶显示器。setCursor (12,0);lcd.print (int(经销));延迟(1000);lcd.setCursor (12,0);液晶显示器。打印(" ");

水位指示器arduino
# include < LiquidCrystal.h >
#定义ECHO 9
#定义触发器10
#定义触发器
#定义电机
int持续时间;
浮动的距离;
浮动DIST;
浮动领导;
液晶液晶(7,6,5,4,3,2);
int num = 1;


无效设置(){
//设置LCD的列数和行数:
pinMode(触发、输出);
pinMode(呼应,输入);
pinMode(电动机、输出);
Serial.begin (9600);
液晶显示器。开始(16日2);
液晶显示器。打印(“LevelApprox:”);
/ / lcd.setCursor (0,1);
/ /液晶。打印(“:”);


无效循环(){
digitalWrite(触发、高);
延迟(TRIGGER_pulse);
digitalWrite(触发、低);
//查看接收响应脉冲需要多长时间
DURATION = pulseIn(ECHO,HIGH);
//以厘米为单位的距离
Distance = 0.01716DURACION;
/ /领导=(距离(100 -)/ 100)
255;
距离= 1.25*距离;
以(距离);

if(DIST <= 40){
digitalWrite(11、低);
lcd.setCursor (0,1);
液晶显示器。打印(" ");


如果(DIST > = 100) {
digitalWrite(11日高);
lcd.setCursor (0,1);
液晶显示器。打印(“水灌装”);

液晶显示器。setCursor (12,0);
lcd.print (int(经销));
延迟(1000);
lcd.setCursor (12,0);
液晶显示器。打印(" ");

这是使用Arduino和泵控制器的水位指示器的最终代码。
我希望你喜欢学习,如果你有任何疑问或建议,请评论下来。

2 .回复“水位指示器和泵控制器使用Arduino

留下回复

你的电邮地址将不会公布。必填字段已标记

这个网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据