воскресенье, 14 октября 2012 г.

Подключаем VFD (вакуумный флуоресцентный дисплей) к BlockDuino без паяльника

Попался мне в руки (выковырнул из хлама) вот такой вот красивенький дисплейчик:
Vacuum Fluorescent Display
Соблазнило наличие микросхемы на борту и наличие стандартного разъема (для ЖКИ | LCD), что могло упростить его подключение. Заглянув в datasheet понял, что не прогадал - дисплей разрабатывался для замены стандартных LCD.
Так как экранчик взят с хлама, то в него уже был впаян разъем мама и по этому поводу я решил отписаться, как можно подключать что-нибудь к BlockDuino не пользуясь паяльником.



Итак, для этого случая нам понадобится:

  • VDF модуль
  • 4 трехжильных и 1 двух жильный провод с разъемами мама на обоих концах
  • угловой двухрядный разъем папа на 7х2 = 14 пинов
  • BlockDuino


 Дальше я вставил угловой разъем в разъем на дисплее (кстати дальше я все же перевернул его наоборот чем на фото: прямыми пинами в экран, а на угловые одевал шнуры) и начал подсоединять провода сверяясь с распиновкой:
Двойной шнурок (красно-коричневый) пустил на питание на первый и второй пины:
А остальные трехжильные подсоединил друг за дружкой:

 А далее прикинув расположение цифровых портов на шине, подключил провода к разъему папа на BlockDuino: первую тройку в порта D1-D3 (все равно пин 3 на дисплее не используется, так что порта D0 и D1 у меня сохраняются свободными для UART);   вторую тройку запихнул рядом на порта D4-D6; третью и четвертую соответственно на порта D7-D9 и D10-D12. Провода питания соответственно подключил к второму (GND) и третьему пину (+5V).

Подключал я исходя из того, что не знал, поддерживает ли дисплей 4х битный режим, поэтому использовал все 8 бит для передачи данных.
Далее загрузив стандартный скетч (код) из библиотеки LiquidCristal:
File->Examples->LiquidCristal->HelloWorld
и сопоставив пины на дисплее и на BlockDuino

 изменил в коде строку инициализации на
LiquidCrystal lcd(4, 2, 5, 3, 6, 7, 10, 8, 11, 9, 12);

А так же немножко подправил уже от себя (что, в принципе, не обязательно):
void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(24, 2);
  // Print a message to the LCD.
  lcd.print(" hello, BlockDuino.org!");
}

И загрузив код, мгновенно получаем результат:
То же, но с питанием от 9ти вольтовой батарейки:
Вот так, имея под рукой необходимые компоненты, можно собрать на коленке работающее устройство без использования паяльника.

Upd: На следующий день попробовал 4х битный режим, все работает!
LiquidCrystal lcd(4, 6, 7, 8, 9, 10);