Obsah:
- Krok 1: Shromažďování spotřebního materiálu a nástrojů
- Krok 2: Značení, vrtání a směrování
- Krok 3: Tolik vojáků, řezání a odizolování
- Krok 4: Instalace
- Krok 5: Poslední dotyky
Video: 132 pixelů: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Dokud si pamatuji, jsem posedlý LED diodami a časem. V tomto projektu jsem vytvořil velké nástěnné hodiny, které zobrazují aktuální čas pomocí 132 neopixelových LED namontovaných a svítících přes smrkovou desku. Je to hybridní analogový digitální s individuálním pixelem pro každou hodinu, minutu a sekundu.
Jednalo se o největší projekt, který jsem doposud přijal, začal jsem o tom přemýšlet před 6 měsíci a myšlenka se pomalu spojila. S výsledkem jsem opravdu spokojený a těším se, až se o něj s vámi podělím.
Krok 1: Shromažďování spotřebního materiálu a nástrojů
Komponenty
Tento projekt je postaven na mailové hobby desce z mého místního obchodu pro kutily. Deska měří šířku 850 mm, výšku 500 mm a hloubku 18 mm.
LED použité v tomto projektu jsou 5050 WS2812b namontované na kruhových deskách plošných spojů o průměru přibližně 9 mm s pájecími podložkami na zadní straně.
Používám mikrořadič kompatibilní s Arduino Pro Mini. Je to verze 5V 16 MHZ. Vybral jsem si tenhle, protože má super tenký design, malý potisk a všechny nezbytné porty plus nějaké náhradní pro budoucí upgrady. Je to také 5 voltů, takže mohu použít jeden napájecí zdroj pro LED diody, mikrořadič a RTC
O udržování času se stará modul RTC (Real Time Clock), který je vybaven čipem DS3231. Tento čip je velmi přesný, takže by se čas neměl příliš posouvat.
Také se používá:
Drát. Pájka a horké lepidlo.
Nástroje:
Elektrické vrtačky a vrtáky do dřeva (10 mm a 5 mm)
Páječka
Horká lepicí pistole
odstřižky drátu
Příslušenství routerů Dremel a ponorných routerů
Krok 2: Značení, vrtání a směrování
Vrtání
- Pomocí úžinové hrany najděte střed desky nakreslením čáry z opačných rohů.
- Pomocí kroužku a pera označte 3 kruhy. Vnější kruh by měl být asi 20 mm od okraje desky a ostatní 2 řádky by se měly pohybovat o 15 mm od posledního řádku.
- Použil jsem tištěný ciferník, který mi pomohl označit pozice každé z minut a sekund na vnějších 2 řádcích a hodin na vnitřní čáře.
- Vyvrtejte 10 mm otvory přibližně 5 mm hluboké každou hodinu, minutu a sekundu.
- Pomocí vrtáku 5 mm vytvořte otvory na desce hodinu, minutu a sekundu.
Směrování
Ačkoli tento krok není nutný, umožní to, aby byly hodiny namontovány v jedné rovině se stěnou.
- Pomocí routeru a kruhového průvodce nasměrujte drátové kanály v desce
- Označte a nasměrujte vybrání, ve kterém budou žít RTC a mikrořadič.
- Veďte kanál od vnějších čar k vybrání pro dráty
Krok 3: Tolik vojáků, řezání a odizolování
Tato další část se mnohem snáze řekne, než udělá. Moje rada by byla poznámka, abych to uspíšil. zkuste najít systém a dostat se do rytmu.
Každá z diod LED potřebuje 5 voltů, 5 voltů, vstup dat, výstup dat, uzemnění a uzemnění. včetně napájení pro mikrořadič a RTC jeho více než 400 vodičů, vše odizolované a pájené na obou koncích.
Pro tento krok je velmi užitečná lepkavá modrá látka.
- Začal jsem umístěním 2 LED diod do jejich otvorů vedle sebe, abych vypočítal délku drátu potřebného k vzájemnému spojení.
- Pomocí prvního kusu drátu jako vodítka jsem poté nastříhal 60 z každého barevného drátu.
- Z konců každého drátu odizolujte 2 mm pouzdra a pocínujte je pájkou.
- Na každou z LED diod připájejte malou kapku pájky.
- Pájením vodičů k LED diodám vytvoříte dva řetězce po 60 minutách a sekundách a jeden řetězec po 12 hodinách. Použil jsem červený vodič pro 5V, žlutý pro data a modrý pro zem.
- Dávejte pozor, abyste připojili každý datový výstup (DOUT) k datovému vstupu (DIN) další LED
- Poslední LED v každé řetězové dávce nepotřebuje datový kabel.
Jakmile jsou všechny řetězy dokončeny, je dobré je před instalací vyzkoušet. Použil jsem svůj Arduino UNO a Adafruit NeoPixel Strand Test, abych potvrdil, že každá LED funguje.
Na každý z řetězů připájejte delší vodiče pro 5V, uzemnění a datový vstup.
V tomto okamžiku by mělo být pět vodičů 5 V, tři datové vodiče připojené k vodičům Arduino Pro Mini a 5 uzemňovacích vodičů.
Odizolujte 5 mm z konců 5v vodičů a všechny pájejte dohromady a opakujte pro zemnící vodiče.
Po dokončení tří řetězů připájejte 5V vodič na pin RAW Arduino Pro Mini a také na pin VCC pro RTC. Uzemňovací vodič na GND na Arduino Pro Mini a RTC a poté 2 další vodiče:
SCL z RTC do A5 na Pro Mini
SDA z RTC na A4 na Pro Mini
Datové linky z diod LED by se měly připojit k:
- Sekundy - digitální pin 3.
- Minuty - DigitalPin 4
- Hodiny - DigitalPin 5
Krok 4: Instalace
Po pájení by instalace LED diod do jejich otvorů měla směřovat dopředu. LED diody je třeba nainstalovat tak, aby data běžela kolem proti směru hodinových ručiček, když se na ně díváte zezadu, protože kód je nastaven čelem.
Použil jsem malé množství horkého lepidla, abych je udržel, protože chci být schopen vyměnit jedinou LED, pokud v budoucnu selže.
Také jsem použil horké lepidlo, abych udržel všechny dráty čisté a uklizené a upevnil konektor hlavně k desce.
K dispozici je řada průvodců programováním arduino pro mini. K načtení tohoto kódu do Arduina používám metodu externího převaděče USB na sériový port:
Tento kód také nastaví čas v RTC na čas, kdy byl zkompilován. proto je důležité pouze zavřít tlačítko pro odeslání, aby vyhovovalo a odeslalo se co nejrychleji.
Velkou část tohoto kódu vypůjčil Andy Doro z prstenových hodin NeoPixel. Některé z Adafruit NeoPixel Strand Test a některé jsem dal dohromady.
Budete muset mít nainstalováno několik knihoven. Jsou k dispozici ve Správci knihoven v softwaru Arduino.
Adafruit NeoPixel pro LED diody ws2812b
Drát pro komunikaci s RTC přes I2C (je integrován jako standard)
a RTClib za to, že víte, na co se RTC zeptat
/******************************************************* ******************************NeoPixel Ring Clock od Andy Doro ([email protected]) ********************************************************* **************************
Historie revizí
Datum Podle čeho
20140320 AFD První návrh 20160105 AFD Vybledlé oblouky 20160916 AFD Trinket kompatibilní 20170727 AFD přidán STARTPIXEL pro 3D pouzdro, variabilní počáteční bod, přidána automatická podpora DST 20180424 AFD pomocí knihovny DST https://github.com/andydoro/DST_RTC *
/ zahrnout kód knihovny:
#include #include
#zahrnout
// definujte piny
#define SECPIN 3 #definovat MINPIN 4 #define HOUPIN 5
#define BRIGHTNESS 20 // nastavení maximálního jasu
#define r 10
#define g 10 #define b 10 RTC_DS3231 rtc; // Založení objektu hodin
Adafruit_NeoPixel stripS = Adafruit_NeoPixel (60, SECPIN, NEO_GRB + NEO_KHZ800); // svlékání objektu
Proužek Adafruit_NeoPixelM = Adafruit_NeoPixel (60, MINPIN, NEO_GRB + NEO_KHZ800); // objekt strip Adafruit_NeoPixel stripH = Adafruit_NeoPixel (24, HOUPIN, NEO_GRB + NEO_KHZ800); // pruh objektu byte pixelColorRed, pixelColorGreen, pixelColorBlue; // uchovává hodnoty barev
neplatné nastavení () {
Wire.begin (); // Začněte I2C rtc.begin (); // začít hodiny
Serial.begin (9600);
// set pinmodes pinMode (SECPIN, OUTPUT); pinMode (MINPIN, OUTPUT); pinMode (HOUPIN, VÝSTUP);
if (rtc.lostPower ()) {
Serial.println („RTC ztratil výkon, nastavíme čas!“); // následující řádek nastaví RTC na datum a čas, kdy byla tato skica sestavena rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Tento řádek nastavuje RTC s explicitním datem a časem, například pro nastavení // 21. ledna 2014 ve 3 hodiny ráno byste volali: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); }
stripS.begin ();
stripM.begin (); stripH.begin (); //strip.show (); // Inicializace všech pixelů na 'vypnuto'
// spouštěcí sekvence
zpoždění (500);
colorWipeS (StripS. Color (0, g, 0), 5); // Blue colorWipeM (stripM. Color (r, 0, 0), 5); // Blue colorWipeH (stripH. Color (0, 0, b), 50); // Modrá
zpoždění (1000);
DateTime theTime = rtc.now (); // bere v úvahu byte DST secondval = theTime.second (); // získat sekundy byte minuteval = theTime.minute (); // get minutes int hourval = theTime.hour (); hourval = hourval % 12; // Tyto hodiny jsou 12 hodin, pokud 13-23, převést na 0-11`
for (uint16_t i = 0; i <secondval; i ++) {stripS.setPixelColor (i, 0, 0, b); stripS.show (); zpoždění (5); }
pro (uint16_t i = 0; i <minuteval; i ++) {stripM.setPixelColor (i, 0, g, 0); stripM.show (); zpoždění (5); }
for (uint16_t i = 0; i <hourval; i ++) {stripH.setPixelColor (i, r, 0, 0); stripH.show (); zpoždění (5); }
}
prázdná smyčka () {
// získejte čas
DateTime theTime = rtc.now (); // bere v úvahu DST
byte secondval = theTime.second (); // získejte sekundy
byte minuteval = theTime.minute (); // get minutes int hourval = theTime.hour (); // get hours hourval = hourval % 12; // Tyto hodiny jsou 12 hodin, pokud 13-23, převést na 0-11`
stripS.setPixelColor (sekundární, 0, 0, 20); stripS.show (); zpoždění (10); if (secondval == 59) {for (uint8_t i = stripS.numPixels (); i> 0; i--) {stripS.setPixelColor (i, 0, g, 0); stripS.show (); zpoždění (16);}}
stripM.setPixelColor (minuteval, 0, g, 0);
stripM.show (); zpoždění (10); if (secondval == 59 && minuteval == 59) {for (uint8_t i = stripM.numPixels (); i> 0; i--) {stripM.setPixelColor (i, r, 0, 0); stripM.show (); zpoždění (16);}}
stripH.setPixelColor (hodina, r, 0, 0);
stripH.show (); zpoždění (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);}} // pro sériové ladění Serial.print (hourval, DEC); Serial.print (':'); Serial.print (minuteval, DEC); Serial.print (':'); Serial.println (secondval, DEC); }
// Vyplňte tečky jednu za druhou barvou
void colorWipeS (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i <stripS.numPixels (); i ++) {stripS.setPixelColor (i, c); stripS.show (); zpoždění (čekání); }}
void colorWipeM (uint32_t c, uint8_t čekání) {
pro (uint16_t i = 0; i <stripM.numPixels (); i ++) {stripM.setPixelColor (i, c); stripM.show (); zpoždění (čekání); }}
void colorWipeH (uint32_t c, uint8_t čekat) {
pro (uint16_t i = 0; i <stripH.numPixels (); i ++) {stripH.setPixelColor (i, c); stripH.show (); zpoždění (čekání); }}
Krok 5: Poslední dotyky
Vše, co by nyní mělo zůstat, je opravit RTC a mikrořadič dole ve výklenku.
Baterii RTC jsem namontoval stranou vzhůru, takže v případě potřeby mohu baterii snadno vyměnit.
Připojte vodiče 5 V ke straně + konektoru a uzemnění ke straně -
Zapněte to!
Mám ten svůj připojený k USB bateriové bance, ale USB telefonní nabíječka by fungovala stejně dobře.
Poznámka:
Jas kódu LED je nastaven v kódu. Bylo nastaveno nízko, aby udrželo aktuální čerpání na nízké úrovni. Při plném jasu se všemi rozsvícenými LED může čerpat téměř 8 ampérů. Při současném nastavení je to méně než 1.
Runner Up in the Clocks Contest
Doporučuje:
FLEXBALL - sto pixelů flexibilní PCB míč s WiFi: 6 kroků (s obrázky)
FLEXBALL - sto pixelů flexibilní PCB míč s WiFi: Dobrý den, tvůrci, je to výrobce moekoe! Flexball je založen na flexibilním PCB, který je vybaven 100 adresovatelnými LED diodami WS2812 2020. Řídí jej ESP8285-01f - nejmenší modul na bázi ESP od společnosti Espressif. Navíc má akceleromete ADXL345
Postup: Instalace Raspberry PI 4 bezhlavého (VNC) s Rpi imagerem a obrázky: 7 kroků (s obrázky)
Jak na to: Instalace Raspberry PI 4 Headless (VNC) s Rpi-imager a obrázky: Mám v plánu použít tento Rapsberry PI ve spoustě zábavných projektů zpět na mém blogu. Neváhejte se na to podívat. Chtěl jsem se vrátit k používání svého Raspberry PI, ale na novém místě jsem neměl klávesnici ani myš. Už je to dlouho, co jsem nastavoval Raspberry
Rudná lampa Minecraft - přizpůsobitelná velikost a hustota pixelů: 4 kroky
Lampa Minecraft Ore-přizpůsobitelná velikost a hustota pixelů: Moje sedmileté dítě je posedlé Minecraftem, a tak jsem se rozhodl postavit pro něj něco souvisejícího. Hledám možnosti, je tu skvělý projekt lampy od Dan J Hamera v Thingiverse, ale poté, co jsem ho trochu doladil, jsem se rozhodl začít s vlastním projektem (ty
Oprava zaseknutého pixelu na LCD monitoru: 5 kroků (s obrázky)
Opravte zaseknutý pixel na LCD monitoru: Pokud se vám tento návod líbil, pravděpodobně se vám budou líbit i ostatní věci na mém webu zde … Zrušení záruky UPDATE: Tento návod byl na Engadgetu! http://www.engadget.com/2007/12/24/how-to-guide-details-fix-for-stuck-pixels/ jdu do
64 pixelů: 8 kroků (s obrázky)
64 pixelů: Toto je malé zařízení k zobrazování animací a krátkých zpráv. Skládá se pouze ze tří komponent a je velmi snadné ho sestavit. A zábava sledovat. Pokud se vám nechce sbírat všechny věci sami, můžete si koupit sadu se všemi potřebnými součástmi a