資料介紹
描述
1. 摘要
WTF是一款智能水杯,可以測量內(nèi)部水溫,也可以通過語音提示用戶,這款水杯不易傾斜。它對(duì)每個(gè)人都有用,尤其是對(duì)于盲人和視障用戶。
WTF 是一個(gè)為用戶提供杯子中視對(duì)象功能的人,并用這個(gè)杯子為所有的人提供聲音。
2. 簡介
全世界有2.17億人患有視力障礙,其中3600萬人完全失明。飲用水是必不可少的。然而,視障人士可能會(huì)遇到一些危險(xiǎn)和不便。因此,我們計(jì)劃設(shè)計(jì)一個(gè)杯子來幫助這些人避免這些危險(xiǎn)。該杯子將具有使其能夠清楚地通知其用戶的功能。
在當(dāng)今社會(huì)中,全世界有2.17億人有度至重度的約見中,似乎沒有這些,約3600萬人完全失明生活中的飲水是必須的,但是視覺上的方便是人在飲水中的。我們可能會(huì)在水杯方面設(shè)計(jì)一個(gè)可能有危險(xiǎn)和提醒用戶的能力。
3. 硬件介紹
3.1 Arduino納米3.0
左邊的是Arduino Uno,很常見。Uno 功能齊全,但對(duì)我們的項(xiàng)目來說有點(diǎn)太大了。我們正在做一個(gè)杯子,我們不能在里面放一個(gè)普通尺寸的計(jì)算器。
最開始是阿杜諾的圖片系列,但Arduino Uno的功能對(duì)我們來說這個(gè)中杯的案子有點(diǎn)說得過去,完整的版本了。
另一個(gè)是我們的主角,Arduino Nano。更小、更輕、更便宜。我買的那件要 100 新臺(tái)幣(約合 3.3 美元)。它的尺寸為 43.18 毫米 * 17.78 毫米。
再來的板子更創(chuàng)造了Arduino Nano的主角。我們這塊板子更小更便宜,只用了100塊臺(tái)在森工的網(wǎng)站上買的,大概是43.18 mm * 17.78 mm。
3.2 LM35
LM35是一款溫度傳感器,可用于測量-50℃至150℃之間的水溫。這是一個(gè)適合喝水的區(qū)間。
LM35是溫度感測,可測范圍大約是-50℃到150℃,是滿符合水溫狀態(tài)的區(qū)間。
然而,還有另一個(gè)溫度傳感器 DS18B20 是防水的。這對(duì)于測量液體溫度非常有用。我們選擇 LM35 的原因是我們計(jì)劃將傳感器放置在玻璃杯之外,并且不會(huì)損壞杯體。盡管如此,我還是建議你試試 DS18B20,也許它更準(zhǔn)確。
所以另一款DS18B20是推薦的因?yàn)橛袦囟雀袦y器,但是我們本來就不打算將杯子測度更正所以這個(gè),我還是非常你可以看的,因?yàn)檫x擇它的準(zhǔn)確度好喔。
3.3 DFPlayer 迷你版
顯然,它只是一個(gè)迷你 mp3 播放器。它需要一個(gè)存儲(chǔ) mp3 文件的 sd 卡和一個(gè)普通的揚(yáng)聲器。如果您正在尋找一款聲音播放器,我認(rèn)為除了這一款之外沒有太多選擇。
就像字樣的作品,這是一個(gè)驅(qū)動(dòng)mp3器的模組。除了這個(gè)還需要這張專輯跟前幾張或這張專輯來完成放送。而且除了我覺得你在城市之外也很重要上其他太多的選擇了。
4.電路圖
連接方法如上圖。
連接的方式就像這張圖
我所做的結(jié)果如下。
我做的角色像下面這個(gè)
但是我覺得不太容易理解所以請(qǐng)去我在circuito.io上做的那個(gè)~
但我不覺得這樣的做法中還有什么端倪,所以建議我在circuito.io做的連接圖吧~
5. 逐個(gè)連接
5.1 LM35
這是一個(gè)非常簡單的步驟(如果您只想測量溫度)。輸入代碼并運(yùn)行后,就完成了。
這步驟很簡單(如果很容易只是想溫度)。在你輸入完成后是而且跑動(dòng)后測完成了。
/*Code designed by Sujay Alaspure in SA Lab */
const int sensor=A5; // Assigning analog pin A5 to variable 'sensor'
float tempc; //variable to store temperature in degree Celsius
float tempf; //variable to store temperature in Fahreinheit
float vout; //temporary variable to hold sensor reading
void setup() {
pinMode(sensor,INPUT); // Configuring sensor pin as input
Serial.begin(9600);
}
void loop() {
vout=analogRead(sensor); //Reading the value from sensor
vout=(vout*500)/1023;
tempc=vout; // Storing value in Degree Celsius
tempf=(vout*1.8)+32; // Converting to Fahrenheit
Serial.print("in DegreeC=");
Serial.print("\t");
Serial.print(tempc);
Serial.print(" ");
Serial.print("in Fahrenheit=");
Serial.print("\t");
Serial.print(tempf);
Serial.println();
delay(500); //Delay of 1 second for ease of viewing }
盡管如此,我們不會(huì)測量空氣,我們要測量的是穿過玻璃的水。所以考慮到精度會(huì)下降和反射時(shí)間會(huì)變長的原因,我們需要擴(kuò)大測量間隔并修正輸出。下圖是我們做交換公式的筆記,左邊是實(shí)物,右邊是我們從LM35得到的輸入。
在考慮他的準(zhǔn)確度下降以及玻璃反應(yīng)時(shí)間增加的情況下,需要調(diào)整他的輸出及感測器下面的圖是當(dāng)時(shí)我們?yōu)檗D(zhuǎn)換做的記錄,從這張圖是實(shí)際有的,右邊是LM35傳出來的結(jié)果的分?jǐn)?shù)。
以下代碼是在新公式交換之后。
這樣的改變之后我們的程序碼變成了下面的樣子。
//sensor
const int sensor=A5; // Assigning analog pin A5 to variable 'sensor'
float tempc; //variable to store temperature in degree Celsius
float tempf; //variable to store temperature in Fahreinheit
float vout; //temporary variable to hold sensor reading
char rT='24';
void loop(){
vout=analogRead(sensor); //Reading the value from sensor
vout=(vout*500)/1023;
if (vout<19.5){
Serial.print("lower than 10");
}
else if (vout>=19.5 and vout<21){
Serial.print("about 15");
}
else if (vout>=21 and vout<22){
Serial.print("about 20");
}
else if (vout>=22 and vout<24){
Serial.print("about 25");
}
else if (vout>=24 and vout<24.5){
Serial.print("about 30");
}
else if (vout>=24.5 and vout<26.5){
Serial.print("about 35");
}
else if (vout>=26.5 and vout<28.5){
Serial.print("about 40");
}
else if (vout>=28.5 and vout<29.5){
Serial.print("about 45");
}
else if (vout>=29.5 and vout<31.5){
Serial.print("about 50");
}
else if (vout>=31.5 and vout<32.5){
Serial.print("about 55");
}
else{
Serial.print("higher than 60, warnning, its hot.");
}
Serial.print("in DegreeC=");
Serial.print("\t");
Serial.print(tempc);
Serial.print(" ");
Serial.print("in WTF=");
Serial.print("\t");
Serial.print(rT);
Serial.println();
}
參考:https ://www.instructables.com/id/Arduino-Temperature-Sensor-Using-LM35/
5.2 DFPlayer 迷你版
教程博客中有很多代碼,我只取我們需要的部分:
他給了很多行程式,我只取了我的回應(yīng)碼:
#include "Arduino.h"
#include "SoftwareSerial.h" // 採用SoftwareSerial程式庫
#include "DFRobotDFPlayerMini.h" // 採用DFRobotDFPlayerMini程式庫
SoftwareSerial mySoftwareSerial(2, 3); // mySoftwareSerial(RX, TX), 宣告軟體序列傳輸埠
// 用來與DFPlayerMini通訊用
DFRobotDFPlayerMini myDFPlayer; //宣告MP3 Player
void setup()
{
Serial.begin(115200); // 定義Serial傳輸速率115200bps
mySoftwareSerial.begin(9600); // 定義mySoftwareSerial傳輸速率9600bps, DFPlayerMini 的通訊速率為9600bps.
myDFPlayer.setTimeOut(500); // 設(shè)定通訊逾時(shí)為500ms
//----Set volume----
myDFPlayer.volume(10); // 設(shè)定音量, 範(fàn)圍0~30.
//----Set device we use SD as default---- // 設(shè)定SD卡
myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
//----Mp3 control---- // 設(shè)定MP3參數(shù)
myDFPlayer.enableDAC(); //Enable On-chip DAC
//----Mp3 play---- // 設(shè)定MP3播放參數(shù)
myDFPlayer.play(1); // 播放第1首音樂
}
不要忘記導(dǎo)入它請(qǐng)求的庫。
詳情見參考/從下面的鏈接看更詳細(xì)的教學(xué)
在這里,我通過Sound Of Text錄制了 11 個(gè) mp3 文件并保存到我的 micro SD 卡中,然后插入 DFPlayer Mini。
記錄文件有點(diǎn)像“大約15°C”或“高于60°C,警告,很熱。”。
在這里我用 Sound Of Text錄了11個(gè)mp3文件到我的SD卡里,然后插入micro DFPlayer Mini里。
這些音檔的內(nèi)容大應(yīng)該是近似度“或像”“60度,小心高溫。”
5.3 電源
這部分沒有代碼!干杯! 唯一需要做的就是像上圖那樣連接電池(不是 LED 部分,只有電池)
沒有程序要!恭喜!只要照上圖接好電池就好(不要管LED,)
6.完成代碼
#include "Arduino.h"
#include "SoftwareSerial.h" // 採用SoftwareSerial程式庫
#include // 採用DFRobotDFPlayerMini程式庫
//mp3
/*Code designed by Sujay Alaspure in SA Lab */
SoftwareSerial mySoftwareSerial(2, 3);
DFRobotDFPlayerMini myDFPlayer; //宣告MP3 Player
void printDetail(uint8_t type, int value); //印出詳情
//sensor
const int sensor=A5; // Assigning analog pin A5 to variable 'sensor'
float tempc; //variable to store temperature in degree Celsius
float tempf; //variable to store temperature in Fahreinheit
float vout; //temporary variable to hold sensor reading
char rT='24';
//toggle
boolean state = false;
void setup() {
//toggle
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
pinMode(7, INPUT);
digitalWrite(7, HIGH);
//MP3 Player
Serial.begin(115200); // 定義Serial傳輸速率115200bps
mySoftwareSerial.begin(9600); // 定義mySoftwareSerial傳輸速率9600bps, DFPlayerMini的通訊速率為9600bps.
myDFPlayer.setTimeOut(500); // 設(shè)定通訊逾時(shí)為500ms
//----Set volume----
myDFPlayer.volume(30); // 設(shè)定音量, 範(fàn)圍0~30.
//----Set different EQ---- // 設(shè)定EQ(等化器 Equalizer)
myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
//----Set device we use SD as default---- // 設(shè)定SD卡
myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
//----Mp3 control---- // 設(shè)定MP3參數(shù)
myDFPlayer.enableDAC(); //Enable On-chip DAC
pinMode(sensor,INPUT); // Configuring sensor pin as input
Serial.begin(9600);
}
void loop() {
//MP3 player
if (myDFPlayer.available()) // 監(jiān)視MP3有沒有回應(yīng)
{ // 有的話印出詳情
printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
}
//toggle
if(digitalRead(7) != HIGH){
state = !state;
digitalWrite(13, state);
temp();
delay(2000);}
} //Delay of 1 second for ease of viewing
void temp(){
vout=analogRead(sensor); //Reading the value from sensor
vout=(vout*500)/1023;
if (vout<19.5){
Serial.print("lower than 10");
myDFPlayer.play(4);
}
else if (vout>=19.5 and vout<21){
Serial.print("about 15");
myDFPlayer.play(2);
}
else if (vout>=21 and vout<22){
Serial.print("about 20");
myDFPlayer.play(3);
}
else if (vout>=22 and vout<24){
Serial.print("about 25");
myDFPlayer.play(5);
}
else if (vout>=24 and vout<24.5){
Serial.print("about 30");
myDFPlayer.play(7);
}
else if (vout>=24.5 and vout<26.5){
Serial.print("about 35");
myDFPlayer.play(6);
}
else if (vout>=26.5 and vout<28.5){
Serial.print("about 40");
myDFPlayer.play(10);
}
else if (vout>=28.5 and vout<29.5){
Serial.print("about 45");
myDFPlayer.play(9);
}
else if (vout>=29.5 and vout<31.5){
Serial.print("about 50");
myDFPlayer.play(8);
}
else if (vout>=31.5 and vout<32.5){
Serial.print("about 55");
myDFPlayer.play(11);
}
else{
Serial.print("higher than 60, warnning, its hot.");
myDFPlayer.play(1);
}
Serial.print("in DegreeC=");
Serial.print("\t");
Serial.print(tempc);
Serial.print(" ");
Serial.print("in WTF=");
Serial.print("\t");
Serial.print(rT);
Serial.println();
}
7.外觀
外部設(shè)計(jì)采用底部加重的半圓形鍋形,此設(shè)計(jì)分為兩部分,主要材料如下:
外部設(shè)計(jì)底部很重的半圓形,而可供選擇的圓形用途為口腔內(nèi)進(jìn)行兩式使用的多種形式,使用以下形式的材料:
先用木板將鞋面做成一個(gè)與玻璃大小相匹配的圓環(huán)和18塊三角形木片,按照邊的大小排列,與圓環(huán)接合,形成鞋面的骨架杯的一部分,然后蓋上表面的黑布。
首先在上半部用1個(gè)圓形木片的圓形覆蓋面,在圓形上半部用1塊圓形木片覆蓋黑色的圓形小片,按照邊長的大小進(jìn)行排列,并在玻璃上接合。
用葫蘆在下半部分抹平不規(guī)則的表面,也用紅布蓋住。使用兩種顏色來區(qū)分上下部分。
下半部則用葫蘆,將不規(guī)則的磨平并用上紅色兩面,用兩個(gè)顏色蓋頭部分。
8. 結(jié)果
首先,我們看一下內(nèi)部操作:
首先先看看內(nèi)部的準(zhǔn)入吧:
物質(zhì)和外部
實(shí)物和外貌
9. 結(jié)論
缺點(diǎn):時(shí)間和預(yù)算緊張,無法選擇一些更好的組件。并且可能添加一些功能,例如告訴用戶溫度正在測量。
時(shí)間長度限制,使用效果的時(shí)間長度有限,使用效果稍有不同。
Hope this tutorial will
help you~
希望這個(gè)教程能幫到你~
- 智能溫控水杯的設(shè)計(jì) 3次下載
- 智能家居控制系統(tǒng)方案開源資料
- 基于單片機(jī)的盲人專用綜合型智能水杯
- 基于單片機(jī)的智能水杯系統(tǒng)
- 基于單片機(jī)智能溫控水杯系統(tǒng)
- 多功能智能水杯設(shè)計(jì)方案
- 開源網(wǎng)絡(luò)協(xié)議分析器WireShark軟件下載 15次下載
- 基于單片機(jī)智能水杯源程序與Proteus仿真
- 基于單片機(jī)的水杯示溫報(bào)警器設(shè)計(jì) 126次下載
- 開源課程行動(dòng)倡議及科學(xué)導(dǎo)論綜述 6次下載
- 使用R7F0C002單片機(jī)實(shí)現(xiàn)智能水杯的設(shè)計(jì)資料合集 2次下載
- 藍(lán)牙智能小車手機(jī)遙控全部開源資料合集免費(fèi)下載 61次下載
- WIFI智能開源電熱水器的原理圖和源代碼免費(fèi)下載 47次下載
- 百度智能手環(huán)開源方案資料合集免費(fèi)下載包括原理圖源代碼等
- 應(yīng)用半導(dǎo)體制冷技術(shù)的智能水杯設(shè)計(jì) 42次下載
- 【AWTK開源智能串口屏方案】HMI端程序移植編譯及運(yùn)行 982次閱讀
- ?【AWTK開源智能串口屏方案】方案介紹和工作原理 1036次閱讀
- 利用開源軟件的最佳實(shí)踐 572次閱讀
- 前沿開源技術(shù)領(lǐng)域的開源大數(shù)據(jù)一一解讀 1180次閱讀
- 如何在OpenHarmony開源代碼基礎(chǔ)上實(shí)現(xiàn)數(shù)字管家開發(fā)宿舍全屋智能 1871次閱讀
- 2019黑科技之智能飲水機(jī)水位監(jiān)測方案 3742次閱讀
- 2020年開源的六大發(fā)展趨勢 4364次閱讀
- 基于以太坊智能合約提供的開源框架POA Network介紹 2482次閱讀
- 更小更智能的電機(jī)控制器推進(jìn)HEV/EV市場 1186次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細(xì)分析 7444次閱讀
- 中國人工智能開源軟件前生今生到底如何? 5691次閱讀
- 5個(gè)頂級(jí)的人工智能開源工具 6240次閱讀
- 開發(fā)者不可錯(cuò)過的開源項(xiàng)目—人工智能篇 6286次閱讀
- 基于STM32的飲水提醒水杯及缺水量檢測系統(tǒng) 9277次閱讀
- 11個(gè)機(jī)器學(xué)習(xí)開源項(xiàng)目 2829次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多