Sisukord:

Nixie tulpgraafikell: 6 sammu (piltidega)
Nixie tulpgraafikell: 6 sammu (piltidega)

Video: Nixie tulpgraafikell: 6 sammu (piltidega)

Video: Nixie tulpgraafikell: 6 sammu (piltidega)
Video: [ K-POP IN PUBLIC | ONE TAKE] IVE(아이브) - I AM | Dance Cover By NIXIE 2024, Juuli
Anonim
Nixie tulpgraafikell
Nixie tulpgraafikell
Nixie tulpgraafikell
Nixie tulpgraafikell

Muuda 9/11/17 Kickstarteri abiga olen nüüd välja andnud selle kella komplekti! See sisaldab juhtplaati ja 2 Nixie IN-9 toru. Peate lisama ainult oma Arduino/Raspberry Pi/muu. Komplekti leiate, kuid klõpsake sellel lingil!

Nii et ma olen võrgus näinud palju Nixie kellasid ja arvasin, et need näevad välja suurepärased, kuid ma ei tahtnud kulutada 100 dollarit+ kellale, mis ei sisalda isegi torusid! Nii et väikese elektroonikateadmisega jahtisin erinevate nixie -torude ümber ja ahelad. Tahtsin teha midagi pisut teistsugust kui üldiselt üsna sarnase välimusega nixie kellad. Lõpuks otsustasin kasutada Nixie IN-9 bargraphi torusid. Need on pikad õhukesed torud ja helendava plasma kõrgus sõltub torusid läbivast voolust. Vasakpoolne toru on tundide kaupa ja parempoolne toru minutitega. Neil on ainult kaks juhet ja see muudab vooluringi ehitamise sirgjoonelisemaks. Selles konstruktsioonis on tund ja minut toru, kusjuures iga toru plasma kõrgused tähistavad praegust aega. Aega hoitakse Adafruit Trinketi mikrokontrolleri ja reaalajas kella (RTC) abil.

Samm: osade kokkupanek

Osade kokkupanek
Osade kokkupanek

Seal on kaks sektsiooni, esiteks elektroonika ja teiseks paigaldus ja viimistlus. Vajalikud elektroonilised komponendid on: Adafruit Trinket 5V - 7,95 dollarit (www.adafruit.com/products/1501) Adafruit RTC - 9 dollarit (www.adafruit.com/products/264) 2x Nixie IN -9 tulpgraafik ~ 3 dollarit toru kohta eBay 1x Nixie 140v toiteallikas ~ 12 dollarit eBay -l 4x 47 uF elektrolüütkondensaatorid 4x 3,9 kOhm takistid 2x 1 kOhm potentsiomeeter 2x transistor MJE340 NPN kõrgepinge ~ $ 1 iga 1x LM7805 5v regulaator ~ $ 1 1x 2,1 mm pesa ~ $ 1 1x projektikarp koos trükkplaadiga ~ 5 USD 1x 12v alalisvoolu toiteallikas (leidsin vana juba mõnest ammu unustatud vidinast) Jootmine, ühendustraat jne Paigaldamine: otsustasin paigaldada elektroonika väikesesse musta plastikust projektikarpi, seejärel paigaldada torud antiiksele kellaliigutusele. Tundide ja minutite märkimiseks kasutasin torude ümber mähitud vasktraati. Paigaldusosad: Antiikne kella liikumine - 10 dollarit eBay vasktraat - 3 dollarit eBay kuumliimipüstol

2. samm: ahel

Vooluring
Vooluring
Vooluring
Vooluring
Vooluring
Vooluring
Vooluring
Vooluring

Esimene samm on Nixie toiteallika ehitamine. See tuli kena väikese komplektina eBayst, sealhulgas väike trükkplaat ja vajas lihtsalt komponentide tahvlile jootmist. See konkreetne toide on varieeruv vahemikus 110-180v, mida saab juhtida väikese potiga laual. Väikese kruvikeeraja abil reguleerige väljund ~ 140v. Enne kui ma tervele teele läksin, tahtsin oma nixie -torusid katsetada, selleks ehitasin lihtsa testiahela, kasutades ühte toru, transistorit ja 10k potentsiomeetrit. Nagu on näha esimeselt jooniselt, on 140v toide toru anoodi külge kinnitatud (parem jalg). Seejärel ühendatakse katood (vasak jalg) MJE340 transistori kollektorijalaga. 5v toide on ühendatud 10k potiga, mis jaguneb maandusega transistori aluseks. Lõpuks ühendatakse transistori emitter maandusega läbi 300 oomi voolu piirava takisti. Kui te pole transistoride ja elektroonikaga tuttav, pole sellel tegelikult tähtsust, lihtsalt ühendage see juhtmega ja muutke plasmakõrgust potinupuga! Kui see töötab, võime vaadata oma kella valmistamist. Kogu kellaahelat saab näha teisest skeemist. Pärast mõningaid uuringuid leidsin Adafruit Learni veebisaidilt täiusliku õpetuse, mis tegi peaaegu täpselt seda, mida ma tahtsin teha. Õpetuse leiate siit: https://learn.adafruit.com/trinket-powered-analog-m… See õpetus kasutab Trinketi kontrollerit ja RTC-d kahe analoogvõimendi mõõtmiseks. Nõela läbipainde kontrollimiseks kasutatakse impulsi laiuse modulatsiooni (PWM). Võimsusmõõturi mähis keskmiselt moodustab PWM efektiivse alalisvoolu signaali. Kui aga kasutame PWM -i otse torude juhtimiseks, tähendab kõrgsageduslik modulatsioon seda, et plastakang ei jää toru aluse külge kinni ja teil on hõljuv riba. Selle vältimiseks keskmistasin PWM -i, kasutades madalpääsfiltrit pika ajakonstandiga, et saada peaaegu alalisvoolu signaal. Selle katkestussagedus on 0,8 Hz, see on hea, kuna värskendame kellaaega ainult iga 5 sekundi järel. Lisaks, kuna tulpdiagrammidel on piiratud eluiga ja need võivad vajada asendamist ning mitte iga toru pole täpselt sama, lisasin pärast toru 1k poti. See võimaldab kohandada kahe toru plasma kõrgust. Nipsasja ühendamiseks reaalajas kellaga (RCT) ühendage nipsasjapulk 0 RTC-SDA-ga, nipsasjapulk 2 RTC-SCL-iga ja nipsasja-5v RTC-5v-ga ning Trinket GND RTC-maandusega. Selles osas võib olla kasulik vaadata Adafruit kella juhiseid, https://learn.adafruit.com/trinket-powered-analog-…. Kui Trinket ja RTC on õigesti ühendatud, ühendage nixie torud, transistorid, filtrid jms leivaplaadile, järgides hoolikalt skeemi.

RTC ja Trinketi rääkimiseks peate esmalt Adafruit Githubist alla laadima õiged teegid. Teil on vaja TinyWireM.h ja TInyRTClib.h. Kõigepealt tahame torusid kalibreerida, laadige kalibreerimisvisand üles selle juhendi lõpus. Kui lõpus ei tööta kumbki visand, proovige Adafruit kella visandit. Olen kohandanud Adafruit kella visandit, et see töötaks nixie torudega kõige tõhusamalt, kuid Adafruit visand töötab hästi.

3. samm: kalibreerimine

Kalibreerimine
Kalibreerimine

Kui olete kalibreerimisvisandi üles laadinud, tuleb gradatsioonid märkida.

Kalibreerimiseks on kolm režiimi, esimene seab mõlemad nix -torud maksimaalsele väljundile. Kasutage seda, et reguleerida potti nii, et plasma kõrgus mõlemas torus oleks sama ja et see jääks maksimaalsest kõrgusest veidi alla. See tagab, et reaktsioon on kogu kella vahemikus lineaarne.

Teine seade kalibreerib minutitoru. See muutub vahemikus 0, 15, 30, 45 kuni 60 minutit iga 5 sekundi järel.

Viimane seade kordab seda iga tunni järel. Erinevalt Adafruit’i kellast liigub tunni indikaator kindla sammuga kord tunnis. Analoogmõõturi kasutamisel oli raske iga tunni kohta lineaarset vastust saada.

Kui olete potti reguleerinud, laadige visand minutiks kalibreerimiseks üles. Võtke õhuke vasktraat ja lõigake lühike pikkus. Keerake see toru ümber ja keerake mõlemad otsad kokku. Lükake see õigesse asendisse ja asetage kuuma liimipüstoli abil väike liimitükk, et seda õiges kohas hoida. Korrake seda iga minuti ja tunni sammuga.

Ma unustasin sellest protsessist pilte teha, kuid piltidelt näete, kuidas traat on kinnitatud. Kuigi ma kasutasin traadi kinnitamiseks palju vähem liimi.

