INHOUDSOPGAWE:

Ish -klok: 5 stappe (met foto's)
Ish -klok: 5 stappe (met foto's)

Video: Ish -klok: 5 stappe (met foto's)

Video: Ish -klok: 5 stappe (met foto's)
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, November
Anonim
Image
Image
Versamel onderdele en houtwerk
Versamel onderdele en houtwerk

Ek vind gereeld dat ek dinge koop wat ek nie weet waarmee ek gaan doen nie. Hierdie projek is die gevolg van die aankoop van 'n ring met 12x WS2812b LED's aan. Ek het geen planne daarvoor gehad nie, maar dit lyk oulik aanlyn, en ek het een in my wa vasgehou, 'n rukkie daarmee gespeel toe dit aankom en toe alles daarvan vergeet.

'N Rukkie later het ek daaraan gedink om 'n horlosie te maak, en ek onthou dat ek daar sit en niks doen nie. Ek het daaraan gedink om 'n tweede ring met 60 LED's aan te skaf om die minute op te stel, maar ek het begin dink hoe ons / ek geneig is om te kyk na die tyd en dit af te rond tot die naaste 5 minute.

Met hierdie in myne het ek met my 12 LED -ring begin om die ish klok te maak. Dit wys 1 LED op 'n slag vir 1 sekonde, om die uur (Blou LED) aan te dui en dan die minute (Rooi LED) af te rond

Stap 1: Versamel onderdele en houtwerk

Versamel onderdele en houtwerk
Versamel onderdele en houtwerk
Versamel onderdele en houtwerk
Versamel onderdele en houtwerk
Versamel onderdele en houtwerk
Versamel onderdele en houtwerk

Ek was baie gelukkig om eendag by die werk aan te kom en 'n palet te sien. Hierdie palet het vir my uitgesteek, aangesien dit nie soos u standaard paaltjie lyk nie. Dit was skoon, hittebehandeld en die ongewoonste soliede eikehout.

Hierdie projek is gemaak uit een van die stukke van die palet. (Ek het die baas gevra voordat ek dit huis toe geneem het)

Ook gebruik:

  • 12 pixel ws2812b LED -ring
  • Real Time Clock (RTC) module (ek gebruik 'n DS3231 met I2C)
  • Versoenbaar met Arduino Nano v3.0
  • Akrielplaat (5 mm)
  • Gekleurde draad

Gereedskap

  • Kragboor
  • Router
  • Verstelbare plat houtboor
  • Kragslijper
  • Hand saag
  • Soldeerbout
  • Warm gom geweer
  • Sandpapier
  • Deense olie

Skuur

Ek het begin met die skuurmasjien om die blok hout reguit te maak en skoon te maak totdat al die kante skoon en glad is. Ek het sommige onvolmaakthede sigbaar gelaat en dit is nie heeltemal reguit of vierkantig nie, aangesien ek daarvan hou om 'n deel van die geskiedenis in die bos te kan sien.

Merk en sny die gate

Nadat ek geskuur het, het ek die kant gekies wat ek op die horlosie wou hê, en die middel gemerk deur lyne uit elke hoek te trek. Ek het die verstelbare hout 'n bietjie groter gemaak as die ring, sodat daar 'n rak is waarop die akriel kan sit en ongeveer 5 mm diep kan sny, en dan die snyer net so groot as die LED -ring kan afstel en nog 5 mm moet afsny.

Roete en kabelgate

Deur my router met die 12 mm -bit te gebruik, het ek 'n uitsparing onderaan die blok uitgetrek om die RTC en Arduino te verberg. Dit is ongeveer 15 mm diep en nie minder nie as 5 mm van enige rand af. Ek het die middelpunt van die onderkant gemerk en met 'n 10 mm -bietjie net halfpad gemerk om die LED -drade toe te laat. Met 'n 5 mm -boor het ek uit die middel van die LED -uitsparing geboor om die gat van 10 mm van onder af te ontmoet.

Nog 'n gat van 4 mm aan die agterkant om krag in te kom en met 'n kleiner freesbit 'n kanaal te maak vir die drade aan die agterkant van die LED -ring en die houtwerk word gedoen.

Stap 2: Akriel sirkels

Akriel sirkels
Akriel sirkels
Akriel sirkels
Akriel sirkels
Akriel sirkels
Akriel sirkels

Om die akriel aan die voorkant van die horlosie te maak, het ek gesê dat ek 'n vierkantige stuk sny wat net groter was as die gat wat dit moes vul. Toe begin ek met die skuurmasjien om die hoeke te verwyder totdat dit omtrent die regte vorm en grootte was. Ek skuif toe met die handskuur sodat ek nie te veel skiet nie en ek moet weer begin.

Dit was 'n stadige en vervelige proses van probeer en fout totdat dit reg pas, maar ek dink die eindresultaat was die moeite werd. Ek gebruik 'n baie fyn korrelpapier om die voorkant van die akriel 'n ryp voorkoms te gee.

Stap 3: soldeer

Soldeer
Soldeer
Soldeer
Soldeer
Soldeer
Soldeer
Soldeer
Soldeer

Ek gebruik graag 'n kleurstelsel vir my drade by hierdie geleentheid wat ek kies:

  • Rooi vir krag (5v)
  • Wit vir grond
  • Geel vir data
  • Groen vir klok

Ek het begin deur die drie nodige drade aan die LED -ring te soldeer met behulp van die stelsel hierbo en die drade in die gat te druk. Omdat dit nie blootgestel moet word aan enige dwang nie, gebruik ek 'n bietjie warm gom om die ring vas te hou. (Miskien moet ek dit een of ander tyd verander) en installeer die akriel met net 'n bietjie warm gom om die rand.

Ek het die 4 drade aan die RTC gesoldeer met behulp van die stelsel hierbo. Om dinge netjies te hou, het ek besluit om krag vir die RTC uit die Arduino te trek. Koppel dan alles aan die Arduino en soldeer 1 draad vir krag en nog een vir grond aan die Arduino.

RTC

  • SCL (klok) na analoog pen 5
  • SDA (data) na analoog pen 4
  • VCC tot 5V
  • GND vir enige GND op die Arduino

LED ring

Din tot digitale pen 6

Ek het 'n ou USB -kabel gehad, en ek het besluit om dit te gebruik om die klok aan te skakel. Ek het die punt wat normaalweg met iets verbind is, afgesny en deur die gat agterin gestoot. Dan word die ente gestroop en vasgemaak voordat die VCC aan die Arduino gesoldeer word en die LED -ring aan die positiewe kant en die grond van die Arduino en LED na grond. Ek het later 'n bietjie hitte gekrimp en dit het goed gelyk, Die warm lijmpistool kom weer uit om alles te hou. Ek het besluit om die Arduino met genoeg spel te verlaat sodat ek in die toekoms toegang tot die USB -poort kan kry, maar nie soveel dat ek kan val nie.

Stap 4: Die kode

U moet hierdie kode nou na die Arduino kan oplaai.

As die RTC nie werk nie, sal die kode die tyd bepaal op grond van die opstel van die kode, dus druk net op die oplaai -knoppie en verifieer nie.

afwisselend werk dit ook baie goed om die tyd in te stel.

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

Baie van hierdie kode het ek geleen uit die Adafruit NeoPixel -biblioteek en 'n paar uit 'n RTC -biblioteek wat ek gevind het, en sommige het ek self opgemaak.

// sluit die biblioteekkode in: #include

#insluit

#insluit

// definieer penne

#definieer PIN 6

#define BRIGHTNESS 20 // stel maksimum helderheid in

#definieer r 5

#definieer g 5

#definieer b 5

RTC_DS3231 rtc; // Vestig klokvoorwerp

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

ongeldige opstelling () {

Wire.begin (); // Begin I2C

rtc.begin (); // begin klok

Serial.begin (9600);

// stel pinmodes in

pinMode (PIN, UITGANG);

as (rtc.lostPower ()) {

Serial.println ("RTC het krag verloor, laat ons die tyd bepaal!");

// volgende reël stel die RTC op die datum en tyd waarop hierdie skets opgestel is

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

// Hierdie reël stel die RTC met 'n eksplisiete datum en tyd, byvoorbeeld om in te stel

// 21 Januarie 2014 om 03:00 sou u skakel:

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

}

strip.begin ();

strip.show (); // Initialiseer alle pixels na 'af'

DateTime theTime = rtc.now (); // neem DST in ag

byte secondval = theTime.second (); // kry sekondes

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

int hourval = theTime.hour ();

dot (strook. Kleur (0, g, 0), 50);

}

leemte -lus () {

// kry tyd

DateTime theTime = rtc.now (); // neem DST in ag

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

int hourval = theTime.hour (); // kry ure

int secondval = theTime.second ();

as (minute 0) {

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

strip.show ();}

anders as (minute <= 9) {

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

strip.show ();}

anders as (minute <= 14) {

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

strip.show ();}

anders as (minute <= 19) {

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

strip.show ();}

anders as (minute <= 24) {

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

strip.show ();}

anders as (minute <= 29) {

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

strip.show ();}

anders as (minute <= 34) {

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

strip.show ();}

anders as (minute <= 39) {

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

strip.show ();}

anders as (minute <= 44) {

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

strip.show ();}

anders as (minute <= 49) {

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

strip.show ();}

anders as (minute <= 54) {

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

strip.show ();}

anders as (minute <= 59) {

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

strip.show ();}

vertraging (1000);

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

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

strip.show ();

}

as (uurwaarde == 0) {

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

strip.show ();}

anders as (uurwaarde == 1) {

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

strip.show ();}

anders as (uurwaarde == 2) {

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

strip.show ();}

anders as (uurwaarde == 3) {

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

strip.show ();}

anders as (uurwaarde == 4) {

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

strip.show ();}

anders as (uurwaarde == 5) {

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

strip.show ();}

anders as (uurwaarde == 6) {

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

strip.show ();}

anders as (uurwaarde == 7) {

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

strip.show ();}

anders as (uurwaarde == 8) {

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

strip.show ();}

anders as (uurwaarde == 9) {

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

strip.show ();}

anders as (uurwaarde == 10) {

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

strip.show ();}

anders as (uurwaarde == 11) {

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

strip.show ();}

anders as (uurwaarde == 12) {

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

strip.show ();}

anders as (uurwaarde == 13) {

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

strip.show ();}

anders as (uurwaarde == 14) {

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

strip.show ();}

anders as (uurwaarde == 15) {

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

strip.show ();}

anders as (uurwaarde == 16) {

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

strip.show ();}

anders as (uurwaarde == 17) {

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

strip.show ();}

anders as (uurwaarde == 18) {

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

strip.show ();}

anders as (uurwaarde == 19) {

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

strip.show ();}

anders as (uurwaarde == 20) {

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

strip.show ();}

anders as (uurwaarde == 21) {

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

strip.show ();}

anders as (uurwaarde == 22) {

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

strip.show ();}

anders as (uurwaarde == 23) {

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

strip.show ();}

vertraging (1000);

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

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

strip.show ();

}

// vir reeksfoutopsporing

Serial.print (uurwaarde, DEC);

Serial.print (':');

Serial.print (minute, DEC);

Serial.print (':');

Serial.println (tweede waarde, DEC);

}

leë punt (uint32_t c, uint8_t wag) {

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

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

strip.setPixelColor (i, c);

strip.show ();

vertraag (wag);

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

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

strip.show ();}

}

}

}

Stap 5: Deense olie

Deense olie
Deense olie
Deense olie
Deense olie
Deense olie
Deense olie
Deense olie
Deense olie

Die laaste en opsionele stap is om 'n bietjie Deense olie op die hout aan te bring. Ek hou baie van hoe dit die graan na vore bring, plus dit bied beskerming teen vlekke en vog. Ek beveel dit dus sterk aan.

U kan dit borsel, of ek gebruik net 'n ou lap om dit af te vee.

Al wat nou oorbly, is om dit aan te sluit en te geniet.

Aanbeveel: