色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何將OLED與Android手機連接起來構建智能手表

科技觀察員 ? 來源:circuitdigest ? 作者:薩達姆 ? 2022-09-22 17:45 ? 次閱讀

我們大多數人都熟悉 16×2 點陣 LCD 顯示器 ,它在許多項目中用于向用戶顯示一些信息。但是這些液晶顯示器的功能有很多限制。在本教程中,我們將使用OLED 顯示來自 Android 智能手機的一些基本信息,例如時間、日期、網絡強度和電池狀態。該項目提供了構建基于Arduino智能手表的基本理念和框架,并且可以進一步擴展以在 OLED 顯示屏上顯示來電、消息等。

所以這里我們使用一個安卓應用程序從安卓手機中獲取一些信息,然后使用藍牙模塊和Arduino Pro Mini將這些信息發送到OLED顯示器。

在 Android 應用程序中,從手機中獲取數據并作為字符串發送到 Arduino。現在收到數據后,Arduino 解碼傳入的字節串并將其放入臨時變量中以顯示在 OLED 顯示器上。在 OLED 顯示屏中,我們創建了一些圖形來顯示值,在此處了解有關在 Arduino 中使用 OLED 顯示屏的更多信息。

所需硬件

128×64 OLED顯示模組(SSD1306)

Arduino(我們使用的是 Arduino Pro Mini。但我們可以使用任何 Arduino 板)

藍牙 HC05/HC06

連接電線

3.7v 鋰電池

跳線

了解 OLED 顯示器

OLED 一詞代表“有機發光二極管” ,它使用與我們大多數電視中使用的技術相同的技術,但與它們相比像素更少。將這些看起來很酷的顯示模塊與 Arduino 連接起來真的很有趣,因為它會讓我們的項目看起來很酷。我們 在此處介紹了有關 OLED 顯示器及其類型的完整文章。在這里,我們使用的是 單色 4 針 SSD1306 0.96” OLED 顯示屏。此顯示器只能在 I2C 模式下工作。

pYYBAGMsLaaAP0xSAAIHl1g1kvs328.png

Arduino 社區已經為我們提供了很多庫,可以直接使用這些庫來簡化此操作。我嘗試了一些庫,發現 Adafruit_SSD1306 庫非常易于使用并且有一些圖形選項,因此我們將在本教程中使用相同的庫。在這里,我們還需要在 Arduino IDE 中安裝一個庫,可以從這里下載GFX 圖形庫。

電路原理

使用 4 針 SSD1306 OLED 與 Arduino的 電路圖 很簡單,如下所示

pYYBAGMsLaGADqYnAAF-B-jVSBk820.pngpYYBAGMsLtCAdN-MAACRYaZhKv4869.jpg

在這里,我們使用了Arduino Pro Mini板來控制所有操作。選擇 Arduino pro mini 的原因是它可以在 3.3v 電源下運行。4針 OLED和藍牙模塊 HC-06也可以在 3.3v 上工作,因此所有這些模塊都可以由單個 3.7v Li-on 供電。鋰電池是小巧輕便的電池,是可穿戴設備的完美選擇。在這里,我們還在這個項目中制作了一些可穿戴的東西,比如一個簡單的智能手表,它可以與你的智能手機同步。

現在關于電源的一個問題是,這里所有的模塊都在 3.3v 上工作,但鋰離子電池提供 3.7v,這可能會損壞模塊。因此,為了解決這個問題,我們將電池的 3.7v 電源應用于 Arduino pro mini 的原始引腳,該引腳可以將該電壓轉換為 3.3v。

用于通過藍牙向 Arduino 發送數據的 Android 應用

對于這款基于 Arduino 的智能手表,我們在 Android Studio 中創建了一個 Android 應用程序,該應用程序可以從這里下載。因此,只需在您的 Android 智能手機中下載并安裝此應用程序,然后啟用藍牙并將 HC-06 模塊與您的手機配對。它可能會要求輸入密碼來配對 HC-06 藍牙模塊,默認密碼是 1234 或 0000。

現在打開 OLED 應用程序并選擇已配對的藍牙設備 HC-06,如下圖所示:

pYYBAGMsLtKAPZWtAAB8tonNhdM642.png

現在OLED 應用程序將顯示從 android 手機獲取的數據,如下所示:

poYBAGMsLtOACOAwAAA5NHjo6OY126.png

為 OLED 智能手表編程 Arduino

在這個項目的最后給出了帶有演示視頻的完整程序,這里我們解釋了幾部分代碼。

首先使用下面的鏈接從 Github 下載 Adafruit 庫和 GFX 庫

阿達果圖書館

GFX 圖形庫

然后從包含所有必需的庫開始

#include
SoftwareSerial Serial1(10, 11);

#include
#include
#include
#include “Adafruit_SSD1306.h”

#define OLED_RESET 4
Adafruit_SSD1306 顯示(OLED_RESET);
在此之后,我們為不同的操作定義了一些宏和變量。

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
字符串 str = "";
字節 h = 0;
字節 m = 0;
字節 S = 0;
String dmy、時間、網絡、電池、inNumber、s;
字節中心X = 24;
字節中心Y = 39;
字節半徑 = 24;

雙 RAD = 3.141592 / 180;
雙 LR = 89.99;
在此之后為模擬時鐘編寫一個函數。

無效 showTimeAnalog(int center_x,int center_y,雙 pl1,雙 pl2,雙 pl3)
{
雙 x1,x2,y1,y2;
x1 = center_x + (半徑 * pl1) * cos((6 * pl3 + LR) * RAD);
y1 = center_y + (半徑 * pl1) * sin((6 * pl3 + LR) * RAD);
x2 = center_x + (半徑 * pl2) * cos((6 * pl3 - LR) * RAD);
y2 = center_y + (半徑 * pl2) * sin((6 * pl3 - LR) * RAD);
display.drawLine((int)x1, (int)y1, (int)x2, (int)y2, WHITE);
}
然后還有另一個數字時鐘功能。

無效數字時鐘()
{
display.setTextSize(1);
display.setTextColor(白色);
display.setCursor(60, 20);
display.println(dmy);
display.setTextSize(2);
display.setCursor(60, 30);
display.println(時間);
顯示.顯示();
延遲(2000);
}

poYBAGMsLteAbRF8AACJAP0bBBo950.jpg

然后 OLED 將使用以下功能以數字和圖形形式顯示電池狀態。

無效電池()
{
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(白色);
display.setCursor(20, 0);
display.print("蝙蝠:");
display.print(電池);
display.print("%");
display.drawRect(14, 20, 80, 40, WHITE);
display.drawRect(94, 30, 10, 20, WHITE);
display.fillRect(14, 20, (int)(8 * (battery.toInt()) / 10), 40, WHITE);
顯示.顯示();
延遲(2000);
}

pYYBAGMsLtiAap1sAAB4cFMeWBw140.jpg

以下函數也用于以數字和圖形形式顯示網絡狀態。

無效網絡()
{
display.clearDisplay();
display.drawLine(5, 15, 25, 15, WHITE);
display.drawLine(5, 15, 14, 30, 白色);
display.drawLine(25, 15, 17, 30, 白色);
display.fillRect(14, 15, 4, 40, WHITE);
int net = network.toInt() / 20;
整數 x1 = 24, y1 = 50, x2 = 4, y2 = 5;
…………
......

pYYBAGMsLtyAQfw1AAB3QkxN9wk753.jpg

在設置功能之后,我們初始化了我們在這個項目中使用的所有通信和模塊。

無效設置()
{
序列號.開始(9600);
display.begin(SSD1306_SWITCHCAPVCC,0x3C);// 使用 I2C 地址 0x3D 初始化(對于 128x64)
display.clearDisplay();
Serial1.開始(9600);
Serial1.println("系統就緒");
}
在循環功能中,我們從 android mobile 接收數據并解碼該數據并將它們發送到 OLED 顯示器。

無效循環(){
Serial1.println("1234");
延遲(1000);
而(Serial1.available()> 0){
char ch = Serial1.read();
str += 通道;
如果 (ch == '$'){
dmy = str.substring(str.indexOf("#") + 1, str.indexOf(""));
時間 = str.substring(str.indexOf(" ") + 1, str.indexOf(",") - 3);
網絡 = str.substring(str.indexOf(",") + 1, str.indexOf(",,"));
電池 = str.substring(str.indexOf(",,") + 2, str.indexOf(",,,"));
inNumber = str.substring(str.indexOf(",,,") + 3, str.indexOf("$"));
s = time.substring(time.indexOf(" ") + 1, time.indexOf(" ") + 3);
h = s.toInt();
s = time.substring(time.indexOf(" ") + 4, time.indexOf(" ") + 6);
m = s.toInt();
s = time.substring(time.indexOf(" ") + 7, time.indexOf(" ") + 9);
S = s.toInt();
str = "";}
}
display.clearDisplay();
display.drawCircle(centerX, centerY, 半徑, WHITE);
showTimeAnalog(centerX, centerY, 0.1, 0.5, h * 5 + (int)(m * 5 / 60));
showTimeAnalog(centerX, centerY, 0.1, 0.78, m);
// showTimePin(centerX, centerY, 0.1, 0.9, S);
數碼時鐘();
電池();
網絡();
}
這就是我們如何將 OLED 與智能手機無線連接,并將我們想要的任何數據從智能手機發送或同步到 OLED。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智能手機
    +關注

    關注

    66

    文章

    18523

    瀏覽量

    180758
  • OLED
    +關注

    關注

    119

    文章

    6215

    瀏覽量

    224588
  • 智能手表
    +關注

    關注

    36

    文章

    3299

    瀏覽量

    114554
收藏 人收藏

    評論

    相關推薦

    如何將數組的的字符重新連接起來保存?

    TEMP[2]依次存入,直到4存入TEMP[7], 問題是:如何將數組的的字符重新連接起來保存?如何定義新的變量str?使str=\"ABCD1234\"?
    發表于 04-16 07:39

    如何數據庫的資料與報表連接起來

    如何數據庫的資料與報表連接起來
    發表于 08-07 16:04

    如何將PLC通信口與無線數據終端連接起來??

    `如何將PLC通信口與無線數據終端連接起來,實現PLC與PLC之間,PLC與HMI觸摸屏間,PLC與PC組態軟件以及PLC與設備之間的無線數據交換!關注微信公眾號【PLC無線通訊】解決您的一切煩惱!`
    發表于 09-28 09:49

    如何把數據庫和其他程序連接起來

    各位大神,我現在遇到一個問題。我想把已經采集好的數據和數據庫的進行對比,然后檢索出相應的文字出來。我已經把采集的數據編成代碼了,數據庫相應的文字也用代碼來進行代替。但是現在我不是很清楚如何將他們連接起來。兩個小程序分別運行沒有問題,但是
    發表于 04-13 11:16

    請問由數字組成的字符串怎么連接起來

    想問一下關于字符串連接的問題我想做一個手機界面,通過按鍵輸入手機號,其實就是由數字組成的字符串,但是不知道如何將這些個‘0’,‘1’,‘2’……連接
    發表于 03-29 06:35

    如何將IC的SCL和SDA引腳與FPGA板連接起來

    Aoa ..我想將我的FPGA板(virtex6 ML605)與外部時鐘IC(ds1307)連接起來。請指導我如何將IC的SCL和SDA引腳與FPGA板連接。謝謝
    發表于 04-29 08:13

    如何將藍牙與STM32連接起來

    藍牙模塊有何功能?如何將藍牙與STM32連接起來呢?
    發表于 11-18 07:02

    如何將STM32L412與STUSB1602 TCPC連接起來呢?

    你好我目前正在嘗試 STM32L412 與 STUSB1602 TCPC 連接起來。我試圖通過為另一個 MCU 移植一個現有的 STUSB1602 軟件庫來開始這個工作。看起來這個端口可能非常艱巨且容易出錯。有沒有人成功地做到
    發表于 12-28 07:13

    如何將Eink顯示器與esp32連接起來

    一般來說,我是嵌入式系統和 ESP-IDF 的新手。我正在嘗試 Eink 顯示器與 esp32 連接起來,但我對如何為其編寫代碼有點迷茫。有沒有我可以參考的指南或教程?
    發表于 03-01 06:36

    如何將hwirq與中斷連接起來

    的 MSIR7 寄存器設置中斷 0 位。那么,當那個中斷到達時,我該如何調用我的 interrupt_handler 函數呢?我想我應該使用 irq_create_mapping 和 request_irq Linux 函數,但我不知道如何將 hwirq 與我的中斷鏈接起來
    發表于 03-14 08:20

    如何將Eink顯示器與esp32接口連接起來

    一般來說,我是嵌入式系統和 ESP-IDF 的新手。我正在嘗試 Eink 顯示器與 esp32 連接起來,但我對如何為其編寫代碼有點迷茫。有沒有我可以參考的指南或教程?
    發表于 04-13 08:09

    HC-05和MSP430連接起來控制LED的方式

     今天我們學習如何將藍牙模塊 HC-05 與德州儀器 (TI) 的 MSP430 Launchpad 連接起來。在這個接口示例中,我們將使用藍牙終端安卓應用程序從智能手機控制 MSP
    發表于 08-29 17:30 ?1618次閱讀
    <b class='flag-5'>將</b>HC-05和MSP430<b class='flag-5'>連接起來</b>控制LED的方式

    RF 433MHz發射器/接收器模塊與MCU連接起來

    電子發燒友網站提供《RF 433MHz發射器/接收器模塊與MCU連接起來.zip》資料免費下載
    發表于 06-13 09:24 ?4次下載
    <b class='flag-5'>將</b>RF 433MHz發射器/接收器模塊與MCU<b class='flag-5'>連接起來</b>

    TLC32040系列與TMS320系列連接起來

    電子發燒友網站提供《TLC32040系列與TMS320系列連接起來.pdf》資料免費下載
    發表于 10-08 14:15 ?0次下載
    <b class='flag-5'>將</b>TLC32040系列與TMS320系列<b class='flag-5'>連接起來</b>

    I2S器件與MSP430器件連接起來

    電子發燒友網站提供《I2S器件與MSP430器件連接起來.pdf》資料免費下載
    發表于 10-18 09:31 ?0次下載
    <b class='flag-5'>將</b>I2S器件與MSP430器件<b class='flag-5'>連接起來</b>
    主站蜘蛛池模板: 国内精品乱码卡一卡2卡三卡新区| 禁漫H天堂免费A漫| 久久99re2热在线播放7| 亚洲爆乳无码精品AAA片蜜桃| 国产成人在线免费| 我在厨房摸岳的乳HD在线观看| 粗暴玩烂货调教| 四虎4hu亚洲精品| 国产久久re6免费热在线| 亚洲 欧美 制服 校园 动漫| 国拍自产精品福利区| 伊人久久久久久久久久| 久啪久久全部视频在线| 99久免费精品视频在线观看2| 欧美视频毛片在线播放| 成都电影免费中文高清| 偷拍国产精品在线播放| 国产三级精品三级在线观看| 亚洲国产在线2o20| 久久婷五月综合色啪首页| 91欧美秘密入口| 青草在线在线d青草在线| 超碰人热人人热人人看| 午夜福利院电影| 精品免费视在线视频观看| 最近最新的日本字幕MV| 男人插曲视频大全免费网站| 白人大战34厘米黑人BD| 午夜噜噜噜私人影院在线播放| 精品熟女少妇AV久久免费A片| 100国产精品人妻无码| 囚禁固定在调教椅上扩张H| 国产欧美日韩网站| 中文字幕亚洲视频| 日韩欧美群交P内射捆绑| 好吊妞在线成人免费| 97人妻中文字幕免费视频| 色网址在线观看| 久久99国产亚洲高清观着| yellow免费| 亚洲伊人久久精品|