女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

LED像素時鐘DIY圖解

454398 ? 來源:工程師吳畏 ? 2019-08-20 10:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:收集材料和工具。

LED像素時鐘DIY圖解

組件。

這個項目建立在我當地DIY商店的吱吱愛好板上。該板尺寸為850mm寬,500mm高,18mm深。

本項目中使用的LED為5050 WS2812b,安裝在圓形PCB上,直徑約9mm,后面有焊盤。

《我正在使用Arduino Pro Mini兼容的微控制器。它的5V 16 MHZ版本。我之所以選擇這款產品,是因為它具有超薄設計,小尺寸和所有必需的端口以及未來升級的備用空間。它也是5伏特,所以我可以使用單個電源為LED,微控制器和RTC

時間保持由具有DS3231芯片的RTC(實時時鐘)模塊負責。這個芯片非常準確,所以時間不應該漂移太多。

也使用:

電線。焊錫和熱膠。

工具:

電鉆和木鉆頭(10mm和5mm)

烙鐵

熱膠槍

電線狙擊

Dremel和插入式路由器配件

第2步:標記,鉆孔和布線

鉆井

使用海峽邊緣通過從對角處畫一條線來找到板的中心

使用一根繩子和一支筆標記3個圓圈。最外面的圓圈距離板邊緣約20mm,另外兩條線距離最后一條線15mm。

我使用一個印刷的鐘面來幫助我在內線的外部2行和小時上標出每個分鐘和秒的位置。

每小時,分鐘和秒鐘鉆出約5毫米深的10毫米孔。

使用5毫米鉆頭在板上打小時,分鐘和秒鐘。

路由

雖然這一步驟不是必需的,但它可以讓時鐘與墻壁齊平。

使用路由器和圓形導軌在電路板上布線線路

Mark將RTC和微控制器的凹槽輸出并布線。

將通道從外線布線到凹槽中以便接線

步驟3:如此多的士兵,切割和剝離。

下一部分比說起來容易得多。我的建議是注意趕緊。嘗試找到一個系統并進入一個節奏。

每個LED需要5伏輸入,5伏輸出,數據輸入,數據輸出,接地和接地。包括微控制器和RTC的電源,其400多根電線,兩端均剝離和焊接。

粘性藍色物質對此步驟非常有用。

I首先將2個LED放在彼此相鄰的孔中,以計算出相互連接所需的導線長度。

使用第一根導線作為導向,然后切割60根每根彩色導線。

從每根導線的末端剝去2毫米的套管,并用焊料將它們焊接。

在每個LED焊盤上焊接一小滴焊料。

將導線焊接到LED上,形成兩條60分鐘和幾秒鐘的鏈條,以及一條12小時的鏈條。我用紅線表示5V,黃色表示數據,藍色表示接地。

注意將每個數據輸出(DOUT)連接到下一個LED的數據輸入(DIN)

每個鏈中的最后一個LED不需要數據輸出線。

一旦完成所有鏈條,最好在安裝它們之前測試它們。我用我的Arduino UNO和Adafruit NeoPixel Strand Test來確認每個LED都在工作。

將更長的導線焊接到每個鏈上,用于5V,接地和數據輸入。

此時應該有五條5v線,三根數據線連接到Arduino Pro Mini和5地線。

從5v導線末端剝離5mm并將它們全部焊接在一起并重復接地線。

完成三個鏈條后,將一根5V導線焊接到Arduino Pro Mini的RAW引腳上,也可以放在RTC的VCC引腳上。接地線連接到Arduino Pro Mini和RTC上的GND,再接下來兩條線:

SCL 從RTC到Pro Mini上的 A5

SDA f 將RTC轉換為 A4 o n Pro Mini

來自 LED的數據線應該連接到:

秒》 - 數字Pin 3 。

分鐘 - 數字 Pin 4

小時 - 數字 第5針

第4步:安裝

焊接后,將LED安裝在孔中應該是直線的。需要安裝LED,因此當代碼設置為正面時,數據在逆時針方向運行,因為代碼設置在前面。

