Sisällysluettelo:

Binaarinen työpöytäkello: 9 vaihetta (kuvilla)
Binaarinen työpöytäkello: 9 vaihetta (kuvilla)

Video: Binaarinen työpöytäkello: 9 vaihetta (kuvilla)

Video: Binaarinen työpöytäkello: 9 vaihetta (kuvilla)
Video: 🔥 POWERFUL BINARY OPTIONS TRADING STRATEGY - I Made $11,900 | Trading Strategy | Quotex Strategy 2024, Heinäkuu
Anonim
Binaarinen työpöytäkello
Binaarinen työpöytäkello
Binaarinen työpöytäkello
Binaarinen työpöytäkello
Binaarinen työpöytäkello
Binaarinen työpöytäkello

Binaarikellot ovat mahtavia ja yksinomaan binaarin (digitaalisten laitteiden kieli) tuntevalle henkilölle. Jos olet tekninen kaveri, tämä outo kello on sinua varten. Joten tee yksi itse ja pidä aikasi salassa!

Internetistä löydät paljon erilaisia binaarikelloja. Jopa voit ostaa binaarikellon verkkokaupasta, kuten amazon.com. Mutta tämä kello on erilainen kuin kaikki, ja täällä käytin marmorin soittamista antamaan sille tyylikäs ilme.

Ennen kuin menet alas, katso demovideo.

Vaihe 1: Materiaaliluettelo

Materiaaliluettelo
Materiaaliluettelo
Materiaaliluettelo
Materiaaliluettelo
Materiaaliluettelo
Materiaaliluettelo

Laitteiston osat

1. Arduino Pro Micro (osta osoitteesta aliexpress.com): Tämä on kellon tärkein sydän ja lukee ajan RTC: ltä ja opastaa LEDien käyttämiseen vastaavasti. Voit käyttää Arduino Nanoa tai jopa Arduino Unoa Pro Micron sijasta, jos koolla ei ole sinulle väliä.

2. DS3231 RTC -moduuli (osta aliexpress.com -sivustolta): DS3231 RTC pitää ajan kirjaa, vaikka virta katkeaa. Vaikka muita RTC -laitteita, kuten DS1307, voidaan käyttää, DS3231 on tarkempi.

3. MAX7219CNG LED -ohjaimen IC (osta osoitteesta aliexpress.com): Arduinolla on rajoitettu määrä nastoja. Joten jos haluat ajaa tonnia LED -valoja tuhlaamatta Arduino -nastat MAX7219 on hengenpelastaja. Se ottaa sarjatietoja ja voi käyttää 64 LEDiä itsenäisesti.

4. 20 KPL Sininen LED, 5 mm (osta aliexpress.com): Sininen antoi minulle parhaan tuloksen. Voit kokeilla muilla väreillä.

5. 20 PCS Playing Marble (osta aliexpress.com): Käytettiin vakiokokoista marmoria. Marmorin on oltava läpinäkyvä valon läpäisemiseksi.

6. Vastus 10K: Käytetään MAX7219 IC: n segmenttivirran säätämiseen. Katso taulukosta eri segmenttivirran tarkka arvo.

7. Johdot

8. Piirilevyn prototyyppi (osta aliexpress.com): Käytin prototyyppistä piirilevyä prototyypille MAX7219 IC: lle, jossa oli IC -pohja. Voit myös suunnitella mukautetun piirilevyn.

Laitteistotyökalut

1. CNC 3018 PRO Laserkaivertaja Puu CNC -reititin (osta aliexpress.com): Theis DIY CNG -konetta käytettiin puun veistämiseen marmorille ja LED -valolle. Tämä on erinomainen kone edulliseen hintaan kaikille valmistajille ja harrastajille.

2. Juotosasema (osta sellainen aliexpress.com-sivustolta): Hankkeessa tarvitaan jonkin verran juotosta ja hyvä juotin on pakollinen työkalu valmistajalle. 60W on hyvä valinta DIY -juottamiseen.

3. Wire Cutter (osta aliexpress.com)

4. Titaanipinnoitettu kovametallijyrsin CNC: lle (osta osoitteesta aliexpress.com): Voit myös kokeilla koneen mukana toimitetulla terällä. Siinä tapauksessa sinun on tehtävä joitain muutoksia suunnitteluun.

Vaihe 2: Kaiverrus ja kaiverrus

Kaiverrus ja kaiverrus
Kaiverrus ja kaiverrus
Kaiverrus ja kaiverrus
Kaiverrus ja kaiverrus
Kaiverrus ja kaiverrus
Kaiverrus ja kaiverrus

Otin 165X145X18.8 mm pehmeän vaahteran puukappaleen kellon LEDien sijoittamiseen. Jokaisen ledin yläosaan sijoitan marmorin ja vakiomallisen marmorin koko on halkaisijaltaan 15,5 mm. Joten tein 15,7 mm reikiä, joiden syvyys oli 7 mm. Reiän keskelle tein 5 mm: n poran LED -valon sijoittamiseen. Kaikki teksti on tehty 2 mm: n syvyydellä. Voit lisätä tai vähentää valitsemasi syvyyttä. Voit myös kokeilla tekstin laserkaiverruksia.

Koko suunnittelun on tehnyt Inventablesin Easel. Easel on verkkopohjainen ohjelmistoalusta, jonka avulla voit suunnitella ja veistää yhdestä yksinkertaisesta ohjelmasta, ja useimmat ominaisuudet ovat ilmaisia. Sinun on kirjauduttava järjestelmään vain luomalla tili tai käyttämällä Gmailia.

Easel Pro on jäsenyyteen perustuva pilviohjelmisto, joka perustuu Inventablesin ilmaiseen Easel-ohjelmistoon. Easel ja Easel Pro minimoivat monimutkaisten CAD- ja CAM -tuotteiden valmistusohjelmistojen esteet, mikä helpottaa käyttäjien fyysisten tuotteiden valmistamista.

Easelin avulla voit viedä suunnittelutiedoston G-koodimuodossa tai määrittää CNC: n suoraan Easel-ympäristöstä ja lähettää komennon CNC: lle. Tässä tapauksessa sinun on asennettava maalaustelineen ohjain. Voit myös tuoda aiemmin luodun G-koodin Easel IDE: hen ja muokata sitä. Lisäsin tähän suunnittelutiedoston. Voit helposti muokata muotoilua haluamallasi tavalla maalaustelineellä.

Vaihe 3: Hionta ja lakkaus

Hionta ja lakkaus
Hionta ja lakkaus
Hionta ja lakkaus
Hionta ja lakkaus
Hionta ja lakkaus
Hionta ja lakkaus
Hionta ja lakkaus
Hionta ja lakkaus

Lakka voi tarjota kauniin viimeistelyn puuprojekteille ja maalauksille. Ennen lakan levittämistä puuhun, hio kappale ja puhdista työtila. Hionta antaa sileän ilmeen ja valmistelee puun lakalle. Levitä lakka useisiin ohuisiin kerroksiin ja anna kunkin kuivua kunnolla ennen kuin jatkat seuraavaan. Jos haluat maalata maalauksen, anna sen kuivua kokonaan ja harjaa sitten lakka huolellisesti. Yksi kerros riittää monille maalauksille, mutta voit lisätä lisäkerroksen niin kauan kuin annat edellisen kuivua perusteellisesti.

Ennen lakan levittämistä sinun on poistettava kaikki epätäydellisyydet ja tahrat ennen lakan levittämistä. Käytä tätä varten 100 karkeaa hiekkapaperia keskeneräisiin kappaleisiin ja käsittele puun syitä. Hio kevyesti, kunnes pala on sileä. Puukappaleen puhdistamisen jälkeen levitä lakka hyvin tuuletetulle alueelle.

Lakka säästää puuta ympäristön pölyltä ja kosteudelta, mutta se voi vaikuttaa puun väriin.

Vaihe 4: Piirin tekeminen

Piirin tekeminen
Piirin tekeminen
Piirin tekeminen
Piirin tekeminen
Piirin tekeminen
Piirin tekeminen
Piirin tekeminen
Piirin tekeminen

Kellon pääkomponentti on Arduino Pro Mini -kortti ja DS3231 RTC -moduuli. Arduino Pro Minin ja RTC -moduulin liittäminen on hyvin yksinkertaista. Sinun on liitettävä RTC -moduulin SDA -nasta Arduinon SDA -nastaan ja RTC -moduulin SCL -nasta Arduinon SCL -nastaan. SDA- ja SCL -nastat ovat itse asiassa A4- ja A5 -nastaisia Arduinoa. Sinun on myös muodostettava yhteinen maadoitusyhteys Arduinon ja RTC -moduulien välille. Liitosten tekemiseen käytin hyppyjohtoja.

Yhteys Arduinon ja DS3231 RTC: n välillä:

Arduino DS3231
SCL (A5) SCL
SDA (A4) SDA
5V VCC
GND GND

Tunnin, minuutin ja sekunnin näyttämiseen binäärikello vaati 20 LEDiä. Jos haluat näyttää päivämäärän, se vaatii enemmän. Arduino -kortilla on rajoitettu GPIO -nastat. Joten käytin MAX7219CNG LED -ohjaimen IC: tä ajamaan tonnia LED -valoja käyttämällä vain kolmea Arduino -kortin nastaa.

MAX7219 -ohjainpiiri pystyy käyttämään 64 yksittäistä LEDiä ja käyttämään vain 3 johtoa kommunikointiin Arduinon kanssa, ja lisäksi voimme ketjuttaa useita ohjaimia ja matriiseja ja käyttää edelleen samoja 3 johtoa.

64 LEDiä ohjaa 16 IC: n lähtötapaa. Kysymys kuuluu nyt, miten se on mahdollista. No, suurin sallittujen LED -merkkivalojen määrä samanaikaisesti on itse asiassa kahdeksan. LEDit on järjestetty 8 × 8 rivien ja sarakkeiden sarjaksi. Joten MAX7219 aktivoi jokaisen sarakkeen hyvin lyhyeksi ajaksi ja samalla se ajaa myös jokaista riviä. Joten vaihtamalla nopeasti sarakkeita ja rivejä ihmissilmä huomaa vain jatkuvan valon.

MAX7219: n VCC ja GND menevät Arduinon 5V- ja GND -nastoille ja kolme muuta nastaa, DIN, CLK ja CS, mihin tahansa Arduino -kortin digitaaliseen nastaan. Jos haluamme liittää useamman kuin yhden moduulin, liitämme vain edellisen katkaisukortin ulostulonapit uuden moduulin tulonappeihin. Itse asiassa nämä nastat ovat kaikki samat paitsi, että edellisen levyn DOUT -nasta menee uuden levyn DIN -nastaan.

Yhteys Arduinon ja MAX7219CNG:

Arduino MAX7219
D12 DIN
D11 CLK
D10 LADATA
GND GND

Vaihe 5: Ohjelman lataaminen

Ohjelman lataaminen
Ohjelman lataaminen

Koko ohjelma on kirjoitettu Arduino -ympäristössä. Luonnoksessa käytettiin kahta ulkoista kirjastoa. Yksi on RTC -moduulille ja toinen MAX7219 IC: lle. Lataa kirjastot linkistä ja lisää Arduino IED -laitteeseen ennen ohjelman kokoamista.

