Съдържание:
- Стъпка 1: Сглобяване на частите
- Стъпка 2: Схема
- Стъпка 3: Калибриране
- Стъпка 4: Монтаж и довършителни работи
- Стъпка 5: Скица на Arduino - Калибриране
- Стъпка 6: Скица на Arduino - Часовник
Видео: Часовник Nixie Bargraph: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
Редактирайте 11.11.17 С помощта на Kickstarter вече пуснах комплект за този часовник! Той включва платка за драйвери и 2 тръби Nixie IN-9. Всичко, което трябва да добавите, е вашият собствен Arduino/Raspberry Pi/други. Комплектът може да бъде намерен, но щракнете върху тази връзка!
Така че видях много часовници Nixie онлайн и си помислих, че изглеждат страхотно, но не исках да харча $ 100+ за часовник, който дори не включва лампите! и вериги. Исках да направя нещо малко по -различно от широката гама от обикновено доста сходни изглеждащи часовници Nixie. В крайна сметка избрах да използвам Nixie IN-9 барграфни тръби. Това са дълги тънки тръби и височината на светещата плазма зависи от тока през тръбите. Тръбата вляво е на стъпки от час, а тръбата вдясно е за минути. Те имат само два проводника и така правят изграждането на верига по -право напред. В този дизайн има тръба за час и минута, като височините на плазмата във всяка тръба представляват текущото време. Времето се съхранява с помощта на микроконтролер Adafruit Trinket и часовник в реално време (RTC).
Стъпка 1: Сглобяване на частите
Има две секции, първо електрониката и второ монтаж и довършителни работи. Необходимите електронни компоненти са: Adafruit Trinket 5V - $ 7.95 (www.adafruit.com/products/1501) Adafruit RTC - $ 9 (www.adafruit.com/products/264) 2x Nixie IN -9 bargraph ~ 3 $ на тръба в eBay 1x Nixie 140v захранване ~ $ 12 на eBay 4x 47 uF електролитни кондензатори 4x 3.9 kOhm резистори 2x 1 kOhm потенциометър 2x транзистор MJE340 NPN високо напрежение ~ 1 $ всеки 1x LM7805 5v регулатор ~ $ 1 1x 2.1mm гнездо ~ $ 1 1x проектна кутия с печатна платка ~ $ 5 1x 12v DC захранване (намерих стар от някоя отдавна забравена притурка) Поялник, свързващ проводник и т.н. За да отбележа часа и минутите използвах медна тел, обвита около тръбите. Монтажни части: Античен часовник - $ 10 eBay Медна тел - $ 3 eBay Пистолет за горещо лепило
Стъпка 2: Схема
Първата стъпка е да се изгради Nixie захранване. Това дойде като хубав малък комплект от eBay, включващ малко печатна платка и просто имаше нужда компонентите да бъдат запоени към платката. Това конкретно захранване е променливо между 110-180v, контролирано с малко гърне на дъската. С помощта на малка отвертка регулирайте изхода на ~ 140v. Преди да извървя целия път, исках да изпробвам моите Nixie епруветки, за да направя това, изградих обикновена тестова верига, използвайки една тръба, транзистор и 10k потенциометър, който имах наоколо. Както може да се види на първата фигура, захранването 140v е прикрепено към тръбния анод (десен крак). След това катодът (ляв крак) е свързан към колекторния крак на транзистора MJE340. Захранване от 5v е свързано към 10k пот, разделящо се на земята в основата на транзистора. Накрая транзисторният излъчвател се свързва чрез ограничител на ток 300 ома към земята. Ако не сте запознати с транзисторите и електрониката, няма особено значение, просто го свържете и променете височината на плазмата с копчето за гърне! След като това работи, можем да погледнем как да си направим часовника. Пълната тактова верига може да се види на втората електрическа схема. След известно проучване намерих перфектен урок на уебсайта Adafruit learn, който прави почти точно това, което исках да направя. Урокът може да бъде намерен тук: https://learn.adafruit.com/trinket-powered-analog-m… Този урок използва контролер Trinket и RTC за управление на два аналогови усилвателя. Използване на широчинно -импулсна модулация (ШИМ) за контрол на отклонението на иглата. Бобината на усилвателя измерва средно ШИМ в ефективен постоянен сигнал. Ако обаче използваме ШИМ директно за задвижване на тръбите, тогава високочестотната модулация означава, че плазмената лента няма да остане "затегната" към основата на тръбата и ще имате висяща лента. За да избегна това, осредних ШИМ, използвайки нискочестотен филтър с дълго време константа, за да получа почти постоянен сигнал. Това има гранична честота от 0,8 Hz, това е добре, тъй като актуализираме часовника само на всеки 5 секунди. Освен това, тъй като барграфите имат краен живот и може да се нуждаят от подмяна, а не всяка тръба е същата, включих 1k пот след тръбата. Това позволява ощипване за регулиране на плазмената височина за двете епруветки. За да свържете дрънкулката към часовника в реално време (RCT), свържете Trinket-pin 0 към RTC-SDA, Trinket-pin 2 към RTC-SCL и Trinket-5v към RTC-5v и Trinket GND към RTC земята. За тази част може да е полезно да видите инструкциите за часовника Adafruit, https://learn.adafruit.com/trinket-powered-analog-…. След като Trinket и RTC са правилно свързани, свържете проводниците, транзисторите, филтрите и т.н. към чертежа, като следвате внимателно електрическата схема.
За да накарате RTC и Trinket да говорят, първо трябва да изтеглите правилните библиотеки от Adafruit Github. Имате нужда от TinyWireM.h и TInyRTClib.h. Първо искаме да калибрираме епруветките, да качим калибриращата скица в края на тази инструкция. Ако нито една от скиците в края не работи, опитайте скицата на часовника Adafruit. Направих скицата на часовника Adafruit, за да работи най -ефективно с тръбите nixie, но скицата на Adafruit ще работи добре.
Стъпка 3: Калибриране
След като качите калибриращата скица, дипломите трябва да бъдат маркирани.
Има три режима за калибриране, първият настройва двете никси лампи на максималния изход. Използвайте това, за да регулирате съда, така че височината на плазмата в двете епруветки да е еднаква и да е малко под максималната височина. Това гарантира, че реакцията е линейна в целия тактов диапазон.
Втората настройка калибрира тръбата за минути. Променя се между 0, 15, 30, 45 и 60 минути на всеки 5 секунди.
Последната настройка повтаря това за всеки час. За разлика от часовника Adafruit, индикаторът за час се движи с фиксирани стъпки веднъж на всеки час. Беше трудно да се получи линеен отговор за всеки час, когато се използва аналогов измервателен уред.
След като сте настроили пота, качете скицата, за да я калибрирате за минути. Вземете тънката медна жица и отрежете къса дължина. Увийте тази кръгла тръба и завъртете двата края заедно. Плъзнете го в правилната позиция и с помощта на пистолет за горещо лепило поставете малко петно лепило, за да го задържите на правилното място. Повторете това за всяка минута и час.
Забравих да направя снимки на този процес, но можете да видите от снимките как е прикрепен проводникът. Въпреки че използвах много по -малко лепило само за закрепване на проводника.
Стъпка 4: Монтаж и довършителни работи
След като всички тръби са калибрирани и работят, сега е моментът да направите веригата за постоянно и да я монтирате на някаква форма на основата. Избирам античен часовник, тъй като ми хареса комбинацията от антични, 60 -те и съвременните технологии. Когато прехвърляте от дъската към лентата, бъдете много внимателни и отделете време, за да се уверите, че всички връзки са осъществени. Кутията, която купих, беше малко малка, но с внимателно поставяне и малко принуждаване успях да накарам всичко. Пробих дупка отстрани за захранването и друга за никси проводниците. Покрих проводниците на nixie с термосвиване, за да избегна къси панталони. Когато електрониката е монтирана в кутията, залепете я към задната част на часовника. За монтиране на тръбите използвах горещо лепило и залепих върховете на усукана тел към метала, като внимавах да се уверя, че са прави. Вероятно съм използвал прекалено много лепило, но не е много забележимо. Това може да е нещо, което може да се подобри в бъдеще. Когато всичко е монтирано, заредете скицата на часовника Nixie в края на тази инструкция и се възхищавайте на вашия прекрасен нов часовник!
Стъпка 5: Скица на Arduino - Калибриране
#define HOUR_PIN 1 // Часов дисплей чрез PWM на Trinket GPIO #1
#define MINUTE_PIN 4 // Минутен дисплей чрез PWM на Trinket GPIO #4 (чрез разговори по Таймер 1)
int часове = 57; int минути = 57; // задайте минимален pwm
void setup () {pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // настройка на PWM изходи
}
void loop () {// Използвайте това, за да промените никси саксиите, за да се уверите, че максималната височина на тръбата съвпада с analogWrite (HOUR_PIN, 255); analogWrite4 (255); // Използвайте това за калибриране на минутните стъпки
/*
analogWrite4 (57); // минута 0 закъснение (5000); analogWrite4 (107); // забавяне на минута 15 (5000); analogWrite4 (156); // забавяне на минута 30 (5000); analogWrite4 (206); // забавяне от 45 минути (5000); analogWrite4 (255); // забавяне на минута 60 (5000);
*/
// Използвайте това за калибриране на часовите стъпки /*
analogWrite (HOUR_PIN, 57); // 57 е минималната мощност и съответства на 1 am /pm закъснение (4000); // забавяне 4 секунди analogWrite (HOUR_PIN, 75); // 75 е изходът, който съответства на 2 am /pm закъснение (4000); analogWrite (HOUR_PIN, 93); // 93 е изходът, който съответства на 3 am /pm закъснение (4000); analogWrite (HOUR_PIN, 111); // 111 е изходът, който съответства на 4 am /pm закъснение (4000); analogWrite (HOUR_PIN, 129); // 129 е изходът, който съответства на 5 am /pm закъснение (4000); analogWrite (HOUR_PIN, 147); // 147 е изходът, който съответства на 6 am /pm закъснение (4000); analogWrite (HOUR_PIN, 165); // 165 е изходът, който съответства на 7 am /pm закъснение (4000); analogWrite (HOUR_PIN, 183); // 183 е изходът, който съответства на 8 am /pm закъснение (4000); analogWrite (HOUR_PIN, 201); // 201 е изходът, който съответства на 9 am /pm закъснение (4000); analogWrite (HOUR_PIN, 219); // 219 е изходът, който съответства на 10 am /pm закъснение (4000); analogWrite (HOUR_PIN, 237); // 237 е изходът, който съответства на закъснение от 11 ч./Мин (4000); analogWrite (HOUR_PIN, 255); // 255 е изходът, който съответства на 12 ч./Мин
*/
}
void PWM4_init () {// Настройте PWM на Trinket GPIO #4 (PB4, пин 3), като използвате Таймер 1 TCCR1 = _BV (CS10); // без предварително делител GTCCR = _BV (COM1B1) | _BV (PWM1B); // изчистване на OC1B при сравнение OCR1B = 127; // работен цикъл инициализиране на 50% OCR1C = 255; // честота }
// Функция за разрешаване на analogWrite на Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // митото може да бъде от 0 до 255 (от 0 до 100%)}
Стъпка 6: Скица на Arduino - Часовник
// Аналогов часовник за измерване на Adafruit Trinket
// Функции за дата и час, използващи DS1307 RTC, свързани чрез I2C и TinyWireM lib
// Изтеглете тези библиотеки от хранилището на Github на Adafruit и // инсталирайте във вашата директория на Arduino Libraries #include #include
// За отстраняване на грешки, разкоментиране на сериен код, използвайте FTDI Friend с неговия RX щифт, свързан към Pin 3 // Ще ви е необходима терминална програма (например безплатна PuTTY за Windows), настроена на // USB порта на FTDI приятел на 9600 бод. Декомментирайте серийните команди, за да видите какво става // #дефинирайте HOUR_PIN 1 // Показване на час чрез PWM на Trinket GPIO #1 #дефинирайте MINUTE_PIN 4 // Минутно показване чрез PWM на Trinket GPIO #4 (чрез разговори по Таймер 1) // SendOnlySoftwareSerial Serial (3); // Серийно предаване на Trinket Pin 3 RTC_DS1307 rtc; // Настройка на часовник в реално време
void setup () {pinMode (HOUR_PIN, OUTPUT); // дефинираме изводите на ШИМ измервател като изходи pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // Задайте таймер 1 да работи PWM на Trinket Pin 4 TinyWireM.begin (); // Започнете I2C rtc.begin (); // Започнете часовник в реално време DS1307 //Serial.begin(9600); // Стартиране на сериен монитор на 9600 бода if (! Rtc.isrunning ()) {//Serial.println(" RTC НЕ работи! "); // следният ред задава RTC на датата и часа на съставяне на тази скица rtc.adjust (DateTime (_ DATE_, _TIME_)); }}
void loop () {uint8_t hourvalue, minutevalue; uint8_t часово напрежение, минутно напрежение;
DateTime сега = rtc.now (); // Вземете RTC info hourvalue = now.hour (); // Вземете часа if (hourvalue> 12) hourvalue -= 12; // Този часовник е 12 часа minutevalue = now.minute (); // Вземете минутите
минутно напрежение = карта (минутна стойност, 1, 60, 57, 255); // Конвертиране на минути в работен цикъл на ШИМ
if (hourvalue == 1) {analogWrite (HOUR_PIN, 57); } if (hourvalue == 2) {analogWrite (HOUR_PIN, 75); // всеки час съответства на +18} if (hourvalue == 3) {analogWrite (HOUR_PIN, 91); }
if (hourvalue == 4) {analogWrite (HOUR_PIN, 111); } if (hourvalue == 5) {analogWrite (HOUR_PIN, 126); } if (hourvalue == 6) {analogWrite (HOUR_PIN, 147); } if (hourvalue == 7) {analogWrite (HOUR_PIN, 165); } if (hourvalue == 8) {analogWrite (HOUR_PIN, 183); } if (hourvalue == 9) {analogWrite (HOUR_PIN, 201); } if (hourvalue == 10) {analogWrite (HOUR_PIN, 215); } if (hourvalue == 11) {analogWrite (HOUR_PIN, 237); } if (hourvalue == 12) {analogWrite (HOUR_PIN, 255); }
analogWrite4 (минутно напрежение); // минутата analogwrite може да остане същата като картографирането работи // кодът за поставяне на процесора в режим на заспиване може да бъде за предпочитане - ще забавим забавянето (5000); // проверяваме времето на всеки 5 секунди. Можете да промените това. }
void PWM4_init () {// Настройте PWM на Trinket GPIO #4 (PB4, пин 3), като използвате Таймер 1 TCCR1 = _BV (CS10); // без предварително делител GTCCR = _BV (COM1B1) | _BV (PWM1B); // изчистване на OC1B при сравнение OCR1B = 127; // работен цикъл инициализиране на 50% OCR1C = 255; // честота }
// Функция за разрешаване на analogWrite на Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // митото може да бъде от 0 до 255 (от 0 до 100%)}
Препоръчано:
Часовник за пенсиониране / Брой нагоре / Dn часовник: 4 стъпки (със снимки)
Пенсионен часовник / Брой нагоре / Dn часовник: Имах няколко от тези 8x8 LED матрични дисплеи в чекмеджето и мислех какво да правя с тях. Вдъхновен от други инструктажи, имам идеята да създам дисплей за обратно броене/нагоре за обратно броене до бъдеща дата/час и ако целевото време p
ESP8266 Мрежов часовник без RTC - Nodemcu NTP Часовник Няма RTC - ИНТЕРНЕТЕН ЧАСОВНИК ПРОЕКТ: 4 стъпки
ESP8266 Мрежов часовник без RTC | Nodemcu NTP Часовник Няма RTC | ИНТЕРНЕТЕН ЧАСОВНИК ПРОЕКТ: В проекта ще се прави часовник проект без RTC, ще отнеме време от интернет с помощта на wifi и ще го покаже на дисплея st7735
C51 4 -битов електронен часовник - дървен часовник: 15 стъпки (със снимки)
C51 4 -битов електронен часовник - Дървен часовник: Имах малко свободно време този уикенд, затова продължих и сглобих този 4 -битов DIY електронен цифров часовник за 2,40 австралийски долара, който купих от AliExpress преди малко
Създаване на часовник от часовник: 11 стъпки (със снимки)
Създаване на часовник от часовник: В тази инструкция, аз вземам съществуващ часовник и създавам това, което чувствам, че е по -добър часовник. Ще преминем от снимката вляво към снимката вдясно. Преди да започнете със собствен часовник, моля, знайте, че сглобяването може да бъде предизвикателство, тъй като изображението
Преобразувайте обикновения домашен часовник в самостоятелно светещ часовник: 8 стъпки (със снимки)
Преобразувайте обикновения домашен часовник в самостоятелно светещ часовник: ПЪРВО ДАВАМ МОИТЕ СЪРДЕЧНИ БЛАГОДАРНОСТИ НА ИНСТРУКТИВНИТЕ ОТБОРИ, КОИТО МОИТЕ ДНИ ЗА ОЗДРАВЛЕНИЕ НА ЗДРАВЕТО СЕ ОЩЕ ОТГОВОРЯТ ….. В тази инструкция искам да споделя с вас как да превърнете домашния си обикновен часовник в самостоятелно светещ часовник. > > За да направите това