Sisukord:

Ish Clock: 5 sammu (koos piltidega)
Ish Clock: 5 sammu (koos piltidega)

Video: Ish Clock: 5 sammu (koos piltidega)

Video: Ish Clock: 5 sammu (koos piltidega)
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Juuli
Anonim
Image
Image
Osade kogumine ja puutööd
Osade kogumine ja puutööd

Tihti leian, et ostan ise asju, millest mul pole aimugi, mida ma teen. See projekt on rõnga ostmise tulemus, millel on sisse lülitatud 12x WS2812b LED -d. Mul polnud selle jaoks plaane, kuid see tundus võrgus lahe, nii et ma jätsin ühe oma ostukorvi, mängisin sellega mõnda aega, kui see saabus, ja siis unustasin selle kõik.

Mõni aeg hiljem mõtlesin teha kella ja meenus, et see istus seal ja ei teinud midagi. Mõtlesin osta teise rõnga, millel on 60 LED -i, et teha minutid, kuid siis hakkasin mõtlema, kuidas me / mina kipume kella vaatama ja ümardama selle 5 minuti täpsusega.

Sellega hakkasin oma 12 LED -rõngaga ish -kella tegema. See kuvab 1 LED -i korraga 1 sekundiks, et näidata tunde (sinine LED) ja seejärel minuteid (punane LED) allapoole ümardatuna

Samm: osade ja puidutööde kogumine

Osade kogumine ja puutööd
Osade kogumine ja puutööd
Osade kogumine ja puutööd
Osade kogumine ja puutööd
Osade kogumine ja puutööd
Osade kogumine ja puutööd

Mul oli väga õnn, et jõudsin ühel päeval tööle ja märkasin kaubaalust. See kaubaalus jäi mulle silma, kuna see ei tundunud teie standardse veskiga kaubaaluse järgi. See oli puhas, kuumtöödeldud ja ebatavaliselt tahke tamm.

See projekt on valmistatud ühest selle kaubaaluse tükist. (Küsisin ülemuselt enne koju viimist)

Kasutatakse ka:

  • 12 piksline ws2812b LED -rõngas
  • Reaalajas kella (RTC) moodul (kasutan DS3231 koos I2C -ga)
  • Arduino Nano v3.0 ühilduv
  • Akrüülleht (5 mm)
  • Värviline traat

Tööriistad

  • Jõupuur
  • Ruuter
  • Reguleeritav lame puidust otsik
  • Elektriline lihvmasin
  • Käsisaag
  • Jootekolb
  • Kuum liimipüstol
  • Liivapaber
  • Taani õli

Lihvimine

Alustasin elektrilise lihvimismasinaga puitploki sirgendamiseks ja puhastamiseks, kuni kõik küljed olid puhtad ja siledad. Jätsin mõned puudused nähtavaks ja see ei ole täiesti sirge ega ruudukujuline, kuna mulle meeldib näha puidust ajalugu.

Aukude märgistamine ja lõikamine

Pärast lihvimist valisin külje, mida soovisin kella nägu, ja märkisin keskpunkti, tõmmates igast nurgast jooni. Seadsin reguleeritava puidust natuke suuremaks kui LED -rõngas, nii et akrüülil oleks riiul, kus saaks istuda ja lõigata umbes 5 mm sügavust, seejärel reguleerida lõikurit veidi üle LED -rõnga suuruse ja lõigata veel umbes 5 mm.

Marsruut ja kaabliavad

Kasutades oma ruuterit 12 mm bitiga, suunasin ploki põhja välja RTC ja Arduino peitmiseks süvendi. Selle sügavus on umbes 15 mm ja servast mitte vähem kui 5 mm. Märkisin altpoolt keskosa (ish) ja puurisin 10 mm bitti kasutades ülespoole, et LED -juhtmed oleksid võimalikud. Seejärel puurisin 5 mm otsiku abil LED -süvendi keskelt, et täita 10 mm auk alt.

Veel üks 4 mm auk tagaküljel toite saamiseks ja väiksema ruuteri abil LED -rõnga tagaküljel asuvate juhtmete jaoks kanali tegemiseks ja puutööd on tehtud.

2. samm: akrüülringid

Akrüülringid
Akrüülringid
Akrüülringid
Akrüülringid
Akrüülringid
Akrüülringid

Kella esiosa jaoks akrüüli valmistamiseks ütlesin, et lõikasin ruudukujulise tüki, mis oli lihtsalt suurem kui auk, mille see pidi täitma. Seejärel hakkasin elektrilise lihvimismasina abil alustama nurkade eemaldamist, kuni see oli õige kuju ja suurusega. Seejärel liikusin käsitsi lihvimise peale, nii et ma ei lasknud üle tulistada ja pean otsast alustama.

See oli aeglane ja tüütu katse -eksituse protsess, kuni see sobis, kuid arvan, et lõpptulemus oli seda väärt. Lõpetuseks kasutasin väga peeneteralist paberit, et anda akrüüli esiküljele härmatatud välimus.

3. samm: jootmine

Jootmine
Jootmine
Jootmine
Jootmine
Jootmine
Jootmine
Jootmine
Jootmine

Mulle meeldib sel juhul juhtmete jaoks kasutada värvisüsteemi, mille valin:

  • Punane toiteallika jaoks (5v)
  • Valge maapinna jaoks
  • Andmete jaoks kollane
  • Roheline kella jaoks

Alustasin 3 vajaliku juhtme jootmisega ülaltoodud süsteemi abil LED -rõngale ja surusin juhtmed auku alla. Kuna see ei tohiks olla sunnitud, kasutasin rõnga paigal hoidmiseks pisikest kuuma liimi. (Ma pean võib -olla seda millalgi muutma) ja paigaldage akrüül serva ümber veidi kuuma liimiga.

Seejärel jootsin ülaltoodud süsteemi abil 4 juhtmest RTC külge. Asjade pisut heas korras hoidmiseks otsustasin Arduinost RTC jaoks jõudu ammutada. Seejärel ühendas kõik Arduinoga ja jootis 1 juhtme toiteallikaks ja teise maandamiseks Arduino külge.

RTC

  • SCL (kell) analoogpinnile 5
  • SDA (andmed) kuni analoogpistikuni 4
  • VCC kuni 5V
  • GND mis tahes Arduino GND -le

LED rõngas

Din kuni Digital Pin 6

Mul oli vana USB -kaabel rippumas, nii et otsustasin seda kella toiteks kasutada. Lõikasin ära selle otsa, mis tavaliselt millegagi ühenduks, ja surusin selle läbi taga oleva augu. Seejärel eemaldati ja tooniti otsad enne VCC jootmist Arduino külge ja LED -rõngast positiivsele küljele ning maapinda Arduino ja LED -i maandusele. Hiljem kahanesin veidi ja see tundus hea, Kuum liimipüstol tuli tagasi, et hoida kõike all. Otsustasin jätta Arduino piisavalt mängima, et saaksin tulevikus USB -porti juurde pääseda, et seda programmeerida, kuid mitte nii palju, et saaksin välja kukkuda.

Samm: kood

Nüüd peaksite saama selle koodi Arduinosse üles laadida.

Kui RTC ei tööta, määrab see kood koodi koostamise aja, seega klõpsake kindlasti üleslaadimisnuppu ja ärge seda kinnitage.

vaheldumisi sobib see ka aja määramiseks väga hästi.

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

Suure osa sellest koodist laenasin Adafruit NeoPixeli raamatukogust ja osa RTC raamatukogust, mille leidsin ja osa mõtlesin ise välja.

// lisada raamatukogu kood: #include

#kaasake

#kaasake

// määrake tihvtid

#defineeri PIN 6

#define BRIGHTNESS 20 // määrake maksimaalne heledus

#määratle r 5

#määratle g 5

#defineeri b 5

RTC_DS3231 rtc; // Kellaobjekti loomine

Adafruit_NeoPixel riba = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // riba objekt

tühine seadistus () {

Wire.begin (); // Alustage I2C

rtc.begin (); // alusta kella

Seriaalne algus (9600);

// määrake pinmodeid

pinMode (PIN, VÄLJUND);

if (rtc.lostPower ()) {

Serial.println ("RTC kaotas voolu, määrab aja!");

// järgmine rida määrab RTC -le selle visandi koostamise kuupäeva ja kellaaja

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

// See rida määrab RTC -le selgesõnalise kuupäeva ja kellaaja, näiteks seadistamiseks

// 21. jaanuar 2014 kell 3:00 helistate:

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

}

riba.algus ();

strip.show (); // Initsialiseeri kõik pikslid olekusse „väljas”

DateTime theTime = rtc.now (); // võtab arvesse DST

bait secondval = theTime.second (); // saada sekundeid

bait minutivalik = theTime.minute (); // saada minuteid

int hourval = theTime.hour ();

punkt (riba. Värv (0, g, 0), 50);

}

void loop () {

// saada aega

DateTime theTime = rtc.now (); // võtab arvesse DST

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

int hourval = theTime.hour (); // saada tunde

int secondval = theTime.second ();

kui (minutiaeg 0) {

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

strip.show ();}

muidu kui (minutiline <= 9) {

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

strip.show ();}

muidu kui (minutiline <= 14) {

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

strip.show ();}

muidu kui (minutiline <= 19) {

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

strip.show ();}

muidu kui (minutiline <= 24) {

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

strip.show ();}

muidu kui (minutiline <= 29) {

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

strip.show ();}

muidu kui (minutiline <= 34) {

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

strip.show ();}

muidu kui (minutiline <= 39) {

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

strip.show ();}

muidu kui (minutiline <= 44) {

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

strip.show ();}

muidu kui (minutiline <= 49) {

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

strip.show ();}

muidu kui (minutiline <= 54) {

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

strip.show ();}

muidu kui (minutiline <= 59) {

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

strip.show ();}

viivitus (1000);

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

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

strip.show ();

}

kui (tunniaeg == 0) {

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

strip.show ();}

muidu kui (tunniaeg == 1) {

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

strip.show ();}

muidu kui (tunniaeg == 2) {

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

strip.show ();}

muidu kui (tunniaeg == 3) {

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

strip.show ();}

muidu kui (tunniaeg == 4) {

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

strip.show ();}

muidu kui (tunniaeg == 5) {

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

strip.show ();}

muidu kui (tunniaeg == 6) {

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

strip.show ();}

muidu kui (tunniaeg == 7) {

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

strip.show ();}

muidu kui (tunniaeg == 8) {

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

strip.show ();}

muidu kui (tunniaeg == 9) {

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

strip.show ();}

muidu kui (tunniaeg == 10) {

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

strip.show ();}

muidu kui (tunniaeg == 11) {

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

strip.show ();}

muidu kui (tunniaeg == 12) {

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

strip.show ();}

muidu kui (tunniaeg == 13) {

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

strip.show ();}

muidu kui (tunniaeg == 14) {

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

strip.show ();}

muidu kui (tunniaeg == 15) {

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

strip.show ();}

muidu kui (tunniaeg == 16) {

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

strip.show ();}

muidu kui (tunniaeg == 17) {

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

strip.show ();}

muidu kui (tunniaeg == 18) {

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

strip.show ();}

muidu kui (tunniaeg == 19) {

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

strip.show ();}

muidu kui (tunniaeg == 20) {

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

strip.show ();}

muidu kui (tunniaeg == 21) {

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

strip.show ();}

muidu kui (tunniaeg == 22) {

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

strip.show ();}

muidu kui (tunniaeg == 23) {

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

strip.show ();}

viivitus (1000);

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

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

strip.show ();

}

// seeria silumiseks

Serial.print (tunniaeg, DEC);

Serial.print (':');

Serial.print (minuteval, DEC);

Serial.print (':');

Serial.println (secondval, DEC);

}

tühi punkt (uint32_t c, uint8_t oota) {

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

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

strip.setPixelColor (i, c);

strip.show ();

viivitus (oota);

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

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

strip.show ();}

}

}

}

Samm: Taani õli

Taani õli
Taani õli
Taani õli
Taani õli
Taani õli
Taani õli
Taani õli
Taani õli

Viimane ja valikuline samm on puidule veidi Taani õli kanda. Mulle väga meeldib, kuidas see tera välja toob, lisaks pakub see kaitset plekkide ja niiskuse eest. Seega soovitan soojalt.

Saate selle peale pintseldada või ma kasutan selle pühkimiseks lihtsalt vana lappi.

Nüüd pole muud üle kui ühendada ja nautida.

Soovitan: