Orodha ya maudhui:

Saa ya Dawati ya Binary: Hatua 9 (na Picha)
Saa ya Dawati ya Binary: Hatua 9 (na Picha)

Video: Saa ya Dawati ya Binary: Hatua 9 (na Picha)

Video: Saa ya Dawati ya Binary: Hatua 9 (na Picha)
Video: ХАБИБ - Ягода малинка (Премьера клипа) 2024, Julai
Anonim
Saa ya Dawati ya Binary
Saa ya Dawati ya Binary
Saa ya Dawati ya Binary
Saa ya Dawati ya Binary
Saa ya Dawati ya Binary
Saa ya Dawati ya Binary

Saa za Kibinadamu ni za kushangaza na za kipekee kwa mtu anayejua binary (lugha ya vifaa vya dijiti). Ikiwa wewe ni kijana wa teknolojia saa hii ya ajabu ni kwako. Kwa hivyo, fanya moja peke yako na fanya wakati wako kuwa siri!

Utapata saa nyingi za aina tofauti kwenye wavuti. Hata unaweza kununua saa ya binary kutoka duka la mkondoni kama amazon.com. Lakini saa hii ni tofauti na zote na hapa nilitumia kucheza marumaru ili kuipatia sura nzuri.

Kabla ya kwenda chini tafadhali angalia video ya onyesho.

Hatua ya 1: Muswada wa Vifaa

Muswada wa Vifaa
Muswada wa Vifaa
Muswada wa Vifaa
Muswada wa Vifaa
Muswada wa Vifaa
Muswada wa Vifaa

Vipengele vya vifaa

1. Arduino Pro Micro (nunua kutoka aliexpress.com): Huu ndio moyo kuu wa saa na inasoma wakati kutoka RTC na upe maagizo ya kuendesha LEDs ipasavyo. Unaweza kutumia Arduino Nano hata Arduino Uno badala ya Pro Micro ikiwa saizi haijalishi kwako.

2. Moduli ya DS3231 RTC (nunua kutoka aliexpress.com): DS3231 RTC inafuatilia wakati hata wakati umeme unazima. Ingawa RTC nyingine kama DS1307 inaweza kutumika DS3231 ni sahihi zaidi.

3. MAX7219CNG LED Dereva IC (nunua kutoka aliexpress.com): Arduino ina idadi ndogo ya pini. Kwa hivyo, ikiwa unataka kuendesha taa za LED bila kupoteza pini za Arduino MAX7219 ndio kuokoa maisha. Inachukua data ya serial na inaweza kuendesha LEDs za 64 kwa kujitegemea.

4. 20 PC za Bluu ya LED, 5mm (nunua kutoka aliexpress.com): Bluu ilitoa matokeo bora kwangu. Unaweza kujaribu na rangi zingine.

5. PC 20 za kucheza Marumaru (nunua kutoka aliexpress.com): Ukubwa wa kawaida wa kucheza marumaru ulitumika. Marumaru lazima iwe wazi ili kupitisha mwanga.

6. Resistor 10K: Inatumika kudhibiti sehemu ya sasa ya MAX7219 IC. Tazama lahajedwali ili kujua thamani halisi ya sehemu tofauti za sasa.

7. Waya

8. Bodi ya PCB ya Mfano (nunua kutoka kwa aliexpress.com): Nilitumia bodi ya mfano ya PCB ya MAX7219 IC iliyo na msingi wa IC. Unaweza pia kubuni bodi yako maalum ya PCB.

Vifaa vya vifaa

1. CNC 3018 Pro Laser Engraver Wood CNC Router Machine (nunua kutoka aliexpress.com): Theis DIY CNG mashine ilitumika kwa kuchonga juu ya kuni kwa marumaru na LEDs. Hii ni mashine bora na bei ya chini kwa mtengenezaji yeyote na hobbyist.

2. Kituo cha Soldering (nunua moja kutoka kwa aliexpress.com): Uuzaji mwingine unahitajika kwa mradi na chuma kizuri cha kutengeneza ni chombo cha lazima kwa mtengenezaji. 60W ni chaguo nzuri kwa kutengeneza DIY.

3. Mkata waya (nunua kutoka kwa aliexpress.com)

4. Mkataji wa Kusaga Kaboreshaji wa Carbide Mwisho wa CNC (nunua kutoka aliexpress.com): Unaweza pia kujaribu na kitita kilichotolewa na mashine. Katika kesi hiyo, unapaswa kufanya mabadiliko kwenye muundo.

Hatua ya 2: Engraving na Carving

Engraving na Uchongaji
Engraving na Uchongaji
Engraving na Uchongaji
Engraving na Uchongaji
Engraving na Uchongaji
Engraving na Uchongaji

Nilichukua kipande cha kuni cha Maple 165X145X18.8 mm kwa kuweka taa za saa. Juu ya kila iliyoongozwa, nitaweka marumaru na saizi ya jiwe la kawaida la kucheza ni kipenyo cha 15.5mm. Kwa hivyo, nilitengeneza mashimo 15.7 mm na kina cha 7mm. Katikati ya shimo, nilitengeneza kuchimba visima 5mm kwa kuweka LED. Maandishi yote yalitengenezwa kwa kina cha 2mm. Unaweza kuongeza au kupunguza kina cha chaguo lako. Unaweza pia kujaribu kuchora laser kwa maandishi.

Ubunifu kamili ulifanywa na Easel kutoka kwa Mali. Easel ni jukwaa la programu inayotegemea wavuti ambayo hukuruhusu kubuni na kuchonga kutoka kwa programu moja, rahisi na huduma nyingi ni bure kutumia. Ulihitaji tu kuingia kwenye mfumo kwa kuunda akaunti au kutumia Gmail.

Easel Pro ni programu ya wingu inayotegemea wanachama ambayo hujengwa juu ya programu ya bure ya Vizuizi ya Hazina. Easel na Easel Pro hupunguza vizuizi vinavyohusishwa na programu ngumu ya utengenezaji wa bidhaa za CAD na CAM, na kuifanya iwe rahisi kwa watumiaji kutoa bidhaa za mwili.

Kutumia Easel unaweza kusafirisha faili ya muundo katika muundo wa G-kificho au usanidi moja kwa moja CNC yako kutoka kwa mazingira ya Easel na upeleke amri kwa CNC. Katika kesi hiyo, unahitaji kusanidi dereva kwa Easel. Unaweza pia kuagiza G-kificho kilichoundwa hapo awali kwenye Easel IDE na urekebishe. Nilijumuisha faili ya muundo hapa. Unaweza kurekebisha muundo kwa urahisi kulingana na chaguo lako kwa kutumia Easel.

Hatua ya 3: Mchanga na Kutumia Varnish

Mchanga na Kutumia Varnish
Mchanga na Kutumia Varnish
Mchanga na Kutumia Varnish
Mchanga na Kutumia Varnish
Mchanga na Kutumia Varnish
Mchanga na Kutumia Varnish
Mchanga na Kutumia Varnish
Mchanga na Kutumia Varnish

Varnish inaweza kutoa kumaliza nzuri kwa miradi ya kuni na uchoraji. Kabla ya kutumia varnish kwa kuni, mchanga kipande chako na safisha nafasi yako ya kazi. Mchanga hutoa muonekano laini na huandaa kuni kwa varnish. Tumia varnish katika tabaka nyembamba kadhaa, ikiruhusu kila moja ikauke vizuri kabla ya kuendelea na inayofuata. Ili kupaka rangi, wacha ikauke kabisa na kisha chaga varnish kwa uangalifu. Kanzu moja ni ya kutosha kwa uchoraji mwingi, lakini unaweza kuongeza safu ya ziada ilimradi kwanza uiishe iliyotangulia ikauke kabisa.

Kabla ya kutumia varnish unahitaji kuondoa kasoro yoyote na kasoro kabla ya kutumia varnish. Ili kufanya hivyo Tumia sandpaper 100 ya changarawe kwa vipande ambavyo havijamalizika, na fanya kazi na punje za kuni. Mchanga kwa upole hadi kipande kiwe laini. Baada ya kusafisha kipande cha kuni tumia varnish katika eneo lenye hewa ya kutosha.

Varnish huokoa kuni kutoka kwa vumbi la mazingira na unyevu lakini inaweza kuathiri rangi ya kuni.

Hatua ya 4: Kufanya Mzunguko

Kufanya Mzunguko
Kufanya Mzunguko
Kufanya Mzunguko
Kufanya Mzunguko
Kufanya Mzunguko
Kufanya Mzunguko
Kufanya Mzunguko
Kufanya Mzunguko

Sehemu kuu ya saa ni bodi ya microcontroller ya Arduino Pro Mini na moduli ya DS3231 RTC. Uunganisho wa Arduino Pro Mini na moduli ya RTC ni rahisi sana. Unahitaji kuunganisha siri ya SDA ya moduli ya RTC na pini ya SDA ya pini ya Arduino na SCL ya moduli ya RTC kwa pini ya SCL ya Arduino. Pini za SDA na SCL ni kweli A4, na pini A5 ya Arduino mtawaliwa. Unahitaji pia kufanya unganisho la ardhi kati ya moduli za Arduino na RTC. Nilitumia waya za kuruka kutengeneza unganisho.

Uunganisho kati ya Arduino na DS3231 RTC:

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

Kwa kuonyesha saa, dakika na pili saa ya binary inahitajika LEDs 20. Ikiwa unataka kuonyesha tarehe inahitaji zaidi. Bodi ya Arduino ina kiwango cha juu cha pini za GPIO. Kwa hivyo, nilitumia MAX7219CNG dereva wa LED IC kwa kuendesha gari tani za LED kwa kutumia pini tatu tu za bodi ya Arduino.

Dereva wa MAX7219 IC ana uwezo wa kuendesha LED za kibinafsi za 64 wakati anatumia waya 3 tu kwa mawasiliano na Arduino, na ni nini zaidi, tunaweza kushikamana na madereva kadhaa na matrix na bado tutumie waya 3 sawa.

LED za 64 zinaendeshwa na pini 16 za pato la IC. Swali sasa ni kwamba inawezekanaje. Kweli, idadi kubwa ya taa za taa zinaangaza wakati huo huo ni nane. LED zinapangwa kama seti ya safu na safu 8 × 8. Kwa hivyo MAX7219 inaamsha kila safu kwa kipindi kifupi sana na wakati huo huo pia inaendesha kila safu. Kwa hivyo kwa kubadili kwa haraka nguzo na safuwima jicho la mwanadamu litaona tu mwangaza unaoendelea.

VCC na GND ya MAX7219 nenda kwenye pini za 5V na GND za Arduino na pini zingine tatu, DIN, CLK, na CS huenda kwenye pini yoyote ya dijiti ya bodi ya Arduino. Ikiwa tunataka kuunganisha moduli zaidi ya moja tunaunganisha tu pini za pato la bodi ya kuzuka ya zamani kwenye pini za kuingiza za moduli mpya. Kweli hizi pini zote ni sawa isipokuwa kwamba pini ya DOUT ya bodi iliyopita huenda kwenye pini ya DIN ya bodi mpya.

Uunganisho kati ya Arduino na MAX7219CNG:

Arduino MAX7219
D12 DIN
D11 CLK
D10 MZIGO
GND GND

Hatua ya 5: Kupakia Programu

Inapakia Programu
Inapakia Programu

Mpango mzima umeandikwa katika mazingira ya Arduino. Maktaba mbili za nje zilitumika kwa mchoro. Moja ni ya moduli ya RTC na nyingine ni ya MAX7219 IC. Pakua maktaba kutoka kwa kiunga na ongeza kwenye Arduino IED kabla ya kuandaa programu.

Kupakia programu katika Arduino Pro Mini ni ngumu sana. Angalia mafunzo ikiwa hautawahi kutumia Arduino Pro Mini kabla:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> * / # pamoja na "Wire.h" # pamoja na "DS3231.h" # pamoja "LedControl.h" / * Sasa tunahitaji LedControl kufanya kazi nayo. Nambari hizi za pini labda hazitafanya kazi na vifaa vyako. * / DS3231 saa; Wakati wa RTCDate dt; LedControl lc = LedControl (12, 11, 10, 1); sekunde, dakika, masaa; nambari ya baiti [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; kuanzisha batili () {//Serial.begin(9600); / * MAX72XX iko katika hali ya kuokoa nguvu wakati wa kuanza, tunapaswa kupiga simu ya kuamsha * / lc.shutdown (0, uwongo); / * Weka mwangaza kwa maadili ya kati * / lc.setIntensity (0, 15); / * na futa onyesho * / lc. clearDisplay (0); //lc.setLed(0, safu, kol, kweli); // 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 safu ya safu (0, 2, B11111111); // lc safu ya safu (0, 3, B11111111); // lc safu ya safu (0, 4, B11111111); // lc safu ya safu (0, 5, B11111111); // Anzisha saa ya DS3231. Anza (); // Weka mchoro wa kukusanya wakati //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } orodha ya ndani = 0, juu, chini; masaa_ya moja; masaa kadhaa_ni; dakika_mmoja; ndani ya dakika_ kumi; sekunde_ moja; sekunde_ kumi; kitanzi batili () {if (digitalRead (5) == 0) {delay (300); menyu ++; ikiwa (menyu> 3) menyu = 0; } ikiwa (menyu == 0) {dt = clock.getDateTime (); masaa = saa moja; dakika = dt.minute; sekunde = dt. pili; ikiwa (masaa> 12) masaa = masaa - 12; ikiwa (masaa == 0) masaa = 1; masaa_mmoja = masaa% 10; masaa_ni = masaa / 10; dakika_mmoja = dakika% 10; dakika_ kumi = dakika / 10; sekunde_mmoja = sekunde% 10; sekunde_ kumi = sekunde / 10; lc.setRow (0, 0, idadi [sekunde_ya moja]); lc.setRow (0, 1, nambari [sekunde_ni kumi]); lc.setRow (0, 2, nambari [dakika_mmoja]); lc.setRow (0, 3, nambari [dakika_tatu]); lc.setRow (0, 4, idadi [masaa_mmoja]); lc.setRow (0, 5, idadi [masaa_ni masaa]); } ikiwa (menyu == 1) {ikiwa (digitalRead (6) == 0) {kuchelewesha (300); masaa ++; ikiwa (masaa> = 24) masaa = 0; } ikiwa (digitalRead (7) == 0) {kuchelewa (300); masaa--; ikiwa (masaa = 60) dakika = 0; } ikiwa (digitalRead (7) == 0) {kuchelewa (300); dakika--; ikiwa (dakika <0) dakika = 0; } dakika_mmoja = dakika% 10; dakika_ kumi = dakika / 10; lc. RetRow (0, 4, B00000000); lc. RetRow (0, 5, B00000000); lc.setRow (0, 1, B00000000); lc.setRow (0, 0, B00000000); lc.setRow (0, 2, nambari [dakika_mmoja]); lc.setRow (0, 3, nambari [dakika_tatu]); } ikiwa (menyu == 3) {clock.setDateTime (2020, 4, 13, masaa, dakika, 01); menyu = 0; } //lc.setLed(0, safu, kol, uwongo); //lc.setLed(0, safu, kol, kweli); //lc.setColumn(0, col, B10100000); //lc.setRow (0, 4, B11111111); //lc.setRow (0, safu, (byte) 0); //lc.setColumn(0, col, (byte) 0); // Kwa kutazama sifuri kwa DS3231_dateformat mfano // Serial.print ("Raw data:"); // Serial.print (dt mwaka); Serial.print ("-"); // Serial.print (dt. Mwezi); Serial.print ("-"); // Serial.print (dt.day); Serial.print (""); // Serial.print (saa ya saa); Serial.print (":"); // Serial.print (dt.minute); Serial.print (":"); // Serial.print (dt.second); Serial.println (""); // // kuchelewa (1000); }

Hatua ya 6: Kuweka LEDs

Kuweka LEDs
Kuweka LEDs
Kuweka LEDs
Kuweka LEDs
Kuweka LEDs
Kuweka LEDs
Kuweka LEDs
Kuweka LEDs

Katika hatua hii, nitaweka LED zote kwenye mashimo ya bodi ya kuni. Uunganisho wa LED zinaonyeshwa kwa skimu. Kama tutatumia dereva wa MAX7219 wa LED kuendesha LEDs, LED zote lazima ziunganishwe kwa fomu ya tumbo. Kwa hivyo, niliunganisha pini za anode za taa zote za LED katika kila safu pamoja na pini zote za cathode za kila safu pamoja kulingana na mpango. Sasa, pini zetu za safu ni pini za anode za LED na pini za safu ni kweli pini za cathode za LED.

Kwa kuendesha LEDs ukitumia MAX7219 lazima uunganishe pini ya cathode ya iliyoongozwa kwa pini ya nambari ya IC na pini ya anode ya iliyoongozwa kwa pini ya sehemu ya IC. Kwa hivyo, pini zetu za safu zinapaswa kuunganishwa na pini za sehemu na pini za safu zinapaswa kushikamana na pini ya nambari ya MAX7219.

Unahitaji kuunganisha kontena kati ya pini ya ISET na VCC ya MAX7219 IC na kontena hili hudhibiti pini za sehemu sasa. Nilitumia kontena la 10K kudumisha 20mA katika kila pini ya sehemu.

Hatua ya 7: Kuunganisha LED

Kuunganisha LEDs
Kuunganisha LEDs
Kuunganisha LEDs
Kuunganisha LEDs
Kuunganisha LEDs
Kuunganisha LEDs

Katika hatua hii, niliunganisha LED zote katika muundo wa safu ya safu ya safu. Nilihitaji kutumia waya za ziada za kuruka kuungana na LED lakini unaweza kufanya unganisho bila msaada wa waya za ziada ikiwa miongozo ya LED ni ndefu ya kutosha kugusana.

Katika usanidi huu, hakuna kipinzani kinachohitajika kwa sababu MAX7219 itashughulikia ya sasa. Jukumu lako ni kuchagua thamani inayofaa kwa kipingaji cha ISET na kuvuta pini ya ISET na kontena hili. Kabla ya kuweka na kuunganisha LEDs nitakushauri uangalie kila LED. Kwa sababu kuweka LED mbaya kutaua wakati mwingi. Katika hatua inayofuata, tutaunganisha safu za waya na safu kwenye MAX ic.

Hatua ya 8: Kuunganisha Bodi ya Mzunguko na LEDs

Kuunganisha Bodi ya Mzunguko na LEDs
Kuunganisha Bodi ya Mzunguko na LEDs
Kuunganisha Bodi ya Mzunguko na LEDs
Kuunganisha Bodi ya Mzunguko na LEDs
Kuunganisha Bodi ya Mzunguko na LEDs
Kuunganisha Bodi ya Mzunguko na LEDs

Bodi yetu ya mzunguko pamoja na RTC, Arduino, na MAX7219 iko tayari kwa muda mrefu na pia tuliandaa matrix ya LED katika hatua iliyopita. Sasa tunahitaji kuunganisha vitu vyote pamoja kulingana na skimu. Kwanza, tunahitaji kuunganisha safu za waya na safu kwa MAX7219IC. Uunganisho ulitajwa katika mpango. Ili kuifanya iwe wazi zaidi fuata meza iliyotolewa hapa chini.

Matrix ya LED MAX7219CNG
ROW0 CHANZO 0
Mstari wa 1 TAMBUA1
Mstari2 CHANZO2
Mstari3 TAMBUA3
SEHEMU0 SEGA
SEHEMU1 SEGB
SALAMU2 SEGC
NGUVU3 SEGD
NGUVU4 KIJANI
NGUZO5 SEGF

ROW0-> Safu ya juu kabisa

COLUMN0 -> Safu ya kulia kabisa (SS COLUMN)

Baada ya kufanya unganisho unahitaji kurekebisha bodi ya PCB na Arduino na kipande cha kuni ili kuepuka kuvunja unganisho. Nilitumia gundi moto kwa kurekebisha mizunguko yote iliyopo. Ili kuepusha mzunguko wowote mfupi tumia kiasi kikubwa cha gundi kuficha kiunga cha solder chini ya PCB.

Kwa kutengeneza saa inayoweza kutumika unahitaji kuweka chaguo la kurekebisha wakati unapohitajika. Niliongeza swichi tatu za kitufe kwa kurekebisha wakati. Moja ya kubadilisha chaguo na mbili kwa kuongeza na kupungua saa na dakika. Vifungo vimewekwa kwenye kona ya juu kulia ili hizi zipatikane kwa urahisi.

Hatua ya 9: Kuweka Marumaru

Kuweka Marumaru
Kuweka Marumaru
Kuweka Marumaru
Kuweka Marumaru
Kuweka Marumaru
Kuweka Marumaru

Hii ndio hatua ya mwisho ya mradi wetu. Uunganisho wote wa mzunguko umekamilika. Sasa unahitaji kuweka marumaru upande wa juu wa saa ya kuni. Kwa kuweka marumaru nilitumia gundi moto. Tumia fimbo ya gundi ya rangi nyeupe ya uwazi kwa kusudi. Nilipaka gundi moto kwenye kila shimo kutoka upande wa juu na juu ya taa nilitia marumaru kwa upole kwenye kila shimo. Kuongeza gundi sawasawa kutaongeza mwangaza wa iliyoongozwa. Nilitumia BLUE LED kwa saa yangu. Ilinipa matokeo bora.

Kutoa nguvu kwa saa. Ikiwa inaonyesha wakati basi Hongera !!!

Umefanikiwa!

Furahiya!

Ifanye iwe Mashindano ya Glow
Ifanye iwe Mashindano ya Glow
Ifanye iwe Mashindano ya Glow
Ifanye iwe Mashindano ya Glow

Mkimbiaji katika Mashindano ya Fanya Uangaze

Ilipendekeza: