Мазмуну:

Бинардык стол сааты: 9 кадам (сүрөттөр менен)
Бинардык стол сааты: 9 кадам (сүрөттөр менен)

Video: Бинардык стол сааты: 9 кадам (сүрөттөр менен)

Video: Бинардык стол сааты: 9 кадам (сүрөттөр менен)
Video: Что такое стол № 9 при сахарном диабете 2024, Ноябрь
Anonim
Бинардык үстөл сааты
Бинардык үстөл сааты
Экилик үстөл сааты
Экилик үстөл сааты
Бинардык үстөл сааты
Бинардык үстөл сааты

Бинардык сааттар эң сонун жана экиликти (санарип түзмөктөрдүн тили) билген адам үчүн гана. Эгерде сиз технологиялык жигит болсоңуз, анда бул кызык саат сиз үчүн. Андыктан өзүңүз жасаңыз жана убактыңызды жашырыңыз!

Сиз Интернеттен ар кандай типтеги бинардык сааттарды көп таба аласыз. Amazon.com сыяктуу онлайн дүкөндөн экилик саат сатып алсаңыз болот. Бирок бул саат баарынан айырмаланат жана мында мрамор ойноп, ага жарашыктуу көрүнүш бердим.

Баруудан мурун демо видеону көрүңүз.

1 -кадам: Билл материалдар

Билл материалдар
Билл материалдар
Билл материалдар
Билл материалдар
Билл материалдар
Билл материалдар

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

1. Arduino Pro Micro (aliexpress.com сайтынан сатып алыңыз): Бул сааттын негизги жүрөгү жана RTCден убакытты окуйт жана ошого жараша светодиоддорду айдоого көрсөтмө берет. Эгер өлчөмү сиз үчүн мааниге ээ болбосо, Pro Micro ордуна Arduino Nano колдоно аласыз.

2. DS3231 RTC модулу (aliexpress.com сайтынан сатып алуу): DS3231 RTC электр өчкөндө да убакытты көзөмөлдөп турат. DS1307 сыяктуу башка RTC колдонулушу мүмкүн, бирок DS3231 тагыраак.

3. MAX7219CNG LED Driver IC (aliexpress.com сайтынан сатып алуу): Arduino төөнөгүчтөрдүн саны чектелүү. Ошентип, эгер сиз Arduino казыктарын текке кетирбестен, көптөгөн тонна светодиоддорду айдагыңыз келсе, MAX7219 - бул куткаруучу. Бул сериялык маалыматтарды талап кылат жана 64 LEDди өз алдынча айдай алат.

4. 20 PCS Blue LED, 5мм (aliexpress.com сайтынан сатып алуу): Blue мен үчүн эң жакшы натыйжаны берди. Сиз башка түстөр менен аракет кыла аласыз.

5. 20 PCS Playing Marble (aliexpress.com сайтынан сатып алуу): Стандарттык өлчөмдөгү ойноочу мрамор колдонулган. Мрамор жарык өтүшү үчүн тунук болушу керек.

6. Резистор 10K: MAX7219 IC сегментинин агымын көзөмөлдөө үчүн колдонулат. Ар кандай сегменттик токтун так наркын билүү үчүн маалымат барагын караңыз.

7. Зымдар

8. Прототип PCB Board (aliexpress.com сайтынан сатып алыңыз): Мен IC базасы менен MAX7219 IC үчүн ПХБ прототибин колдондум. Сиз ошондой эле өзүңүздүн PCB тактаңызды жасай аласыз.

Аппараттык куралдар

1. CNC 3018 PRO Laser Engraver Wood CNC Router Machine (aliexpress.com сайтынан сатып алыңыз): Theis DIY CNG машинасы мрамор жана светодиоддор үчүн жыгачка оюу үчүн колдонулган. Бул эң сонун машина, ал кандайдыр бир жасоочу жана хоббист үчүн төмөн баада.

2. Soldering Station (aliexpress.com сайтынан бирөөсүн сатып алыңыз): Долбоор үчүн кээ бир ширетүү талап кылынат жана жакшы ширетүүчү темир даярдоочу үчүн эң керектүү курал. 60W DIY ширетүү үчүн жакшы чечим болуп саналат.

3. Wire Cutter (aliexpress.com сайтынан сатып алыңыз)

4. CNC үчүн титан капталган карбиддик учтуу фрезер (aliexpress.com сайтынан сатып алыңыз): Сиз ошондой эле машина менен берилген битти колдонуп көрсөңүз болот. Бул учурда, дизайнга бир аз өзгөртүүлөрдү киргизүү керек.

2 -кадам: Ойуу жана оюу

Ойуу жана оюу
Ойуу жана оюу
Ойуу жана оюу
Ойуу жана оюу
Ойуу жана оюу
Ойуу жана оюу

Мен сааттын диоддорун коюу үчүн 165X145X18.8 мм Soft Maple жыгач бөлүгүн алдым. Ар бир чырактын үстүнө мен мрамор койом жана стандарттык ойноочу мрамордун өлчөмү диаметри 15.5 мм. Ошентип, тереңдиги 7 мм болгон 15,7 мм тешик жасадым. Тешиктин ортосунда мен LED диаметри үчүн 5 мм бургу жасадым. Бардык текст 2 мм тереңдикте жасалган. Тандооңуздун тереңдигин көбөйтө же азайта аласыз. Сиз ошондой эле текст үчүн лазердик гравюраны колдонуп көрсөңүз болот.

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

Easel Pro-бул Inventables’тин бекер Easel программасына негизделген мүчөлүккө негизделген булут программасы. Easel жана Easel Pro татаал CAD жана CAM продуктуларын өндүрүүчү программалар менен байланышкан тоскоолдуктарды азайтып, колдонуучуларга физикалык продукцияларды чыгарууну жеңилдетет.

Easelди колдонуу менен сиз дизайн файлын G-код форматында экспорттой аласыз же CNCти Easel чөйрөсүнөн түз орнотуп, CNCге буйрук жөнөтө аласыз. Бул учурда, сиз Easel үчүн драйверди орнотушуңуз керек. Сиз ошондой эле Easel IDEге мурда түзүлгөн G-кодун импорттой аласыз жана өзгөртө аласыз. Мен бул жерге дизайн файлын киргиздим. Сиз 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 ортосундагы байланыш:

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

Саатты, мүнөттү жана секундду көрсөтүү үчүн экилик саат 20 LEDди талап кылат. Эгерде сиз датаны көрсөткүңүз келсе, ал дагы талап кылат. Arduino тактасында GPIO төөнөгүчтөрү бар. Ошентип, мен MAX7219CNG LED драйверинин 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 ортосундагы байланыш:

Arduino 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, false); / * Жарыкты орто мааниге коюңуз */ lc.setIntensity (0, 15); / * жана дисплейди тазалоо */ lc.clearDisplay (0); //lc.setLed(0, катар, 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); // Initialize 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); меню ++; if (меню> 3) меню = 0; } if (меню == 0) {dt = clock.getDateTime (); саат = dt.hour; мүнөт = dt.minute; секунд = dt.second; эгер (саат> 12) саат = саат - 12; if (hours == 0) hours = 1; hours_one = саат%10; hours_ten = hours/10; minutes_one = мүнөт%10; minutes_ten = мүнөт/10; seconds_one = секунд%10; seconds_ten = seconds/10; lc.setRow (0, 0, саны [seconds_one]); lc.setRow (0, 1, саны [seconds_ten]); lc.setRow (0, 2, саны [minutes_one]); lc.setRow (0, 3, саны [minutes_ten]); lc.setRow (0, 4, саны [hours_one]); lc.setRow (0, 5, саны [hours_ten]); } if (menu == 1) {if (digitalRead (6) == 0) {delay (300); саат ++; if (hours> = 24) hours = 0; } if (digitalRead (7) == 0) {delay (300); саат-; эгер (саат = 60) мүнөт = 0; } if (digitalRead (7) == 0) {delay (300); мүнөт--; if (minutes <0) minutes = 0; } minutes_one = мүнөт%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, саны [minutes_one]); lc.setRow (0, 3, саны [minutes_ten]); } if (меню == 3) {clock.setDateTime (2020, 4, 13, саат, мүнөт, 01); меню = 0; } //lc.setLed(0, катар, col, false); //lc.setLed(0, катар, col, true); //lc.setColumn (0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, катар, (байт) 0); //lc.setColumn(0, col, (байт) 0); // DS3231_dateformat мисалында нөлгө жетүү үчүн // Serial.print ("Чийки маалыматтар:"); // 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 -кадам: LED диоддорун коюу

LED диоддорун коюу
LED диоддорун коюу
LED диоддорун коюу
LED диоддорун коюу
LED диоддорун коюу
LED диоддорун коюу
LED диоддорун коюу
LED диоддорун коюу

Бул этапта мен бардык светодиоддорду жыгач тактайдын тешиктерине коём. Светодиоддордун туташуулары схемада көрсөтүлгөн. Биз LED айдоо үчүн MAX7219 LED драйверин колдоно тургандыктан, бардык светодиоддор матрица түрүндө туташышы керек. Ошентип, мен ар бир мамычанын бардык LED диоддорунун анод казыктарын жана схемага ылайык ар бир катоддун бардык катод казыктарын бириктирдим. Эми, биздин мамыча казыктары чындыгында светодиоддордун аноддук казыктары жана сап казыктары чындыгында светодиоддордун катод казыктары.

Жарык диоддорун MAX7219 колдонуп айдаш үчүн, ICдин цифралуу пинине жана LEDдин аноддук пинине ICдин сегментинин пинине туташуу керек. Ошентип, биздин мамы казыктары сегменттин казыктарына туташтырылышы керек жана сап казыктары MAX7219 цифрдык пинине туташтырылышы керек.

Сиз ISET пини менен MAX7219 IC VCCнин ортосундагы резисторду туташтырышыңыз керек жана бул резистор сегменттин казыктарын башкарат. Мен ар бир сегменттин пининде 20mA сактоо үчүн 10K каршылыгын колдондум.

7 -кадам: LEDди туташтыруу

LEDдерди туташтыруу
LEDдерди туташтыруу
LEDдерди туташтыруу
LEDдерди туташтыруу
LEDдерди туташтыруу
LEDдерди туташтыруу

Бул этапта мен бардык светодиоддорду катар-тилке матрицасы форматында туташтырдым. Мен LEDдерди туташтыруу үчүн кошумча секирүүчү зымдарды колдонушум керек болчу, бирок эгерде LEDлердин учтары бири -бирине тийе турганчалык узун болсо, сиз кошумча зымдардын жардамысыз туташууну жасай аласыз.

Бул конфигурацияда эч кандай резистор талап кылынбайт, анткени MAX7219 токтун камын көрөт. Сиздин милдетиңиз ISET каршылыгынын туура баасын тандап алуу жана бул резистор менен ISET пинин көтөрүү. Жарык диоддорду жайгаштыруудан жана туташтыруудан мурун мен ар бир LEDди текшерүүнү сунуштайм. Анткени начар LED коюу көп убакытты өлтүрөт. Кийинки кадамда биз катар жана мамыча зымдарын MAX ic -ке туташтырабыз.

8 -кадам: Райондук тактаны LED менен туташтыруу

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

Биздин схема RTC, Arduino жана MAX7219, анын ичинде узак убакытка даяр жана биз дагы LED стрицасын мурунку этапта даярдадык. Эми биз бардык нерселерди схемага ылайык бириктиришибиз керек. Биринчиден, биз катар жана мамыча зымдарын MAX7219ICке туташтырышыбыз керек. Байланыш схемада айтылган. Түшүнүктүү болушу үчүн төмөндөгү таблицаны караңыз.

LED Matrix MAX7219CNG
ROW0 DIGIT0
ROW1 DIGIT1
ROW2 DIGIT2
ROW3 DIGIT3
COLUMN0 SEGA
COLUMN1 SEGB
COLUMN2 SEGC
COLUMN3 SEGD
COLUMN4 SEGE
COLUMN5 SEGF

ROW0-> Эң жогорку катар

COLUMN0 -> Оң жактагы мамыча (SS COLUMN)

Байланышты түзгөндөн кийин, байланышты бузбоо үчүн, PCB тактасын жана Arduino -ны жыгач бөлүгү менен оңдоо керек. Мен ысык желимди колдонуп, бардык схемаларды ордуна койдум. Кыска туташууну болтурбоо үчүн, ПХБнын ылдый жагындагы ширетүүчү түйүндү жашыруу үчүн көп өлчөмдөгү желимди колдонуңуз.

Саатты колдонууга ыңгайлуу кылуу үчүн, керек болгондо убакытты тууралоо мүмкүнчүлүгүн сактоо керек. Убакытты тууралоо үчүн үч баскычты алмаштырдым. Бири вариантты өзгөртүү үчүн, экөө саат жана мүнөттү көбөйтүү жана азайтуу үчүн. Баскычтар оң жактагы оң бурчка жайгаштырылган, ошондуктан аларга оңой жетүүгө болот.

9 -кадам: мрамор коюу

Мрамор коюу
Мрамор коюу
Мрамор коюу
Мрамор коюу
Мрамор коюу
Мрамор коюу

Бул биздин долбоордун акыркы этабы. Бардык райондук туташуу аяктады. Эми мраморду жыгач сааттын үстү жагына коюш керек. Мрамор коюу үчүн мен ысык клей колдондум. Бул үчүн ачык түстөгү желим таякчаны колдонуңуз. Мен ар бир тешикке ысык клей сүйкөдүм жана светодиоддордун үстүнө мраморду акырындык менен ар бир тешикке койдум. Желимди бир калыпта кошуу, жарыктын жарыгын жогорулатат. Мен саатыма BLUE LED колдондум. Бул мага эң жакшы натыйжаны берди.

Саатка күч бер. Убакытты көрсөтсө, куттуктайм !!!

Сиз жетиштиңиз!

Ырахат алыңыз!

Жаркыраган конкурс кылыңыз
Жаркыраган конкурс кылыңыз
Жаркыраган конкурс кылыңыз
Жаркыраган конкурс кылыңыз

Муну жаркыратуу конкурсунда экинчи орунду ээледи

Сунушталууда: