查看“智能电子秤/zh”的源代码
←
智能电子秤/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==概述== *项目名称:Microduino智能电子秤 *目的:智能饮水提醒,有趣的桌面秤 *难度:中 *耗时:2小时 *制作者: *简介: 本次教程我们将使用Microduino产品模块快速搭建一个智能桌面秤。它能够称量出2KG左右较小物体的重量,并将重量显示在OLED屏幕上,而且还能将数据传回手机,使用饮水提示功能,如果长时间没有喝水手机会做出提示。 [[File:weight1||600px|center]] ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-BT/zh]] ||1||蓝牙通信 |- |[[Microduino-OLED/zh]] ||1||显示屏 |- |[[Microduino-Weight/zh]] ||1||称重传感器 |- |[[Microduino-Duo-H2/zh]] ||1||降低高度 |} *其他设备 {|class="wikitable" |- |模块||数量||功能 |- |Micro-USB线||1||下载程序,供电 |- |金属螺丝 ||4||固定模块 |- |尼龙底座 ||3||三脚支撑 |- |外壳套件 ||1|| |} ==实验原理== Mircoduino-Weight模块和底座上的压力传感器组成惠斯通电桥,能够测量底座上承受的重量,然后核心Core收集重量数据并实时显示到OLED屏上,使用户能够观察到秤上的数据变化。然后在桌面秤秤测量的数据稳定后,核心CPU即认为此时的重量数据即为测量到的最终重量 [[File:Weightyuanli.jpg||600px|center]] 整体系统的控制原理即接入以上两个部分,Microduino-Core核心通过PIR传感器探测到附近有人靠近后,控制Lantern模块变换颜色,Auido模块播报“欢迎光临”语音,从而达到迎宾欢迎的效果。 *主要传感器 [[Microduino-Weight/zh]] 电阻应变式称重传感器是基于这样一个原理:弹性体(弹性元件,敏感梁)在外力作用下产生弹性变形,使粘贴在它表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),再经相应的测量电路把这一电阻变化转换为芯片可以识别的电信号。 为了测量称重传感器的应变片的电阻变化,通常采用应变片组成桥式电路(惠斯通电桥)来进行测量,当被测重力作用在应变片上时,粘附在弹性体上的惠斯通电桥就产生不平衡输出,该输出信号正比于被测重力。 [[File:Weightcir.jpg||400px|center]] ==文档== ==调试过程== *下载程序 将Microduino-Core与Microduino-USBTTL叠加(无上下顺序),通过USB数据与电脑连接起来。 [[File:download1.jpg||200px|center]] 打开Arduino IDE编程软件,点击【文件】->【打开】 [[File:Dl1.jpg||300px|center]] 浏览到项目程序地址,点击“watercontrol.ino”程序打开。 [[File:Weightide1.png||400px|center]] 点击【工具】,在板选项里面选择板卡(Microduino-Core),在处理器选项里面选择处理器(Atmega328p@16M,5V),再在端口选项里面选择正确的端口号,然后直接烧录程序。 [[File:Weight2.jpg||400px|center]] *搭建 将Microduino-Duo-H底板固定在一侧的亚克力透明板上,把Microduino-OLED接到Microduino-Duo-H的OLED接口。注意:OLED的连线要从电桥中间的孔穿过 固定Duo-H底板 [[File:Weightbuild1.png||400px|center]] OLED穿过电桥中间的孔洞 [[File:Weightbuild2.png||400px|center]] 之后将压力传感器接到Microduino-Weight模块。 [[File:Weightbuild3.png||400px|center]] 把用到的设备叠加到Microduino-Duo-H的两侧,一边两块。 *Microduino-Core *Microduino-USBTTL *Microduino-Weight *Microduino-BT [[File:Weightbuild4.png||400px|center]] 使用两颗长螺丝将固定了底板的亚克力透明板与称重电桥固定在一起,注意中间有一块小长方形的垫片 [[File:Weightbuild5.png||400px|center]] 将另一块透明亚克力板使用两颗长螺丝和垫片固定好。 注意:将垫片螺丝孔与电桥上的螺丝孔对齐之后再固定 [[File:Weightbuild6.png||400px|center]] 此时给电子称上电,等候1-2秒,然后就可以放置物品称重了,由于是桌面称,所以称重限额在2KG左右 [[File:Weightbuild7.png||400px|center]] 单个Microduino模块 [[File:Weightbuild8.png||400px|center]] tips:根据重量左侧的小人还会被压低哦。 [[File:Weightbuild9.png||400px|center]] ==程序说明== *传感器驱动部分 <source lang="cpp"> unsigned long HX711_Read(void) //增益128 { unsigned long count; unsigned char i; digitalWrite(HX711_DT, HIGH); delayMicroseconds(1); digitalWrite(HX711_SCK, LOW); delayMicroseconds(1); count=0; while(digitalRead(HX711_DT)); for(i=0;i<24;i++) { digitalWrite(HX711_SCK, HIGH); delayMicroseconds(1); count=count<<1; digitalWrite(HX711_SCK, LOW); delayMicroseconds(1); if(digitalRead(HX711_DT)) count++; } digitalWrite(HX711_SCK, HIGH); count ^= 0x800000; delayMicroseconds(1); digitalWrite(HX711_SCK, LOW); delayMicroseconds(1); return(count); } </source> 重量获取函数 <Source lang="cpp"> float Get_Weight() { Weight_Shiwu = (HX711_Read() - Weight_Maopi)+800; //获取实物的AD采样数值。 Serial.println(Weight_Shiwu); if(Weight_Shiwu < 0) { return 0; } else { return Weight_Shiwu/GapValue; } } </source> ==视频==
返回至
智能电子秤/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息