Tartalomjegyzék:

Ish Clock: 5 lépés (képekkel)
Ish Clock: 5 lépés (képekkel)

Videó: Ish Clock: 5 lépés (képekkel)

Videó: Ish Clock: 5 lépés (képekkel)
Videó: Деление в столбик 2024, Július
Anonim
Image
Image
Alkatrészek és faipari munkák
Alkatrészek és faipari munkák

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

Alkatrészek és faipari munkák
Alkatrészek és faipari munkák
Alkatrészek és faipari munkák
Alkatrészek és faipari munkák
Alkatrészek és faipari munkák
Alkatrészek és faipari munkák

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

Akril körök
Akril körök
Akril körök
Akril körök
Akril körök
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

Forrasztás
Forrasztás
Forrasztás
Forrasztás
Forrasztás
Forrasztás
Forrasztá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

Dán olaj
Dán olaj
Dán olaj
Dán olaj
Dán olaj
Dán olaj
Dán olaj
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: