Tartalomjegyzék:
- 1. lépés: Alkatrészek és fa munkák összegyűjtése
- 2. lépés: Akril körök
- 3. lépés: Forrasztás
- 4. lépés: A kód
- 5. lépés: Dán olaj
Videó: Ish Clock: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Gyakran azon kapom magam, hogy olyan dolgokat vásárolok, amelyekről fogalmam sincs, mit kezdjek. Ez a projekt egy gyűrű megvásárlásának eredménye, amelyben 12x WS2812b LED világít. Nem terveztem, de online jól nézett ki, így beraktam egyet a kosárba, játszottam vele egy darabig, amikor megérkezett, majd elfelejtettem az egészet.
Egy idő múlva arra gondoltam, hogy készítek egy órát, és eszembe jutott, hogy ott ül, és nem csinál semmit. Arra gondoltam, hogy veszek egy második gyűrűt 60 LED -del, hogy elkészítsem a perceket, de aztán azon kezdtem gondolkodni, hogy mi / én hajlamosak vagyunk -e nézni az időt és kerekíteni azt a legközelebbi 5 percre.
Ezzel az enyémben elindultam a 12 LED -es gyűrűmmel, hogy elkészítsem az ish órát. Egyszerre 1 LED -et jelenít meg 1 másodpercig, jelezve az órát (kék LED), majd a perceket (piros LED) lefelé kerekítve
1. lépés: Alkatrészek és fa munkák összegyűjtése
Nagy szerencsém volt, hogy egy nap megérkeztem a munkahelyre, és egy raklapot vettem észre. Ez a raklap rám ragadt, mivel nem úgy nézett ki, mint a szokásos, futó malom raklap. Tiszta, hőkezelt és szokatlanul tömör tölgy volt.
Ez a projekt a raklap egyik darabjából készült. (Megkérdeztem a főnököt, mielőtt hazavittem)
Szintén használt:
- 12 képpontos ws2812b LED gyűrű
- Valós idejű óra (RTC) modul (DS3231 -et használok I2C -vel)
- Arduino Nano v3.0 kompatibilis
- Akril lemez (5 mm)
- Színes huzal
Eszközök
- Villanyfúró
- Router
- Állítható lapos favágó
- Erőcsiszoló
- Kézifűrész
- Forrasztópáka
- Ragasztópisztoly
- Csiszolópapír
- Dán olaj
Csiszolás
Azzal kezdtem, hogy az erőcsiszolóval egyenesítettem ki és tisztítottam meg a fát, amíg minden oldala tiszta és sima nem lesz. Néhány hiányosságot láthatóan hagytam, és nem teljesen egyenes vagy szögletes, mivel szeretem látni a fa történetének egy részét.
A lyukak jelölése és vágása
Csiszolás után azt az oldalt választottam, amelyre az óra számlapját kívántam, és a sarkot minden vonalból húzva megjelöltem a közepét. Kicsit nagyobbra állítottam az állítható fát, mint a led gyűrű, így lenne egy polc, ahol az akril leülhet, és körülbelül 5 mm mélyen vághat, majd állítsa a vágót a LED -gyűrű méreténél, és vágjon le további 5 mm -t.
Elvezetés és kábelfuratok
Az útválasztómat a 12 mm -es bittel használva kihúztam egy mélyedést a blokk alján, hogy elrejtsem az RTC -t és az Arduino -t. Körülbelül 15 mm mély és nem kevesebb, mint 5 mm bármelyik széltől. Alulról megjelöltem a középpontot, és egy 10 mm -es bit segítségével fúrtam fel, csak félúton, hogy lehetővé tegyék a LED -vezetékek használatát. Ezután egy 5 mm -es bit segítségével a LED -bemélyedés közepéről fúrtam a 10 mm -es lyukat alulról.
Még egy 4 mm -es lyuk a hátsó részen az áramellátáshoz, és egy kisebb útválasztó bit segítségével csatornát kell készíteni a LED -gyűrű hátoldalán lévő vezetékekhez, és a fafeldolgozás kész.
2. lépés: Akril körök
Ahhoz, hogy az óra elejéhez akrilt készítsek, azt mondtam, hogy egy négyzet alakú darabot vágok, ami éppen nagyobb, mint a lyuk, amelyet ki kell töltenie. Ezután az elektromos csiszológép segítségével elkezdtem eltávolítani a sarkokat, amíg a megfelelő alakú és méretű nem lett. Ezután áttértem a kézi csiszolásra, hogy ne lőjek túl, és újra kell kezdenem.
Lassú és fárasztó próba -tévedés volt, amíg nem illeszkedett pontosan, de azt hiszem, a végeredmény megérte. Befejezésül egy nagyon finom szemcseméretű papírt használtam, hogy az akril eleje fagyos legyen.
3. lépés: Forrasztás
Szívesen használok színrendszert a vezetékeimhez ezen alkalomból:
- Piros az áramellátáshoz (5v)
- Fehér a földhöz
- Sárga az adatokhoz
- Zöld az Óra számára
Kezdtem azzal, hogy a 3 szükséges vezetéket a fenti rendszer segítségével a LED -gyűrűre forrasztottam, és lenyomtam a vezetékeket a lyukon. Mivel nem szabad valódi kényszernek kitenni, egy kis forró ragasztóval tartottam a gyűrűt a helyén. (Lehet, hogy cserélnem kell valamikor), és az akrilt csak egy kis forró ragasztóval kell felszerelni a szélén.
Ezután a fenti rendszer segítségével forrasztottam a 4 vezetéket az RTC -re. Hogy kicsit rendesebb legyen a helyzet, úgy döntöttem, hogy az Arduino -ból merítek energiát az RTC -hez. Ezután mindent az Arduino -hoz csatlakoztatott, és 1 vezetéket forrasztott a tápellátáshoz, egyet pedig a földeléshez az Arduino -hoz.
RTC
- SCL (óra) az 5. analóg érintkezőre
- SDA (adatok) - 4. analóg érintkező
- VCC 5V -ig
- GND bármely GND -re az Arduino -n
LED gyűrű
Din a Digitális Pin 6 -hoz
Egy régi USB -kábel lógott körülöttem, ezért úgy döntöttem, hogy ezt használom az óra áramellátására. Levágtam a végét, amely általában kapcsolódik valamihez, és benyomtam a hátsó lyukon. Ezután lecsupaszította és megfestette a végeket, mielőtt a VCC -t az Arduino -hoz forrasztotta, a LED -gyűrűt a pozitív oldalhoz, a földet pedig az Arduino -tól és a LED -et a földhöz. Kicsit csökken a hőm, és jól nézett ki, A forró ragasztópisztoly visszajött, hogy mindent lenyomjon. Úgy döntöttem, hogy elég játékkal hagyom ott az Arduino -t, hogy a jövőben hozzáférhessek az USB -porthoz, hogy programozhassam, de nem annyira, hogy kieshessek.
4. lépés: A kód
Most már fel kell töltenie ezt a kódot az Arduino -ba.
Ha az RTC nem fut, ez a kód a kód összeállítása alapján állítja be az időt, ezért ügyeljen arra, hogy csak nyomja meg a feltöltés gombot, és ne ellenőrizze.
felváltva ez is nagyon jól működik az idő beállításához.
www.instructables.com/id/Setting-the-DS130…
Ennek a kódnak a nagy részét az Adafruit NeoPixel könyvtárából kölcsönöztem, és néhányat egy RTC könyvtárból találtam, és néhányat magam készítettem.
// tartalmazza a könyvtár kódját: #include
#befoglalni
#befoglalni
// definiálja a csapokat
#define PIN 6
#define BRIGHTNESS 20 // a maximális fényerő beállítása
#define r 5
#define g 5
#define b 5
RTC_DS3231 rtc; // Óraobjektum létrehozása
Adafruit_NeoPixel csík = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // szalag objektum
void setup () {
Wire.begin (); // Indítsa el az I2C -t
rtc.begin (); // kezdődik az óra
Sorozat.kezdet (9600);
// pinmodes beállítása
pinMode (PIN, OUTPUT);
if (rtc.lostPower ()) {
Serial.println ("Az RTC elvesztette az áramot, állítsuk be az időt!");
// a következő sor az RTC -t a vázlat összeállításának dátumára és időpontjára állítja
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// Ez a sor az RTC -t explicit dátummal és idővel állítja be, például beállítani
2014. január 21 -én hajnali 3 órakor a következőt hívja:
// rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0));
}
strip.begin ();
strip.show (); // Inicializálja az összes képpontot "kikapcsolt" állapotba
DateTime theTime = rtc.now (); // figyelembe veszi a DST -t
byte secondval = theTime.second (); // másodpercet kap
byte minuteval = theTime.minute (); // percet kap
int hourval = theTime.hour ();
pont (csík. Szín (0, g, 0), 50);
}
void loop () {
// időt kapni
DateTime theTime = rtc.now (); // figyelembe veszi a DST -t
int minuteval = theTime.minute (); // percet kap
int hourval = theTime.hour (); // órákat kap
int secondval = theTime.second ();
if (perc 0) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
különben ha (percérték <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
különben ha (minuteval <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
különben ha (percérték <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
különben ha (minuteval <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
különben ha (percérték <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
különben ha (percérték <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
különben ha (perc = <39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
különben ha (perc = <44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
különben ha (perc = <49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
különben ha (percérték <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
különben ha (perc = <59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
késleltetés (1000);
for (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
if (óra = = 0) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
különben ha (óra = = 1) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
különben ha (óra = = 2) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
különben ha (óra = = 3) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
különben ha (óra = = 4) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
különben ha (óra = = 5) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
különben ha (óra = = 6) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
különben ha (óra = = 7) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
különben ha (óra = = 8) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
különben ha (óra = = 9) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
különben ha (óra = = 10) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
különben ha (óra = = 11) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
különben ha (óra = = 12) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
különben ha (óra = = 13) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
különben ha (óra = = 14) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
különben ha (óra = = 15) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
különben ha (óra = = 16) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
különben ha (óra = = 17) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
különben ha (óra = = 18) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
különben ha (óra = = 19) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
különben ha (óra = = 20) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
különben ha (óra = = 21) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
különben ha (óra = = 22) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
különben ha (óra = = 23) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
késleltetés (1000);
(int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
// soros hibakereséshez
Soros.nyomtatás (óra, DEC);
Serial.print (':');
Serial.print (percérték, DEC);
Serial.print (':');
Serial.println (secondval, DEC);
}
üres pont (uint32_t c, uint8_t várjon) {
mert (int j = 0; j <3; j ++) {
for (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
strip.show ();
késleltetés (várakozás);
(int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
5. lépés: Dán olaj
Az utolsó és opcionális lépés egy dán olaj felhordása a fára. Nagyon szeretem, ahogy kihozza a gabonát, valamint védelmet nyújt a foltoktól és a nedvességtől. Szóval nagyon ajánlom.
Ecsetelheti, vagy csak egy régi ruhával törölgetem.
Most már nincs más hátra, mint csatlakoztatni és élvezni.
Ajánlott:
IEEE WORD CLOCK PROJEKT: 12 lépés (képekkel)
IEEE WORD CLOCK PROJECT: Ez az UNO IEEE klubjának projektje, egyedülálló módja annak, hogy megjelenítse az órát. A Word Clock kijelzi az időt, és az RGB szalaggal tetszőleges színű órát állíthat be. Az ESP32 WiFi képességeit kihasználva a clo
RGB HexMatrix - IOT Clock 2.0: 5 lépés (képekkel)
RGB HexMatrix | IOT Clock 2.0: A HexMatrix 2.0 a korábbi HexMatrix frissítése. Az előző verzióban olyan WS2811 LED -eket használtunk, amelyekkel a HexMatrix nehéz és vastag lett. De a mátrix ezen változatában egyedi PCB -ket fogunk használni WS2812b LED -ekkel, amelyek ezt a mátrixot t
Nixie Clock YT: 9 lépés (képekkel)
Nixie Clock YT: Üdv mindenkinek, ez az új nixie órám. Ez az én 2.0 -ás verzióm. Az első modell nem tartalmazza az utasításokat. képet később látni fog. Közel azonos. A különbség az, hogy nincs led, egyes alkatrészek mártócsomagban vannak, és a tábla is nagyobb. Szóval ez m
CLEPCIDRE: a Cider Bottles Digital Clock: 8 lépés (képekkel)
CLEPCIDRE: a Cider Bottles Digital Clock: Mielőtt belevetném magam az objektum leírásába, meg kell magyaráznom azt a kontextust, amelyben azt tervezték és építették. A feleségem művész, és alapvetően agyaggal dolgozik, mint keramikus, de más anyagokkal is, mint a fa, a pala vagy az üveg. A legtöbbjében
LittleBits Mad Libs (-ish): 7 lépés (képekkel)
LittleBits Mad Libs (-ish): Készen áll arra, hogy bevonja diákjait egy kihívásba, amely integrálja az NGSS (Next Generation Science Standards) mérnöki gyakorlatokat (és még többet, ha más korlátozásokat is hozzáad!)? Labs, Lego WeDo, LEGO