電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>多面液晶鬧鐘開源分享

多面液晶鬧鐘開源分享

2022-11-03 | zip | 0.57 MB | 次下載 | 免費

資料介紹

描述

這個項目是我之前構(gòu)建的更新版本以前版本的主要問題是,除非背光打開,否則您無法讀取顯示。要打開背光,您要么必須編譯代碼以使其永久打開,要么實際按下其中一個按鈕。前者不適合,因為我不希望我的房間在我晚上睡覺時被點亮,而后者意味著我必須停止我正在做的事情才能按下其中一個按鈕來查看時間。

檢測環(huán)境光

為了解決上述問題,我添加了一個帶有比較器電路的光敏電阻 (LDR)。LDR 會根據(jù)其是暗還是亮來改變其電阻。當光線充足時,它將具有低電阻,并且背光打開,從而可以讀取屏幕。在黑暗的房間中,電阻很高,它將允許背光關(guān)閉。您仍然可以通過按任何按鈕將其打開 10 秒鐘。

我使用了一個帶有微調(diào)電位器的簡單比較器電路來將光照水平設(shè)置為背光應(yīng)該永久打開的位置。當光照水平接近閾值時,比較器電路會在有少量光照變化時開啟和關(guān)閉。即 ON 閾值和 OFF 閾值相同。為了解決這個問題,少量的輸出被反饋到輸入以增強變化(正反饋)。這稱為滯后,根據(jù)反饋量,這會使 ON 閾值升高,OFF 閾值降低,

pYYBAGNh9w-AIcAKAAFKO8y2vbY520.jpg
R3 提供正反饋,因此有一個不同的 ON 和 OFF 閾值
?

時鐘功能

  • 十種不同的展示風(fēng)格
  • 設(shè)置時間、當前日期、出生日期和鬧鐘
  • 水銀開關(guān)關(guān)閉警報
  • 自動和手動背光控制
  • DHT21溫濕度傳感器

使用時鐘

時鐘有三個按鈕——設(shè)置、增量、減量和一個傾斜開關(guān)。

當背光關(guān)閉時,按任意按鈕將打開背光。如果在背光打開時未按任何按鈕,則在黑暗的房間中,它會在 10 秒后自行關(guān)閉。當房間光線充足時,背光將自動打開。背光打開時,按鈕將執(zhí)行以下任務(wù):

SETUP - 這將打開 SETUP 屏幕。右尖括號字符是光標。按 INCREMENT 或 DECREMENT 按鈕將分別增加或減少光標所在的值。再次按下 SETUP 按鈕將使光標在小時、分鐘、日、月、年、出生日、出生月、出生年、鬧鐘小時、鬧鐘分鐘之間循環(huán)并返回時鐘模式。

poYBAGNh9xWAKKvxAABiCzpQdkc804.jpg
設(shè)置屏幕 - 直角括號字符是光標
?

INCREMENT - 當不在設(shè)置屏幕中時,此按鈕在各種時鐘樣式之間切換。

pYYBAGNh9xqAZYioAAFNki4wS1E330.jpg
各種時鐘樣式 - 所有顯示都帶有鬧鐘
?

減量- 當不在設(shè)置屏幕中時,此按鈕可打開或關(guān)閉警報。

TILT SWITCH - 當鬧鐘響起時,傾斜時鐘或按下任何按鈕將關(guān)閉鬧鐘。

構(gòu)建一個完整的時鐘

首先,您需要一塊印刷電路板 (PCB)。如果您希望將 PCB 商業(yè)化制造或像我一樣自己制造,請附上 Eagle 文件。我使用了碳粉方法。

注意:由于 LCD 1602 顯示器使用直角排針連接到主 PCB,因此當電路板和顯示器已經(jīng)焊接在一起時,很難將它們插入外殼中。擁有一個帶通孔電鍍的雙面板可以讓您將顯示器就地焊接到板上。

pYYBAGNh9xyAIWH9AABMMWSneWo836.png
LCD 1602 顯示器使用直角排針連接到主 PCB
?

處理器是使用 Arduino UNO 引導(dǎo)加載程序編程的 ATmega328 DIL。ATmega328 的振蕩器使用一個 16MHz 晶體和兩個 22pf 陶瓷電容器。5V穩(wěn)壓器為7805 TO-220型,100uF 16V電容用于平滑。RTC 是一個帶有 32.768 kHz 手表晶體的 DS1302。揚聲器為無源蜂鳴器,采用 10uF 16V 電容進行直流隔離。0.1uF和1uF電容為獨石陶瓷電容(5mm孔距)。電阻為 1/8 瓦。水銀開關(guān)可以是任何尺寸。安裝在電路板背面的三個觸覺按鈕為 6mmx6mm,軸為 13mm。

poYBAGNh91OAI6t3AARViUyAhqw924.png
鬧鐘示意圖
?
poYBAGNh912Ad503AAWyvovjWlM829.jpg
電路板布局
?

外殼是 3D 打印的,層高為 0.2 毫米,沒有支撐。使用 2.5 毫米鉆頭鉆出 PCB 安裝孔,并使用 3 毫米絲錐創(chuàng)建螺紋。使用 M3 6mm 螺釘將板固定到位。我還將 PCB 上的兩個安裝孔鉆出 4 毫米,以便在固定電路板時進行任何必要的調(diào)整,以防止按鈕粘在外殼上。

pYYBAGNh92SAE0dzAAN8AqOg96o636.jpg
PCB安裝在外殼
?

我使用的 LDR 標記為 P1241-05。它的尺寸約為 5 毫米 x 3 毫米,在強光下的電阻約為 200 歐姆,在黑暗時的電阻約為 4000 歐姆。DHT21 傳感器安裝在機箱背面。您需要從 DHT21 的底座上去除少量塑料,以便電線可以穿過提供的孔并仍然隱藏在護罩下。

poYBAGNh92qAF9rgAAA7mcbgMCY758.jpg
拆下塑料底座的一部分,并通過提供的孔將電線送入。
?

編程

將 FTDI 編程器連接到 PCB 上的 FTDI Basic 接頭,并上傳通過 Arduino IDE 提供的軟件。

poYBAGNh922AJS1cAACHboYPVVM608.png
?

請參閱以下有關(guān)更改代碼以定制消息時鐘和世界時鐘的部分。

生物節(jié)律鐘面

poYBAGNh93CAZa9TAAAiazjSc14740.jpg
生物節(jié)律鐘面
?

據(jù)推測,根據(jù)我們的出生日期,生物節(jié)律可能決定我們生活的高潮和低谷。生物節(jié)律包括三個周期:23天的身體周期、28天的情緒周期和33天的智力周期。生物節(jié)律時鐘將每個狀態(tài)顯示為條形。

pYYBAGNh93KAOw3aAAA1mBZIcuY939.png
生物節(jié)律時鐘將每個狀態(tài)顯示為條形
?

該條顯示生物節(jié)律處于正循環(huán)(頂部條)或負循環(huán)(底部條)。條形的長度顯示了它在周期中的積極或消極程度。

消息鐘面

poYBAGNh93aAeN9NAAAln0fDVYY407.jpg
消息鐘面
?

此鐘面在第二行顯示一個旋轉(zhuǎn)的消息欄。在代碼中有一個表格,其中包含日期和消息,以便在這些日期過去時顯示。

const char D00[] PROGMEM = "Today is ";
const char D01[] PROGMEM = "Your Brithday";
const char D02[] PROGMEM = "New Years Day";
const char D03[] PROGMEM = "Australia Day";
const char D04[] PROGMEM = "Good Friday";
const char D05[] PROGMEM = "Easter Monday";
const char D06[] PROGMEM = "Anzac Day";
const char D07[] PROGMEM = "Mother's Day";
const char D08[] PROGMEM = "the Queen's Birthday";
const char D09[] PROGMEM = "Father's Day";
const char D10[] PROGMEM = "Labour Day";
const char D11[] PROGMEM = "Xmas Day";
const char D12[] PROGMEM = "Good";
const char D13[] PROGMEM = "morning";
const char D14[] PROGMEM = "afternoon";
const char D15[] PROGMEM = "evening";
const char D16[] PROGMEM = ", it is ";

const MSG msgs[] = {
{ 0, 1, 1, D02 },
{ 0, 1, 26, D03 },
{ 2021, 4, 2, D04 },
{ 2021, 4, 5, D05 },
{ 0, 4, 25, D06 },
{ 0, 5, 9, D07 },
{ 2021, 6, 14, D08 },
{ 0, 9, 5, D09 },
{ 2021, 10, 4, D10 },
{ 0, 12, 25, D11 },
{ 0, 0, 0, NULL }
};

msgs數(shù)組中,每個元素由 4 個組件組成。第一個是年份。值為零的年份表示所有年份。接下來是月份(1 到 12),然后是日期(1 到 31)。最后是對應(yīng)該顯示的消息的引用。該表目前是為澳大利亞新南威爾士州 2021 設(shè)置的。您可以通過添加和刪除項目來修改它。確保您保留表中的最后一個條目不變。軟件使用它來確定表格的結(jié)尾。

一般形式的消息是:

[morning|afternoon|evening] ,現(xiàn)在是[ day of week ] [ day ][st|nd|rd|th] [ month name ] [ year ] {今天是[ message ]}

世界時間的臉

pYYBAGNh93iAc7WcAAAlY2FDbLE367.jpg
世界時間臉
?

世界時鐘顯示當前時間和另一個城市的時間。此時鐘完全支持使用時區(qū)庫的夏令時。您需要設(shè)置本地時區(qū)和要顯示的其他時區(qū)。

//Australia Eastern Time Zone (Sydney, Melbourne)
#define LOCAL_CITY_ABV "SYD"                   //3 Character city name
#define LOCAL_TIMEZONE(loc) ausET.toUTC(loc)   //Function to access Timezone function

TimeChangeRule aEDT = {"AEDT", First, Sun, Oct, 2, 660};    //UTC + 11 hours
TimeChangeRule aEST = {"AEST", First, Sun, Apr, 3, 600};    //UTC + 10 hours
Timezone ausET(aEDT, aEST);

//US Eastern Time Zone (New York, Detroit)
#define WORLD_CITY_ABV "NYC"                    //3 Character city name
#define WORLD_TIMEZONE(utc) usET.toLocal(utc)   //Function to access Timezone function

TimeChangeRule usEDT = {"EDT", Second, Sun, Mar, 2, -240};  //UTC - 4 hours
TimeChangeRule usEST = {"EST", First, Sun, Nov, 2, -300};   //UTC - 5 hours
Timezone usET(usEDT, usEST);

首先,您需要設(shè)置 TimeChangeRules。有關(guān)如何執(zhí)行此操作的完整說明以及一些示例,請參閱GitHub 上的Ardino 時區(qū)庫。

接下來修改兩個#define 語句。第一個包含時區(qū)所在的 3 個字符的城市名稱,第二個需要知道賦予 Timezone 對象的名稱。僅更改句點左側(cè)的名稱。

學(xué)分

這個時鐘是各種制造商多年來制造的許多時鐘的混搭。

該時鐘的基礎(chǔ)是帶鬧鐘功能的 Arduino 數(shù)字時鐘(定制 PCB)。我修改了箱子,所以它打印成兩件而不是四件。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費