Ohjelman lataaminen Arduino Pro Miniin on hieman hankalaa. Katso opetusohjelma, jos et ole koskaan käyttänyt Arduino Pro Miniä aikaisemmin:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> */#include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Nyt tarvitsemme LedControlin toimimaan. ***** Nämä nastanumerot eivät todennäköisesti toimi laitteistosi kanssa ***** nasta 12 on kytketty DataIniin nasta 11 on kytketty CLK -nastaan 10 on kytketty LOADiin Meillä on vain yksi MAX72XX. */ DS3231 kello; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int sekuntia, minuuttia, tuntia; tavunumero [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * MAX72XX on virransäästötilassa käynnistettäessä, meidän on tehtävä herätys */ lc.shutdown (0, false); / * Aseta kirkkaus keskiarvoon */ lc.setIntensity (0, 15); / * ja tyhjennä näyttö */ lc.clearDisplay (0); //lc.setLed(0, row, col, true); // lc.setRow (0, 0, B11111111); // lc.setRow (0, 1, B11111111); // lc.setRow (0, 2, B11111111); // lc.setRow (0, 3, B11111111); // lc.setRow (0, 4, B11111111); // lc.setRow (0, 5, B11111111); // lc.setColumn (0, 2, B11111111); // lc.setColumn (0, 3, B11111111); // lc.setColumn (0, 4, B11111111); // lc.setColumn (0, 5, B11111111); // Alusta DS3231 clock.begin (); // Aseta luonnoksen kokoamisaika //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int -valikko = 0, ylös, alas; int hours_one; int hours_ten; int minutes_one; int minutes_ten; int seconds_one; int seconds_ten; void loop () {if (digitalRead (5) == 0) {delay (300); menu ++; jos (menu> 3) menu = 0; } if (menu == 0) {dt = clock.getDateTime (); tuntia = dt.hur; minuuttia = dt.minute; sekuntia = dt.second; jos (tuntia> 12) tuntia = tuntia - 12; jos (tuntia == 0) tuntia = 1; hours_one = tuntia%10; hours_ten = tuntia/10; minutes_one = minuuttia%10; minutes_ten = minuuttia/10; seconds_one = sekuntia%10; seconds_ten = sekuntia/10; lc.setRow (0, 0, luku [sekuntia_yksikkö]); lc.setRow (0, 1, luku [sekuntia]); lc.setRow (0, 2, luku [minuutit_yksi]); lc.setRow (0, 3, luku [minuuttia_kymmentä]); lc.setRow (0, 4, luku [tuntia_yksi]); lc.setRow (0, 5, luku [tuntia_kymmentä]); } if (menu == 1) {if (digitalRead (6) == 0) {delay (300); tuntia ++; jos (tuntia> = 24) tuntia = 0; } if (digitalRead (7) == 0) {delay (300); tuntia--; jos (tuntia = 60) minuuttia = 0; } if (digitalRead (7) == 0) {delay (300); pöytäkirja--; jos (minuutit <0) minuuttia = 0; } minutes_one = minuuttia%10; minutes_ten = minuuttia/10; lc.setRow (0, 4, B00000000); lc.setRow (0, 5, B00000000); lc.setRow (0, 1, B00000000); lc.setRow (0, 0, B00000000); lc.setRow (0, 2, luku [minuutit_yksi]); lc.setRow (0, 3, luku [minuuttia_ten]); } jos (menu == 3) {clock.setDateTime (2020, 4, 13, tuntia, minuuttia, 01); menu = 0; } //lc.setLed(0, rivi, sarake, epätosi); //lc.setLed(0, row, col, true); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, rivi, (tavu) 0); //lc.setColumn(0, col, (tavu) 0); // Katso aluksi nolla DS3231_dateformat esimerkki // Serial.print ("Raw data:"); // Serial.print (dt.year); Serial.print ("-"); // Serial.print (dt.month); Serial.print ("-"); // Sarjanjälki (dt.day); Serial.print (""); // Sarjanjälki (dt.hour); Serial.print (":"); // Sarjanjälki (dt.minute); Serial.print (":"); // Serial.print (dt.second); Serial.println (""); // // viive (1000); }

Vaihe 6: LED -valojen sijoittaminen

LEDien sijoittaminen
LEDien sijoittaminen
LEDien sijoittaminen
LEDien sijoittaminen
LEDien sijoittaminen
LEDien sijoittaminen
LEDien sijoittaminen
LEDien sijoittaminen

Tässä vaiheessa laitan kaikki LEDit puulevyn reikiin. LEDien liitännät on esitetty kaaviossa. Koska käytämme MAX7219 LED -ohjainta LEDien ohjaamiseen, kaikkien LEDien on oltava kytkettyinä matriisimuodossa. Joten liitin jokaisen sarakkeen kaikkien LEDien anoditapit yhteen ja jokaisen rivin kaikki katodinastat yhteen kaavion mukaisesti. Nyt pylväsnastamme ovat itse asiassa LED -anodien nastat ja rivitapit ovat itse asiassa LEDien katoditappeja.

Jos haluat käyttää LED -valoja MAX7219: llä, sinun on kytkettävä ledin katoditappi IC: n numeronastaan ja ledin anoditappi IC: n segmenttitappiin. Pylväsnastamme tulee siis liittää segmenttitappeihin ja rivitapit MAX7219: n numerotappiin.

Sinun on kytkettävä vastus ISET -nastan ja MAX7219 IC: n VCC: n väliin, ja tämä vastus ohjaa segmenttien virtaa. Käytin 10K vastusta ylläpitämään 20mA kussakin segmenttitapissa.

Vaihe 7: LEDien liittäminen

LEDien liittäminen
LEDien liittäminen
LEDien liittäminen
LEDien liittäminen
LEDien liittäminen
LEDien liittäminen

Tässä vaiheessa liitin kaikki LEDit rivi-sarake-matriisimuodossa. Minun piti käyttää ylimääräisiä hyppyjohtoja LEDien liittämiseen, mutta voit muodostaa yhteyden ilman ylimääräisiä johtoja, jos LED -valojen johdot ovat riittävän pitkiä koskettamaan toisiaan.

Tässä kokoonpanossa vastusta ei tarvita, koska MAX7219 huolehtii virrasta. Sinun velvollisuutesi on valita oikea arvo ISET -vastukselle ja vetää ISET -nasta ylös tällä vastuksella. Ennen LED -valojen sijoittamista ja liittämistä ehdotan, että tarkistat jokaisen LED -valon. Koska huonon LED -valon asettaminen tappaa paljon aikaa. Seuraavassa vaiheessa liitämme rivi- ja sarakejohdot MAX ic: hen.

Vaihe 8: Piirilevyn liittäminen LED -valojen kanssa

Piirilevyn liittäminen LED -valojen kanssa
Piirilevyn liittäminen LED -valojen kanssa
Piirilevyn liittäminen LED -valojen kanssa
Piirilevyn liittäminen LED -valojen kanssa
Piirilevyn liittäminen LED -valojen kanssa
Piirilevyn liittäminen LED -valojen kanssa

Piirikorttimme, mukaan lukien RTC, Arduino ja MAX7219, on valmis pitkään, ja valmistelimme myös LED -matriisin edellisessä vaiheessa. Nyt meidän on yhdistettävä kaikki asiat yhteen kaavion mukaisesti. Ensinnäkin meidän on liitettävä rivi- ja sarakejohdot MAX7219IC -laitteeseen. Yhteys mainittiin kaaviossa. Jotta asia olisi selkeämpi, seuraa alla olevaa taulukkoa.

LED -matriisi MAX7219CNG
RIVI 0 DIGIT0
RIVI 1 DIGIT1
RIVI2 DIGIT2
RIVI 3 DIGIT3
SARAKE0 SEGA
Sarake 1 SEGB
Sarake 2 SEGC
Sarake 3 SEGD
Sarake 4 SEGE
Sarake5 SEGF

RIVI0-> Ylin rivi

COLUMN0 -> Oikein sarake (SS COLUMN)

Liitännän jälkeen sinun on kiinnitettävä piirilevy ja Arduino puukappaleella, jotta yhteys ei katkea. Käytin kuumaa liimaa kaikkien piirien kiinnittämiseen. Oikosulun välttämiseksi käytä suurta määrää liimaa piilottaaksesi juotosliitoksen piirilevyn alapuolelle.

Jotta kelloa voidaan käyttää, sinun on pidettävä mahdollisuus säätää aikaa tarvittaessa. Lisäsin kolme painikekytkintä ajan säätämiseen. Yksi vaihtoehdon vaihtamiseen ja kaksi tunnin ja minuutin lisäämiseen ja vähentämiseen. Painikkeet on sijoitettu oikeaan yläkulmaan, jotta niihin pääsee helposti käsiksi.

Vaihe 9: Asenna marmorit

Marmorien asettaminen
Marmorien asettaminen
Marmorien asettaminen
Marmorien asettaminen
Marmorien asettaminen
Marmorien asettaminen

Tämä on projektimme viimeinen vaihe. Kaikki piiriliitännät on tehty. Nyt sinun on asetettava marmori puukellon yläreunaan. Käytin marmorien asettamiseen kuumaa liimaa. Käytä tähän tarkoitukseen läpinäkyvää valkoista liimapuikkoa. Levitin kuumaa liimaa jokaiseen reikään yläpuolelta ja LEDien päälle asetin varovasti marmorin jokaiseen reikään. Liiman lisääminen tasaisesti lisää ledin hehkua. Käytin sinistä LEDiä kellossani. Se antoi minulle parhaan tuloksen.

Anna virtaa kellolle. Jos aika näyttää, niin onnittelut !!!

Sinä teit sen!

Nauttia!

Tee siitä hehkuva kilpailu
Tee siitä hehkuva kilpailu
Tee siitä hehkuva kilpailu
Tee siitä hehkuva kilpailu

Make it Glow -kilpailun toinen sija

Suositeltava: