Satura rādītājs:
- 1. darbība: materiālu saraksts
- 2. darbība: gravēšana un griešana
- 3. solis: slīpēšana un lakas uzklāšana
- 4. solis: ķēdes izveidošana
- 5. darbība. Programmas augšupielāde
- 6. darbība: gaismas diodes ievietošana
- 7. darbība: gaismas diožu savienošana
- 8. darbība: shēmas plates pievienošana ar gaismas diodēm
- 9. solis: Marmora ievietošana
Video: Binārais galda pulkstenis: 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Binārie pulksteņi ir lieliski un paredzēti tikai personai, kas zina bināro (digitālo ierīču valodu). Ja esat tehnoloģiju puisis, šis dīvainais pulkstenis ir domāts jums. Tātad, izveidojiet to pats un noslēpiet savu laiku!
Internetā atradīsit daudz dažādu veidu bināro pulksteņu. Pat jūs varat iegādāties bināro pulksteni no tiešsaistes veikala, piemēram, amazon.com. Bet šis pulkstenis atšķiras no visiem, un šeit es izmantoju marmora spēlēšanu, lai piešķirtu tai elegantu izskatu.
Pirms došanās lejā, lūdzu, noskatieties demonstrācijas video.
1. darbība: materiālu saraksts
Aparatūras komponenti
1. Arduino Pro Micro (pirkt no aliexpress.com): Šī ir galvenā pulksteņa sirds un nolasa laiku no RTC un dod norādījumus atbilstoši vadīt gaismas diodes. Ja izmērs jums nav svarīgs, varat izmantot Arduino Nano, pat Arduino Uno, nevis Pro Micro.
2. DS3231 RTC modulis (pirkt no aliexpress.com): DS3231 RTC seko līdzi laikam pat tad, kad strāvas padeve tiek pārtraukta. Lai gan var izmantot citus RTC, piemēram, DS1307, DS3231 ir precīzāks.
3. MAX7219CNG LED draivera IC (pirkt no aliexpress.com): Arduino ir ierobežots tapas skaits. Tātad, ja vēlaties vadīt tonnas gaismas diodes, netērējot Arduino tapas, MAX7219 ir glābējs. Tas aizņem sērijas datus un var patstāvīgi vadīt 64 gaismas diodes.
4. 20 PCS Blue LED, 5mm (pirkt no aliexpress.com): zilais man deva vislabāko rezultātu. Jūs varat mēģināt ar citām krāsām.
5. 20 PCS Playing Marble (pirkt no aliexpress.com): Tika izmantots standarta izmēra marmora spēlēšana. Marmoram jābūt caurspīdīgam, lai izietu gaismu.
6. Rezistors 10K: izmanto, lai kontrolētu MAX7219 IC segmenta strāvu. Skatiet datu lapu, lai uzzinātu precīzu dažādu segmentu strāvas vērtību.
7. Vadi
8. PCB plates prototips (pirkt no aliexpress.com): es izmantoju prototipa PCB plāksni MAX7219 IC ar IC bāzi. Jūs varat arī izveidot savu pielāgoto PCB plāksni.
Aparatūras rīki
1. CNC 3018 PRO lāzera graviera koka CNC maršrutētāja iekārta (nopirkt no aliexpress.com): Theis DIY CNG mašīna tika izmantota kokgriezumam uz koka marmoram un gaismas diodēm. Šī ir lieliska mašīna ar zemu cenu jebkuram ražotājam un hobijam.
2. Lodēšanas stacija (iegādājieties to vietnē aliexpress.com): projektam ir nepieciešama zināma lodēšana, un labs lodāmurs ir obligāts rīks makerniekam. 60W ir laba izvēle DIY lodēšanai.
3. Stiepļu griezējs (nopirkt no aliexpress.com)
4. Titāna pārklājuma karbīda gala frēzmašīna CNC (nopirkt no aliexpress.com): Jūs varat arī izmēģināt ar mašīnas komplektā iekļauto uzgali. Tādā gadījumā jums ir jāveic dažas izmaiņas dizainā.
2. darbība: gravēšana un griešana
Es paņēmu 165X145X18.8 mm mīkstu kļavas koka gabalu pulksteņa gaismas diodes novietošanai. Katras gaismas diodes augšpusē es ievietošu marmoru, un standarta marmora izmērs ir 15,5 mm diametrā. Tātad, es izveidoju 15,7 mm caurumus ar 7 mm dziļumu. Cauruma centrā es izveidoju 5 mm urbi LED novietošanai. Viss teksts tika veidots ar 2 mm dziļumu. Jūs varat palielināt vai samazināt dziļumu pēc savas izvēles. Varat arī izmēģināt teksta gravēšanu.
Pilnu dizainu izgatavoja Easel no Inventables. Molberts ir tīmeklī bāzēta programmatūras platforma, kas ļauj veidot un veidot vienotu, vienkāršu programmu, un lielāko daļu funkciju var izmantot bez maksas. Jums tikai jāpiesakās sistēmā, izveidojot kontu vai izmantojot Gmail.
Easel Pro ir uz dalību balstīta mākoņa programmatūra, kuras pamatā ir Inventables bezmaksas easel programmatūra. Easel un Easel Pro samazina šķēršļus, kas saistīti ar sarežģītu CAD un CAM produktu ražošanas programmatūru, ļaujot lietotājiem viegli izgatavot fiziskus produktus.
Izmantojot molbertu, varat eksportēt dizaina failu G-koda formātā vai tieši iestatīt savu CNC no molberta vides un nosūtīt komandu uz CNC. Tādā gadījumā jums jāinstalē molberta draiveris. Jūs varat arī importēt iepriekš izveidotu G-kodu Easel IDE un modificēt. Šeit es iekļāvu dizaina failu. Jūs varat viegli mainīt dizainu pēc savas izvēles, izmantojot molbertu.
3. solis: slīpēšana un lakas uzklāšana
Laka var nodrošināt skaistu koka projektu un gleznu apdari. Pirms lakas uzklāšanas kokam, noslīpējiet gabalu un notīriet darba vietu. Slīpēšana nodrošina gludu izskatu un sagatavo koksni lakai. Uzklājiet laku vairākos plānos slāņos, ļaujot katram kārtīgi nožūt, pirms turpināt nākamo. Lai krāsotu laku, ļaujiet tai pilnībā nožūt un pēc tam uzmanīgi notīriet laku. Daudzām gleznām pietiek ar vienu kārtu, bet jūs varat pievienot papildu slāni, ja iepriekšējo kārtīgi ļaujat kārtīgi nožūt.
Pirms lakas uzklāšanas pirms lakas uzklāšanas ir jānoņem visi trūkumi un plankumi. Lai to izdarītu, nepabeigtiem gabaliem izmantojiet 100 smilšpapīru un strādājiet ar koksnes graudiem. Viegli slīpējiet, līdz gabals ir gluds. Pēc koka gabala tīrīšanas uzklājiet laku labi vēdināmā vietā.
Laka ietaupa koksni no vides putekļiem un mitruma, bet var ietekmēt koksnes krāsu.
4. solis: ķēdes izveidošana
Pulksteņa galvenā sastāvdaļa ir Arduino Pro Mini mikrokontrolleru plate un DS3231 RTC modulis. Arduino Pro Mini un RTC moduļa savienojums ir ļoti vienkāršs. Jums ir jāpievieno RTC moduļa SDA tapa ar Arduino SDA tapu un RTC moduļa SCL tapa ar Arduino SCL tapu. SDA un SCL tapas faktiski ir attiecīgi Arduino A4 un A5 tapas. Jums arī jāizveido kopīgs zemes savienojums starp Arduino un RTC moduļiem. Savienojumu veidošanai es izmantoju džemperu vadus.
Savienojums starp Arduino un DS3231 RTC:
Arduino | DS3231 |
---|---|
SCL (A5) | SCL |
SDA (A4) | SDA |
5V | VCC |
GND | GND |
Lai rādītu stundu, minūti un sekundi, binārajam pulkstenim bija nepieciešami 20 gaismas diodes. Ja vēlaties parādīt datumu, tas prasa vairāk. Arduino plāksnei ir GPIO tapas ierobežojums. Tātad, es izmantoju MAX7219CNG LED draivera IC, lai vadītu tonnas gaismas diodes, izmantojot tikai trīs Arduino plates tapas.
MAX7219 draivera IC spēj vadīt 64 atsevišķas gaismas diodes, vienlaikus izmantojot tikai 3 vadus saziņai ar Arduino, un turklāt mēs varam savienot vairākus draiverus un matricas un joprojām izmantot tos pašus 3 vadus.
64 gaismas diodes darbina 16 IC izejas tapas. Jautājums tagad ir, kā tas ir iespējams. Maksimālais vienlaicīgi iedegto LED skaits ir astoņi. Gaismas diodes ir sakārtotas kā 8 × 8 rindu un kolonnu komplekts. Tātad MAX7219 aktivizē katru kolonnu ļoti īsā laika periodā, un tajā pašā laikā tā arī virza katru rindu. Tātad, strauji pārslēdzoties pa kolonnām un rindām, cilvēka acs pamanīs tikai nepārtrauktu gaismu.
MAX7219 VCC un GND iet uz Arduino 5V un GND tapām, un trīs pārējās tapas - DIN, CLK un CS - uz jebkuru Arduino plates digitālo tapu. Ja mēs vēlamies savienot vairāk nekā vienu moduli, mēs vienkārši pievienojam iepriekšējā sadalīšanas paneļa izejas tapas pie jaunā moduļa ieejas tapām. Patiesībā šīs tapas ir vienādas, izņemot to, ka iepriekšējās plates DOUT tapa iet uz jaunās plates DIN tapu.
Savienojums starp Arduino un MAX7219CNG:
Arduino | MAX7219 |
---|---|
D12 | DIN |
D11 | CLK |
D10 | LOAD |
GND | GND |
5. darbība. Programmas augšupielāde
Visa programma ir uzrakstīta Arduino vidē. Skicei tika izmantotas divas ārējās bibliotēkas. Viens ir paredzēts RTC modulim, bet otrs - MAX7219 IC. Pirms programmas apkopošanas lejupielādējiet bibliotēkas no saites un pievienojiet to Arduino IED.
Programmas augšupielāde Arduino Pro Mini ir nedaudz sarežģīta. Apskatiet apmācību, ja nekad iepriekš neizmantojāt Arduino Pro Mini:
/*
GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> */#include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Tagad mums ir nepieciešama LedControl, ar kuru strādāt. ***** Šie pin numuri, iespējams, nedarbosies ar jūsu aparatūru ***** pin 12 ir pievienots DataIn pin 11 ir savienots ar CLK pin 10 ir pievienots LOAD Mums ir tikai viens MAX72XX. */ DS3231 pulkstenis; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int sekundes, minūtes, stundas; baitu numurs [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * MAX72XX ieslēgšanas brīdī ir enerģijas taupīšanas režīmā, mums jāveic modināšanas zvans */ lc.shutdown (0, false); / * Iestatiet spilgtumu uz vidējām vērtībām */ lc.setIntensity (0, 15); / * un notīriet displeju */ 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); // Inicializēt DS3231 pulksteni.begin (); // Iestatīt skices apkopošanas laiku //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int izvēlne = 0, uz augšu, uz leju; int hours_one; int hours_ten; int minutes_one; int minutes_ten; int sekundes_viens; int sekundes_ten; void loop () {if (digitalRead (5) == 0) {kavēšanās (300); izvēlne ++; ja (izvēlne> 3) izvēlne = 0; } if (menu == 0) {dt = clock.getDateTime (); stundas = dt.stunda; minūtes = dt.minute; sekundes = dt.second; ja (stundas> 12) stundas = stundas - 12; ja (stundas == 0) stundas = 1; hours_one = stundas%10; hours_ten = stundas/10; minutes_one = minūtes%10; minutes_ten = minūtes/10; seconds_one = sekundes%10; seconds_ten = sekundes/10; lc.setRow (0, 0, skaitlis [sekundes_viens]); lc.setRow (0, 1, skaitlis [sekundes_sens]); lc.setRow (0, 2, skaitlis [minutes_one]); lc.setRow (0, 3, skaitlis [minutes_ten]); lc.setRow (0, 4, skaitlis [stundas_viens]); lc.setRow (0, 5, skaitlis [stundas_s]); } ja (izvēlne == 1) {ja (digitalRead (6) == 0) {kavēšanās (300); stundas ++; ja (stundas> = 24) stundas = 0; } ja (digitalRead (7) == 0) {delay (300); stundas-; ja (stundas = 60) minūtes = 0; } ja (digitalRead (7) == 0) {delay (300); minūtes-; ja (minūtes <0) minūtes = 0; } minutes_one = minūtes%10; minutes_ten = minūtes/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, skaitlis [minutes_one]); lc.setRow (0, 3, skaitlis [minutes_ten]); } ja (izvēlne == 3) {clock.setDateTime (2020, 4, 13, stundas, minūtes, 01); izvēlne = 0; } //lc.setLed(0, row, col, false); //lc.setLed(0, row, col, true); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, rinda, (baits) 0); //lc.setColumn(0, col, (baits) 0); // Sākotnējo nulli meklējiet DS3231_dateformat piemērā // Serial.print ("Neapstrādāti dati:"); // Sērijas nospiedums (dt.gads); Serial.print ("-"); // Serial.print (dt.month); Serial.print ("-"); // Serial.print (dt.day); Serial.print (""); // Sērijas nospiedums (dt.stunda); Serial.print (":"); // Sērijas nospiedums (dt.minute); Serial.print (":"); // Sērijas nospiedums (dt.second); Serial.println (""); // // kavēšanās (1000); }
6. darbība: gaismas diodes ievietošana
Šajā posmā es ievietošu visas gaismas diodes pie koka dēļa caurumiem. Gaismas diodes savienojumi ir parādīti shematiski. Tā kā gaismas diodes darbināsim ar MAX7219 LED draiveri, visām gaismas diodēm jābūt savienotām matricas formā. Tātad, es savienoju visu gaismas diožu anoda tapas katrā kolonnā kopā un visas katras rindas katoda tapas kopā saskaņā ar shēmu. Tagad mūsu kolonnu tapas patiesībā ir gaismas diožu anoda tapas, un rindu tapas faktiski ir gaismas diožu katoda tapas.
Lai vadītu gaismas diodes, izmantojot MAX7219, jums ir jāpievieno LED katoda tapa ar IC ciparu tapu un LED anoda tapa ar IC segmenta tapu. Tātad, mūsu kolonnu tapas ir jāpievieno segmenta tapām, un rindu tapas jāpievieno MAX7219 ciparu tapai.
Jums ir jāpievieno rezistors starp ISET tapu un MAX7219 IC VCC, un šis rezistors kontrolē segmenta tapas strāvu. Es izmantoju 10K rezistoru, lai uzturētu 20mA katrā segmenta tapā.
7. darbība: gaismas diožu savienošana
Šajā posmā es savienoju visas gaismas diodes rindas-kolonnas matricas formātā. Lai savienotu gaismas diodes, man vajadzēja izmantot dažus papildu vadus, bet jūs varat izveidot savienojumu bez papildu vadu palīdzības, ja gaismas diodes vadi ir pietiekami gari, lai pieskartos viens otram.
Šajā konfigurācijā nav nepieciešams rezistors, jo par strāvu rūpēsies MAX7219. Jūsu pienākums ir izvēlēties pareizo ISET rezistora vērtību un ar šo rezistoru izvilkt ISET tapu. Pirms gaismas diodes ievietošanas un pievienošanas es iesaku jums pārbaudīt katru LED. Tā kā sliktas gaismas diodes ievietošana nogalinās daudz laika. Nākamajā solī mēs savienosim rindu un kolonnu vadus ar MAX ic.
8. darbība: shēmas plates pievienošana ar gaismas diodēm
Mūsu shēmas plate, ieskaitot RTC, Arduino un MAX7219, ir gatava ilgu laiku, un mēs arī iepriekšējā posmā sagatavojām LED matricu. Tagad mums ir jāsavieno visas lietas saskaņā ar shēmu. Pirmkārt, mums ir jāpievieno rindu un kolonnu vadi ar MAX7219IC. Savienojums tika minēts shēmā. Lai padarītu to skaidrāku, ievērojiet tālāk sniegto tabulu.
LED matrica | MAX7219CNG |
---|---|
0 Rinda | DIGIT0 |
1. Rinda | CIGTS1 |
2. Rinda | DIGIT2 |
3. Rinda | DIGIT3 |
SLEJA0 | SEGA |
1. SLEJA | SEGB |
2. SLEJA | SEGC |
3. SLEJA | SEGD |
4. SLEJA | SEGE |
5. SLEJA | SEGF |
ROW0-> Augstākā rinda
COLUMN0 -> Labākā kolonna (SS COLUMN)
Pēc savienojuma izveidošanas jums ir jānostiprina PCB plāksne un Arduino ar koka gabalu, lai izvairītos no savienojuma pārtraukšanas. Visu ķēžu nostiprināšanai es izmantoju karstu līmi. Lai izvairītos no īssavienojuma, izmantojiet lielu daudzumu līmes, lai paslēptu lodēšanas savienojumu PCB apakšējā pusē.
Lai padarītu pulksteni lietojamu, jums ir jāsaglabā iespēja laika pielāgošanai, kad tas ir nepieciešams. Es pievienoju trīs pogu slēdžus laika pielāgošanai. Viens - opcijas maiņai un divi - stundas un minūtes palielināšanai un samazināšanai. Pogas ir novietotas augšējā labajā stūrī, lai tās būtu viegli pieejamas.
9. solis: Marmora ievietošana
Šis ir mūsu projekta pēdējais posms. Viss ķēdes savienojums ir pabeigts. Tagad jums ir jānovieto marmors koka pulksteņa augšējā pusē. Marmora ievietošanai es izmantoju karstu līmi. Šim nolūkam izmantojiet caurspīdīgu baltas krāsas līmi. Es uzliku karstu līmi katrā caurumā no augšējās puses, un virs gaismas diodēm es viegli ievietoju marmoru katrā caurumā. Vienmērīga līmes pievienošana palielinās LED spīdumu. Es savam pulkstenim izmantoju ZILO LED. Tas man deva vislabāko rezultātu.
Dodiet spēku pulkstenim. Ja rāda laiku, tad apsveicu !!!
Tu to izdarīji!
Izbaudi!
Otrās vietas ieguvējs konkursā Make it Glow
Ieteicams:
Mikro binārais pulkstenis: 10 soļi (ar attēliem)
Mikro binārais pulkstenis: iepriekš izveidojot instrukciju (bināro DVM), kas izmanto ierobežoto displeja apgabalu, izmantojot bināro. Tas bija tikai neliels solis, iepriekš izveidojot galveno koda moduli decimāldaļai uz bināro, lai izveidotu bināro pulksteni, bet t
Galīgais binārais pulkstenis: 12 soļi (ar attēliem)
Galīgais binārais pulkstenis: es nesen iepazinos ar bināro pulksteņu jēdzienu un sāku veikt dažus pētījumus, lai noskaidrotu, vai es varētu to izveidot sev. Tomēr es nevarēju atrast esošu dizainu, kas vienlaikus būtu gan funkcionāls, gan stilīgs. Tātad, es nolēmu
Binārais LED marmora pulkstenis: 6 soļi (ar attēliem)
Binārais LED marmora pulkstenis: tagad es domāju, ka gandrīz katram ir binārais pulkstenis, un šeit ir mana versija. Man patika tas, ka šis projekts apvienoja dažus koka darbus, programmēšanu, mācīšanos, elektroniku un varbūt tikai nelielu māksliniecisko jaunradi. Tas parāda laiku, mēnesi, datumu, dienu
Arduino binārais pulkstenis - 3D drukāts: 5 soļi (ar attēliem)
Arduino binārais pulkstenis - 3D drukāts: es kādu laiku skatos uz binārajiem pulksteņiem sava biroja galdam, tomēr tie ir diezgan dārgi un / vai tiem nav milzīgu funkciju. Tāpēc es nolēmu tā vietā uztaisīt vienu. Viens punkts, kas jāņem vērā, veidojot pulksteni, Arduino / Atmega328
Digitālais un binārais pulkstenis 8 ciparu X 7 segmentu LED displejā: 4 soļi (ar attēliem)
Digitālais un binārais pulkstenis 8 ciparu X 7 segmentu LED displejā: šī ir mana uzlabotā digitālā & Binārais pulkstenis, izmantojot 8 ciparu x 7 segmentu LED displeju. Man patīk sniegt jaunas funkcijas parastajām ierīcēm, īpaši pulksteņiem, un šajā gadījumā 7 Seg displeja izmantošana binārajam pulkstenim ir netradicionāla, un tas