4. samm: paigaldamine ja viimistlemine

Paigaldamine ja viimistlemine
Paigaldamine ja viimistlemine
Paigaldamine ja viimistlemine
Paigaldamine ja viimistlemine
Paigaldamine ja viimistlemine
Paigaldamine ja viimistlemine

Kui torud on kõik kalibreeritud ja töötavad, on nüüd aeg püsivalt vooluring luua ja mõnele alusele kinnitada. Ma valin antiikmööbel kella liikumist, sest mulle meeldis segu antiikmööbel, 60 -ndate ja kaasaegne tehnoloogia. Leivaplaadilt ribalauale üleviimisel olge väga ettevaatlik ja võtke aega, tagades kõik ühendused. Ostetud kast oli natuke väike, kuid hoolika paigutuse ja väikese sundimisega suutsin selle kõik sobitada. Puurisin toiteallika külge külje sisse augu ja teise nixie juhtmete jaoks. Ma katsin nixie juhtmed kuumuse kokkutõmbumisega, et vältida lühiseid. Kui elektroonika on kasti paigaldatud, liimige see kella liikumise tagaküljele. Torude paigaldamiseks kasutasin kuuma liimi ja liimisin keerutatud traadi otsad metalli külge, jälgides, et need oleksid sirged. Ma kasutasin ilmselt liiga palju liimi, kuid see pole eriti märgatav. See võib olla midagi, mida saab tulevikus parandada. Kui see kõik on paigaldatud, laadige selle juhendi lõppu Nixie kella visand ja imetlege oma uut ilusat kella!

Samm: Arduino visand - kalibreerimine

#define HOUR_PIN 1 // Tundide kuvamine PWM -i kaudu Trinket GPIO #1 -s

#define MINUTE_PIN 4 // Minutinäit PWM -i kaudu Trinket GPIO #4 -s (taimer 1 kõnede kaudu)

int tundi = 57; int minutit = 57; // seada minimaalne pwm

void setup () {pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // PWM -väljundite seadistamine

}

void loop () {// Kasutage seda nixie pottide muutmiseks, et veenduda, et toru maksimaalne kõrgus vastab analogWrite (HOUR_PIN, 255); analoogWrite4 (255); // Kasutage seda minutite juurdekasvu kalibreerimiseks

/*

analoogWrite4 (57); // minuti 0 viivitus (5000); analoogWrite4 (107); // minut 15 viivitus (5000); analoogWrite4 (156); // minuti 30 viivitus (5000); analoogWrite4 (206); // minut 45 viivitus (5000); analoogWrite4 (255); // minut 60 viivitus (5000);

*/

// Kasutage seda tunnisammude kalibreerimiseks /*

analogWrite (HOUR_PIN, 57); // 57 on minimaalne väljund ja vastab viivitusele 1 am/min (4000); // viivitus 4 sekundit analogWrite (HOUR_PIN, 75); // 75 on väljund, mis vastab viivitusele 2 am /pm (4000); analogWrite (HOUR_PIN, 93); // 93 on väljund, mis vastab viivitusele 3 am /pm (4000); analogWrite (HOUR_PIN, 111); // 111 on väljund, mis vastab viivitusele 04:00/min (4000); analogWrite (HOUR_PIN, 129); // 129 on väljund, mis vastab viivitusele 5 am/min (4000); analogWrite (HOUR_PIN, 147); // 147 on väljund, mis vastab viivitusele 6:00/min (4000); analogWrite (HOUR_PIN, 165); // 165 on väljund, mis vastab viivitusele 7:00/min (4000); analogWrite (HOUR_PIN, 183); // 183 on väljund, mis vastab viivitusele 8:00/min (4000); analogWrite (HOUR_PIN, 201); // 201 on väljund, mis vastab viivitusele 9:00/min (4000); analogWrite (HOUR_PIN, 219); // 219 on väljund, mis vastab viivitusele 10:00/min (4000); analogWrite (HOUR_PIN, 237); // 237 on väljund, mis vastab viivitusele 11:00/min (4000); analogWrite (HOUR_PIN, 255); // 255 on väljund, mis vastab kella 12.00/min

*/

}

void PWM4_init () {// PWM seadistamine Trinket GPIO #4 (PB4, pin 3) abil, kasutades taimerit 1 TCCR1 = _BV (CS10); // pole eelvalijat GTCCR = _BV (COM1B1) | _BV (PWM1B); // kustuta OC1B võrdluses OCR1B = 127; // töötsükli initsialiseerimine 50% -ni OCR1C = 255; // sagedus}

// AnalogWrite lubamise funktsioon Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // tollimaks võib olla 0–255 (0–100%)}

6. samm: Arduino visand - kell

// Adafruit Trinket analoogmõõtja kell

// Kuupäeva ja kellaaja funktsioonid, kasutades DS1307 RTC -d, mis on ühendatud I2C ja TinyWireM lib

// Laadige need teegid alla Adafruit'i Githubi hoidlast ja // installige oma Arduino raamatukogude kataloogi #include #include

// Silumiseks ja kommenteerimata seerianumbri jaoks kasutage FTDI -sõpra, mille RX -pistik on ühendatud tihvtiga 3 // Teil on vaja terminaliprogrammi (näiteks tasuta PuTTY Windowsi jaoks), mis on seatud FTDI sõbra aadressil 9600 // USB -porti baud. Tühistage seeriakäsud, et näha, mis toimub // #define HOUR_PIN 1 // Tundide kuvamine PWM -i kaudu Trinket GPIO #1 #define MINUTE_PIN 4 // Minutinäit PWM -i kaudu Trinket GPIO #4 -s (taimer 1 kõnede kaudu) // SendOnlySoftwareSerial Serial (3); // Seeriaülekanne nipsasjapoldil 3 RTC_DS1307 rtc; // Reaalajas kella seadistamine

void setup () {pinMode (HOUR_PIN, OUTPUT); // määratle PWM -arvesti tihvtid väljunditena pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // Seadista taimer 1 tööle PWM Trinket Pin 4 TinyWireM.begin (); // Alusta I2C rtc.begin (); // Alusta reaalajas kella DS1307 // Seriaalne algus (9600); // Alusta jadamonitori 9600 baudiga, kui (! Rtc.isrunning ()) {//Serial.println("RTC EI tööta! "); // järgmine rida määrab RTC -le selle visandi koostamise kuupäeva ja kellaaja rtc.adjust (DateTime (_ DATE_, _TIME_)); }}

void loop () {uint8_t tunniväärtus, minutiväärtus; uint8_t tunnipinge, minutipinge;

DateTime now = rtc.now (); // Hangi RTC info hourvalue = now.hour (); // Hankige tund, kui (tunni väärtus> 12) tunniväärtus -= 12; // See kell on 12 tunni minutiväärtus = now.minute (); // Hangi protokoll

minutipinge = kaart (minutiväärtus, 1, 60, 57, 255); // Teisenda minutid PWM töötsükliks

if (tunniväärtus == 1) {analoogkiri (TUNDIPINN, 57); } kui (tunniväärtus == 2) {analoogkiri (TUNDIPINN, 75); // iga tund vastab +18} if (tunniväärtus == 3) {analogWrite (HOUR_PIN, 91); }

if (tunniväärtus == 4) {analogWrite (TUNDIPINN, 111); } kui (tunniväärtus == 5) {analoogkiri (TUNDIPINN, 126); } kui (tunniväärtus == 6) {analoogkiri (TUNDIPINN, 147); } kui (tunniväärtus == 7) {analoogkiri (TUNDIPINN, 165); } kui (tunniväärtus == 8) {analoogkiri (TUNDIPIND, 183); } kui (tunniväärtus == 9) {analoogkiri (TUNDIPIND, 201); } kui (tunniväärtus == 10) {analoogkiri (TUNDIPINN, 215); } kui (tunniväärtus == 11) {analoogkiri (TUNDIPINN, 237); } kui (tunniväärtus == 12) {analoogkiri (TUNDIPINN, 255); }

analogWrite4 (minutipinge); // minutiline analoogkirjutus võib jääda samaks kui kaardistamine toimib // eelistatud võib olla protsessori magama panemise kood - viivitame viivitusega (5000); // kontrolli aega iga 5 sekundi tagant. Saate seda muuta. }

void PWM4_init () {// PWM seadistamine Trinket GPIO #4 (PB4, pin 3) abil, kasutades taimerit 1 TCCR1 = _BV (CS10); // pole eelvalijat GTCCR = _BV (COM1B1) | _BV (PWM1B); // kustuta OC1B võrdlusel OCR1B = 127; // töötsükkel lähtestatakse 50% -ni OCR1C = 255; // sagedus}

// Funktsioon, mis lubab analogWrite Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // tollimaks võib olla 0–255 (0–100%)}

Soovitan: