Obsah:
- Krok 1: Zhromažďovanie spotrebného materiálu a nástrojov
- Krok 2: Značenie, vŕtanie a smerovanie
- Krok 3: Toľko vojakov, strihanie a sťahovanie
- Krok 4: Inštalácia
- Krok 5: Konečné dotyky
Video: 132 pixelové hodiny: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Pokiaľ si pamätám, bol som posadnutý diódami LED a časom. V tomto projekte som vytvoril veľké nástenné hodiny, ktoré zobrazujú aktuálny čas pomocou 132 neopixelových LED diód namontovaných a svietiacich cez smrekovú dosku. Je to hybridný analógový digitál s individuálnym pixelom pre každú hodinu, minútu a sekundu.
Toto bol doteraz najväčší projekt, ktorý som absolvoval, začal som o ňom premýšľať pred 6 mesiacmi a myšlienka sa pomaly zišla. S výsledkom som skutočne spokojný a teším sa, že sa s vami oň môžem podeliť.
Krok 1: Zhromažďovanie spotrebného materiálu a nástrojov
Komponenty
Tento projekt je postavený na cheep hobby doske z môjho miestneho obchodu pre domácich majstrov. Doska meria 850 mm na šírku, 500 mm na výšku a 18 mm do hĺbky.
LED diódy použité v tomto projekte sú 5050 WS2812b namontované na kruhových PCB s priemerom približne 9 mm s spájkovacími podložkami na zadnej strane.
Používam mikrokontrolér kompatibilný s Arduino Pro Mini. Je to verzia 5V 16 MHZ. Vybral som si tento, pretože má super tenký dizajn, malú stopu a všetky potrebné porty plus niektoré náhradné pre budúce inovácie. Má tiež 5 voltov, takže môžem použiť jeden napájací zdroj pre diódy LED, mikroovládač a RTC
O udržiavanie času sa stará modul RTC (Real Time Clock), ktorý je vybavený čipom DS3231. Tento čip je veľmi presný, takže by sa čas nemal príliš uberať.
Tiež sa používa:
Drôt. Spájka a horúce lepidlo.
Náradie:
Elektrické vŕtačky a vrtáky do dreva (10 mm a 5 mm)
Spájkovačka
Horúca lepiaca pištoľ
nožnice na drôt
Príslušenstvo k routeru Dremel a ponorným routerom
Krok 2: Značenie, vŕtanie a smerovanie
Vŕtanie
- Pomocou úžinovej hrany nájdite stred dosky nakreslením čiary z opačných rohov.
- Označte 3 kruhy pomocou šnúrky a pera. Najvzdialenejší kruh by mal byť asi 20 mm od okraja dosky a ostatné 2 riadky by sa mali pohybovať o 15 mm od posledného riadku.
- Použil som vytlačený ciferník, ktorý mi pomohol označiť polohy jednotlivých minút a sekúnd na vonkajších 2 riadkoch a hodiny na vnútornom riadku.
- Vŕtajte 10 mm otvory približne 5 mm hlboké každú hodinu, minútu a sekundu.
- 5 mm vŕtačkou urobte otvory na doske hodinu, minútu a sekundu.
Smerovanie
Aj keď tento krok nie je potrebný, umožní to, aby boli hodiny namontované v jednej rovine so stenou.
- Pomocou smerovača a kruhového vedenia nasmerujte drôtené kanály na dosku
- Označte a nasmerujte výklenok, v ktorom budú žiť RTC a mikrokontrolér.
- Veďte kanál od vonkajších línií k vybraniu pre vodiče
Krok 3: Toľko vojakov, strihanie a sťahovanie
Táto ďalšia časť sa oveľa jednoduchšie hovorí, ako robí. Moja rada by bola, aby ste to uponáhľali. skúste nájsť systém a dostať sa do rytmu.
Každá z LED diód potrebuje vstup 5 voltov, výstup 5 voltov, vstup dát, výstup dát, uzemnenie a uzemnenie. vrátane napájania mikroovládača a RTC jeho viac ako 400 vodičov, všetko odizolované a spájkované na oboch koncoch.
Lepkavá modrá látka je v tomto kroku veľmi užitočná.
- Začal som umiestnením 2 diód LED do ich otvorov vedľa seba, aby som vypočítal dĺžku drôtu potrebnú na vzájomné prepojenie.
- Pomocou prvého kusu drôtu ako vodítka som potom nastrihal 60 z každého farebného drôtu.
- Z koncov každého drôtu odizolujte 2 mm dutinky a pocínujte ich spájkou.
- Na každú z diód LED pripájajte malú kvapku spájky.
- Spájajte vodiče k diódam LED tak, aby vytvorili dva reťazce po 60 minút a sekúnd a jeden reťazec po 12 hodín. Použil som červený vodič pre 5V, žltý pre dáta a modrý pre zem.
- Dávajte pozor, aby ste prepojili každý dátový výstup (DOUT) s dátovým vstupom (DIN) ďalšej LED diódy
- Posledné LED v každej reťazovej dávke nepotrebujú dátový výstupný vodič.
Keď sú všetky reťaze dokončené, je dobré ich pred inštaláciou otestovať. Použil som svoj Arduino UNO a Adafruit NeoPixel Strand Test, aby som potvrdil, že každá LED dióda funguje.
Na každý z reťazcov spájkujte dlhšie vodiče na 5 V, uzemnenie a dátový vstup.
V tomto mieste by malo byť päť vodičov 5 V, tri dátové vodiče pripojené k vodičom Arduino Pro Mini a 5 uzemňovacích vodičov.
Odizolujte 5 mm z koncov 5v vodičov a všetky spájkujte a opakujte pre uzemňovacie vodiče.
Po dokončení troch reťazcov spájkujte 5V vodič na pin RAW Arduino Pro Mini a tiež na kolík VCC pre RTC. Uzemňovací vodič na GND na Arduino Pro Mini a RTC a potom ďalšie 2 vodiče:
SCL z RTC do A5 na Pro Mini
SDA z RTC do A4 na Pro Mini
Dátové linky z LED diód by sa mali pripojiť k:
- Sekundy - digitálny kolík 3.
- Zápisnica - DigitalPin 4
- Hodiny - DigitalPin 5
Krok 4: Inštalácia
Po spájkovaní by inštalácia LED diód do ich otvorov mala smerovať dopredu. LED diódy je potrebné nainštalovať tak, aby údaje bežali proti smeru hodinových ručičiek, keď sa na ne pozeráte zozadu, pretože kód je nastavený spredu.
Na ich držanie som použil malé množstvo horúceho lepidla, pretože chcem byť schopný nahradiť jednu diódu LED, ak v budúcnosti zlyhá.
Tiež som použil horúce lepidlo, aby boli všetky drôty čisté a upratané a aby som pripevnil konektor hlavne k doske.
K dispozícii je množstvo sprievodcov programovaním arduino pro mini. Na načítanie tohto kódu do Arduina používam metódu externého prevodníka USB na sériový prenos:
Tento kód tiež nastaví čas v RTC na čas, kedy bol zostavený. preto je dôležité jednoducho vypnúť tlačidlo nahrávania, aby bolo v súlade a aby sa odovzdalo čo najrýchlejšie.
Väčšinu z tohto kódu požičal Andy Doro z prstenových hodín NeoPixel. Niektoré z testu vlákna Adafruit NeoPixel a niektoré som dal dohromady.
Budete musieť mať nainštalovaných niekoľko knižníc. Sú k dispozícii v programe Libraries Manager v softvéri Arduino.
Adafruit NeoPixel pre LED diódy ws2812b
Drôt na rozhovor s RTC cez I2C (je vstavaný ako štandard)
a RTClib za to, že viete, na čo sa opýtať RTC
/********************************************************************** *****************************Prsteňové hodiny NeoPixel od Andyho Dora ([email protected]) https://andydoro.com/ringclock/ ****************************************** … **************************
História revízií
Dátum Podľa čoho
20140320 AFD Prvý návrh 20160105 AFD Vyblednuté oblúky 20160916 AFD Trinket kompatibilný 20170727 AFD pridaný STARTPIXEL pre 3D kryt, variabilný počiatočný bod, pridaná automatická podpora DST 20180424 AFD pomocou knižnice DST https://github.com/andydoro/DST_RTC *
/ zahrňte kód knižnice:
#include #include
#zahrnúť
// definovanie pinov
#define SECPIN 3 #define MINPIN 4 #define HOUPIN 5
#define BRIGHTNESS 20 // nastavenie maximálneho jasu
#define r 10
#define g 10 #define b 10 RTC_DS3231 rtc; // Vytvorenie objektu hodín
Prúžok Adafruit_NeoPixelS = Adafruit_NeoPixel (60, SECPIN, NEO_GRB + NEO_KHZ800); // vyzlečenie objektu
Prúžok Adafruit_NeoPixelM = Adafruit_NeoPixel (60, MINPIN, NEO_GRB + NEO_KHZ800); // objekt pásu Adafruit_NeoPixel stripH = Adafruit_NeoPixel (24, HOUPIN, NEO_GRB + NEO_KHZ800); // pruh objektu byte pixelColorRed, pixelColorGreen, pixelColorBlue; // obsahuje hodnoty farieb
neplatné nastavenie () {
Wire.begin (); // Začnite I2C rtc.begin (); // začať hodiny
Serial.begin (9600);
// set pinmodes pinMode (SECPIN, OUTPUT); pinMode (MINPIN, OUTPUT); pinMode (HOUPIN, VÝSTUP);
if (rtc.lostPower ()) {
Serial.println („RTC stratil výkon, nastavme čas!“); // nasledujúci riadok nastaví RTC na dátum a čas, kedy bola táto skica zostavená rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Tento riadok nastavuje RTC s explicitným dátumom a časom, napríklad na nastavenie // 21. januára 2014 o 3:00 by ste zavolali: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); }
stripS.begin ();
stripM.begin (); stripH.begin (); //strip.show (); // Inicializácia všetkých pixelov na „vypnuté“
// sekvencia spustenia
oneskorenie (500);
colorWipeS (pásyS. Color (0, g, 0), 5); // Modrá farbaWipeM (stripM. Color (r, 0, 0), 5); // Modrá farbaWipeH (stripH. Color (0, 0, b), 50); // Modrá
oneskorenie (1000);
DateTime theTime = rtc.now (); // berie do úvahy byte DST secondval = theTime.second (); // získať sekundy byte minuteval = theTime.minute (); // získať minúty int hourval = theTime.hour (); hourval = hourval % 12; // Tieto hodiny majú 12 hodín, ak sú 13-23, prepočítajte na 0-11`
for (uint16_t i = 0; i <secondval; i ++) {stripS.setPixelColor (i, 0, 0, b); stripS.show (); oneskorenie (5); }
pre (uint16_t i = 0; i <minuteval; i ++) {stripM.setPixelColor (i, 0, g, 0); stripM.show (); oneskorenie (5); }
for (uint16_t i = 0; i <hourval; i ++) {stripH.setPixelColor (i, r, 0, 0); stripH.show (); oneskorenie (5); }
}
prázdna slučka () {
// získaj čas
DateTime theTime = rtc.now (); // berie do úvahy DST
byte secondval = theTime.second (); // získajte sekundy
byte minuteval = theTime.minute (); // získať minúty int hourval = theTime.hour (); // get hours hourval = hourval % 12; // Tieto hodiny majú 12 hodín, ak sú 13-23, prepočítajte na 0-11`
stripS.setPixelColor (sekundárne, 0, 0, 20); stripS.show (); oneskorenie (10); if (secondval == 59) {for (uint8_t i = stripS.numPixels (); i> 0; i--) {stripS.setPixelColor (i, 0, g, 0); stripS.show (); oneskorenie (16);}}
stripM.setPixelColor (minuteval, 0, g, 0);
stripM.show (); oneskorenie (10); if (secondval == 59 && minuteval == 59) {for (uint8_t i = stripM.numPixels (); i> 0; i--) {stripM.setPixelColor (i, r, 0, 0); stripM.show (); oneskorenie (16);}}
stripH.setPixelColor (hodina, r, 0, 0);
stripH.show (); oneskorenie (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);}} // pre sériové ladenie Serial.print (hourval, DEC); Serial.print (':'); Serial.print (minuteval, DEC); Serial.print (':'); Serial.println (secondval, DEC); }
// Vyplňte bodky jednu za druhou farbou
void colorWipeS (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i <stripS.numPixels (); i ++) {stripS.setPixelColor (i, c); stripS.show (); oneskorenie (čakanie); }}
void colorWipeM (uint32_t c, uint8_t čakať) {
pre (uint16_t i = 0; i <stripM.numPixels (); i ++) {stripM.setPixelColor (i, c); stripM.show (); oneskorenie (čakanie); }}
void colorWipeH (uint32_t c, uint8_t čakať) {
pre (uint16_t i = 0; i <stripH.numPixels (); i ++) {stripH.setPixelColor (i, c); stripH.show (); oneskorenie (čakanie); }}
Krok 5: Konečné dotyky
Všetko, čo by teraz malo zostať, je opraviť RTC a mikrořadič dole vo výklenku.
Vložil som batériu RTC hore, aby som v prípade potreby mohol batériu ľahko vymeniť.
Pripojte 5V vodiče k + strane konektora a uzemnenie k -
Zapnite to!
Mám ten svoj pripojený k banke batérií USB, ale USB nabíjačka telefónu bude fungovať rovnako dobre.
Poznámka:
Jas kódu LED je nastavený v kóde. Bol nastavený na nízku hodnotu, aby sa súčasný odber udržal na nízkej úrovni. Pri plnom jase so všetkými rozsvietenými diódami LED môže čerpať takmer 8 ampérov. Pri súčasnom nastavení je to menej ako 1.
Runner Up in the Clocks Contest
Odporúča:
RGB LED pixelové odtiene: 17 krokov (s obrázkami)
RGB LED pixelové tienidlá: Ahoj všetci, v tomto návode vám ukážem, ako vytvoriť pár LED pixelových odtieňov. Pôvodne som ich vytvoril na nosenie po dome na Vianoce / Nový rok, niečo ako mobilnú ozdobu, ale nakoniec boli trochu kyberpunkovejším
C51 4 -bitové elektronické hodiny - drevené hodiny: 15 krokov (s obrázkami)
C51 4 -bitové elektronické hodiny - drevené hodiny: Tento víkend mal nejaký voľný čas, a tak sa dal dokopy a zostavil tieto 4 -bitové elektronické digitálne hodiny vo výške 2,40 USD za 4 doláre, ktoré som pred chvíľou kúpil od AliExpress
Sklenené šesťhranné LED pixelové svietidlo: 8 krokov (s obrázkami)
Sklenené šesťhranné LED pixelové svietidlo: umelecké dielo založené na pixeloch LED navrhnuté tak, aby demonštrovalo potenciál radičov a softvéru NLED. Postavený na ukrytom svietidle z spájkovaného bronzu a skla, pravdepodobne zo 70 -tych rokov. V kombinácii so štandardným pixelovým pásom APA102 ponúka
Rozvodové hodiny a reťazové hodiny - takmer zadarmo! 5 krokov (s obrázkami)
Rozvodové hodiny a reťazové hodiny - takmer zadarmo !: Našťastie, keď ste zmenili rozvodovú súpravu svojho auta, nehodili ste staré prevody a reťaz. Skoro som to urobil, ale moja žena mi ukázala toto: http://www.uncommongoods.com/product/auto-timing-chain-and-gears-wall-clock 125 USD v USA plus poštovné.
Premeňte obyčajné hodiny z domova na vlastné žiariace hodiny: 8 krokov (s obrázkami)
Premeňte obyčajné hodiny na vlastné žiariace hodiny: PRVÉ DÁVAM SVOJE SRDEČNÉ VĎAKA INŠTRUKČNÝM TÍMOM, KTORÉ SA TÝKAJÚ DNI OBNOVY ZDRAVIA AKO VIAC ODPOVEDE ….. V tomto návode sa s vami chcem podeliť o to, ako previesť doma obyčajné hodiny do automaticky žiariacich hodín. > > Za to, že