Përmbajtje:

Ora Nixie Bargraph: 6 hapa (me fotografi)
Ora Nixie Bargraph: 6 hapa (me fotografi)

Video: Ora Nixie Bargraph: 6 hapa (me fotografi)

Video: Ora Nixie Bargraph: 6 hapa (me fotografi)
Video: Nixie Tube Clock on 6 IN-14 / Часы на лампах ИН-14 (6 ламп). 2024, Korrik
Anonim
Ora Nixie Bargraph
Ora Nixie Bargraph
Ora Nixie Bargraph
Ora Nixie Bargraph

Edit 9/11/17Me ndihmën e Kickstarter tani kam lëshuar një çantë për këtë çantë orësh! Ai përfshin një dërrasë shoferi dhe 2 tuba Nixie IN-9. E tëra çfarë ju duhet të shtoni është Arduino/Raspberry Pi juaj/tjetri. Kompleti mund të gjendet, por duke klikuar në këtë lidhje!

Kështu që unë kam parë shumë orë Nixie në internet dhe mendova se dukeshin shkëlqyeshëm, megjithatë nuk doja të shpenzoja 100 dollarë+ për një orë që nuk përfshin as tubat! Kështu që me një njohuri të vogël elektronike gjuajta rreth tubave të ndryshëm nixie dhe qarqet. Doja të bëja diçka pak më ndryshe nga gama e madhe e orëve nixie me pamje përgjithësisht mjaft të ngjashme. Në fund zgjodha të përdor tubat bargrafik Nixie IN-9. Këto janë tuba të gjatë të hollë dhe lartësia e plazmës që shkëlqen varet nga rryma nëpër tuba. Tubi në të majtë është në rritje orë dhe tubi në të djathtë është në minuta. Ata kanë vetëm dy priza dhe kështu e bëjnë ndërtimin e një qarku më të drejtë përpara. Në këtë dizajn, ka një orë dhe një minutë tub, me lartësitë e plazmës në secilin tub që përfaqësojnë kohën aktuale. Koha mbahet duke përdorur një mikrokontrollues Adafruit Trinket dhe orë në kohë reale (RTC).

Hapi 1: Montimi i pjesëve

Montimi i Pjesëve
Montimi i Pjesëve

Ka dy seksione, së pari elektronika dhe së dyti montimi dhe përfundimi. Komponentët elektronikë të kërkuar janë: Adafruit Trinket 5V - 7.95 $ (www.adafruit.com/products/1501) Adafruit RTC - 9 $ (www.adafruit.com/products/264) 2x Nixie IN -9 bargraph 3 3 $ për tub në eBay 1x Furnizimi me energji Nixie 140v 12 12 dollarë në eBay 4x 47 uF kondensatorë elektrolitësh 4x 3.9 kOhm rezistorë 2x 1 kOhm potenciometër 2x Transistor MJE340 NPN tension i lartë ~ 1 dollarë secila 1x LM7805 5v rregullator ~ 1 $ 1x 2.1mm prizë ~ 1 $ 1x kuti projekti me pc Furnizimi me energji DC 12v (gjeta një të vjetër nga një vegël e harruar prej kohësh) Saldator, tela lidhës, etj Montimi: Vendosa të montoj pajisjet elektronike në një kuti të vogël të projektit plastik të zi, pastaj montoj tubat në një lëvizje antike të orës. Për të shënuar orën dhe minutat kam përdorur tela bakri të mbështjellë rreth tubave. Pjesët e montimit: Lëvizja e orës antike - 10 dollarë tela bakri eBay - 3 dollarë eBay Armë ngjitëse e nxehtë

Hapi 2: Qarku

Qarku
Qarku
Qarku
Qarku
Qarku
Qarku
Qarku
Qarku

Hapi i parë është ndërtimi i furnizimit me energji Nixie. Kjo erdhi si një çantë e bukur nga eBay, duke përfshirë një PCB të vogël dhe thjesht i duheshin përbërësit për t'u bashkuar në tabelë. Ky furnizim i veçantë është i ndryshueshëm midis 110-180v, i kontrollueshëm me një tenxhere të vogël në tabelë. Duke përdorur një vidhosës të vogël rregulloni daljen në v 140v. Para se të shkoja në të gjithë rrugën, doja të provoja tubat e mi nixie, për ta bërë këtë, unë ndërtova një qark të thjeshtë provë duke përdorur një tub, transistor dhe një potenciometër 10k që kisha hedhur përreth. Siç mund të shihet në figurën e parë, furnizimi 140v është i bashkangjitur në anodën e tubit (këmba e djathtë). Katoda (këmba e majtë) lidhet më pas me këmbën e kolektorit të transistorit MJE340. Një furnizim 5v është i lidhur me një tenxhere 10k që ndahet në tokë në bazën e tranzistorit. Së fundi, emetuesi i tranzistorit lidhet me një rezistencë kufizuese të rrymës 300 ohm me tokën. Nëse nuk jeni të njohur me transistorët dhe elektronikën nuk ka shumë rëndësi, thjesht lidhni atë dhe ndryshoni lartësinë e plazmës me çelësin e tenxhere! Pasi të funksionojë, ne mund të shikojmë të bëjmë orën tonë. Qarku i orës së plotë mund të shihet në diagramin e qarkut të dytë. Pas disa kërkimeve gjeta një tutorial të përsosur në faqen e internetit të Adafruit learn duke bërë pothuajse pikërisht atë që doja të bëja. Tutoriali mund të gjendet këtu: https://learn.adafruit.com/trinket-powered-analog-m… Ky tutorial përdor një kontrollues Trinket dhe një RTC për të kontrolluar dy amp metra analoge. Përdorimi i modulimit të gjerësisë së impulsit (PWM) për të kontrolluar devijimin e gjilpërës. Spiralja e njehsorit të amortizimit mesatarizon PWM në një sinjal dc efektiv. Sidoqoftë, nëse përdorim PWM drejtpërdrejt për të drejtuar tubat, atëherë modulimi me frekuencë të lartë do të thotë që shiriti i plazmës nuk do të qëndrojë "i shtrënguar" në bazën e tubit dhe ju do të keni një shirit rrotullues. Për të shmangur këtë, unë mesatarizova PWM duke përdorur një filtër me kalim të ulët me një konstante të gjatë për të marrë një sinjal pothuajse dc. Kjo ka një frekuencë të prerë prej 0.8 Hz, kjo është mirë pasi ne po përditësojmë kohën e orës vetëm çdo 5 sekonda. Për më tepër meqenëse bargrafët kanë një jetëgjatësi të kufizuar dhe mund të kenë nevojë për zëvendësim dhe jo çdo tub është saktësisht i njëjtë, unë përfshiva një tenxhere 1k pas tubit. Kjo ju lejon të rregulloni lartësinë e plazmës për të dy tubat. Për të lidhur xhingël me orën në kohë reale (RCT) lidhni Trinket-pin 0 me RTC-SDA, Trinket-pin 2 me RTC-SCL dhe Trinket-5v me RTC-5v dhe Trinket GND me tokën RTC. Për këtë pjesë mund të jetë e dobishme të shikoni udhëzimet e orës Adafruit, https://learn.adafruit.com/trinket-powered-analog-…. Pasi xhingla dhe RTC të jenë lidhur mirë, lidhni tubat nixie, transistorët, filtrat etj në një dërrasë buke duke ndjekur me kujdes diagramin e qarkut.

Për të folur RTC dhe Trinket, së pari duhet të shkarkoni bibliotekat e sakta nga Adafruit Github. Keni nevojë për TinyWireM.h dhe TInyRTClib.h. Së pari ne duam të kalibrojmë tubat, të ngarkojmë skicën e kalibrimit në fund të këtij udhëzimi. Nëse asnjë nga skicat në fund nuk funksionon, atëherë provoni skicën e orës Adafruit. Unë kam ndryshuar skicën e orës Adafruit për të punuar në mënyrë më efektive me tubat nixie, por skica e Adafruit do të funksionojë mirë.

Hapi 3: Kalibrimi

Kalibrimi
Kalibrimi

Pasi të keni ngarkuar skicën e kalibrimit, diplomimet duhet të shënohen.

Ekzistojnë tre mënyra për kalibrimin, e para vendos të dy tubat nixie në daljen maksimale. Përdoreni këtë për të rregulluar tenxheren në mënyrë që lartësia e plazmës në të dy tubat të jetë e njëjtë dhe të jetë pak nën lartësinë maksimale. Kjo siguron që përgjigja të jetë lineare në të gjithë gamën e orës.

Vendosja e dytë kalibron tubin e minutave. Ndryshon midis 0, 15, 30, 45 dhe 60 minuta çdo 5 sekonda.

Cilësimi i fundit e përsërit këtë për çdo rritje orë. Ndryshe nga ora Adafruit, treguesi i orës lëviz në rritje fikse një herë në orë. Ishte e vështirë për të marrë një përgjigje lineare për çdo orë kur përdorni një njehsor analog.

Pasi të keni rregulluar tenxheren, ngarkoni skicën për të kalibruar për minuta. Merrni tela të hollë bakri dhe prerë një gjatësi të shkurtër. Përfundoni këtë rreth tubit dhe ktheni të dy skajet së bashku. Rrëshqiteni këtë në pozicionin e duhur dhe duke përdorur një armë zam të nxehtë vendosni një copë zam të vogël për ta mbajtur në vendin e duhur. Përsëriteni këtë për çdo rritje minutë dhe orë.

Kam harruar të bëj ndonjë fotografi të këtij procesi, por ju mund të shihni nga fotografitë se si është lidhur tela. Megjithëse kam përdorur shumë më pak zam vetëm për të lidhur tela.

Hapi 4: Montimi dhe Mbarimi

Montimi dhe Mbarimi
Montimi dhe Mbarimi
Montimi dhe Mbarimi
Montimi dhe Mbarimi
Montimi dhe Mbarimi
Montimi dhe Mbarimi

Pasi të jenë kalibruar të gjithë tubat dhe të punojnë, tani është koha për të bërë përgjithmonë qarkun dhe për t'u montuar në një formë baze. Unë zgjedh një lëvizje antike të orës pasi më pëlqeu përzierja e teknologjisë antike, të viteve 60 dhe asaj moderne. Kur transferoni nga panela e bukës në tabelë, jini shumë të kujdesshëm dhe merrni kohën tuaj duke u siguruar që të gjitha lidhjet janë bërë. Kutia që bleva ishte pak e vogël por me një vendosje të kujdesshme dhe pak të detyruar arrita që të gjitha të përshtaten. Unë shpova një vrimë në anën për furnizimin me energji elektrike dhe një tjetër për lidhjet nixie. I mbulova telat nixie në tkurrjen e nxehtësisë për të shmangur çdo shkurtesë. Kur pajisjet elektronike janë montuar në kuti ngjiteni atë në pjesën e prapme të lëvizjes së orës. Për të montuar tubat kam përdorur zam të nxehtë dhe kam ngjitur pikat e telit të përdredhur në metal, duke qenë të kujdesshëm për të siguruar që ato të jenë të drejta. Unë ndoshta kam përdorur shumë zam, por nuk është shumë e dukshme. Mund të jetë diçka që mund të përmirësohet në të ardhmen. Kur të jetë ngritur gjithçka, ngarkoni skicën e orës Nixie në fund të këtij udhëzimi dhe admironi orën tuaj të re të bukur!

Hapi 5: Skica Arduino - Kalibrimi

#përcakto HOUR_PIN 1 // Ekran orësh përmes PWM në Trinket GPIO #1

#define MINUTE_PIN 4 // Shfaqje minutash përmes PWM në Trinket GPIO #4 (përmes thirrjeve të kohëmatësit 1)

orë int = 57; minuta int = 57; // vendos minimumin pwm

void setup () {pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // vendosni daljet PWM

}

void loop () {// Përdoreni këtë për të ndryshuar tenxheret nixie për t'u siguruar që lartësia maksimale e tubit përputhet me analogWrite (HOUR_PIN, 255); analogWrite4 (255); // Përdoreni këtë për të kalibruar shtesat e minutave

/*

analogWrite4 (57); // minutë 0 vonesë (5000); analogWrite4 (107); // minuta 15 vonesë (5000); analogWrite4 (156); // minutë 30 vonesë (5000); analogWrite4 (206); // minutë 45 vonesë (5000); analogWrite4 (255); // minutë 60 vonesë (5000);

*/

// Përdoreni këtë për të kalibruar rritjen e orës /*

analogWrite (HOUR_PIN, 57); // 57 është dalja minimale dhe korrespondon me vonesën 1 të mëngjesit/pasdite (4000); // vono 4 sekonda analogWrite (HOUR_PIN, 75); // 75 është dalja që korrespondon me vonesën 2 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 93); // 93 është dalja që korrespondon me vonesën 3 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 111); // 111 është dalja që korrespondon me vonesën 4 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 129); // 129 është dalja që korrespondon me vonesën 5 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 147); // 147 është dalja që korrespondon me vonesën 6 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 165); // 165 është dalja që korrespondon me vonesën 7 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 183); // 183 është dalja që korrespondon me vonesën 8 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 201); // 201 është dalja që korrespondon me vonesën 9 të mëngjesit/pasdite (4000); analogWrite (HOUR_PIN, 219); // 219 është dalja që korrespondon me vonesën 10 paradite/pasdite (4000); analogWrite (HOUR_PIN, 237); // 237 është dalja që korrespondon me vonesën 11 paradite/pasdite (4000); analogWrite (HOUR_PIN, 255); // 255 është dalja që korrespondon me orën 12 të mëngjesit/pasdite

*/

}

pavlefshme PWM4_init () {// Konfiguro PWM në Trinket GPIO #4 (PB4, pin 3) duke përdorur Kohëmatësin 1 TCCR1 = _BV (CS10); // pa parakalues GTCCR = _BV (COM1B1) | _BV (PWM1B); // pastroni OC1B në krahasimin OCR1B = 127; // cikli i punës fillohet në 50% OCR1C = 255; // frekuenca}

// Funksioni për të lejuar analogWrite on Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // detyra mund të jetë 0 deri në 255 (0 deri 100%)}

Hapi 6: Skicë Arduino - Orë

// Ora e njehsorit analog Adafruit Trinket

// Funksionon data dhe ora duke përdorur një RTC DS1307 të lidhur nëpërmjet I2C dhe lib TinyWireM

// Shkarkoni këto biblioteka nga depoja e Adafruit's Github dhe // instaloni në drejtorinë tuaj të Bibliotekave Arduino #include #include

// Për korrigjim, mos komentoni kodin serik, përdorni një FTDI Friend me pinin e tij RX të lidhur me Pin 3 // Ju do të keni nevojë për një program terminal (të tillë si PuTTY freeware për Windows) të vendosur në // portën USB të mikut FTDI në 9600 baud Mos komentoni komandat serike për të parë se çfarë po ndodh // #përcakto HOUR_PIN 1 // Shfaqja e orës përmes PWM në Trinket GPIO #1 #define MINUTE_PIN 4 // Shfaqje minutash përmes PWM në Trinket GPIO #4 (nëpërmjet Timer 1 thirrjeve) // SendOnlySoftwareSerial Serial (3); // Transmetimi serik në Trinket Pin 3 RTC_DS1307 rtc; // Vendosni orën në kohë reale

void setup () {pinMode (HOUR_PIN, OUTPUT); // përcaktoni kunjat e njehsorit PWM si dalje pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // Vendosni kohëmatësin 1 për të punuar PWM në Pin Trinket 4 TinyWireM.begin (); // Fillo I2C rtc.filloj (); // Fillo orën në kohë reale DS1307 //Serial.fillo (9600); // Filloni Monitorimin Serial në 9600 baud nëse (! Rtc.isrunning ()) {//Serial.println("RTC NUK po funksionon! "); // rreshti i mëposhtëm e vendos RTC në datën dhe kohën kur është bërë kjo skicë rtc.adjust (DataTime (_ DATE_, _TIME_)); }}

void loop () {uint8_t orevalue, minutevalue; uint8_t tension i orës, minutë;

DataTime tani = rtc.now (); // Merrni informacionin RTC orë në orë = tani. Orë (); // Merrni orën nëse (vlera e orës> 12) orë -= 12; // Kjo orë është 12 orë minutë = tani.minute (); // Merrni procesverbalin

minutevoltage = hartë (vlerë minutë, 1, 60, 57, 255); // Shndërroni minutat në ciklin e punës PWM

nëse (vlera e orës == 1) {analogWrite (HOUR_PIN, 57); } if (vlera e orës == 2) {analogWrite (HOUR_PIN, 75); // çdo orë korrespondon me +18} nëse (vlera e orës == 3) {analogWrite (HOUR_PIN, 91); }

nëse (vlera e orës == 4) {analogWrite (HOUR_PIN, 111); } if (vlera e orës == 5) {analogWrite (HOUR_PIN, 126); } if (vlera e orës == 6) {analogWrite (HOUR_PIN, 147); } if (vlera e orës == 7) {analogWrite (HOUR_PIN, 165); } if (vlera e orës == 8) {analogWrite (HOUR_PIN, 183); } if (vlera e orës == 9) {analogWrite (HOUR_PIN, 201); } if (vlera e orës == 10) {analogWrite (HOUR_PIN, 215); } if (vlera e orës == 11) {analogWrite (HOUR_PIN, 237); } if (vlera e orës == 12) {analogWrite (HOUR_PIN, 255); }

analogWrite4 (tension i minutës); // analogwrite minutash mund të mbetet e njëjtë me funksionimin e hartës // kodi për të vënë në gjumë procesorin mund të jetë i preferuar - ne do të vonojmë vonesën (5000); // kontrolloni kohën çdo 5 sekonda. Ju mund ta ndryshoni këtë. }

pavlefshme PWM4_init () {// Konfiguro PWM në Trinket GPIO #4 (PB4, pin 3) duke përdorur Kohëmatësin 1 TCCR1 = _BV (CS10); // pa parakalues GTCCR = _BV (COM1B1) | _BV (PWM1B); // pastroni OC1B në krahasimin OCR1B = 127; // cikli i punës fillohet në 50% OCR1C = 255; // frekuenca}

// Funksioni për të lejuar analogWrite on Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // detyra mund të jetë 0 deri në 255 (0 deri 100%)}

Recommended: