Газоразрядная трубка или Nixie Tube – это заполненная газом неоновая трубка с анодом из проволочной сетки и различными катодами в форме цифр или других символов. Еще в 1950-х годах они использовались в компьютерах, калькуляторах и лабораторном оборудовании. Позже они были заменены вакуумно-люминесцентными и жидкокристаллическими дисплеями и светодиодами и стали довольно редки сегодня. Произошло это из-за большей стоимости трубок. Поэтому постепенно они были заменены практически во всех приборах.
Сегодня мы вспомним об этом замечательном изобретении и постараемся научиться управлять им при помощи платы Arduino.
Предупреждение! В данном проекте используется высоковольтный источник питания. Поэтому необходимо быть предельно осторожным при работе. Все действия вы производите на свой страх и риск.
Перед подключением трубок к Arduino необходимо убедиться, что все цифры отображаются верно. Для настройки преобразователя постоянного тока лучше использовать мультиметр. Нашим трубкам необходимо около 180 VDC. Необходимо подключить «+» преобразователя к аноду трубки с резистором 12К. Эти цифры не точны и относятся именно к нашим экземплярам трубок. Для определения своих данных необходимо ознакомиться со спецификацией трубок. Также в спецификации необходимо выяснить какой из контактов является анодом. Но рассмотрев несколько трубок мы выяснили, что анод всегда имеет белое защитное покрытие, в то время, как катоды черное. Теперь подключаем оставшиеся контакты к земле, чтобы убедиться, что все цифры корректно работают. Не стоит беспокоиться, если вы подключите два контакта одновременно. Ничего страшного не произойдет, а просто одновременно загорятся две цифры.
Если трубка исправна и нормально работает можно приступать к подключению к микросхеме SN74141. Соединяем контакт 11 с контактом 4 (D), 10 с 7 (С), 9 с 6 (В), а 8 с 3 (А). Подключаем 5V от Arduino к 5 на микросхеме и заземляем на 12 на микросхеме. Катоды на трубке подключаем к соответствующим выходам на микросхеме, а анод к 180 VDC. Микросхема принимает двоичный сигнал и передает его на трубку. Для управления двумя трубками понадобится 8 цифровых контактов на Arduino, либо придется использовать регистр сдвига (рисунок 4).
Далее необходимо загрузить данный код. Он будет циклически перебирать цифры в трубках. Для создания собственного кода можно воспользоваться таблицей в прилагаемом документе.
void setup() { pinMode(11, OUTPUT);// D pinMode(10, OUTPUT);// C pinMode(9, OUTPUT);// B pinMode(8, OUTPUT);// A } void loop() { //0 digitalWrite(11, LOW); //D digitalWrite(10, LOW); //C digitalWrite(8, LOW); //B digitalWrite(8, LOW); //A delay(1000); //1 digitalWrite(11, LOW); //D digitalWrite(10, LOW); //C digitalWrite(9, LOW); //B digitalWrite(8, HIGH); //A delay(1000); //2 digitalWrite(11, LOW); //D digitalWrite(10, LOW); //C digitalWrite(9, HIGH); //B digitalWrite(8, LOW); //A delay(1000); //3 digitalWrite(11, LOW); //D digitalWrite(10, LOW); //C digitalWrite(9, HIGH); //B digitalWrite(8, HIGH); //A delay(1000); //4 digitalWrite(11, LOW); //D digitalWrite(10, HIGH); //C digitalWrite(9, LOW); //B digitalWrite(8, LOW); //A delay(1000); //5 digitalWrite(11, LOW); //D digitalWrite(10, HIGH); //C digitalWrite(9, LOW); //B digitalWrite(8, HIGH); //A delay(1000); //6 digitalWrite(11, LOW); //D digitalWrite(10, HIGH); //C digitalWrite(9, HIGH); //B digitalWrite(8, LOW); //A delay(1000); //7 digitalWrite(11, LOW); //D digitalWrite(10, HIGH); //C digitalWrite(9, HIGH); //B digitalWrite(8, HIGH); //A delay(1000); //8 digitalWrite(11, HIGH); //D digitalWrite(10, LOW); //C digitalWrite(9, LOW); //B digitalWrite(8, LOW); //A delay(1000); //9 digitalWrite(11, HIGH); //D digitalWrite(10, LOW); //C digitalWrite(9, HIGH); //B digitalWrite(8, LOW); //A delay(1000); }
Статья является авторским переводом с сайта instructables.com
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Комментарии