資料介紹
描述
支持藍牙的雪人天氣和空氣質量禮品卡
?
雖然在向經典圣誕主題致敬的同時創造全新的設計對我來說很困難,但我決定設計這張禮品卡,希望即使到下一個平安夜,它也能保持功能和時尚,同時散發出歡樂的回憶圣誕節。為了使這張禮品卡的表現不僅僅是一個令人發指的圣誕裝飾品,我將其設計為一個功能齊全的遠程家庭自動化界面,用于檢測天氣和空氣質量信息。它有六種不同的模式(屏幕),由其協作的 Android 應用程序控制,如下所示:
?
- 溫度
- 濕度
- 壓力和海拔高度
- 空氣質量
- 動畫
- 主屏幕(新年快樂)
?
首先,我開發了一個名為 Gift Card 的 Android 應用程序,通過藍牙控制禮品卡的模式和功能。因此,我在禮品卡中添加了 HC-06 藍牙模塊。
?
為了能夠準確獲取天氣信息,我使用了 BMP180 氣壓/溫度/高度傳感器和 DHT11 溫度/濕度傳感器。
?
然后,為了檢測空氣質量,我使用了MQ-135空氣質量傳感器,檢測范圍大,靈敏度高——NH3、NOx、酒精、苯、煙霧、CO2等。
?
最后,我加入了一個 ST7789 240x240 IPS 屏幕,以顯示帶有彩色圖像和文本的每個屏幕(模式)。另外,我在禮品卡上添加了一個 RGB LED 作為雪人的眼睛。
?
在面包板上完成設計并使用 Android 應用程序測試代碼后,我設計了一個具有獨特雪人形狀的 PCB(雪人禮品卡),為圣誕節創建了一個有趣且貼切的禮品卡設計 :)
?
我試圖使組件盡可能簡單以集成到電路板中,以使這張禮品卡即使對于收到它作為圣誕節禮物的新手和初學者來說也易于使用:)
?
?
?
第 1 步:設計和焊接雪人禮品卡 PCB
?
首先,我用面包板上的 Arduino Nano 測試了所有連接和模塊。
?
?
然后,我使用 KiCad 設計了雪人禮品卡 PCB。我在下面附上了 PCB 的 Gerber 文件,所以如果您愿意,您可以從 PCBWay 訂購此 PCB,以制作時尚的雪人禮品卡,送給您的朋友和家人,他們可以將其功能用作家庭自動化界面,甚至可以在下一個圣誕節使用:)
?
?
?
首先,通過使用烙鐵,我連接了接頭(母)、5mm RGB 共陰極 LED、220Ω 電阻和電源插孔。
?
PCB上的元件清單:
?
A1(Arduino Nano 接頭)
D1(ST7789 240x240 IPS 接頭)
HC06(HC-06藍牙模塊接頭)
S1(MQ-135 空氣質量傳感器接頭)
S2(DHT11 溫度/濕度傳感器接頭)
S3(BMP180 氣壓/溫度/高度傳感器接頭)
R1、R2、R3、R4(220Ω電阻)
L1(RGB共陰極)
J1(電源插孔)
?
?
?
?
第 2 步:在 MIT APP Inventor 2 上開發禮品卡 Android 應用程序
?
我選擇使用 MIT APP Inventor 2 來創建禮品卡 Android 應用程序,因為它易于使用的設計器界面和簡單功能的拖放編輯器。MIT App Inventor 是 Google 提供的 Web 應用集成開發環境,現由麻省理工學院維護。
?
您可以從下面的下載中下載禮品卡 Android 應用程序的 apk 文件 ( Gift_Card.apk ) 以將其安裝到您的手機上或將其發送給您想要出示此禮品卡的人。
?
我還在 Google Play 上發布了該應用程序:
?
在 Google Play 上下載
?
? 安裝后,單擊?連接?按鈕以查看所有已配對的藍牙設備。
?
?
?
? 然后,如果用戶沒有以其他方式命名,則選擇名為?禮品卡?(HC-06 藍牙模塊)的那一張。
?
?
? 如果輸入給定密碼 (1234) 后與雪人禮品卡 PCB 連接成功,應用程序將打印?Status: Connected 。否則,它會打印?Status: Error 。
?
?
如果您想更改應用程序的設計或查看源代碼以添加新功能,請按照以下步驟操作:
?
? 轉到MIT App Inventor 2?的主頁,?然后單擊?Create Apps!?按鈕。
?
? 然后,將應用程序的 aia 文件(Gift_Card.aia)導入 MIT App Inventor 2 以查看應用程序設置和代碼。
?
?
? 該應用程序有兩個屏幕、五個開關按鈕、一個微調器和一個通知框。您可以使用?塊?編輯器更改它們的功能。
?
?
第 3 步:對 Arduino Nano 進行編程并設置組件
?
下載所需的庫以控制模塊:
BMP180 氣壓/溫度/高度傳感器 |?圖書館
DHT11 溫濕度傳感器 |?圖書館
?
? 包括所需的庫。
?
? 啟動 HC-06 藍牙模塊。將定義的 RX 引腳 (7) 連接到藍牙模塊上的 TX 引腳。
;
?
? 定義 BMP180 傳感器設置。
bmp; 溫度,_高度; 壓力,壓力海;
?
? 定義 DHT11 對象。
dht; 濕度,溫度_DHT;
?
? 定義 MQ-135 引腳和 RGB 引腳。
?
? 定義界面選項 - home、tem、hum、pres、air、ani。
?
? 激活藍牙模塊。
?
? 您可以通過取消注釋changeBluetoothSettings()?函數?來更改 HC-06 藍牙模塊的默認設置?-名稱:禮品卡,密碼:1234,波特率:9600。
void changeBluetoothSettings(){ 字符串名稱 = ; 字符串密碼 = ; 字符串 Uart = ; 禮物卡。(); Gift_Card.println(Name); 串行。 ( ); 序列號.println(名稱); 延遲(); 禮物卡。(); Gift_Card.println(密碼); 串行。 ( ); Serial.println(密碼); 延遲(); 禮物卡。(); Gift_Card.println(Uart); 串行。 ( ); Serial.println(Uart); 延遲();
?
?
?
? 檢查 BMP180 模塊是否正常工作。
?
? 啟動 DHT11 模塊。
?
? 在?Application_Commands()?函數中,檢測 Android 應用程序(禮品卡)傳輸的命令。
{
c = Gift_Card.read();
:
home = ;
tem =;
哼=;
壓力=;
空氣=;
阿尼=;
;
:
home = ;
tem =;
哼=;
壓力=;
空氣=;
阿尼=;
;
:
家庭濕度 = ;
tem =;
哼=;
壓力=;
空氣=;
阿尼=;
;
...
?
? 執行請求的命令 - home、tem、hum、pres、air、ani。
(家 ==){ tft.fillScreen(RGBto565( , , )); (家==){ 應用程序命令(); 主屏幕 tft.setCursor( , ); tft.setTextColor(RGBto565( , , )); tft.setTextSize( ); tft.println( ); tft.println( ); tft.println( ); } } (tem == ){ tft.fillScreen(黑色); (tem == ){ 應用程序命令(); 收集數據(); tft.setCursor( , ); tft.setTextColor(RGBto565( , , ), 黑色); tft.setTextSize( ); TFT。(F()); tft.fillCircle (、) tft.drawImageF( , , , , temp); tft.setCursor( , ); tft.setTextSize( ); TFT。((字符串)溫度+ ); tft.setCursor( , ); TFT。((字符串)溫度_DHT + ); } } (嗡嗡聲==){ tft.fillScreen(黑色); (哼==){ 應用程序命令(); 收集數據(); tft.setCursor( , ); tft.setTextColor(藍色,黑色); tft.setTextSize( ); TFT。(F()); tft.fillCircle (、) tft.drawImageF( , , , , humd); tft.setCursor( , ); tft.setTextSize( ); tft.println((String)濕度 + ); } } ...
?
? 在?collect_Data()?函數中,獲取 BMP180、DHT11 和 MQ-135 生成的變量。
?
? 如果您的傳感器讀數不同,請更改空氣質量值的范圍 (0 - 50)。
{
溫度 = bmp.readTemperature();
壓力 = bmp.readPressure();
pressure_sea = bmp.readSealevelPressure();
_altitude = bmp.readAltitude();
延遲(dht.getMinimumSamplingPeriod());
濕度 = dht.getHumidity();
temperature_DHT = dht.toFahrenheit(dht.getTemperature());
air_quality = (analogRead(mq135), , , , );
}
?
? 在?adjustColor()?函數中,調整雪人禮品卡 PCB RGB 眼睛的顏色。
?
? 在?Animation()?函數中,使用實心圓創建動畫屏幕。
{
x, y, w = tft.width(), h = tft.height(), r2 = radius * ;
tft.fillScreen(黑色);
(x=radius; x
?
?
?
?
?
?
步驟 3.1:使用 ST7789 240x240 IPS 屏幕顯示圖像
?
下載所需的庫以使用 ST7789 240x240 IPS 屏幕:
Arduino_ST7789_Fast |?圖書館
Adafruit_GFX |?圖書館
?
? 定義 ST7789 240x240 IPS 顯示設置。
?
? 啟動 ST7789 240x240 IPS 顯示屏。
?
? 打開并清除 ST7789 240x240 IPS 顯示屏。
...
Arduino_ST7789 TFT = Arduino_ST7789(TFT_DC,TFT_RST);
...
tft.init(SCR_WD, SCR_HT);
tft.fillScreen(黑色);
?
? 使用?RGBto565()?函數在 ST7789 上將 RGB 顏色顯示為文本和背景顏色。
tft.fillScreen(RGBto565(248, 178, 41));
tft.setCursor(0, 40);
tft.setTextColor(RGBto565(22, 21, 118));
tft.setTextSize(6);
tft.println("快樂");
tft.println("新");
tft.println("年份:)");
?
? 使用下面的圖像轉換器將您想要在 ST7789 屏幕上顯示的圖像轉換為 .c 文件:
?
?
圖像轉換器 (UTFT)
?
? 您可以在代碼中下載我在本項目中使用的轉換后的圖像文件 -? temp.c、humd.c、 pre.c和?airq.c。
?
? 包括并打印轉換后的圖像。
...
tft.drawImageF( , , , , temp);
tft.drawImageF( , , , , humd);
tft.drawImageF( , , , , pre);
tft.drawImageF ( , ) ;
?
連接和調整
?
?
完成并將代碼上傳到 Arduino Nano 后,我通過接頭將所有必需的組件連接到板上 - HC-06 藍牙模塊、ST7789 240x240 IPS 屏幕、BMP180 氣壓/溫度/高度傳感器、DHT11 濕度/溫度傳感器和 MQ -135 空氣質量傳感器。
?
?
模式和功能
?
???在默認模式下,當雪人禮品卡開始工作時,它會顯示主屏幕顯示?新年快樂 :)
?
?
???當用戶在禮品卡 Android 應用程序中點擊?溫度?開關按鈕時,禮品卡顯示由 BMP180 (°C) 和 DHT11 (°F) 生成的溫度變量。
?
?
?
?
???當用戶在禮品卡 Android 應用程序中點擊?濕度?開關按鈕時,禮品卡顯示由 DHT11 生成的濕度變量(%)。
?
?
?
?
???當用戶點擊 Gift Card Android 應用程序中的?壓力和海拔?開關按鈕時,禮品卡會顯示 BMP180 產生的壓力和海拔變量(Pa/m)。
?
?
?
?
???當用戶在禮品卡 Android 應用程序中點擊?空氣質量?開關按鈕時,禮品卡顯示 MQ-135 生成的空氣質量變量從 0(正常)到 50(危險)。
?
?
?
?
???當用戶點擊禮品卡 Android 應用程序中的?動畫?切換按鈕時,禮品卡會在循環中顯示帶有實心圓圈的動畫圖案,直到用戶選擇其他模式。
?
?
?
?
?
????用戶在 Gift Card Android 應用程序的RGB Eye微調器中選擇任何顏色選項后,禮品卡會調整其 RGB 眼睛的顏色?:
?
-
紅色的
-
綠色
-
藍色的
-
黃色
-
紫色的
-
青色
-
白色的
-
關閉(黑色)
?
?
?
?
?
?
???如果用戶單擊?Exit?按鈕,Android 應用程序會顯示?Disconnect?通知框:
?
-
主屏幕 | 返回主屏幕 -?新年快樂 :)
-
好的 | 關閉應用程序并斷開藍牙!
?
?
?
?
視頻和結論
?
?
完成上述所有步驟后,我將雪人禮品卡 PCB 作為裝飾品放在圣誕樹下,等待其 Android 應用程序發出命令以運行請求的模式。除了作為一種有趣的裝飾外,它還可以作為一個令人印象深刻的家庭自動化界面 :)
?
?
?
原理圖
?
?
?
?
?
?
?
?
代碼
- 空氣質量傳感器解決方案 0次下載
- 能感受到空氣質量變化的開源設計
- 室內空氣質量監測器開源分享
- 空氣質量分析儀開源分享
- DIY空氣質量監測設備 1次下載
- 木箱空氣質量監測儀開源分享
- 基于單片機的空氣質量監測
- 基于時空優化的多尺度STM空氣質量預測模型 18次下載
- KQM2801A空氣質量模塊的數據手冊和使用程序及工程文件免費下載 104次下載
- 城市空氣質量評價優化法 1次下載
- 英國Atmospheric sensor遠程空氣質量檢測 2次下載
- 基于STM32空氣質量檢測儀原理圖 353次下載
- 基于傳感器網絡的空氣質量檢測系統 61次下載
- 空氣質量傳感器有什么用途? 48次下載
- 空氣質量綜合指數檢測儀
- WT2003H語音芯片在空氣質量監測系統的應用方案 656次閱讀
- 室內空氣質量檢測器的設計與實現 1986次閱讀
- 如何利用ESP32實現空氣質量監測系統的設計 4535次閱讀
- 如何利用ESP8266實現便攜式空氣質量監測站的設計 3287次閱讀
- DIY一個開源的空氣質量監測儀 4187次閱讀
- 基于創建帶有空氣質量傳感器的室內氣象站 2358次閱讀
- dfrobotSHARP空氣質量傳感器轉接模塊簡介 1906次閱讀
- dfrobot空氣質量傳感器簡介 1290次閱讀
- 盛思銳的環境傳感器在空氣質量測試中的應用 1257次閱讀
- 空氣質量流量計的原理及設計 3020次閱讀
- 微型空氣質量監測系統,空氣質量微型監測站介紹 3820次閱讀
- 空氣質量傳感器原理及作用 3.2w次閱讀
- 什么是空氣質量傳感器_小米空氣凈化器2空氣質量傳感器 3728次閱讀
- 什么是空氣質量傳感器?空氣質量傳感器工作原理,FSM-A-002模塊設計 7545次閱讀
- 室內空氣質量檢測與傳感器的應用 2124次閱讀
下載排行
本周
- 1AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 2嵌入式軟件開發符合ISO 26262 功能安全標準
- 1.61 MB | 1次下載 | 免費
- 3AN095 提高GD32溫度傳感器使用精度的方法
- 631.03KB | 1次下載 | 免費
- 4PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 5模擬電路仿真實現
- 2.94MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7電子線路板及仿真實現
- 1.54MB | 1次下載 | 免費
- 8AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體
- 591.02KB | 1次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 132次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 7LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 9次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多