Cov txheej txheem:

Nixie Bargraph Moos: 6 Kauj Ruam (nrog Duab)
Nixie Bargraph Moos: 6 Kauj Ruam (nrog Duab)

Video: Nixie Bargraph Moos: 6 Kauj Ruam (nrog Duab)

Video: Nixie Bargraph Moos: 6 Kauj Ruam (nrog Duab)
Video: Just another beautiful day in Phoenix 2024, Lub Xya hli ntuj
Anonim
Nixie Bargraph Clock
Nixie Bargraph Clock
Nixie Bargraph Clock
Nixie Bargraph Clock

Kho kom raug 9/11/17 Nrog kev pab los ntawm Kickstarter Kuv tau tam sim no tso tawm cov khoom siv rau lub moos cov khoom siv no! Nws suav nrog pawg tsav tsheb thiab 2 Nixie IN-9 hlab. Txhua yam koj xav tau ntxiv yog koj tus kheej Arduino/Raspberry Pi/lwm yam. Cov khoom tuaj yeem pom tab sis nyem rau ntawm qhov txuas no!

Yog li kuv tau pom ntau Nixie moos hauv online thiab xav tias lawv saib zoo, txawm li cas los xij kuv tsis xav siv $ 100+ ntawm lub moos uas tsis suav nrog cov raj! thiab circuits. Kuv xav ua qee yam txawv me ntsis rau qhov ntau ntawm qhov zoo sib xws saib nixie moos. Thaum kawg kuv tau xaiv los siv Nixie IN-9 bargraph tubes. Cov no yog cov hlab nyias nyias thiab qhov siab ntawm cov ntshav ci yog nyob ntawm qhov tam sim no los ntawm cov hlab. Lub raj ntawm sab laug yog nyob rau ib teev zuj zus thiab lub raj ntawm sab xis yog hauv feeb. Lawv tsuas muaj ob txoj hauv kev thiab yog li tsim kev tsim hluav taws xob txuas ncaj qha rau hauv. Hauv qhov kev tsim qauv no, muaj ib teev thiab ib feeb raj, nrog qhov siab ntawm cov ntshav hauv txhua lub raj sawv cev rau lub sijhawm tam sim no. Lub sijhawm khaws cia siv Adafruit Trinket microcontroller thiab lub sijhawm tiag (RTC).

Kauj Ruam 1: Sib dhos Cov Khoom

Sib dhos Cov Khoom
Sib dhos Cov Khoom

Muaj ob ntu, thawj qhov khoom siv hluav taws xob thiab qhov thib ob yog kev teeb tsa thiab ua tiav. Cov khoom siv hluav taws xob xav tau yog: Adafruit Trinket 5V - $ 7.95 (www.adafruit.com/products/1501) Adafruit RTC - $ 9 (www.adafruit.com/products/264) 2x Nixie IN -9 bargraph ~ $ 3 ib lub raj ntawm eBay 1x Nixie 140v fais fab mov ~ $ 12 ntawm eBay 4x 47 uF electrolyte capacitors 4x 3.9 kOhm resistors 2x 1 kOhm potentiometer 2x Transistor MJE340 NPN high voltage ~ $ 1 each 1x LM7805 5v regulator ~ $ 1 1x 2.1mm socket ~ $ 1 1x project project box with pcb ~ $ 5 1x 12v DC fais fab mov (Kuv pom ib qho qub los ntawm qee qhov khoom siv tsis nco qab ntev ntev) Cov laug, cov hlua txuas, thiab lwm yam Mounting: Kuv txiav txim siab teeb tsa cov khoom siv hluav taws xob hauv lub thawv yas dub me me, tom qab ntawd teeb lub raj ntawm lub sijhawm qub txav mus los. Txhawm rau cim teev thiab feeb kuv tau siv tooj liab xaim qhwv lub raj. Mounting parts: Antique clock movement - $ 10 eBay Copper wire - $ 3 eBay Kub kua nplaum phom

Kauj ruam 2: Circuit Court

Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court

Thawj kauj ruam yog tsim Nixie lub zog xa khoom. Qhov no tau los ua cov khoom siv me me zoo los ntawm eBay, suav nrog PCB me me thiab tsuas yog xav tau cov khoom siv los muab muag rau ntawm lub rooj tsavxwm. Cov khoom siv tshwj xeeb no txawv ntawm 110-180v, tswj tau nrog lub lauj kaub me ntawm lub rooj tsavxwm. Siv lub tshuab ntsia hlau me me kho qhov tso tawm kom ~ 140v. Ua ntej kuv mus rau tag nrho txoj kev Kuv xav sim tawm kuv cov hlab nixie, ua qhov no kuv tau tsim qhov kev sim yooj yim siv ib lub raj, transistor thiab 10k potentiometer kuv tau tso ncig. Raws li tau pom hauv thawj daim duab, 140v cov khoom siv tau txuas rau lub raj anode (sab xis). Lub cathode (sab laug) yog txuas nrog tus neeg nqa khoom ntawm MJE340 transistor. Cov khoom siv 5v txuas nrog rau 10k lauj kaub faib rau hauv av mus rau hauv lub hauv paus transistor. Thaum kawg lub transistor emitter txuas nrog los ntawm 300 ohm tam sim no txwv kev tiv thaiv rau hauv av. Yog tias koj tsis paub nrog transistors thiab cov khoom siv hluav taws xob nws tsis muaj teeb meem tiag tiag, tsuas yog xaim nws thiab hloov qhov siab plasma nrog lub lauj kaub lauj kaub! Thaum qhov ntawd ua haujlwm peb tuaj yeem saib ua peb lub moos. Daim npav puv puv tuaj yeem pom hauv daim duab thib ob. Tom qab qee qhov kev tshawb fawb kuv pom cov lus qhia zoo ntawm Adafruit kawm lub vev xaib ua yuav luag txhua yam kuv xav ua. Cov lus qhia tuaj yeem nrhiav pom ntawm no: https://learn.adafruit.com/trinket-powered-analog-m… Qhov kev qhia no siv Trinket maub los thiab RTC los tswj ob lub amp amp analog. Siv mem tes dav tes taws los piav (PWM) los tswj qhov kev hloov pauv ntawm rab koob. Cov kauj ntawm qhov ntsuas qhov ntsuas nruab nrab ntawm PWM rau hauv lub teeb liab dc zoo. Txawm li cas los xij yog tias peb siv PWM ncaj qha rau tsav lub raj ces qhov hloov pauv ntau zaus txhais tau tias cov ntshav ntshav yuav tsis nyob "clamped" mus rau lub hauv paus ntawm lub raj thiab koj yuav muaj lub bar tuav. Txhawm rau zam qhov no kuv nruab nrab PWM siv lub lim qis dhau nrog lub sijhawm ntev tas li kom tau txais yuav luag dc teeb liab. Qhov no tau txiav tawm zaus ntawm 0.8 Hz, qhov no zoo li peb tab tom hloov kho lub sijhawm tsuas yog txhua 5 vib nas this. Tsis tas li ntawd txij li cov kab lus muaj lub neej tsis kawg thiab yuav xav tau hloov pauv thiab tsis yog txhua lub raj raj zoo ib yam nkaus kuv suav nrog 1k lauj kaub tom qab lub raj. Qhov no tso cai rau tweaking kho qhov siab plasma rau ob lub raj. Txhawm rau xaim lub trinket mus rau lub sijhawm tiag tiag (RCT) txuas Trinket-pin 0 rau RTC-SDA, Trinket-pin 2 rau RTC-SCL thiab Trinket-5v rau RTC-5v thiab Trinket GND mus rau RTC hauv av. Rau ntu no nws yuav muaj txiaj ntsig los saib Adafruit lub moos qhia, https://learn.adafruit.com/trinket-powered-analog-…. Thaum Trinket thiab RTC raug txuas kom raug, xaim lub nixie hlab, transistors, lim dej thiab lwm yam ntawm lub khob cij ua tib zoo ua raws daim duab kos.

Txhawm rau kom tau RTC thiab Trinket tham koj thawj zaug yuav tsum rub lub tsev qiv ntawv raug los ntawm Adafruit Github. Koj xav tau TinyWireM.h thiab TInyRTClib.h. Ua ntej peb xav kom ntsuas cov raj, xa cov duab ntsuas tom kawg ntawm qhov kev qhia no. Yog tias tsis yog cov duab kos tom kawg ua haujlwm ces sim Adafruit lub moos kos duab. Kuv tau hloov kho Adafruit lub moos kos duab los ua haujlwm tau zoo tshaj plaws nrog nixie hlab tab sis Adafruit daim duab kos yuav ua haujlwm zoo.

Kauj ruam 3: Calibration

Calibration
Calibration

Thaum koj tau rub tawm daim duab ntsuas qhov kev kawm tiav yuav tsum tau cim.

Muaj peb hom kev ntsuas ntsuas, thawj teev ob lub raj nixie rau qhov tso zis ntau tshaj. Siv qhov no los kho lub lauj kaub kom cov ntshav siab hauv ob lub raj yog tib yam thiab nws qis dua qhov siab tshaj plaws. Qhov no ua kom ntseeg tau tias cov lus teb yog tawm ntawm tag nrho cov moos.

Qhov thib ob teeb tsa lub feeb feeb. Nws hloov pauv ntawm 0, 15, 30, 45 thiab 60 feeb txhua 5 vib nas this.

Qhov teeb tsa zaum kawg rov ua qhov no rau txhua teev ntxiv. Tsis zoo li Adafruit moos lub teev teev txav mus nyob hauv qhov nce ib zaug txhua txhua teev. Nws nyuaj rau tau txais cov lus teb ncaj qha rau txhua teev thaum siv lub ntsuas ntsuas sib piv.

Thaum koj tau kho lub lauj kaub upload cov duab kos kom ntsuas tau li ob peb feeb. Nqa cov tooj liab xaim me me thiab txiav luv luv. Qhwv qhov ncig lub raj no thiab ntswj ob qho kawg ua ke. Xaub qhov no mus rau qhov chaw raug thiab siv rab yaj phom kub tso qhov me me ntawm cov kua nplaum kom nyob hauv qhov chaw raug. Rov ua qhov no rau txhua feeb thiab teev ntxiv.

Kuv tsis nco qab coj cov duab ntawm cov txheej txheem no tab sis koj tuaj yeem pom los ntawm cov duab li cas cov xaim txuas nrog. Txawm hais tias kuv siv cov kua nplaum tsawg dua los txuas cov xaim.

Kauj ruam 4: Mounting thiab Finishing

Mounting thiab Finishing
Mounting thiab Finishing
Mounting thiab Finishing
Mounting thiab Finishing
Mounting thiab Finishing
Mounting thiab Finishing

Thaum cov raj tag nrho tau ntsuas thiab ua haujlwm tam sim no yog lub sijhawm los ua qhov txuas mus tas li thiab nce mus rau qee yam ntawm lub hauv paus. Kuv xaiv lub moos qub txav mus los raws li kuv nyiam qhov sib xyaw ntawm cov khoom qub, 60's thiab thev naus laus zis niaj hnub no. Thaum hloov pauv los ntawm lub khob cij mus rau kab txaij kom ceev faj heev thiab siv koj lub sijhawm kom ntseeg tau tias txhua qhov kev sib txuas tau ua. Lub thawv uas kuv yuav yog me me me tab sis nrog qee qhov ua tib zoo tso thiab me ntsis yuam kuv tswj kom tau txhua yam kom haum. Kuv drilled ib lub qhov nyob rau sab rau lub hwj chim thiab lwm rau nixie ua. Kuv tau npog cov xov hlau nixie hauv qhov cua sov kom tsis txhob muaj qhov luv. Thaum cov khoom siv hluav taws xob tau teeb tsa hauv lub thawv nplaum nws mus rau tom qab ntawm lub moos txav. Txhawm rau txhawm rau lub raj Kuv siv cov kua nplaum kub thiab lo cov ntsiab lus ntawm cov xaim xaim rau hlau, ua tib zoo xyuas kom lawv ncaj. Tej zaum kuv siv kua nplaum ntau dhau tab sis nws tsis pom zoo heev. Nws yuav yog ib yam uas tuaj yeem txhim kho yav tom ntej. Thaum nws tau teeb tsa tag nrho, ntsaws Nixie daim duab teev ntawm qhov kawg ntawm cov lus qhia no thiab qhuas koj lub moos zoo nkauj tshiab!

Kauj Ruam 5: Arduino Sketch - Calibration

#define HOUR_PIN 1 // Teev teev teev ntawm PWM ntawm Trinket GPIO #1

#define MINUTE_PIN 4 // Minute display of PWM on Trinket GPIO #4 (ntawm Timer 1 hu)

teev teev = 57; feeb feeb = 57; // set minimum pwm

teeb tsa tsis muaj dab tsi () {pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // teeb tsa PWM cov txiaj ntsig

}

lub voj void () {// Siv qhov no los hloov lub nixie lauj kaub kom paub tseeb tias qhov siab tshaj plaws raj siab sib xws analogWrite (HOUR_PIN, 255); analogWrite4 (255); // Siv qhov no los ntsuas cov feeb ntxiv

/*

analogWrite4 (57); // feeb 0 ncua (5000); analogWrite4 (107); // feeb 15 ncua (5000); analogWrite4 (156); // feeb 30 ncua (5000); analogWrite4 (206); // feeb 45 ncua (5000); analogWrite4 (255); // feeb 60 ncua (5000);

*/

// Siv qhov no txhawm rau ntsuas qhov nce ib teev /*

analogWrite (HOUR_PIN, 57); // 57 yog qhov tso tawm yam tsawg kawg nkaus thiab sib xws rau 1 teev sawv ntxov/teev tsaus ntuj (4000); // ncua 4 vib nas this analogWrite (HOUR_PIN, 75); // 75 yog cov zis uas sib haum rau 2 teev sawv ntxov/tav su qeeb (4000); analogWrite (HOUR_PIN, 93); // 93 yog qhov tso tawm uas sib haum rau 3 teev sawv ntxov/tav su qeeb (4000); analogWrite (HOUR_PIN, 111); // 111 yog qhov tso tawm uas sib haum rau 4 teev sawv ntxov/tav su qeeb (4000); analogWrite (HOUR_PIN, 129); // 129 yog qhov tso tawm uas sib haum rau 5 teev sawv ntxov/teev tsaus ntuj (4000); analogWrite (HOUR_PIN, 147); // 147 yog qhov tso tawm uas sib haum rau 6 teev sawv ntxov/teev qeeb (4000); analogWrite (HOUR_PIN, 165); // 165 yog qhov tso tawm uas sib haum rau 7 teev sawv ntxov/teev tsaus ntuj (4000); analogWrite (HOUR_PIN, 183); // 183 yog qhov tso tawm uas sib haum rau 8 teev sawv ntxov/tav su qeeb (4000); analogWrite (HOUR_PIN, 201); // 201 yog qhov tso tawm uas sib haum rau 9 teev sawv ntxov/tav su qeeb (4000); analogWrite (HOUR_PIN, 219); // 219 yog qhov tso tawm uas sib haum rau 10 teev sawv ntxov/teev qeeb (4000); analogWrite (HOUR_PIN, 237); // 237 yog qhov tso tawm uas sib haum rau 11 teev sawv ntxov/teev qeeb (4000); analogWrite (HOUR_PIN, 255); // 255 yog cov zis uas sib haum rau 12 teev sawv ntxov/teev tsaus ntuj

*/

}

void PWM4_init () {// Set PWM on Trinket GPIO #4 (PB4, pin 3) using Timer 1 TCCR1 = _BV (CS10); // no prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // tshem OC1B ntawm kev sib piv OCR1B = 127; // lub voj voog ua haujlwm pib rau 50% OCR1C = 255; // zaus}

// Muaj nuj nqi tso cai rau analogWrite ntawm Trinket GPIO #4 tsis muaj dab tsi analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // lub luag haujlwm yuav yog 0 txog 255 (0 txog 100%)}

Kauj Ruam 6: Arduino Sketch - Clock

// Adafruit Trinket analog meter moos

// Hnub thiab sijhawm ua haujlwm siv DS1307 RTC txuas nrog I2C thiab TinyWireM lib

// Rub tawm cov tsev qiv ntawv no los ntawm Adafruit's Github chaw cia khoom thiab // nruab rau hauv koj Arduino Libraries phau ntawv qhia #include #include

// Rau kev debug, tsis suav nrog tus lej lej, siv FTDI Phooj ywg nrog nws RX tus pin txuas nrog Pin 3 // Koj yuav xav tau lub davhlau ya nyob twg (xws li pub dawb PuTTY rau Windows) teeb tsa rau // USB chaw nres nkoj ntawm FTDI phooj ywg ntawm 9600 baud. Tsis suav nrog tawm cov lus txib kom pom dab tsi tshwm sim // #txhais HOUR_PIN 1 // teev teev ntawm PWM ntawm Trinket GPIO #1 #define MINUTE_PIN 4 // Minute display of PWM on Trinket GPIO #4 (via Timer 1 calls) // SendOnlySoftwareSerial Serial (3); // Serial kis ntawm Trinket Pin 3 RTC_DS1307 rtc; // Teeb tsa lub sijhawm tiag tiag

teeb tsa tsis muaj dab tsi () {pinMode (HOUR_PIN, OUTPUT); // txhais PWM meter pins raws li pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // Teeb lub sijhawm 1 ua haujlwm PWM ntawm Trinket Pin 4 TinyWireM.begin (); // Pib I2C rtc.begin (); // Pib DS1307 lub sijhawm tiag tiag //Serial.begin(9600); // Pib Serial Monitor ntawm 9600 baud yog (! Rtc.isrunning ()) {//Serial.println("RTC tsis ua haujlwm! "); // kab ntawv hauv qab no teeb tsa RTC rau hnub & sijhawm cov duab no tau suav ua rtc.adjust (DateTime (_ DATE_, _TIME_)); }}

void loop () {uint8_t hourvalue, minutevalue; uint8_t teev voltage, minutevoltage;

Hnub tim tam sim no = rtc.now (); // Tau txais RTC cov ntaub ntawv teev nqi = tam sim no.hour (); // Tau txais cov teev yog (hourvalue> 12) hourvalue -= 12; // Lub moos no yog 12 teev minutevalue = now.minute (); // Tau cov feeb

minutevoltage = daim ntawv qhia (minutevalue, 1, 60, 57, 255); // Hloov feeb rau PWM lub luag haujlwm hloov pauv

yog (hourvalue == 1) {analogWrite (HOUR_PIN, 57); } yog (hourvalue == 2) {analogWrite (HOUR_PIN, 75); // txhua teev sib xws rau +18} yog (hourvalue == 3) {analogWrite (HOUR_PIN, 91); }

yog (hourvalue == 4) {analogWrite (HOUR_PIN, 111); } yog (teev tus nqi == 5) {analogWrite (HOUR_PIN, 126); } yog (teev tus nqi == 6) {analogWrite (HOUR_PIN, 147); } yog (teev tus nqi == 7) {analogWrite (HOUR_PIN, 165); } yog (teev tus nqi == 8) {analogWrite (HOUR_PIN, 183); } yog (hourvalue == 9) {analogWrite (HOUR_PIN, 201); } yog (teev tus nqi == 10) {analogWrite (HOUR_PIN, 215); } yog (teev tus nqi == 11) {analogWrite (HOUR_PIN, 237); } yog (teev tus nqi == 12) {analogWrite (HOUR_PIN, 255); }

analogWrite4 (minutevoltage); // feeb analogwrite tuaj yeem zoo ib yam li daim phiaj ua haujlwm // chaws tso tus txheej txheem pw tsaug zog yuav zoo dua - peb yuav ncua kev ncua (5000); // xyuas lub sijhawm txhua 5 vib nas this. Koj tuaj yeem hloov qhov no. }

void PWM4_init () {// Set PWM on Trinket GPIO #4 (PB4, pin 3) using Timer 1 TCCR1 = _BV (CS10); // no prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // tshem OC1B ntawm kev sib piv OCR1B = 127; // lub voj voog ua haujlwm pib rau 50% OCR1C = 255; // zaus}

// Muaj nuj nqi tso cai rau analogWrite ntawm Trinket GPIO #4 tsis muaj dab tsi analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // lub luag haujlwm yuav yog 0 txog 255 (0 txog 100%)}

Pom zoo: