智能电子秤/zh
概述//////////////施工中/////////////////////
本次教程我们将使用Microduino产品模块快速搭建一个智能桌面秤。它能够称量出2KG左右较小物体的重量,并将重量显示在OLED屏幕上,而且还能将数据传回手机,使用饮水提示功能,如果长时间没有喝水手机会做出提示。 材料清单
实验原理Mircoduino-Weight模块和底座上的压力传感器组成惠斯通电桥,能够测量底座上承受的重量,然后核心Core收集重量数据并实时显示到OLED屏上,使用户能够观察到秤上的数据变化。然后在桌面秤秤测量的数据稳定后,核心CPU即认为此时的重量数据即为测量到的最终重量 整体系统的控制原理即接入以上两个部分,Microduino-Core核心通过PIR传感器探测到附近有人靠近后,控制Lantern模块变换颜色,Auido模块播报“欢迎光临”语音,从而达到迎宾欢迎的效果。
Microduino-Weight/zh 电阻应变式称重传感器是基于这样一个原理:弹性体(弹性元件,敏感梁)在外力作用下产生弹性变形,使粘贴在它表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),再经相应的测量电路把这一电阻变化转换为芯片可以识别的电信号。 为了测量称重传感器的应变片的电阻变化,通常采用应变片组成桥式电路(惠斯通电桥)来进行测量,当被测重力作用在应变片上时,粘附在弹性体上的惠斯通电桥就产生不平衡输出,该输出信号正比于被测重力。 文档调试过程
将Microduino-Core与Microduino-USBTTL叠加(无上下顺序),通过USB数据与电脑连接起来。 打开Arduino IDE编程软件,点击【文件】->【打开】 浏览到项目程序地址,点击“body_welcome.ino”程序打开。 点击【工具】,在板选项里面选择板卡(Microduino-Core),在处理器选项里面选择处理器(Atmega328p@16M,5V),再在端口选项里面选择正确的端口号,然后直接烧录程序。 使用USB数据线将Microduino-Audio模块与电脑连接。 连接成功能显示出一个名为Microduino Audio的CD驱动器,然后执行以下步骤: 打开CD驱动器后会出现音乐更新软件Music Update tool,选择“音频加载”选项; 点击“浏览”,选择“music”文件夹中的"bye.wav,欢迎.wav"音频文件,将音频文件添加到软件中 欢迎与再见音频下载地址:http://pan.baidu.com/s/1pJpJK5X 提取码:hkks 在”更新下载”选项中选择“更新”,更新完成后,音频文件就已写入flash中。
拼装时首先将Microduino-Duo-S1板用尼龙螺柱固定在A2底板上面。 之后将Core(在最下),Audio,Amplifier,Sensorhub(在最上)按顺序叠加起来,之后加在Microduino-Duo-S1底板上 将喇叭连接到Amplifier的接口上(没有左右顺序区别) 首先使用螺丝和螺柱将两个红外热释传感器固定在两块侧板上,之后在拼接边框时先确定两个热释传感器的位置,按如图所示位置,相邻的放置在UPIN27开口方向的旁边。 将Microduino-ColorLED使用螺柱和螺母固定在顶板上 将传感器和Sensorhub用传感器线连接起来,两个红外热释传感器连接到D4/D5与D6/D7接口(图中蓝色标注),将Microduino-ColorLED连接到A0/A1接口(图中红色标注) 将顶盖盖上,注意图中黄色框中的插槽要与底部的插槽放在对应位置,此位置是固定喇叭的木片使用的。之后使用插销固定住每个插孔,顶部与底部共6*2总共12个固定口。 之后使用USB线连接底板上的USB接口给其供电。此时热释传感器检测到附近有人后,LED灯会变换颜色,喇叭播放出欢迎语音。并且会根据人来往的方向判断是进门还是出门。 程序说明百度盘地址:http://pan.baidu.com/s/1o6nJT70 提取码:q54r
void judge()
{
//先过D4后过D6为进入
if((digitalRead(body_pin) == 1) && (digitalRead(body_pin2) == 0))
{
FLAG_1 = 1;
delay(200);
}
if((digitalRead(body_pin) == 1) && (digitalRead(body_pin2) == 1) && (FLAG_1 == 1))
{
colorWipe(color[random(1, 10)]);
audio_choose(1);
Serial.println("COMING IN");
FLAG_1 = 0;
delay(1300); //1300
}
//先过D46过D4为出门
if((digitalRead(body_pin) == 0) && (digitalRead(body_pin2) == 1))
{
FLAG_2 = 1;
delay(200); //2000
}
if((digitalRead(body_pin) == 1) && (digitalRead(body_pin2) == 1) && (FLAG_2 == 1))
{
colorWipe(color[random(1, 10)]);
audio_choose(2);
Serial.println("GOING OUT");
FLAG_2 = 0;
delay(1300); //2000
}
}
视频 |