Съдържание:

Микро двоичен часовник: 10 стъпки (със снимки)
Микро двоичен часовник: 10 стъпки (със снимки)

Видео: Микро двоичен часовник: 10 стъпки (със снимки)

Видео: Микро двоичен часовник: 10 стъпки (със снимки)
Видео: Свършвам бързо! Как да правя секс по-дълго? 2024, Юли
Anonim
Микро двоичен часовник
Микро двоичен часовник
Микро двоичен часовник
Микро двоичен часовник

Проекти на Tinkercad »

След като преди това беше създаден Instructable (двоичен DVM), който използва ограничената област на дисплея, използвайки двоичен файл.

Това беше само малка стъпка, след като преди това беше създаден основният кодов модул за десетично в двоично преобразуване до създаване на двоичен часовник, но единственото нещо, което липсваше, беше RTC (часовник в реално време).

Въпреки това, Microbit няма вградена RTC.

RTC позволява реализирането на часовникови проекти с резервно копие на батерията.

Като такъв следният проект използва Microbit и Kitronik RTC за създаване на 24 -часов часовник с двоичен дисплей и допълнително има опция за аларма.

Софтуерът на проекта, който ще се изпълнява на Microbit, ще бъде създаден в Makecode Blocks.

Консумативи:

MicroBit V1 или V2

Защитен калъф MicroBit (по избор)

Направи код

Kitronik RTC

CR2032

Кодови блокове

Кура

3D принтер

1 * SPDT (вкл. - вкл.) Превключвател

1 * SPDT (включване - изключване - включване) превключвател

2 * SPST (нормално отворен), моментен превключвател

4 * M3 (10+6 мм), M/F стойки с M3 гайки

4 * M3 (8 мм), винтове

Съединителен кабел M/F конектор, 100 мм, 28AWG предварително изработен с щепсел и контакт.

1 * Пиезо зумер (без диск)

Тези консумативи се предлагат от редица търговски обекти и може да имате собствен предпочитан доставчик.

Стъпка 1: Определяне на зоната за показване

Определяне на зоната за показване
Определяне на зоната за показване
Определяне на зоната за показване
Определяне на зоната за показване

Въпреки че зоната на показване е ограничена в количеството данни, които могат да бъдат показани по всяко време, тя идеално се поддава на показване на битови данни.

Като такава има достатъчно пространство за показване на 4 x 4 битови двоични думи, за да представят времето с известия и режими за избор.

Дисплеят е разделен на 3 основни области; Време, избор и режими.

Време

Шестнадесет светодиода са зададени на Time, всяка колона от 4 светодиода е присвоена на интервал от време, като интервалите са във формата H, H, M & M.

Всеки бит от двоичната дума има тежест 1, 2, 4 и 8 с LSB на ред 4 и MSB на ред 1

Всяка двоична 4 -битова дума позволява броене от 0 до 15, което е повече от достатъчно за 24 -часовия формат, изискващ максимален брой на колона от 2, 9, 5 и 9.

Избор

Един ред от 4 светодиода на ред 0 се използва за идентифициране на колоната за време, избрана при въвеждане на часа.

Режими

Една колона от 5 светодиода в колона 4 се използва за идентифициране на режими, функции и работа.

Отбележете - LED 4, 0 мигащи вкл. / Изкл. Се използват за обозначаване на секунди и работа.

Време - LED 4, 1 показва режим на време, когато е включен. (Режим по подразбиране при включване)

Аларма - LED 4, 2 показва режим на аларма, когато е включен.

Известие за аларма - LED 4, 3 и LED 4, 4 мигат при задействане на алармата.

Стъпка 2: RTC (часовник в реално време)

RTC (часовник в реално време)
RTC (часовник в реално време)
RTC (часовник в реално време)
RTC (часовник в реално време)
RTC (часовник в реално време)
RTC (часовник в реално време)
RTC (часовник в реално време)
RTC (часовник в реално време)

RTC е биещото сърце на приложението, което позволява настройката и запазването на точното време.

Повече подробности за RTC можете да намерите в Kitronik.

RTC осигурява регулирано захранване, което отрича необходимостта от захранване на Microbit чрез собствен USB или JST конектор и се осигурява резервно копие на батерията, за да се запази времето в случай на загуба на захранване.

Преди да използвате RTC, ще трябва да заредите пакета с разширения.

Използвайки Makecode от иконата Settings, изберете Extensions и въведете Kitronik RTC в търсенето.

Изберете пакета, за да го инсталирате и той ще бъде добавен към другите разширения.

Има редица кодови блокове, от които да се чете и записва в RTC.

Ще изискваме само 4 от тези кодови блокове за двоичния часовник.

Те ще бъдат използвани за записване на зададеното време в RTC и за отчитане на времето за актуализиране на дисплея на часовника.

Стъпка 3: Кодиране на часовника

Кодиране на часовника
Кодиране на часовника
Кодиране на часовника
Кодиране на часовника
Кодиране на часовника
Кодиране на часовника

Първата част на кода е програмно инициализиране на променливи, масиви и информативен текст.

В него

Bclk - двоичен часовник

<Sel - Бутон избира колоната, която ще бъде коригирана за настройка на времето.

Inc - бутон B увеличава времето.

Натискането на двата бутона A & B заедно променя режима между Time & Alarm.

Strval - е низовата стойност, съдържаща времето във формата „HH: MM: SS“, върнато от RTC

Само HH & MM се използват за показване или настройване на часа.

Mode - запазва стойността на режима за Time = 1 и Alarm = 2, избрани с комбинацията от бутони A+B.

Период - е стойността за времевата колона, избрана с бутон А.

0 = колона 0 (H), 1 = колона 1 (H), 2 = колона 2 (M), 3 = колона 3 (M)

Tick_en - Активира = 1 или Деактивира = 0 отметката (секунди), индикатор.

Inc - Междинно съхранение на стойността на постепенното задаване на време.

Tm_list - съхранява стойността на всяка времева колона по време на настройката.

Аларма - Активира или деактивира индикатора за аларма.

Завинаги непрекъснато извиква функцията тик.

Отбележете

Функцията за отметка, която обикновено е активирана, показва променлив светодиод за включване/изключване в горния десен ъгъл, за да покаже работа и секунди.

Освен това, той извиква функцията showtm, която чете RTC и обработва това, за да бъде показана в двоичен формат, като същевременно извиква alarm_mode, ако това е активирано, показва светодиодите за известие за аларма в долния десен ъгъл.

Showtm

Функция showtm, извиква rdtime и използваната стойност от това е strval, съдържащ времевия низ.

Създава се цикъл, който увеличава чрез strval извличане на всяко единично число и игнориране на разделителя „:“

След това всяко единично число се преобразува в двоичен еквивалент с функция dec2bin и се присвоява на правилната колона.

Rdtime

Функция rdtime, чете първите 5 знака в низа, върнат от RTC (игнорирайки секундата), и го предава на strval.

Ако алармата е била настроена (режим = 2), тогава стойностите на зададените аларми се сравняват със стойностите, върнати от RTC, ако има съвпадение, тогава аларма = 1, ако няма аларма за съвпадение = 0.

Alarm_mode, когато е активиран, показва два променливи светодиода за включване/изключване в долния десен ъгъл на колона 4.

Dec2bin

Функцията dec2bin преобразува десетично число в двоично и го показва в правилната колона.

Числото, което трябва да се преобразува, се предава чрез стойност и колоната на дисплея се предава чрез col.

List2 е масивът, в който се съхранява 4-битовата двоична дума от процеса на двоично преобразуване.

Инициира се цикъл, който продължава да разделя стойността на 2, остатъкът се съхранява в елемента на масива, като цяло число се разделя на 2, това се повтаря, докато целочислената стойност е <= 1 и последната стойност се постави в масива.

Най-голямата едноцифрена десетична стойност е 9, а в двоично число това е 1001 като 4-битова дума.

След това масивът трябва да бъде обработен в обратен ред за правилния резултат.

След това се инициира цикъл за включване на правилния светодиод в съответната колона, това се постига за всяко появяване на един в 4-битовата двоична дума.

Човешкият интерфейс е изпълнен с бутони.

Бутонът А

Това избира колоната, в която ще бъде въведена стойността на времето, и показва светещ светодиод над избраната колона на ред 4.

След като всички времеви колони са актуализирани, увеличаването на селекцията до 5 -та колона актуализира променливата за време.

Ако режим = 1, RTC се актуализира, в противен случай се актуализира времето за аларма.

Бутонът B

Това е бутонът за увеличаване и увеличава избраната колона за време.

За да се намалят грешките и да се спести време за достигане на правилната стойност, максималната стойност, която може да бъде въведена на колона, е ограничена въз основа на стойността на времето за 24-часова система за време.

Тези максимални стойности се съхраняват в tm_max , по една за колона за време и се избират автоматично въз основа на колоната за време.

Максималните стойности са H = 2, H = 9, M = 5, M = 9

Стойността на увеличението се преобразува в двоично в dec2bin и дисплеят се актуализира.

Бутон A+B Избор на режим

Натискането на двата бутона заедно позволява избор между режим Time или Alarm, подходящият режим се показва на дисплея.

В зависимост от това кой режим е избран, дисплеят се актуализира, за да покаже времето или времето за настройка на алармата.

Стъпка 4: Операция

Операция
Операция
Операция
Операция
Операция
Операция

Изтеглете Hex файла на Microbit, поставете батерия CR2032 в RTC.

Включете Microbit в RTC и захранвайте RTC платката чрез USB или винтовите клеми.

Индикаторът за отметка ще започне да мига и малко след това ще се покаже времето.

Ако това е първото използване, показаното време е много вероятно да е грешно и ще трябва да бъде настроено на правилното време.

Избор на режим

Натискането заедно на бутоните за избор (A) и увеличаване (B) ще позволи циклично преминаване на опциите за режим между Time & Alarm.

Задаване на час

Настройката на часа е в режим 24H.

Използвайте бутона за избор (A), за да преместите светодиода през горния ред, това показва колоната, където може да се промени времето. Колоните за избор съответстват на H, H, M & M.

Където Н = часове и М = минути.

След като сте избрали колона, натиснете бутона за увеличаване (b), неколкократно, за да увеличите броя с един при всяко натискане. Преброяванията са посочени в двоичен формат, в края на краищата това е двоичен часовник.

Бутонът за увеличаване само увеличава броя и след достигане на максимума се нулира, следващите натискания отново ще увеличат броя.

След като времето за първата колона е зададено, натиснете бутона за избор за следващата колона, след което използвайте бутона за увеличаване, за да зададете времето за колоната.

Забележка: *** Когато задавате часа или алармата, ще трябва да въведете време в избраната колона, дори ако времето в колоната трябва да остане непроменено, тъй като пропускането на колона задава времето на тази колона на нула ****

Повторете процеса, докато не бъде зададено времето, като използвате всичките 4 колони.

Натиснете бутона за избор за пети път, за да го преместите в петата колона и часът е зададен.

Настройка на алармата

Настройката на аларменото време се извършва по абсолютно същия начин, както за часа.

За да може алармата да се задейства през необходимото време, оставете режима зададен на аларма.

За да изключите алармата, задайте Режим на Време.

За да се покаже зададеното време за аларма, циклирайте Режим между Час и Аларма и Аларменото време ще се показва за кратък период от време, преди да се върнете към показване на текущото време.

Времето за аларма не се съхранява в RTC, така че ако се изключи захранването, ще се наложи нулиране.

Стъпка 5: Поставете го в кутия

Box It
Box It
Box It
Box It

Проектът ще седи под подходящия ъгъл, за да гледа часовника, но кутия добавя усещане за постоянство.

Можете да закупите кутия с подходящ размер и да изрежете и пробиете подходящите зони, за да позволите на Microbit да се побере в гнездото.

Въпреки това; освен това исках да дублирам бутоните Microbit заедно с други контроли и индикатори.

Обикновено легендите ще трябва да се прилагат към кутията, за да се идентифицират бутоните.

Те могат да се прилагат на ръка; боядисани, гравирани или нанасящи етикети.

Метод за реализиране на всички тези опции би бил 3D отпечатването на кутията, но първо ще трябва да създадем CAD файл, с който да създадем файла на принтера.

Опциите за създаване на файл са нарисувани на ръка или нарисувани с код.

Избрах „нарисувано с код“, използвайки Tinkercad CodeBlocks

Файловете за Box Lid и Box Base могат да бъдат намерени на Tinkercad CodeBlocks

Стъпка 6: Дизайн на блоков код

Дизайн на блоков код
Дизайн на блоков код
Дизайн на блоков код
Дизайн на блоков код

Кутията е дизайн от две части, състоящ се от основа и капак.

Четири ъглови отвора за винтове ще бъдат използвани за закрепване на капака с изрез от лявата страна, за да се позволи вход за USB щепсела.

Капакът ще има изрез за конектора Microbit и необходимите превключватели, освен това всеки текст ще бъде отпечатан директно върху капака и отворите за винтове ще се подравнят с основните колони.

Платката RTC ще бъде прикрепена към долната страна на капака с 4 стълба и 4 винта.

Размерът на кутията плюс капака е 70 x 105 x 31 мм

Кодът за капака и основата е достъпен в TinkerCad CodeBlocks.

Стъпка 7: 3D печат

3D печат
3D печат
3D печат
3D печат
3D печат
3D печат
3D печат
3D печат

Заредете файловете в Cura и приложете предпочитаните от вас настройки за нарязване.

Приложени настройки.

Качество: 0,15 мм

Запълване: 80%, три-шестоъгълник

База: Брайм

Запазете файловете си и след това отпечатайте.

С Cura можете да заредите двата файла заедно в една и съща област за печат и да отпечатате наведнъж.

Стъпка 8: Попълнете

Напълнете
Напълнете
Напълнете
Напълнете
Напълнете
Напълнете

Капакът на кутията е отпечатан с вдлъбнат текст, който ще бъде изпълнен с цветна 2 -частна епоксидна смола.

Смолата се смесва в съотношение 2 части смола към 1 част втвърдител, след което се смесва непрозрачен цветен пигмент.

Избраният цвят беше жълт, за да контрастира с фона. Бялото би било друг избор.

След като се смеси, смолата се капе в вдлъбнатината с помощта на коктейлна пръчка за прехвърляне на малки петна от смола, които се използват за постепенно запълване на вдлъбнатината в буквите.

Издържайте на поставянето на твърде много смола наведнъж, тъй като вероятно ще се окажете с въздушни мехурчета и или ще създадете прекалено много преливане към околната повърхност, което означава, че ще трябва да премахнете почистването и шлайфането след втвърдяване.

Така че попълнете бавно, като се уверите, че дъното на буквата е покрито и го изградете, завършвайки с леко повдигната повърхност.

След като смолата се втвърди, ще е необходимо леко шлайфане за изравняване на повърхността, започнете с клас P240, преминавайки към по -фини степени, колкото е необходимо, за да получите гладко покритие, завършващо с полиране.

Не прилагайте прекалено голям натиск и прекалено висока скорост, в противен случай ще прегреете PLA и смолата в резултат на тъпа повърхност поради натрупване на песъчинки, малко вода, нанесена по време на процеса на шлайфане, ще действа като смазка и охлаждаща течност.

Стъпка 9: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж
Монтаж
Монтаж

Microbit ще се побере в гнездото в две ориентации, с лице към основната част на RTC, обърната настрани.

Ако обаче са обърнати към основната част на RTC, връзките за връзка не могат да се използват, ако Microbit е обърнат далеч от основната част на платката, тогава можем да се възползваме от тези връзки.

Сглобяването започва чрез запояване на правоъгълна SIL заглавка на щифт върху RTC, това е, за да се даде възможност връзките да се осъществяват с конектори за притискане.

RTC е монтиран от 4 * M3 (10+6 мм), M/F стойки с M3 гайки, които са закрепени към капака с 4 * M3 (8 мм), винтове в сглобяемите отвори.

Превключвателите са монтирани в сглобяемите отвори на капака.

Необходимите връзки са:

GND, 3V, P1 (комплект), P2 (сигнал), P5 (сел) и P11 (вкл.)

Забележка *** Резисторите (1R), на диаграмата за P5 и P11 са просто референтни точки за свързване, тъй като директната връзка към тези пинове на Microbit в блоковете Code не е налична в момента. ***

P5 е външната връзка за бутон А, който е свързан с моментен превключвател SPST. Едната връзка към P5, а другият щифт е свързан към GND този бутон е за избор на колона по време на настройка на времето.

P11 е външната връзка за Бутон B, която е свързана с моментен превключвател SPST. Едната връзка към P11, а другият щифт е свързан към GND, неговият бутон е за увеличаване на номера по време на настройка на времето.

P1 е превключвател SPDT (включване), който се използва за активиране или деактивиране на опциите за настройка. Централният щифт отива към P1, докато един щифт към свързан към GND, а другият към 3V чрез 10k резистор. Това позволява H (3V) и L (0V) да бъдат приложени към този щифт. Когато P1 е свързан към 3V, това позволява опциите за настройка на времето и когато 0V деактивира настройката на времето. По този начин се контролира дали бутоните A & B имат някакъв ефект.

P2 е превключвател SPDT (включване-изключване-включване), който се използва за активиране или деактивиране на звуковия сигнал и допълнителните външни светлини.

Звуковият сигнал е пиезо зумер (просто прикрепен с двустранна лепкава подложка), изискващ импулсно задвижване, което се осигурява от Microbit.

Стъпка 10: Най -накрая

Сглобихте елементите в кутията, програмирахте Microbit и го поставихте в гнездото на кутията.

След това включете захранването и задайте часа.

Наслади се.

Конкурс за блокиране на код
Конкурс за блокиране на код
Конкурс за блокиране на код
Конкурс за блокиране на код

Вицешампион в конкурса за блок код

Препоръчано: