INHOUDSOPGAWE:
- Stap 1: Versamel onderdele en houtwerk
- Stap 2: Akriel sirkels
- Stap 3: soldeer
- Stap 4: Die kode
- Stap 5: Deense olie
Video: Ish -klok: 5 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
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
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
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
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
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:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Bubble Alarm Clock Wakes Up Fun (ish): 7 stappe (met foto's)
Bubble Alarm Clock Wakes Up Fun (ish): Om wakker te word met 'n gonsende wekker is suiwer. Ek is een van die mense wat nie daarvan hou om wakker te word voordat die son onder is nie (of al baie ure uit is). Dus, watter beter manier is om wakker te word as om 'n borrelpartytjie in die bed te hê! Gebruik 'n arduino en 'n
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer