PT6311B

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Есть драйвер для ВЛИ pt6311lq. Хочу подключить пока к ардуино. В принципе алгоритм написан в датащите, но не совсем понятно. Может кто-то разжевать что к чему? Не понимаю как отчистить рам
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Что конкретно не понятно ?
Там всего 4 команды. Как можно в них запутаться ? :dont_know:
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Спойлер

Код: Выделить всё

#include <SPI.h>

int CS = 7;

void setup() {
  // put your setup code here, to run once:
  pinMode(CS, OUTPUT);
  digitalWrite(CS, HIGH);
  delay(200);
  SPI.begin();
  writeRegister(0b01000001);//cmd2
  writeRegister(0b11000000);//cmd3
}

void loop() {
  // put your main code here, to run repeatedly:

}

void writeRegister(byte data) {
  digitalWrite(CS, LOW);
  SPI.transfer(data);
  digitalWrite(CS, HIGH);
}
Получается командой 3 я ставлю значение регистра 0x00. В датащите есть такая строчка: The address is considered valid if it has a value of “00H” to “2FH”. И не понятно что за адреса эти и что за H в конце
Контактная информация:
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

И не понятно что за адреса эти и что за H в конце
Вот с этого и начни изучение.
Реклама
Эиком - электронные компоненты и радиодетали
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Я понимаю в чем суть адреса, меня эта Н в конце маленько смущает. Это типо H-hex чтобы не писать 0x?
Контактная информация:
Реклама
Мудрый кот
Сообщения: 1808
Зарегистрирован: Пт мар 26, 2010 17:16:52
Откуда: Kazan

Сообщение pcb432 »

H - значит hex.
Все очень просто.
Область рам (озу) драйвера - каждый бит это один сегмент дисплея.
Изображение От 0 до 2FH это 0 до 47 в десятичном значении (можете подсчитать сами).
В команде 3 Изображение в первых 6 битах мы определяем какие сегменты
включаем (тоже самое можно и по таблице озу).
Hex написание более компактно чем bin, но bin более понятно 47dec - 2FH - 101111bin (если расписать какому биту
соответствует какой сегмент.
Очищать (записывать значение 0) лучше сразу всю область озу, чтобы не было недоразумений с засветкой
неиспользуемых сегментов.
Как вы конструктивно подключили драйвер.
Рекомендую, по крайней мере для экспериментов, использовать плату от старых двд в комплекте с блоком питания.
Будет дешевле и быстрее. :) Изображение
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Сделал нормальную плату наконец с нормальным преобразователем на кф1211еу1, контроллер поставил mega88p
Набросал код, в ардуино иде для простоты отладки
Спойлер

Код: Выделить всё

#include <SPI.h>

int CS = 14;

void setup() {
  // put your setup code here, to run once:
  delay(200);
  pinMode(CS, OUTPUT);  
  digitalWrite(CS, HIGH);
  SPI.setBitOrder(LSBFIRST);
  SPI.setClockDivider(SPI_CLOCK_DIV32);
  SPI.setDataMode(SPI_MODE3);
  SPI.begin();

  
  digitalWrite(CS, LOW);
  SPI.transfer(0b01000000); //cmd2 - write data
  digitalWrite(CS, HIGH);

  digitalWrite(CS, LOW);
  SPI.transfer(0b11000000); //cmd3
  for(int i = 0x00; i < 0x2F; i++) SPI.transfer(0); //data - clear ram
  digitalWrite(CS, HIGH);

  digitalWrite(CS, LOW);
  SPI.transfer(0b00001100); //cmd1 - display settings
  digitalWrite(CS, HIGH);
  
  digitalWrite(CS, LOW);
  SPI.transfer(0b10001100); //cmd4 - display setings
  digitalWrite(CS, HIGH);

  
  digitalWrite(CS, LOW);
  SPI.transfer(0b01000001);  // write to led port
  SPI.transfer(0b00010101);  // on led1, led3, led5
  digitalWrite(CS, HIGH);
}

void loop() {
  // put your main code here, to run repeatedly:
  

  delay(100);
}
Но не пашет
Контактная информация:
Мудрый кот
Сообщения: 1808
Зарегистрирован: Пт мар 26, 2010 17:16:52
Откуда: Kazan

Сообщение pcb432 »

Сам экспериментировал на пик.
У меня заработало (см выше).
Напряжение накала?
Питание анодно сеточное какое?
Подключено как в даташите?
Вот алгоритм программы PT6311 абсолютно аналогичен 6312Изображение
Без правильной инициализации может не показывать.
У вас похоже на мой
Спойлер

Код: Выделить всё

void PT_init (void)
{
STB = 1;
SDO = 1;
SCL = 1;
Delay_ms(200);
PT_Transmit(0b01000000);        //  Command 2 (0x40) (Normal mode, increment adress,
STB = 1;
PT_Transmit(0b11000000);        // Command 3 (0xC0) (address is set at “00H”.)
STB = 1;
//---------------
Mem_clear();
 //-------------------------------
//PT_Transmit(dat);
PT_Transmit(0b00000011);        // Command 1 (00XX0XXX : 8 digits, 20 segments)
STB = 1;
PT_Transmit(0b10000111);        // Command 4 (0x87)(10XX00111 display OFF, Pulse width = 1/16.)
STB = 1;
}
Мем_clear- очитска внутренней памяти. В принципе на начальном этапе не влияет.
А работу со светодиодами можете пока тоже можно исключить.
А здесь видимо основной цикл

Код: Выделить всё

void loop() {
  // put your main code here, to run repeatedly:

  delay(100);
}
?
Но там ничего не происходит и ничего не будет выводиться.
Смотрите на прилагаемом алгоритме, какие нужно произвести действия.
В ардуино не знаю, а других компиляторах сначало нужно настраивать сам микроконтроллер.
Когда рыскал по интернету, по моему и для ардуино были примеры программ.
Друг Кота
Аватара пользователя
Сообщения: 15711
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

[uquote="daaar",url="/forum/viewtopic.php?p=3787862#p3787862"]Сделал нормальную плату наконец с нормальным преобразователем на кф1211еу1, контроллер поставил mega88p
Набросал код, в ардуино иде ...
Но не пашет[/uquote]
Сделайте пересылку не на аппаратном SPI, а программным ногодрыгом для начала.
Тем более, что мега88 в "типовой набор" ардуинки не входит - то или от DIY или MiniCore должны быть установлены.
:roll:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Стоит MiniCore. pt6311 подключен как в датащите. Попробю вручную байты передавать тогда

Добавлено after 35 minutes 48 seconds:
Нашел косяк. Всё работает! Ошибка глупейшая была
Контактная информация:
Мудрый кот
Сообщения: 1808
Зарегистрирован: Пт мар 26, 2010 17:16:52
Откуда: Kazan

Сообщение pcb432 »

Всё работает!
Раз похвалился, фотку работающего дисплея выкладывай.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Пожалуйста. Осталось побороть засветку сегментов
Изображение Изображение
А вот что за индикатор я не знаю, сзади написано, но гуглёж совсем к другому индикатору приводит. Индикатор взял в местном магазине за 40р
Изображение Изображение
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15711
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Стабилизируем ток анодов/снижаем напружку на анодах.
Регулировка яркости для подобного дисплея была где-то в схемах модернизации часиков на КР145ИК1901...
:roll:
Мудрый кот
Сообщения: 1808
Зарегистрирован: Пт мар 26, 2010 17:16:52
Откуда: Kazan

Сообщение pcb432 »

daaar Дисплей похоже модернизация известного Изображение
40 руб, дёшево.
Засветка похоже слишком высокое анодно сеточное напряжение.
Во многих устройствах прекрасно работает на 24 вольтах.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

Засветку исправил. Стабилитрон поставил на 4,7 вольта, до этого стоял какой-то случайный. Всё работает прямо отлично. Думаю взять десяток таких индикаторов
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Сообщение musor »

а светодиодыв схеме зачем указаны? че оне индицируют?
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Держит паяльник хвостом
Аватара пользователя
Сообщения: 920
Зарегистрирован: Пн июн 13, 2016 19:37:24
Откуда: Perm

Сообщение daaar »

В какой схеме? В коде писал значения в регистр светодиодов чтобы понять, принимает микросхема данные или нет
Контактная информация:
Мудрый кот
Сообщения: 1808
Зарегистрирован: Пт мар 26, 2010 17:16:52
Откуда: Kazan

Сообщение pcb432 »

Светодиоды как дополнительная фишка, основной индикатор люминесцентный, а светодиоды индикаторы режимов
работы схемы.
Такое было в видиках, двд.
Ответить

Вернуться в «Периферия»