Sisällysluettelo:

Ish -kello: 5 vaihetta (kuvilla)
Ish -kello: 5 vaihetta (kuvilla)

Video: Ish -kello: 5 vaihetta (kuvilla)

Video: Ish -kello: 5 vaihetta (kuvilla)
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Heinäkuu
Anonim
Image
Image
Osien kerääminen ja puutyöt
Osien kerääminen ja puutyöt

Usein huomaan ostavani asioita, joita minulla ei ole aavistustakaan, mitä teen. Tämä projekti on seurausta ostetusta renkaasta, jossa on 12x WS2812b -merkkivaloa. Minulla ei ollut suunnitelmia sitä varten, mutta se näytti siistiltä verkossa, joten jäin yhden ostoskoriini, pelasin sillä jonkin aikaa sen saapuessa ja unohdin sitten kaiken.

Hetken kuluttua ajattelin tehdä kellon ja muistin, että se istui siellä tekemättä mitään. Ajattelin ostaa toisen renkaan, jossa oli 60 LED -valoa minuuttien muodostamiseksi, mutta sitten aloin miettiä, miten me / minulla on tapana katsoa aikaa ja pyöristää se lähimpään 5 minuuttiin.

Tämän kanssa omassani lähdin 12 LED -renkaan kanssa tekemään ish -kellon. Se näyttää 1 LED -valon kerrallaan 1 sekunnin ajan osoittamaan tunnit (sininen LED) ja sitten minuutit (punainen LED) pyöristettynä alaspäin

Vaihe 1: Osien ja puutöiden kokoaminen

Osien kerääminen ja puutyöt
Osien kerääminen ja puutyöt
Osien kerääminen ja puutyöt
Osien kerääminen ja puutyöt
Osien kerääminen ja puutyöt
Osien kerääminen ja puutyöt

Olin onnekas, kun saavuin eräänä päivänä töihin ja löysin lavan. Tämä lava tarttui minuun, koska se ei näyttänyt tavalliselta myllylavan ajolta. Se oli puhdasta, lämpökäsiteltyä ja epätavallisen kiinteää tammea.

Tämä projekti on tehty yhdestä kyseisen lavan palasista. (Kysyin pomolta ennen kuin vein sen kotiin)

Käytetään myös:

  • 12 pikselin ws2812b LED -rengas
  • Real Time Clock (RTC) -moduuli (käytän DS3231 ja I2C)
  • Arduino Nano v3.0 -yhteensopiva
  • Akryylilevy (5mm)
  • Värillinen lanka

Työkalut

  • Porakone
  • Reititin
  • Säädettävä litteä puukärki
  • Sähköhiomakone
  • Käsisaha
  • Juotin
  • Kuuma liimapistooli
  • Hiekkapaperi
  • Tanskalainen öljy

Hionta

Aloitin suorittamalla ja puhdistamalla puupalkin sähköhiomakoneella, kunnes kaikki sivut ovat puhtaat ja sileät. Jätin joitakin epätäydellisyyksiä näkyviin eikä se ole täysin suora tai neliömäinen, koska haluan nähdä osan puun historiasta.

Reikien merkitseminen ja leikkaaminen

Hionnan jälkeen valitsin sen sivun, jonka halusin kellon etupuolen, ja merkitsin keskipisteen piirtämällä viivoja jokaisesta kulmasta. Asetin säädettävän puun hieman hiukan suuremmaksi kuin led -rengas, joten akryylille olisi hylly istua ja leikata noin 5 mm: n syvyyteen ja sitten säätää leikkuria hieman yli LED -renkaan ja leikata vielä noin 5 mm.

Reititys ja kaapelireiät

Käyttäen reititintäni 12 mm: n bitin kanssa, reititin lohkon pohjassa olevan syvennyksen RTC: n ja Arduinon piilottamiseksi. Se on noin 15 mm syvä ja vähintään 5 mm mistä tahansa reunasta. Merkitsin keskikohdan (ish) alhaalta ja porasin ylös 10 mm: n bitillä juuri puolivälissä LED -johtojen sallimiseksi. Sitten porasin 5 mm: n terän avulla LED -syvennyksen keskeltä 10 mm: n reiän pohjasta.

Vielä yksi 4 mm reikä takana virtaa varten ja käyttämällä pienempää jyrsinterää kanavan luomiseksi LED -renkaan takana oleville johtimille ja puutyö on tehty.

Vaihe 2: Akryyliympyrät

Akryyliympyrät
Akryyliympyrät
Akryyliympyrät
Akryyliympyrät
Akryyliympyrät
Akryyliympyrät

Kellon etuosan akryylin valmistamiseksi sanoin, että leikataan neliömäinen kappale, joka oli vain suurempi kuin reikä, jonka sen täytyi täyttää. Sitten aloitin sähköhiomakoneella ja aloitin kulmien poistamisen, kunnes se oli suunnilleen oikean muotoinen ja kokoinen. Sitten siirryin käsin hiontaan, joten en ampunut liikaa ja minun on aloitettava alusta.

Se oli hidas ja tylsä yritys- ja erehdysprosessi, kunnes se sopi oikein, mutta mielestäni lopputulos oli sen arvoinen. Lopetin käyttämällä erittäin hienojakoista paperia antamaan akryylin etupuolelle himmeän ilmeen.

Vaihe 3: Juotos

Juotos
Juotos
Juotos
Juotos
Juotos
Juotos
Juotos
Juotos

Käytän mielelläni värijärjestelmää johtoihini tässä yhteydessä:

  • Punainen virralle (5v)
  • Valkoinen maahan
  • Keltainen tiedoille
  • Vihreä kellolle

Aloitin juottamalla 3 tarvittavaa johtoa LED -renkaaseen yllä olevan järjestelmän avulla ja työntämällä johdot reiästä alaspäin. Koska se ei saisi altistua todellisille pakotuksille, käytin pientä kuumaa liimaa pitämään renkaan paikallaan. (Minun on ehkä vaihdettava se joskus) ja asenna akryyli vain hieman kuumalla liimalla reunan ympärille.

Juotin sitten 4 johtoa RTC: hen yllä olevan järjestelmän avulla. Jotta asiat olisivat hieman siistimpiä, päätin saada virtaa RTC: lle Arduinosta. Sitten liitettiin kaikki Arduinoon ja juotettiin yksi johto virtalähteeksi ja toinen maadoitukseen Arduinoon.

RTC

  • SCL (kello) analogiseen nastaan 5
  • SDA (data) analogiseen nastaan 4
  • VCC - 5V
  • GND mihin tahansa Arduinon GND: hen

LED -rengas

Din to Digital Pin 6

Minulla oli vanha USB -kaapeli roikkumassa, joten päätin käyttää sitä kellon virransyöttöön. Leikkasin pois pään, joka normaalisti yhdistyisi johonkin, ja työnsin sen takana olevan reiän läpi. Sitten irrotettiin ja värjättiin päät ennen VCC: n juottamista Arduinolle ja LED -rengas positiiviselle puolelle ja maa Arduinolta ja LED maadoitukselle. Kutistuin vähän myöhemmin ja se näytti hyvältä, Kuuma liimapistooli tuli takaisin pitämään kaiken painettuna. Päätin jättää Arduinon tarpeeksi leikkiin, jotta voin käyttää USB -porttia ohjelmoida sitä tulevaisuudessa, mutta en niin paljon, että voisin pudota.

Vaihe 4: Koodi

Sinun pitäisi nyt pystyä lataamaan tämä koodi Arduinolle.

Jos RTC ei ole käynnissä, tämä koodi asettaa ajan koodin laatimisen perusteella, joten paina vain latauspainiketta äläkä vahvista.

Vaihtoehtoisesti tämä toimii myös todella hyvin ajan asettamisessa.

www.instructables.com/id/Setting-the-DS130…

Suuren osan tästä koodista lainasin Adafruit NeoPixel -kirjastosta ja osan löytämästäni RTC -kirjastosta, ja osan keksin itse.

// sisällytä kirjastokoodi: #include

#sisältää

#sisältää

// määrittele nastat

#määritä PIN 6

#define BRIGHTNESS 20 // aseta kirkkaus

#määrittele r 5

#määrittele g 5

#määrittele b 5

RTC_DS3231 rtc; // Luo kello -objekti

Adafruit_NeoPixel strip = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // nauhoita esine

void setup () {

Wire.begin (); // Aloita I2C

rtc.begin (); // aloita kello

Sarja.alku (9600);

// asettaa pinmodeja

pinMode (PIN, OUTPUT);

if (rtc.lostPower ()) {

Serial.println ("RTC katkaisi virran, asettaa ajan!");

// seuraava rivi asettaa RTC: lle päivämäärän ja kellonajan, jolloin tämä luonnos laadittiin

rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));

// Tämä rivi asettaa RTC: lle nimenomaisen päivämäärän ja kellonajan, esimerkiksi asetettavaksi

// 21. tammikuuta 2014 klo 3, soitat:

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

}

strip.begin ();

strip.show (); // Alusta kaikki pikselit pois päältä

DateTime theTime = rtc.now (); // ottaa huomioon DST

tavu secondval = theTime.second (); // saat sekunteja

tavu minuteval = theTime.minute (); // saada minuutteja

int hourval = theTime.hour ();

piste (nauha. väri (0, g, 0), 50);

}

void loop () {

// saa aikaa

DateTime theTime = rtc.now (); // ottaa huomioon DST

int minuteval = theTime.minute (); // saada minuutteja

int hourval = theTime.hour (); // saat tunteja

int secondval = theTime.second ();

jos (minuutti 0) {

strip.setPixelColor (0, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 9) {

strip.setPixelColor (1, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 14) {

strip.setPixelColor (2, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 19) {

strip.setPixelColor (3, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 24) {

strip.setPixelColor (4, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 29) {

strip.setPixelColor (5, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 34) {

strip.setPixelColor (6, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 39) {

strip.setPixelColor (7, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 44) {

strip.setPixelColor (8, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 49) {

strip.setPixelColor (9, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 54) {

strip.setPixelColor (10, r, 0, 0);

strip.show ();}

muuten jos (minuutti <= 59) {

strip.setPixelColor (11, r, 0, 0);

strip.show ();}

viive (1000);

(int i = 0; i <12; i ++) {

strip.setPixelColor (i, 0, 0, 0);

strip.show ();

}

jos (tunti == 0) {

strip.setPixelColor (0, 0, 0, b);

strip.show ();}

muuten jos (tunti == 1) {

strip.setPixelColor (1, 0, 0, b);

strip.show ();}

muuten jos (tunti == 2) {

strip.setPixelColor (2, 0, 0, b);

strip.show ();}

muuten jos (tunti == 3) {

strip.setPixelColor (3, 0, 0, b);

strip.show ();}

muuten jos (tunti == 4) {

strip.setPixelColor (4, 0, 0, b);

strip.show ();}

muuten jos (tunti == 5) {

strip.setPixelColor (5, 0, 0, b);

strip.show ();}

muuten jos (tunti == 6) {

strip.setPixelColor (6, 0, 0, b);

strip.show ();}

muuten jos (tunti == 7) {

strip.setPixelColor (7, 0, 0, b);

strip.show ();}

muuten jos (tunti == 8) {

strip.setPixelColor (8, 0, 0, b);

strip.show ();}

muuten jos (tunti == 9) {

strip.setPixelColor (9, 0, 0, b);

strip.show ();}

muuten jos (tunti == 10) {

strip.setPixelColor (10, 0, 0, b);

strip.show ();}

muuten jos (tunti == 11) {

strip.setPixelColor (11, 0, 0, b);

strip.show ();}

muuten jos (tunti == 12) {

strip.setPixelColor (0, 0, 0, b);

strip.show ();}

muuten jos (tunti == 13) {

strip.setPixelColor (1, 0, 0, b);

strip.show ();}

muuten jos (tunti == 14) {

strip.setPixelColor (2, 0, 0, b);

strip.show ();}

muuten jos (tunti == 15) {

strip.setPixelColor (3, 0, 0, b);

strip.show ();}

muuten jos (tunti == 16) {

strip.setPixelColor (4, 0, 0, b);

strip.show ();}

muuten jos (tunti == 17) {

strip.setPixelColor (5, 0, 0, b);

strip.show ();}

muuten jos (tunti == 18) {

strip.setPixelColor (6, 0, 0, b);

strip.show ();}

muuten jos (tunti == 19) {

strip.setPixelColor (7, 0, 0, b);

strip.show ();}

muuten jos (tunti == 20) {

strip.setPixelColor (8, 0, 0, b);

strip.show ();}

muuten jos (tunti == 21) {

strip.setPixelColor (9, 0, 0, b);

strip.show ();}

muuten jos (tunti == 22) {

strip.setPixelColor (10, 0, 0, b);

strip.show ();}

muuten jos (tunti == 23) {

strip.setPixelColor (11, 0, 0, b);

strip.show ();}

viive (1000);

(int i = 0; i <12; i ++) {

strip.setPixelColor (i, 0, 0, 0);

strip.show ();

}

// sarjan virheenkorjausta varten

Sarjajälki (tunti, DEC);

Serial.print (':');

Serial.print (minuutti, DEC);

Serial.print (':');

Serial.println (secondval, DEC);

}

mitätön piste (uint32_t c, uint8_t odota) {

(int j = 0; j <3; j ++) {

(int i = 0; i <12; i ++) {

strip.setPixelColor (i, c);

strip.show ();

viive (odota);

(int i = 0; i <12; i ++) {

strip.setPixelColor (i, 0, 0, 0);

strip.show ();}

}

}

}

Vaihe 5: Tanskalainen öljy

Tanskalainen öljy
Tanskalainen öljy
Tanskalainen öljy
Tanskalainen öljy
Tanskalainen öljy
Tanskalainen öljy
Tanskalainen öljy
Tanskalainen öljy

Viimeinen ja valinnainen vaihe on levittää tanskalaista öljyä puuhun. Pidän todella siitä, miten se tuo viljan esiin ja tarjoaa jonkin verran suojaa tahroilta ja kosteudelta. Joten suosittelen sitä lämpimästi.

Voit harjata sen päälle tai pyyhin sen vain vanhalla liinalla.

Nyt ei ole muuta kuin kytkeä se ja nauttia.

Suositeltava: