Мазмұны:

Екілік үстел сағаты: 9 қадам (суреттермен)
Екілік үстел сағаты: 9 қадам (суреттермен)

Бейне: Екілік үстел сағаты: 9 қадам (суреттермен)

Бейне: Екілік үстел сағаты: 9 қадам (суреттермен)
Бейне: HOW TO TRADE PROFITABLY With ChatGPT BOT If YOU'RE A BEGINNER | Challenge day 34 2024, Қараша
Anonim
Екілік үстел сағаты
Екілік үстел сағаты
Екілік үстел сағаты
Екілік үстел сағаты
Екілік үстел сағаты
Екілік үстел сағаты

Екілік сағаттар керемет және тек екілік білетін адамға арналған (цифрлық құрылғылардың тілі). Егер сіз техник жігіт болсаңыз, бұл таңғажайып сағат сізге арналған. Сондықтан, уақытты құпия сақтап, өзіңіз жасаңыз!

Интернетте сіз әр түрлі типтегі екілік сағаттарды таба аласыз. Сіз тіпті екілік сағатты amazon.com сияқты интернет -дүкеннен сатып ала аласыз. Бірақ бұл сағат бәрінен ерекшеленеді, мен мұнда талғампаз көрініс беру үшін мәрмәр ойнадым.

Төменге түспес бұрын демо бейнені қараңыз.

1 -қадам: материалдар туралы есеп

Материалдық есеп
Материалдық есеп
Материалдық есеп
Материалдық есеп
Материалдық есеп
Материалдық есеп

Аппараттық компоненттер

1. Arduino Pro Micro (aliexpress.com сайтынан сатып алыңыз): Бұл сағаттың негізгі жүрегі және RTC -тен уақытты оқиды және сәйкесінше жарық диодты жүргізуге нұсқау береді. Егер сіз үшін өлшем маңызды болмаса, Arduino Nano -ны Pro Micro орнына қолдануға болады.

2. DS3231 RTC модулі (aliexpress.com сайтынан сатып алыңыз): DS3231 RTC қуат өшкенде де уақытты бақылап отырады. DS1307 сияқты басқа RTC қолдануға болады, бірақ DS3231 дәлірек.

3. MAX7219CNG жарықдиодты драйвер IC (aliexpress.com сайтынан сатып алыңыз): Arduino -да түйреуіштердің саны шектеулі. Сонымен, егер сіз Arduino түйреуіштерін ысырап етпестен жарықдиодты жарықтандыруды қажет етсеңіз, MAX7219 - бұл құтқарушы. Ол сериялық деректерді алады және 64 жарықдиодты дербес басқара алады.

4. 20 дана көк жарық диодты, 5мм (aliexpress.com сайтынан сатып алыңыз): көк түс маған ең жақсы нәтиже берді. Басқа түстермен қолдануға болады.

5. 20 PCS мәрмәр ойыны (aliexpress.com сайтынан сатып алыңыз): стандартты өлшемдегі мәрмәр қолданылды. Жарық беру үшін мәрмәр мөлдір болуы керек.

6. Резистор 10К: MAX7219 IC сегменттік токын басқару үшін қолданылады. Әр түрлі сегменттік токтың нақты мәнін білу үшін мәліметтер кестесін қараңыз.

7. Сымдар

8. ПХД прототипі тақтасы (aliexpress.com сайтынан сатып алыңыз): Мен IC базасы бар MAX7219 IC үшін ПХД прототипін қолдандым. Сіз сондай -ақ өзіңіздің жеке ПХД тақтасын жасай аласыз.

Аппараттық құралдар

1. CNC 3018 PRO лазерлік граверлік ағаш CNC маршрутизаторы (aliexpress.com сайтынан сатып алыңыз): Theis DIY CNG машинасы мәрмәр мен жарықдиодты ағашқа ою үшін қолданылған. Бұл кез келген өндіруші мен әуесқой үшін бағасы төмен тамаша машина.

2. Дәнекерлеу станциясы (aliexpress.com сайтынан сатып алыңыз): Жоба үшін кейбір дәнекерлеу қажет, ал жақсы дәнекерлеу үтік өндіруші үшін міндетті құрал болып табылады. 60W - бұл DIY дәнекерлеу үшін жақсы таңдау.

3. Сым кескіш (aliexpress.com сайтынан сатып алыңыз)

4. CNC үшін титанмен қапталған карбидті фрезерлік кескіш (aliexpress.com сайтынан сатып алыңыз): Сіз сондай -ақ машинамен қамтамасыз етілген битті қолдана аласыз. Бұл жағдайда дизайнды өзгерту керек.

2 -қадам: Ою және ою

Ою және ою
Ою және ою
Ою және ою
Ою және ою
Ою және ою
Ою және ою

Мен сағатты жарықдиодты орналастыру үшін 165X145X18,8 мм жұмсақ үйеңкі ағаш бөлігін алдым. Әр светодиодтың үстіне мен мәрмәр қоямын, ал стандартты мәрмәр диаметрі 15,5 мм. Сонымен, мен тереңдігі 7 мм болатын 15,7 мм тесіктер жасадым. Шұңқырдың ортасында мен светодиодты орналастыру үшін 5 мм бұрғы жасадым. Барлық мәтін 2 мм тереңдікте жасалған. Сіз таңдау тереңдігін арттыра немесе төмендете аласыз. Сондай -ақ, мәтінді лазермен ойып көріңіз.

Толық дизайнды Inventables компаниясының Easel компаниясы жасаған. Easel-бұл қарапайым, бір бағдарламадан жобалауға және кесуге мүмкіндік беретін веб-бағдарламалық қамтамасыз ету платформасы және көптеген мүмкіндіктерді пайдалану тегін. Сізге жүйеге тіркелгі жасау немесе Gmail арқылы кіру қажет болды.

Easel Pro-бұл мүшелікке негізделген бұлтты бағдарламалық жасақтама, ол Inventables тегін Easel бағдарламалық жасақтамасына негізделген. Easel және Easel Pro CAD және CAM өнімдерін шығарудың күрделі бағдарламалық жасақтамасымен байланысты кедергілерді азайтады, бұл пайдаланушыларға физикалық өнімдер шығаруды жеңілдетеді.

Easel көмегімен сіз дизайн файлын G-код форматында экспорттауға немесе CNC-ті Easel ортасынан тікелей орнатуға және CNC командасын жіберуге болады. Бұл жағдайда сізге Easel драйверін орнату қажет. Сондай-ақ, бұрын жасалған G-кодты Easel IDE-ге импорттауға және өзгертуге болады. Мен мұнда дизайн файлын қостым. Сіз Easel көмегімен дизайнды өз қалауыңыз бойынша оңай өзгерте аласыз.

3 -қадам: лакпен сүрту және жағу

Лак жағу және жағу
Лак жағу және жағу
Лак жағу және жағу
Лак жағу және жағу
Лак жағу және жағу
Лак жағу және жағу
Лак жағу және жағу
Лак жағу және жағу

Лак ағаштан жасалған жобалар мен суреттердің әдемі аяқталуын қамтамасыз ете алады. Ағашқа лак қолданбас бұрын, кесекті тегістеп, жұмыс орнын тазалаңыз. Тегістеу тегіс көрініс береді және ағашты лакқа дайындайды. Лакты бірнеше жұқа қабаттарға жағыңыз, келесіге өтпес бұрын олардың әрқайсысын мұқият құрғатыңыз. Кескіндемені лакпен бояу үшін оны толық құрғатыңыз, содан кейін лакпен мұқият сүртіңіз. Көптеген суреттерге бір пальто жеткілікті, бірақ сіз алдыңғы қабатты мұқият құрғатуға мүмкіндік бергенше, сіз қосымша қабатты қоса аласыз.

Лак қолданар алдында лак жағар алдында барлық кемшіліктер мен дақтарды кетіру керек. Мұны істеу үшін аяқталмаған бөлшектер үшін 100 түйіршікті зімпараны қолданыңыз және ағаштың дәнімен жұмыс жасаңыз. Кесек тегіс болғанша ақырын құммен жағыңыз. Ағаш бөлігін тазалағаннан кейін лак жақсы желдетілетін жерде қолданылады.

Лак ағашты қоршаған ортаның шаңы мен ылғалынан сақтайды, бірақ бұл ағаштың түсіне әсер етуі мүмкін.

4 -қадам: схеманы құру

Цикл құру
Цикл құру
Цикл құру
Цикл құру
Цикл құру
Цикл құру
Цикл құру
Цикл құру

Сағаттың негізгі компоненті - Arduino Pro Mini микроконтроллер тақтасы және DS3231 RTC модулі. Arduino Pro Mini мен RTC модулінің қосылуы өте қарапайым. RTC модулінің SDA түйреуішін Arduino -ның SDA түйреуішіне және RTC модулінің SCL түйреуішіне Arduino -ның SCL түйреуішіне қосу керек. SDA және SCL түйреуіштері тиісінше A4 және A5 түйреуіштері Arduino. Сондай -ақ, Arduino мен RTC модульдері арасында жалпыға ортақ байланыс орнату қажет. Байланыстыру үшін мен секіргіш сымдарды қолдандым.

Arduino мен DS3231 RTC арасындағы байланыс:

Ардуино DS3231
SCL (A5) SCL
SDA (A4) SDA
VCC
GND GND

Сағат, минут және секундты көрсету үшін екілік сағаттарға 20 жарық диоды қажет. Егер сіз күнді көрсеткіңіз келсе, ол көбірек қажет. Arduino тақтасында GPIO түйреуіштерінің шектеулері бар. Сонымен, мен MAX7219CNG жарықдиодты драйверді IC -ті Arduino тақтасының тек үш түйреуішін қолдана отырып, көптеген жарықдиодты жарықдиодты жүргізу үшін қолдандым.

MAX7219 драйвері IC 64 светодиодты басқара алады, Arduino -мен байланыс үшін тек 3 сымды қолданады, сонымен қатар біз көптеген драйверлер мен матрицаларды тізбектей аламыз және сол 3 сымды қолдана аламыз.

64 жарықдиодты шамдар IC -дің 16 шығыс түйреуіштерімен басқарылады. Енді бұл қалай мүмкін деген сұрақ туындайды. Жарық диодтарының максималды саны бір уақытта жанады - сегіз. Светодиодтар 8 × 8 жолдар мен бағандар жиынтығы ретінде орналастырылған. Сонымен MAX7219 әр бағанды өте қысқа уақыт ішінде іске қосады және сонымен қатар әр жолды қозғайды. Сондықтан бағандар мен қатарларды тез ауыстыру арқылы адам көзі үздіксіз жарықты ғана байқайды.

MAX7219 VCC және GND Arduino 5V және GND түйреуіштеріне, басқа үш түйін DIN, CLK және CS Arduino тақтасының кез келген цифрлық түйреуішіне өтеді. Егер біз бірнеше модульді қосқымыз келсе, алдыңғы модульдің шығыс түйреуіштерін жаңа модульдің кіріс түйреуіштеріне қосамыз. Іс жүзінде бұл түйреуіштер бірдей, тек алдыңғы тақтаның DOUT түйреуі жаңа тақтаның DIN түйреуішіне түседі.

Arduino мен MAX7219CNG арасындағы байланыс:

Ардуино MAX7219
D12 DIN
D11 CLK
D10 ЖҮКТЕУ
GND GND

5 -қадам: Бағдарламаны жүктеу

Бағдарламаны жүктеу
Бағдарламаны жүктеу

Барлық бағдарлама Arduino ортасында жазылған. Эскиз үшін екі сыртқы кітапхана пайдаланылды. Біреуі RTC модуліне арналған, екіншісі MAX7219 IC үшін. Кітапханаларды сілтемеден жүктеп алып, бағдарламаны құрастырмас бұрын Arduino IED -ке қосыңыз.

Arduino Pro Mini -ге бағдарлама жүктеу біршама қиын. Егер сіз бұрын 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» /* Енді жұмыс істеу үшін бізге LedControl қажет. ***** Бұл түйреуіш сандар сіздің аппараттық құралдарыңызбен жұмыс істемеуі мүмкін ***** 12 -түйін DataIn -ге қосылады, CLK -пин -10 -ға қосылады, LOAD -қа қосылады Бізде тек MAX72XX бар. */ DS3231 сағаты; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); int секунд, минут, сағат; байт нөмірі [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * MAX72XX іске қосылған кезде қуатты үнемдеу режимінде, біз ояту қоңырауын шалуымыз керек */ lc.shutdown (0, жалған); / * Жарықтықты орташа мәнге қойыңыз */ lc.setIntensity (0, 15); / * және дисплейді тазарту */ lc.clearDisplay (0); //lc.setLed(0, жол, col, шын); // 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); // DS3231 clock.begin () инициализациялау; // Эскизді құрастыру уақытын орнату //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } int мәзірі = 0, жоғары, төмен; 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); мәзір ++; егер (мәзір> 3) меню = 0; } егер (мәзір == 0) {dt = clock.getDateTime (); сағат = dt.hour; минут = dt.minute; секунд = dt.секунд; егер (сағат> 12) сағат = сағат - 12; егер (сағат == 0) сағат = 1; hours_one = сағат%10; hours_ten = сағат/10; minutes_one = минут%10; minutes_ten = минут/10; seconds_one = секунд%10; seconds_ten = секунд/10; lc.setRow (0, 0, сан [seconds_one]); lc.setRow (0, 1, сан [seconds_ten]); lc.setRow (0, 2, сан [минуттар_бірі]); lc.setRow (0, 3, саны [minutes_ten]); lc.setRow (0, 4, саны [hours_one]); lc.setRow (0, 5, саны [hours_ten]); } if (мәзір == 1) {if (digitalRead (6) == 0) {кешіктіру (300); сағат ++; егер (сағат> = 24) сағат = 0; } if (digitalRead (7) == 0) {delay (300); сағат-; егер (сағат = 60) минут = 0; } if (digitalRead (7) == 0) {delay (300); минут-; егер (минут <0) минут = 0; } минут_бірі = минут%10; minutes_ten = минут/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, сан [минуттар_бірі]); lc.setRow (0, 3, саны [minutes_ten]); } if (мәзір == 3) {clock.setDateTime (2020, 4, 13, сағат, минут, 01); мәзір = 0; } //lc.setLed(0, жол, col, жалған); //lc.setLed(0, жол, col, шын); //lc.setColumn (0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, жол, (байт) 0); //lc.setColumn(0, col, (байт) 0); // DS3231_dateformat мысалында нөлді қарау үшін // Serial.print («Raw data:»); // Serial.print (dt. year); Serial.print («-»); // Serial.print (dt.month); Serial.print («-»); // Serial.print (dt.day); Serial.print («»); // Serial.print (dt.hour); Serial.print («:»); // Serial.print (dt.minute); Serial.print («:»); // Serial.print (dt.second); Serial.println («»); // // кешіктіру (1000); }

6 -қадам: жарықдиодты шамдарды орналастыру

Светодиодтарды орналастыру
Светодиодтарды орналастыру
Светодиодтарды орналастыру
Светодиодтарды орналастыру
Светодиодтарды орналастыру
Светодиодтарды орналастыру
Светодиодтарды орналастыру
Светодиодтарды орналастыру

Бұл кезеңде мен барлық светодиодтарды ағаш тақтайшаның тесіктеріне қоямын. Светодиодтардың қосылуы схемада көрсетілген. Біз светодиоды жүргізу үшін MAX7219 жарықдиодты драйверін қолданатын болсақ, барлық светодиодтар матрицалық түрде қосылуы керек. Сонымен, мен барлық бағандағы барлық светодиодтардың анодтық түйреуіштерін және схемаға сәйкес әр қатардың барлық катодтық түйреуіштерін біріктірдім. Енді біздің бағаналы түйреуіштер светодиодтардың анодтық түйреуіштері, ал жолдық түйреуіштер - светодиодтардың катодты түйреуіштері.

Светодиодтарды MAX7219 көмегімен жүргізу үшін сымның цифрлық түйреуішіне сымның катодты түйреуішін және СК -дің анодтық түйреуішін СК сегментінің түйреуішіне жалғау қажет. Сонымен, біздің бағаналы түйреуіштер сегмент түйреуіштеріне, ал жол түйреуіштері MAX7219 цифрлық түйреуішіне қосылуы керек.

ISET түйреуіші мен MAX7219 IC VCC арасындағы резисторды қосу керек, бұл резистор сегментті түйреуіштердің токтарын басқарады. Мен әр сегменттің түйреуішінде 20 мА ұстап тұру үшін 10K резисторды қолдандым.

7 -қадам: Жарық диодтарын қосу

Жарық диодтарын қосу
Жарық диодтарын қосу
Жарық диодтарын қосу
Жарық диодтарын қосу
Жарықдиодты шамдарды қосу
Жарықдиодты шамдарды қосу

Бұл кезеңде мен барлық светодиодтарды қатарлы бағаналы матрицалық форматта жалғадым. Светодиодтарды қосу үшін маған қосымша секіргіш сымдарды қолдану керек болды, бірақ егер светодиодтардың сымдары бір -біріне тиіп тұратындай ұзын болса, сіз қосымша сымдардың көмегінсіз қосылым жасай аласыз.

Бұл конфигурацияда резистор қажет емес, себебі MAX7219 токты реттейді. Сіздің міндетіңіз - ISET резисторының дұрыс мәнін таңдау және осы резистор арқылы ISET түйреуішін тарту. Жарықдиодты орналастыру мен қосудан бұрын мен әр жарық диодты тексеруді ұсынамын. Себебі нашар жарықдиодты орнату көп уақытты өлтіреді. Келесі қадамда біз жол мен баған сымдарын MAX ic -ке қосамыз.

8 -қадам: схеманы светодиодтармен қосу

Жарықдиодты шамдармен схеманы қосу
Жарықдиодты шамдармен схеманы қосу
Жарықдиодты шамдармен схеманы қосу
Жарықдиодты шамдармен схеманы қосу
Жарықдиодты шамдармен схеманы қосу
Жарықдиодты шамдармен схеманы қосу

Біздің RTC, Arduino және MAX7219 кіретін электронды тақтамыз ұзақ уақыт бойы дайын, сонымен қатар біз LED матрицасын алдыңғы кезеңде дайындадық. Енді біз барлық заттарды схемаға сәйкес қосуымыз керек. Алдымен біз жол мен баған сымдарын MAX7219IC -ке қосуымыз керек. Байланыс схемада айтылды. Түсінікті болу үшін төмендегі кестені орындаңыз.

Жарықдиодты матрица MAX7219CNG
ROW0 DIGIT0
ROW1 DIGIT1
ROW2 DIGIT2
ROW3 DIGIT3
БАҒАН 0 SEGA
БАҒАН1 SEGB
БАҒАН 2 SEGC
БАҒАН 3 SEGD
БАҒАН 4 SEGE
БАҒАН 5 SEGF

ROW0-> Ең жоғарғы қатар

COLUMN0 -> Ең оң жақ баған (SS COLUMN)

Байланысты орнатқаннан кейін, байланыстың үзілмеуі үшін ПХД тақтасы мен Arduino -ны ағаш бөлікпен бекіту керек. Мен барлық тізбектерді орнында бекіту үшін ыстық желім қолдандым. Қысқа тұйықталуды болдырмау үшін ПХД -ның төменгі жағындағы дәнекерлеу түйінін жасыру үшін көп мөлшерде желім қолданыңыз.

Сағатты пайдалану үшін қажет болған жағдайда уақытты реттеу опциясын сақтау қажет. Мен уақытты реттеу үшін үш түйме қосқышты қостым. Біреуі опцияны өзгертуге, екеуі сағат пен минутты ұлғайту мен төмендетуге арналған. Түймелер оң жақ жоғарғы бұрышта орналасқан, осылайша оларға оңай қол жеткізуге болады.

9 -қадам: мәрмәрді қою

Мраморларды орналастыру
Мраморларды орналастыру
Мраморларды орналастыру
Мраморларды орналастыру
Мраморларды орналастыру
Мраморларды орналастыру

Бұл біздің жобаның соңғы кезеңі. Барлық тізбекті қосылу аяқталды. Енді сіз мәрмәрді ағаш сағаттың жоғарғы жағына қоюыңыз керек. Мрамор қою үшін мен ыстық желімді қолдандым. Ол үшін ақ түсті мөлдір желімді таяқшаны қолданыңыз. Мен жоғарыдан әр тесікке ыстық желім жағып, светодиодтардың үстіне мәрмәрді әр тесікке ақырын қойдым. Желімді біркелкі қосу светодиодтың жарқылын арттырады. Мен өз сағатым үшін КӨК жарықдиодты қолдандым. Бұл маған ең жақсы нәтиже берді.

Сағатқа қуат беріңіз. Егер уақыт көрсетілсе, онда құттықтаймын !!!

Сіз жасадыңыз!

Ләззат алыңыз!

Оны жарқыраған конкурсқа айналдырыңыз
Оны жарқыраған конкурсқа айналдырыңыз
Оны жарқыраған конкурсқа айналдырыңыз
Оны жарқыраған конкурсқа айналдырыңыз

«Жарқырайды» конкурсында екінші орын

Ұсынылған: