Sadržaj:

Ish sat: 5 koraka (sa slikama)
Ish sat: 5 koraka (sa slikama)

Video: Ish sat: 5 koraka (sa slikama)

Video: Ish sat: 5 koraka (sa slikama)
Video: КОНЕЦ МУЧЕНИЯМ. Трава больше не проблема! 2024, Studeni
Anonim
Image
Image
Skupljanje dijelova i obrada drveta
Skupljanje dijelova i obrada drveta

Često zatečem sebe kako kupujem stvari s kojima nemam pojma što ću učiniti. Ovaj projekt rezultat je kupnje prstena koji ima uključene 12x LED diode WS2812b. Nisam imao planove za to, ali izgledalo je super na internetu pa sam stavio jedan u košaricu, igrao se s njim neko vrijeme kad je stigao, a zatim zaboravio na sve.

Nešto kasnije razmišljao sam o izradi sata i sjetio se da je sjedio ne radeći ništa. Razmišljao sam o tome da kupim drugi prsten sa 60 LED dioda kako bih nadoknadio minute, ali onda sam počeo razmišljati kako mi / ja gledamo na vrijeme i zaokružujemo ga na najbližih 5 minuta.

S ovim u svom, krenuo sam sa svojim 12 LED prstenom u izradu iš sata. Prikazuje 1 LED odjednom na 1 sekundu, kako bi označio sate (plava LED), a zatim minute (crvena LED) zaokružene prema dolje

Korak 1: Skupljanje dijelova i obrada drveta

Skupljanje dijelova i obrada drveta
Skupljanje dijelova i obrada drveta
Skupljanje dijelova i obrada drveta
Skupljanje dijelova i obrada drveta
Skupljanje dijelova i obrada drveta
Skupljanje dijelova i obrada drveta

Imao sam veliku sreću što sam jednog dana stigao na posao i uočio paletu. Ova paleta mi je zapela jer nije izgledala kao tvoja standardna paleta mlina. Bio je čist, termički obrađen i najneobičnije čvrst hrast.

Ovaj je projekt izrađen od jednog od komada te palete. (Pitao sam šefa prije nego što sam ga odnio kući)

Također se koristi:

  • LED prsten ws2812b od 12 piksela
  • Modul sata u realnom vremenu (RTC) (koristim DS3231 s I2C)
  • Kompatibilan s Arduino Nano v3.0
  • Akrilni lim (5 mm)
  • Obojena žica

Alati

  • Bušilica
  • Ruter
  • Podesivi ravni drveni bit
  • Strojna brusilica
  • Ručna pila
  • Lemilica
  • Pištolj za vruće ljepilo
  • Brusni papir
  • Dansko ulje

Brušenje

Počeo sam pomoću brusilice za ispravljanje i čišćenje drvenog bloka dok sve strane ne budu čiste i glatke. Ostavio sam neke nedostatke vidljive i nisu savršeno ravne ili četvrtaste jer volim vidjeti dio povijesti u šumi.

Označavanje i izrezivanje rupa

Nakon brušenja odabrao sam stranu sa koje sam htio lice sata i označio središte povlačenjem linija iz svakog kuta. Postavio sam podesivo drvo malo veće od LED prstena kako bi postojala polica na koju bi akril mogao sjesti i izrezati dubinu od oko 5 mm, a zatim podesiti rezač malo iznad veličine LED prstena i izrezati još oko 5 mm.

Rupe za usmjeravanje i kabel

Koristeći svoj usmjerivač s 12 -milimetarskim bitom izbušio sam udubljenje na dnu bloka kako bih sakrio RTC i Arduino. Dubina mu je oko 15 mm i najmanje 5 mm od bilo kojeg ruba. Obilježio sam središte (ish) odozdo i izbušio pomoću 10 -milimetarskog bita tek na pola puta kako bih omogućio LED žice. Zatim sam bušilicom od 5 mm izbušio središte LED udubljenja kako bih susreo rupu od 10 mm odozdo.

Još jedna rupa na stražnjoj strani od 4 mm za napajanje i pomoću manjeg usmjerivača za izradu kanala za žice na stražnjoj strani LED prstena i drvo je obavljeno.

Korak 2: Akrilni krugovi

Akrilni krugovi
Akrilni krugovi
Akrilni krugovi
Akrilni krugovi
Akrilni krugovi
Akrilni krugovi

Za izradu akrila za prednji dio sata naveo sam izrezivanje četvrtastog komada koji je bio samo veći od rupe koju je morao popuniti. Zatim sam pomoću brusilice za početak počeo uklanjati uglove sve dok nije postigao pravi oblik i veličinu. Zatim sam prešao na ručno brušenje kako ne bih pretjerao sa snimanjem i morao sam početi ispočetka.

Bio je to spor i dosadan proces pokušaja i pogrešaka dok se nije uklopio kako treba, ali mislim da se krajnji rezultat isplatio. Završio sam koristeći papir vrlo finog zrna kako bih prednjoj strani akrila dao zaleđen izgled.

Korak 3: Lemljenje

Lemljenje
Lemljenje
Lemljenje
Lemljenje
Lemljenje
Lemljenje
Lemljenje
Lemljenje

Volim koristiti sustav boja za svoje žice, ovom prilikom odaberem:

  • Crveno za napajanje (5v)
  • Bijela za tlo
  • Žuta za podatke
  • Zelena za Sat

Započeo sam lemljenjem 3 potrebne žice na LED prsten pomoću gornjeg sustava i guranjem žica niz rupu. Kako ne bi trebao biti izložen nikakvoj stvarnoj prisili, upotrijebio sam sićušan dio vrućeg ljepila da držim prsten na mjestu. (Možda ću ga morati promijeniti) i instalirati akril sa samo malo vrućeg ljepila oko ruba.

Zatim sam lemio 4 žice na RTC koristeći gornji sustav. Da stvari budu malo urednije, odlučio sam napajati RTC iz Arduina. Zatim je sve spojio na Arduino i lemio 1 žicu za napajanje, a drugu za uzemljenje na Arduino.

RTC

  • SCL (Sat) na analogni pin 5
  • SDA (podaci) na analogni pin 4
  • VCC na 5V
  • GND bilo kojem GND -u na Arduinu

LED prsten

Din na digitalni pin 6

Motao sam stari USB kabel pa sam odlučio to upotrijebiti za napajanje sata. Odrezao sam kraj koji bi se normalno spojio s nečim i gurnuo ga kroz rupu na stražnjoj strani. Zatim ogolite i zategnite krajeve prije lemljenja VCC -a na Arduino i LED prstena na pozitivnu stranu te uzemljenje od Arduina i LED na uzemljenje. Kasnije sam se malo zagrijao i izgledalo je dobro, Pištolj za vruće ljepilo vratio se kako bi zadržao sve. Odlučio sam napustiti Arduino s dovoljno igre da ću moći pristupiti USB priključku za njegovo programiranje u budućnosti, ali ne toliko da bih mogao ispasti.

Korak 4: Kôd

Sada biste trebali moći prenijeti ovaj kôd na Arduino.

Ako RTC ne radi, ovaj će kôd postaviti vrijeme na temelju vremena sastavljanja koda, stoga samo pritisnite gumb za prijenos i ne provjeravajte.

naizmjence ovo također jako dobro funkcionira za postavljanje vremena.

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

Veći dio ovog koda posudio sam iz biblioteke Adafruit NeoPixel, a neke iz RTC knjižnice koje sam pronašao, a neke sam sam izmislio.

// uključuje kod knjižnice: #include

#uključi

#uključi

// definiramo pinove

#definirajte PIN 6

#define BRIGHTNESS 20 // postavite maksimalnu svjetlinu

#definiraj r 5

#odredi g 5

#definiraj b 5

RTC_DS3231 rtc; // Uspostavljanje objekta sata

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

void setup () {

Wire.begin (); // Početak I2C

rtc.begin (); // početak sata

Serial.begin (9600);

// postavljanje pinmodova

pinMode (PIN, IZLAZ);

if (rtc.lostPower ()) {

Serial.println ("RTC je izgubio napajanje, dopustite da postavite vrijeme!");

// sljedeći redak postavlja RTC na datum i vrijeme sastavljanja ove skice

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

// Ovaj redak postavlja RTC s eksplicitnim datumom i vremenom, na primjer za postavljanje

// 21. siječnja 2014. u 3 ujutro nazvali biste:

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

}

strip.begin ();

strip.show (); // Pokretanje svih piksela na "isključeno"

DateTime theTime = rtc.now (); // uzima u obzir ljetno računanje vremena

byte secondval = theTime.second (); // dobiti sekunde

byte minuteval = theTime.minute (); // dobiti minute

int hourval = theTime.hour ();

točka (traka. Boja (0, g, 0), 50);

}

void loop () {{100} {101}

// dobiti vrijeme

DateTime theTime = rtc.now (); // uzima u obzir ljetno računanje vremena

int minuteval = theTime.minute (); // dobiti minute

int hourval = theTime.hour (); // dobiti sate

int secondval = theTime.second ();

if (minute 0) {

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

strip.show ();}

inace if (minuteval <= 9) {

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

strip.show ();}

inace if (minuteval <= 14) {

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

strip.show ();}

inace if (minuteval <= 19) {

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

strip.show ();}

inace if (minuteval <= 24) {

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

strip.show ();}

inace if (minuteval <= 29) {

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

strip.show ();}

inace if (minuteval <= 34) {

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

strip.show ();}

inace if (minuteval <= 39) {

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

strip.show ();}

inace if (minuteval <= 44) {

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

strip.show ();}

inace if (minuteval <= 49) {

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

strip.show ();}

inace if (minuteval <= 54) {

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

strip.show ();}

inace if (minuteval <= 59) {

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

strip.show ();}

kašnjenje (1000);

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

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

strip.show ();

}

ako (hourval == 0) {

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

strip.show ();}

inače if (hourval == 1) {

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

strip.show ();}

inace if (hourval == 2) {

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

strip.show ();}

inace if (hourval == 3) {

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

strip.show ();}

inače if (hourval == 4) {

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

strip.show ();}

inace if (hourval == 5) {

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

strip.show ();}

inače if (hourval == 6) {

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

strip.show ();}

inace if (hourval == 7) {

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

strip.show ();}

inače if (hourval == 8) {

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

strip.show ();}

inače if (hourval == 9) {

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

strip.show ();}

inace if (hourval == 10) {

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

strip.show ();}

inace if (hourval == 11) {

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

strip.show ();}

inače if (hourval == 12) {

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

strip.show ();}

inace if (hourval == 13) {

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

strip.show ();}

inace if (hourval == 14) {

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

strip.show ();}

inace if (hourval == 15) {

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

strip.show ();}

inace if (hourval == 16) {

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

strip.show ();}

inace if (hourval == 17) {

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

strip.show ();}

inace if (hourval == 18) {

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

strip.show ();}

inace if (hourval == 19) {

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

strip.show ();}

inace if (hourval == 20) {

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

strip.show ();}

inace if (hourval == 21) {

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

strip.show ();}

inace if (hourval == 22) {

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

strip.show ();}

inace if (hourval == 23) {

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

strip.show ();}

kašnjenje (1000);

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

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

strip.show ();

}

// za serijsko ispravljanje pogrešaka

Serijski.tisak (satni interval, DEC);

Serial.print (':');

Serijski ispis (minuteval, DEC);

Serial.print (':');

Serial.println (secondval, DEC);

}

void dot (uint32_t c, uint8_t wait) {

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

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

strip.setPixelColor (i, c);

strip.show ();

odgoda (čekanje);

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

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

strip.show ();}

}

}

}

Korak 5: Dansko ulje

Dansko ulje
Dansko ulje
Dansko ulje
Dansko ulje
Dansko ulje
Dansko ulje
Dansko ulje
Dansko ulje

Posljednji i izborni korak je nanošenje danskog ulja na drvo. Jako mi se sviđa kako izvlači zrna i nudi određenu zaštitu od mrlja i vlage. Zato ga toplo preporučujem.

Možete ga četkati ili ja samo obrišem staru krpu.

Ostalo je samo da ga uključite i uživate.

Preporučeni: