0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用Arduino制作水位指示器

454398 来源:工程师吴畏 2019-08-02 16:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Arduino水位指示器如何工作?

该Arduino水位指示器使用超声波传感器Ping传感器来确定水箱中的水位。 Ping传感器使用声纳测量距离。从该单元发射超声波(远高于人类听觉)脉冲,并且通过测量回波返回所需的时间来确定到目标的距离。 Ping传感器的输出是可变宽度脉冲,对应于到目标的距离。然后将其输入微控制器,确定水位并通过一系列LED显示。

以下项目可以是如果您有一个或直接连接到面板上的ATmega 328微控制器,则可以连接到Arduino板。您还可以查看Jeff的Maker Pro教程,了解如何将超声波传感器连接到Arduino。

Arduino水位指示器代码

将提供的草图复制粘贴到Arduino IDE中并找到“int d = 18;”行并将“18”更改为 坦克的深度,单位为厘米。

//Coded by MATHEW VARGHESE

//Note that the numbering of arduino pins are different from microcontroller pinout

int d = 18; //Enter depth of your tank here in centimeters

int trig = 11; // Attach Trig of ultrasonic sensor to pin 11

int echo = 10; // Attach Echo of ultrasonic sensor to pin 10

int pin1 = 2;//Highest level

int pin2 = 3;

int pin3 = 4;

int pin4 = 5;

int pin5 = 6;

int pin6 = 7;//Lowest evel

void setup() {

pinMode (pin1, OUTPUT);// Set pins to output for controlling I/O

pinMode (pin2, OUTPUT);

pinMode (pin3, OUTPUT);

pinMode (pin4, OUTPUT);

pinMode (pin5, OUTPUT);

pinMode (pin6, OUTPUT);

}

void loop()

{ digitalWrite(pin1, LOW);//Resetting the LEDs to off state

digitalWrite(pin2, LOW);

digitalWrite(pin3, LOW);

digitalWrite(pin4, LOW);

digitalWrite(pin5, LOW);

digitalWrite(pin5, LOW);

// Establish variables for duration of the ping,

// and the distance result in inches and centimeters:

long duration, in, cm; //‘in’ is inches and ‘cm’ is centimeter

// The PING is triggered by a HIGH pulse of 2 or more microseconds.

// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

pinMode(trig, OUTPUT);

digitalWrite(trig, LOW);

delayMicroseconds(2);

digitalWrite(trig, HIGH);

delayMicroseconds(5);

digitalWrite(trig, LOW);

// The same pin is used to read the signal from the PING: a HIGH

// pulse whose duration is the time (in microseconds) from the sending

// of the ping to the reception of its echo off of an object.

pinMode(echo, INPUT);

duration = pulseIn(echo, HIGH);

// Convert the time into a distance

in = microsecondsToInches(duration);

cm = microsecondsToCentimeters(duration);

delay(100);// To save battery,remove if felt inconvenient

if (in 《 6 * d / 7)// Else is included to light only one led at a level and thus save battery charge

digitalWrite(pin1, HIGH);

else if (in 《 5 * d / 6)

digitalWrite(pin2, HIGH);

else if (in 《 4 * d / 6)

digitalWrite(pin3, HIGH);

else if (in 《 3 * d / 6)

digitalWrite(pin4, HIGH);

else if (in 《 2 * d / 6)

digitalWrite(pin5, HIGH);

else if (in 《 1 * d / 6)

digitalWrite(pin5, HIGH);

}

long microsecondsToInches(long microseconds)

{

// According to Parallax‘s datasheet for the PING, there are

// 73.746 microseconds per inch (i.e. sound travels at 1130 feet per

// second)。 This gives the distance travelled by the ping, outbound

// and return, so we divide by 2 to get the distance of the obstacle.

// See: http://www.parallax.com/dl/docs/prod/acc/28015-PI.。.

return microseconds / 74 / 2;

}

long microsecondsToCentimeters(long microseconds)

{

// The speed of sound is 340 m/s or 29 microseconds per centimeter.

// The ping travels out and back, so to find the distance of the

// object we take half of the distance travelled.

return microseconds / 29 / 2;

}

建立连接

按照附带的Fritzing图表在PCB或面包板上填充电路。这是在运行Arduino的面包板上的ATMEga328。您可以按照Mayoogh Girish的教程在面包板上使用ATMega328制作您自己的Arduino板。如果您使用的是Arduino板,您可以按如下方式连接LED和超声波传感器。

上传代码

将Arduino水位指示器的代码直接刻录到Arduino板或ATMega328P微控制器上。

将超声波传感器连接到水箱上

固定Ping传感器,使其直接面向水箱中的水。带 指示LED的主控板可以在任何舒适的位置固定在家中。任何多芯 电缆(以太网电缆)都可用于连接Ping传感器和 电路的其余部分。请记住,不要增加组件之间的长度 超过20mts。

现在只需连接电池,您的非接触式Arduinowater水平指示器即可使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 指示器
    +关注

    关注

    0

    文章

    260

    浏览量

    39417
  • Arduino
    +关注

    关注

    191

    文章

    6534

    浏览量

    197658
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    投入式水位计微型化设计如何实现大范围水位监测?

    受限于体积,难以部署在钻孔、测压管等狭窄空间内。投入式水位计通过高度集成的设计,将传感、处理单元和通讯模块浓缩于直径仅24毫米的壳体之中。这种微型化设计带来的直接优
    的头像 发表于 04-02 15:21 214次阅读
    投入式<b class='flag-5'>水位</b>计微型化设计如何实现大范围<b class='flag-5'>水位</b>监测?

    基于瑞萨R7FA2L1AB2DFL单片机的水位检测制作方案

    文章主要介绍如何使用e2studio灵活软件包(FSP)对瑞萨R7FA2L1AB2DFL单片机开发板进行ADC单通道采集电压,评估AD功能,以及制作水位检测。其中重点介绍了使用EZ-CUBE3仿真
    的头像 发表于 03-26 14:55 7045次阅读
    基于瑞萨R7FA2L1AB2DFL单片机的<b class='flag-5'>水位</b>检测<b class='flag-5'>器</b><b class='flag-5'>制作</b>方案

    架空就地型故障指示器(暂态特征型)|翻牌/闪光/无线传

    用电,造成不良社会影响与直接经济损失。 目前这类城区线路原有传统故障指示器存在明显功能短板,不具备接地故障判断能力,而10kV配电线路接地故障属于高发故障类型,传统设备无法有效识别判定,导致故障发生后只能依赖人工逐段巡
    的头像 发表于 03-23 18:19 208次阅读

    线路暂态特征型远传型故障指示器:“技术+管理”双轮驱动

    。本文从故障类型解析入手,结合鼎信智慧科技的线路暂态特征型远传型故障指示器JYZ-DX,为运维人员提供一套高效、精准的故障定位方法。 一、配电线路常见故障类型及诱因 1、短路故障 :导体间或导体与地间异常导通,电流激增
    的头像 发表于 03-04 18:25 207次阅读

    STM32H5开发VL53L8CX(4)----运动指示器

    VL53L8CX传感内置了一个固件功能,可以检测场景中的运动。这个运动指示器是基于连续帧之间来计算的。使用插件vl53l8cx_plugin_motion_indicator可以使用这个选项
    的头像 发表于 12-22 17:15 2037次阅读
    STM32H5开发VL53L8CX(4)----运动<b class='flag-5'>指示器</b>

    VL53L8CX小板开发(4)----运动指示器

    VL53L8CX设备的引用。 配置运动指示器: ○ 使用4x4的分辨率初始化运动指示器。如果失败,则打印错误信息并返回状态。 ○ 可选地更改用于检测运动的最小和最大距离。这些距离有一些限制,如果超出
    的头像 发表于 12-22 15:00 1.2w次阅读
    VL53L8CX小板开发(4)----运动<b class='flag-5'>指示器</b>

    投入式水位计的水位测量原理:从水压到水位的转换

    水位计通过内部集成的硅压传感实现水压测量。当仪器没入水中时,水体压力作用于传感的感应膜片,引起膜片微小形变。这一形变会改变传感内部的电学特性,产生的信号经过数
    的头像 发表于 12-01 15:35 1111次阅读
    投入式<b class='flag-5'>水位</b>计的<b class='flag-5'>水位</b>测量原理:从水压到<b class='flag-5'>水位</b>的转换

    投入式水位计如何通过水压测量水位?核心原理解析

    数据的呢?其核心原理其实并不复杂。投入式水位计的核心部件是一个高精度的硅压传感。当仪器被投入水中,水体产生的压力会通过透水部件,均匀作用在传感的感应膜上。水压越
    的头像 发表于 11-28 16:36 1456次阅读
    投入式<b class='flag-5'>水位</b>计如何通过水压测量<b class='flag-5'>水位</b>?核心原理解析

    什么是水位传感?一篇看懂核心定义、原理与应用

    水位传感是实现水位 “自动化监测与控制” 的核心部件,通过不同的测量原理适配不同场景需求。其核心价值在于替代人工观测,实现精准、实时、无人值守的水位管理,无论是家庭水族箱的简单补水,
    的头像 发表于 11-24 15:22 2386次阅读
    什么是<b class='flag-5'>水位</b>传感<b class='flag-5'>器</b>?一篇看懂核心定义、原理与应用

    电子DIY作品 基于Ai-WB2的电极式水位

    以下作品由安信可社区用户 大猫的鱼 制作 PART.01 引言 在工业场景中,电极式水位计常被用于锅炉、压力容器、水箱等设备,实现水位的实时监测与高低水位报警,保障设备安全运行。 当然
    的头像 发表于 10-31 14:42 948次阅读
    电子DIY作品 基于Ai-WB2的电极式<b class='flag-5'>水位</b>计

    ‌基于ST EVLIOL4LSV1 IO-Link执行的工业物联网技术解析

    STMicroelectronics EVLIOL4LSV1 IO-Link执行设计用于工厂自动化和系统报警指示器应用中使用的传统塔式灯:它是一套完整的解决方案,可用作工业化的参考设计。通过IO-Link,EVLIOL4LSV1成为智能塔式灯的执行
    的头像 发表于 10-17 15:25 815次阅读
    ‌基于ST EVLIOL4LSV1 IO-Link执行<b class='flag-5'>器</b>的工业物联网技术解析

    雷达水位监测仪:金叶仪器助力水位监测智能化升级

    水位监测在水利管理、城市防洪、环保监测等领域扮演着关键角色,但传统方法常常让管理者头疼不已。比如,机械式水位计易受漂浮物干扰,超声波设备在恶劣天气下精度骤降,人工巡检又费时费力。如何实现高效、精准且
    的头像 发表于 09-25 10:52 833次阅读
    雷达<b class='flag-5'>水位</b>监测仪:金叶仪器助力<b class='flag-5'>水位</b>监测智能化升级

    基于无线通信的水位监测系统概述

    WD300系列无线水位监测系统,是用来测量水电站大坝、水库、前池、调压井等蓄水现场的水位数据和降雨量信息等数据。本机由数据采集传感及发送机、接收机三大部分组成。传感和发送机装在测量
    的头像 发表于 09-17 15:59 683次阅读
    基于无线通信的<b class='flag-5'>水位</b>监测系统概述

    水位自动监测报警:手机远程监控,不限距离启停水泵

    水位自动监测报警是一种广泛应用于水利、环保、城市排水、农业灌溉等领域的智能监测设备,能够实时监测水位变化并在异常情况下发出警报,有效预防水患、优化水资源管理。 一、规格型号 220V/4KW+高低
    的头像 发表于 07-11 17:17 882次阅读

    水位自动控制是什么设备?4G远程通讯,手机APP智能控制水泵

    水位自动控制是一种用于自动监测和控制液体(主要是水)液位高度的智能设备。通过传感实时检测水位变化,并根据预设条件自动启停水泵、阀门或其他执行机构,从而实现对水箱、水池、水塔、锅炉等
    的头像 发表于 07-07 17:35 1645次阅读