我使用了少量的熱膠將它們固定下來希望能夠在將來發生故障時更換單個LED。

我還使用熱膠來保持所有電線整潔,并將桶形連接器固定到電路板上。

有許多arduino pro mini編程指南可供使用。我使用外部USB到串行轉換器方法將此代碼加載到Arduino上:

此代碼還將RTC上的時間設置為編譯時。因此,重要的是只需上傳按鈕,以便它盡快符合并上傳。

這些代碼的大部分都來自Andy Doro的NeoPixel Ring Clock。一些來自Adafruit NeoPixel Strand Test和一些我放在一起。

您需要安裝一些庫。它們可以從Arduino軟件的Libraries Manager獲得。

用于ws2812b LED的Adafruit NeoPixel

用于通過I2C與RTC通信的線路(這是作為標準內置的)

和RTClib知道詢問RTC的內容

/**************************************************************************

* *

NeoPixel Ring Clock

by Andy Doro ([email protected]

http://andydoro.com/ringclock/

* *

**************************************************************************

Revision History

Date By What

20140320 AFD First draft

20160105 AFD Faded arcs

20160916 AFD Trinket compatible

20170727 AFD added STARTPIXEL for 3D enclosure, variable starting point, added automatic DST support

20180424 AFD using DST library https://github.com/andydoro/DST_RTC

*

/ include the library code:

#include

#include

#include

// define pins

#define SECPIN 3

#define MINPIN 4

#define HOUPIN 5

#define BRIGHTNESS 20 // set max brightness

#define r 10

#define g 10

#define b 10

RTC_DS3231 rtc; // Establish clock object

Adafruit_NeoPixel stripS = Adafruit_NeoPixel(60, SECPIN, NEO_GRB + NEO_KHZ800); // strip object

Adafruit_NeoPixel stripM = Adafruit_NeoPixel(60, MINPIN, NEO_GRB + NEO_KHZ800); // strip object

Adafruit_NeoPixel stripH = Adafruit_NeoPixel(24, HOUPIN, NEO_GRB + NEO_KHZ800); // strip object

byte pixelColorRed, pixelColorGreen, pixelColorBlue; // holds color values

void setup () {

Wire.begin(); // Begin I2C

rtc.begin(); // begin clock

Serial.begin(9600);

// set pinmodes

pinMode(SECPIN, OUTPUT);

pinMode(MINPIN, OUTPUT);

pinMode(HOUPIN, OUTPUT);

if (rtc.lostPower()) {

Serial.println(“RTC lost power, lets set the time!”);

// following line sets the RTC to the date & time this sketch was compiled

rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

// This line sets the RTC with an explicit date & time, for example to set

// January 21, 2014 at 3am you would call:

// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));

}

stripS.begin();

stripM.begin();

stripH.begin();

//strip.show(); // Initialize all pixels to ‘off’

// startup sequence

delay(500);

colorWipeS(stripS.Color(0, g, 0), 5); // Blue

colorWipeM(stripM.Color(r, 0, 0), 5); // Blue

colorWipeH(stripH.Color(0, 0, b), 50); // Blue

delay(1000);

DateTime theTime = rtc.now(); // takes into account DST

byte secondval = theTime.second(); // get seconds

byte minuteval = theTime.minute(); // get minutes

int hourval = theTime.hour();

hourval = hourval % 12; // This clock is 12 hour, if 13-23, convert to 0-11`

for (uint16_t i = 0; i 《 secondval ; i++) {

stripS.setPixelColor(i, 0,0,b);

stripS.show();

delay(5);

}

for (uint16_t i = 0; i 《 minuteval ; i++) {

stripM.setPixelColor(i, 0,g,0);

stripM.show();

delay(5);

}

for (uint16_t i = 0; i 《 hourval ; i++) {

stripH.setPixelColor(i, r,0,0);

stripH.show();

delay(5);

}

}

void loop () {

// get time

DateTime theTime = rtc.now(); // takes into account DST

byte secondval = theTime.second(); // get seconds

byte minuteval = theTime.minute(); // get minutes

int hourval = theTime.hour(); // get hours

hourval = hourval % 12; // This clock is 12 hour, if 13-23, convert to 0-11`

stripS.setPixelColor(secondval, 0,0,20);

stripS.show();

delay(10);

if (secondval ==59 ) {

for (uint8_t i = stripS.numPixels(); i 》 0; i--) {

stripS.setPixelColor(i, 0,g,0);

stripS.show();

delay(16);}

}

stripM.setPixelColor(minuteval, 0,g,0);

stripM.show();

delay(10);

if (secondval ==59 && minuteval == 59) {

for (uint8_t i = stripM.numPixels(); i 》 0; i--) {

stripM.setPixelColor(i, r,0,0);

stripM.show();

delay(16);}

}

stripH.setPixelColor(hourval, r,0,0);

stripH.show();

delay(10);

if (secondval == 59 && minuteval == 59 && hourval == 11) {

for (uint8_t i = stripH.numPixels(); i 》 0; i--) {

stripH.setPixelColor(i, 0,0,b);

stripH.show();

delay(83);}

}

// for serial debugging

Serial.print(hourval, DEC);

Serial.print(‘:’);

Serial.print(minuteval, DEC);

Serial.print(‘:’);

Serial.println(secondval, DEC);

}

// Fill the dots one after the other with a color

void colorWipeS(uint32_t c, uint8_t wait) {

for (uint16_t i = 0; i 《 stripS.numPixels(); i++) {

stripS.setPixelColor(i, c);

stripS.show();

delay(wait);

}

}

void colorWipeM(uint32_t c, uint8_t wait) {

for (uint16_t i = 0; i 《 stripM.numPixels(); i++) {

stripM.setPixelColor(i, c);

stripM.show();

delay(wait);

}

}

void colorWipeH(uint32_t c, uint8_t wait) {

for (uint16_t i = 0; i 《 stripH.numPixels(); i++) {

stripH.setPixelColor(i, c);

stripH.show();

delay(wait);

}

}

步驟5:最后的接觸

現在應該留下的只是將RTC和微控制器固定在凹槽中。

我已經將RTC電池安裝在一邊,這樣我就可以輕松如果需要,請更換電池。

將5v電線連接到連接器的+側,將接地連接到 - 側

將電源連接起來!

我已經連接到USB電池組,但USB手機充電器也可以正常工作。

注意:

LED的亮度設置在代碼中。它被設置為低電平以保持低電流。在所有LED點亮的全亮度下,它可以汲取近8安培。當前設置小于1.

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

    關注

    242

    文章

    23840

    瀏覽量

    673961
  • 時鐘
    +關注

    關注

    11

    文章

    1901

    瀏覽量

    133204
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    圖解單片機功能與應用(完整版)

    從基礎知識的介紹出發,圖文并茂,直觀、系統地介紹了單片機的內部結構、工作原理和應用技巧。全書分為10章,內容包括51單片機編程資源圖解、51單片機指令系統圖解、匯編語言程序設計圖解、輸入/輸出
    發表于 06-16 16:52

    TRCX應用:OLED 像素模擬及電容提取

    1. 摘要 由于驅動TFT的遷移率和閾值電壓的不均勻性,需要在OLED中進行OLED像素電路的補償和先進的驅動技術。此外,電容的計算對于提高像素電路的補償精度至關重要,因為現代OLED使用了更多
    發表于 05-28 08:43

    漫畫圖解 電感器 抗干擾元器件指南(全彩PDF版)

    漫畫圖解電感基礎知識(高清PDF) 內容:很形象的漫畫和語言圖解關于電感器的入門基礎知識,讓電子初學者也能輕松的看懂電子電路。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 05-13 15:49

    PCB封裝圖解

    PCB封裝圖解——詳細介紹了各種封裝的具體參數,并介紹了如何進行封裝制作 純分享貼,有需要可以直接下載附件獲取文檔! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 04-22 13:44

    無刷電機的繞制和接線方法及實物圖解

    下方附件可打開*附件:無刷電機的繞制和接線方法及實物圖解.doc
    發表于 03-17 20:00

    時空刻度:LED電子時鐘系統如何重塑現代節奏

    ?高鐵站臺的安全倒計時在暴雨中清晰閃爍,體育場館的24秒進攻時鐘與裁判哨聲嚴絲合縫,跨國企業總部的大樓立面時鐘同步切換三大時區——這些精準的視覺化時間表達,由LED電子時鐘系統在毫秒維
    的頭像 發表于 03-16 17:25 ?397次閱讀
    時空刻度:<b class='flag-5'>LED</b>電子<b class='flag-5'>時鐘</b>系統如何重塑現代節奏

    開源項目!手把手教你制作一個互動式LED墻壁時鐘

    在這篇教程中,將教你使用Arduino創建一個互動式LED墻壁時鐘。這個項目結合了創意和技術,設計出一個功能性強且視覺效果驚人的時鐘,它配備了互動式的LED燈。無論你是Arduino
    發表于 02-08 17:47

    FRED應用:LED發光顏色優化

    在本例中, LED紅光、綠光、藍光發射通過優化其各個功率在屏幕上特定區域產生特定的顏色(色坐標值)而目標面上總的功率保持固定不變。LED光源使用任意平面發射光源(Random Plane
    發表于 01-07 08:51

    DS90UB913A-Q1是否支持像素時鐘74.25MHz的1080p 30的分辨率?

    看到DS90UB913A-Q1支持像素時鐘25MHz-100MHz; 是否支持像素時鐘74.25MHz的1080p 30的分辨率? 能否推薦一下經過實踐驗證過的DS90UB913A-
    發表于 12-30 08:34

    時序約束一主時鐘與生成時鐘

    一、主時鐘create_clock 1.1 定義 主時鐘是來自FPGA芯片外部的時鐘,通過時鐘輸入端口或高速收發器GT的輸出引腳進入FPGA內部。對于賽靈思7系列的器件,主
    的頭像 發表于 11-29 11:03 ?1393次閱讀
    時序約束一主<b class='flag-5'>時鐘</b>與生成<b class='flag-5'>時鐘</b>

    SmartDAC-DIY評估模塊

    電子發燒友網站提供《SmartDAC-DIY評估模塊.pdf》資料免費下載
    發表于 11-01 09:19 ?0次下載
    SmartDAC-<b class='flag-5'>DIY</b>評估模塊

    像素間距矩陣LED顯示屏中的常見LED顯示挑戰

    電子發燒友網站提供《窄像素間距矩陣LED顯示屏中的常見LED顯示挑戰.pdf》資料免費下載
    發表于 09-05 10:57 ?0次下載
    窄<b class='flag-5'>像素</b>間距矩陣<b class='flag-5'>LED</b>顯示屏中的常見<b class='flag-5'>LED</b>顯示挑戰

    時鐘抖動和時鐘偏移的區別

    時鐘抖動(Jitter)和時鐘偏移(Skew)是數字電路設計中兩個重要的概念,它們對電路的時序性能和穩定性有著顯著的影響。下面將從定義、原因、影響以及應對策略等方面詳細闡述時鐘抖動和時鐘
    的頭像 發表于 08-19 18:11 ?2134次閱讀

    LED像素間距的定義和應用場景

    LED像素間距,也被稱為點間距,是LED顯示屏上一個關鍵的技術參數,它直接關聯到顯示屏的分辨率、清晰度以及觀看體驗。以下是對LED像素間距的
    的頭像 發表于 08-10 09:59 ?2703次閱讀

    顯示器的像素間距越小,顯示效果越好嗎

    像素間距(Pixel Pitch) 是指LED顯示屏或LCD等顯示器上相鄰兩個像素點之間的距離,通常以毫米(mm)為單位表示。像素間距直接決定了屏幕上能夠顯示的最小細節和圖像的細膩程度
    的頭像 發表于 08-10 09:56 ?2184次閱讀