Përmbajtje:
- Hapi 1: Mbledhja e Pjesëve dhe Punimet e Drurit
- Hapi 2: Rrathët akrilikë
- Hapi 3: Saldimi
- Hapi 4: Kodi
- Hapi 5: Vaji danez
Video: Ora Ish: 5 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:24
Shpesh e gjej veten duke blerë gjëra që nuk e kam idenë me çfarë do të bëj. Ky projekt është rezultat i blerjes së një unaze që ka 12x LED të ndezur WS2812b. Unë nuk kisha plane për të, por dukej mirë në internet, kështu që unë mbërtheva një në karrocën time, luajta me të për ca kohë kur mbërriti dhe pastaj harrova gjithçka.
Disa kohë më vonë po mendoja të bëja një orë dhe u kujtova që ishte ulur atje duke mos bërë asgjë. Po mendoja të blija një unazë të dytë me 60 LED të ndezur për të kompensuar minutat, por pastaj fillova të mendoj se si ne / unë priremi të shikojmë në atë kohë dhe ta rrumbullakosim atë në 5 minutat më të afërt.
Me këtë në timen unë u nisa me unazën time 12 LED për të bërë orën e dikurshme. Shfaq 1 LED në të njëjtën kohë për 1 sekondë, për të treguar orën (Blue LED) dhe më pas minutat (LED të kuqe) të rrumbullakosura
Hapi 1: Mbledhja e Pjesëve dhe Punimet e Drurit
Isha shumë me fat që arrita në punë një ditë dhe pashë një paletë. Kjo paletë më doli jashtë pasi nuk dukej si standardi juaj, drejtimi i paletës së mullirit. Ishte lisi, i trajtuar me nxehtësi dhe lisi më i pazakontë i fortë.
Ky projekt është bërë nga njëra nga pjesët e asaj paletë. (E pyeta shefin para se ta çoja në shtëpi)
Gjithashtu përdoret:
- Unazë LED me 12 piksele ws2812b
- Moduli i orës në kohë reale (RTC) (Unë jam duke përdorur një DS3231 me I2C)
- Në përputhje me Arduino Nano v3.0
- Fletë akrilike (5 mm)
- Tela me ngjyra
Mjetet
- Stërvitje me energji elektrike
- Ruter
- Pjesë druri e rregullueshme e sheshtë
- Sander fuqie
- Sharrë dore
- Makine per ngjitjen e metalit
- Armë me zam të nxehtë
- Letër rëre
- Vaj danez
Lëmues
Fillova duke përdorur sanderin e energjisë për të drejtuar dhe pastruar bllokun e drurit derisa të gjitha anët të jenë të pastra dhe të lëmuara. Kam lënë disa papërsosmëri të dukshme dhe nuk është krejtësisht e drejtë ose katrore pasi më pëlqen të jem në gjendje të shoh disa nga historia në pyll.
Shënimi dhe Prerja e vrimave
Pas lëmimit zgjodha anën që doja faqen e orës dhe shënova qendrën duke vizatuar linja nga secili cep. Unë e vendosa drurin e rregullueshëm pak më të madh se unaza e udhëhequr, kështu që do të kishte një raft për akrilikun që të ulej dhe të prerë rreth 5 mm thellësi, pastaj të rregullojë prestarin pak më shumë se madhësia e unazës LED dhe të shkurtojë një tjetër 5 mm ose më shumë Me
Vrimat e rrugëzimit dhe kabllove
Duke përdorur ruterin tim me bitin 12mm, nxorra një pushim në pjesën e poshtme të bllokut për të fshehur RTC dhe Arduino. Itsshtë rreth 15 mm e thellë dhe jo më pak se 5 mm nga çdo skaj. Unë shënova qendrën (ish) nga poshtë dhe u shpova duke përdorur një copë 10 mm vetëm në gjysmën e rrugës për të lejuar telat LED. Pastaj duke përdorur një copë 5 mm, unë shpova nga qendra e gropës LED për të takuar vrimën 10 mm nga fundi.
Një vrimë tjetër prej 4 mm e pjesës së pasme për të hyrë në energji dhe dhe duke përdorur një ruter të vogël për të bërë një kanal për telat në anën e pasme të unazës LED dhe puna e drurit është përfunduar.
Hapi 2: Rrathët akrilikë
Për të bërë akrilik për pjesën e përparme të orës, unë deklarova prerjen e një pjese katrore që ishte vetëm më e madhe se vrima që duhej të mbushte. Pastaj duke përdorur sanderin e energjisë për të filluar fillova të heq qoshet derisa të ishte në lidhje me formën dhe madhësinë e duhur. Pastaj kalova në lëmimin e dorës, kështu që nuk gjuaja më shumë dhe duhet të filloj nga e para.
Ishte një proces i ngadalshëm dhe i lodhshëm i provës dhe gabimit derisa u përshtat në rregull, por mendoj se rezultati përfundimtar ia vlente. Përfundova duke përdorur një letër zmerile shumë të hollë për t'i dhënë pjesës së përparme të akrilikut një pamje të mbuluar me brymë.
Hapi 3: Saldimi
Më pëlqen të përdor një sistem ngjyrash për telat e mi me këtë rast që zgjedh:
- E kuqe për energji (5v)
- E bardhë për tokë
- E verdhë për të dhënat
- E gjelbër për orën
Fillova duke bashkuar 3 telat e nevojshëm në unazën LED duke përdorur sistemin e mësipërm dhe duke i shtyrë telat poshtë vrimës. Meqenëse nuk duhet të ekspozohet ndaj ndonjë force të vërtetë, unë përdor një grimcë të vogël zam të nxehtë për ta mbajtur unazën në vend. (Ndoshta do të më duhet ta ndryshoj) dhe ta instaloj akrilikun me vetëm pak ngjitës të nxehtë në skaj.
Pastaj i bashkova 4 telat në RTC duke përdorur sistemin e mësipërm. Për t'i mbajtur gjërat pak më të pastra, vendosa të marr energji për RTC nga Arduino. Pastaj lidhni gjithçka me Arduino dhe lidhni 1 tel për energji dhe një tjetër për tokë me Arduino.
RTC
- SCL (Ora) në Pin Analog 5
- SDA (Të dhënat) në Pin Analog 4
- VCC në 5V
- GND në çdo GND në Arduino
Unaza LED
Din në Pin dixhital 6
Kisha një kabllo të vjetër USB të varur përreth kështu që vendosa ta përdor atë për të ndezur orën. I preva fundin që normalisht do të lidhej me diçka dhe e shtyva përmes vrimës në pjesën e pasme. Pastaj zhvisheni dhe lyeni skajet para se të lidhni VCC në Arduino dhe unazën LED në anën pozitive dhe Tokën nga Arduino dhe LED në Ground. Unë pak zvogëlohem nxehtësinë më vonë dhe po dukej mirë, Arma e zamit të nxehtë doli për të mbajtur për të mbajtur gjithçka poshtë. Vendosa të largohem nga Arduino me lojëra të mjaftueshme saqë do të jem në gjendje të hyj në portën USB për ta programuar atë në të ardhmen, por jo aq shumë sa të mund të bie jashtë.
Hapi 4: Kodi
Tani duhet të jeni në gjendje ta ngarkoni këtë kod në Arduino.
Nëse RTC nuk po funksionon, ky kod do të caktojë kohën bazuar në kohën kur është përpiluar kodi, prandaj sigurohuni që thjesht të shtypni butonin e ngarkimit dhe të mos verifikoni.
në mënyrë alternative kjo gjithashtu funksionon shumë mirë për caktimin e kohës.
www.instructables.com/id/Setting-the-DS130…
Pjesën më të madhe të këtij kodi e huazova nga biblioteka Adafruit NeoPixel dhe disa nga një bibliotekë RTC e gjeta dhe disa e krijova vetë.
// përfshini kodin e bibliotekës: #include
#përfshi
#përfshi
// përcaktoni kunjat
#përcaktoni PIN -in 6
#përkufizoni shkëlqimin 20 // vendosni shkëlqimin maksimal
#përcakto r 5
#përcakto g 5
#përcakto b 5
RTC_DS3231 rtc; // Krijoni objektin e orës
Rrip Adafruit_NeoPixel = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // objekt strip
void setup () {
Wire.begin (); // Filloni I2C
rtc.filloj (); // ora e fillimit
Serial.filloj (9600);
// vendosni modelet pin
pinMode (PIN, OUTPUT);
nëse (rtc.lostPower ()) {
Serial.println ("RTC humbi fuqinë, lejon të caktojmë kohën!");
// rreshti i mëposhtëm vendos RTC në datën dhe kohën kur është përpiluar kjo skicë
rtc.adjust (DataTime (F (_ DATE_), F (_ TIME_)));
// Kjo linjë vendos RTC me një datë dhe kohë të qartë, për shembull për të vendosur
// 21 janar 2014 në orën 3 të mëngjesit do të telefononit:
// rtc.adjust (DataTime (2014, 1, 21, 3, 0, 0));
}
strip.filloj ();
shirit.shfaq (); // Filloni të gjithë pikselët në "jo"
DataTime theTime = rtc.now (); // merr parasysh DST
byte secondval = theTime.second (); // merrni sekonda
byte minuteval = theTime.minute (); // merrni minuta
int hourval = theTime.hour ();
pikë (shirit. Ngjyra (0, g, 0), 50);
}
lak void () {
// merrni kohë
DataTime theTime = rtc.now (); // merr parasysh DST
int minutale = theTime.minute (); // merrni minuta
int hourval = theTime.hour (); // merrni orë
int secondval = theTime.second ();
nëse (minutë 0) {
strip.setPixelColor (0, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.shfaq ();}
ndryshe nëse (minutë <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.shfaq ();}
tjetër nëse (minutë <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.shfaq ();}
ndryshe nëse (minutë <= 59) {
strip.setPixelColor (11, r, 0, 0);
strip.shfaq ();}
vonesa (1000);
për (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
shirit.shfaq ();
}
nëse (orari == 0) {
strip.setPixelColor (0, 0, 0, b);
strip.shfaq ();}
përndryshe nëse (orari == 1) {
strip.setPixelColor (1, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 2) {
strip.setPixelColor (2, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 3) {
strip.setPixelColor (3, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 4) {
strip.setPixelColor (4, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 5) {
strip.setPixelColor (5, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 6) {
strip.setPixelColor (6, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 7) {
strip.setPixelColor (7, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 8) {
strip.setPixelColor (8, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 9) {
strip.setPixelColor (9, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 10) {
strip.setPixelColor (10, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 11) {
strip.setPixelColor (11, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 12) {
strip.setPixelColor (0, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 13) {
strip.setPixelColor (1, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 14) {
strip.setPixelColor (2, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 15) {
strip.setPixelColor (3, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 16) {
strip.setPixelColor (4, 0, 0, b);
strip.shfaq ();}
përndryshe nëse (orari == 17) {
strip.setPixelColor (5, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 18) {
strip.setPixelColor (6, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 19) {
strip.setPixelColor (7, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 20) {
strip.setPixelColor (8, 0, 0, b);
strip.shfaq ();}
tjetër nëse (orari == 21) {
strip.setPixelColor (9, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 22) {
strip.setPixelColor (10, 0, 0, b);
strip.shfaq ();}
ndryshe nëse (orari == 23) {
strip.setPixelColor (11, 0, 0, b);
strip.shfaq ();}
vonesa (1000);
për (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
shirit.shfaq ();
}
// për korrigjimin serik
Serial.print (orë në orë, DEC);
Serial.print (':');
Serial.print (minutë, DEC);
Serial.print (':');
Serial.println (i dyti, DEC);
}
pika e zbrazët (uint32_t c, uint8_t prisni) {
për (int j = 0; j <3; j ++) {
për (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
shirit.shfaq ();
vonesë (pritje);
për (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.shfaq ();}
}
}
}
Hapi 5: Vaji danez
Hapi përfundimtar dhe opsional është të aplikoni pak vaj danez në dru. Më pëlqen shumë se si nxjerr drithin plus ofron një mbrojtje nga njollat dhe lagështia. Kështu që e rekomandoj shumë.
Mund ta lani ose thjesht përdor një leckë të vjetër për ta fshirë.
E vetmja gjë që ka mbetur tani është ta lidhni atë dhe të kënaqeni.
Recommended:
Ora e alarmit me flluska e bën zgjimin argëtues (ish): 7 hapa (me fotografi)
Ora e alarmit me flluska e bën zgjimin argëtues (ish): Zgjimi në një orë alarmi gumëzhitëse është e keqe. Unë jam një nga ata njerëz që nuk më pëlqen të zgjohem para se të dalë dielli (ose ka dalë jashtë për shumë orë). Pra, cila mënyrë më e mirë për ta bërë zgjimin argëtues sesa të kesh një festë me flluska në shtrat! Duke përdorur një arduino dhe një
Ora e daljes në pension / Numërimi / Ora Dn: 4 hapa (me fotografi)
Ora e daljes në pension / Numërimi / Ora Dn: Unë kisha disa nga këto ekrane 8x8 LED me pikat e matricës në sirtar dhe po mendoja se çfarë të bëja me to. Frymëzuar nga udhëzime të tjera, më lindi ideja për të ndërtuar një ekran numërimi/zbritje për të numëruar deri në një datë/kohë të ardhshme dhe nëse koha e synuar p
Ora e Rrjetit ESP8266 Pa asnjë RTC - Ora Nodemcu NTP Pa RTC - PROJEKTI I OROCS INTERNET: 4 hapa
Ora e Rrjetit ESP8266 Pa asnjë RTC | Ora Nodemcu NTP Pa RTC | PROJEKTI I OROCS INTERNET: Në projekt do të bëhet një projekt i orës pa RTC, do të marrë kohë nga interneti duke përdorur wifi dhe do ta shfaq atë në ekranin st7735
Ora e bazuar në Arduino duke përdorur modulin DS1307 Ora në kohë reale (RTC) & 0.96: 5 hapa
Ora e bazuar në Arduino duke përdorur modulin DS1307 Ora në kohë reale (RTC) & 0.96: Përshëndetje djema në këtë tutorial do të shohim se si të bëjmë një orë pune duke përdorur një modul orësh në kohë reale DS1307 & Ekranet OLED. Pra, ne do të lexojmë kohën nga moduli i orës DS1307. Dhe shtypeni atë në ekranin OLED
Microdot - Orë Ora Modeli LED Ora: 7 hapa (me fotografi)
Microdot - Orë Ora LED Modeli Ora: Një tjetër prodhim RGB Sunset Productions! Ky projekt është një tabelë qarkore për të bërë një version të orës time minidot të madhësisë së orës së dorës: https: //www.instructables.com/id/EEGLXQCSKIEP2876EE/me disa të tjera funksionet më të zbatueshme për një pajisje portative. Një