PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Для новичков (http://pccar.ru/forumdisplay.php?f=9)
-   -   Дисплей климатроника от BMW E90 (http://pccar.ru/showthread.php?t=20939)

Murkur 12.07.2014 10:26

Дисплей климатроника от BMW E90
 
Вложений: 2
Всем привет.
Имеется панель климатроника от BMW E90 (тот, что на рисунке ниже, где температуру показывает)

Вложение 36558

Хочу её ипользовать для управления климатом в другой машине на базе Ардуино. Кнопки и светодиоды - это всё понятно, а может кто-то подскажет, как запустить однострочный дисплей на этой панели? ЖК-дисплей, как я понял, имеет несколько фиксированных символов и пиксельные маски для отображения температуры.
Драйвер дисплея - PCF8576CT. Его характеристики тут.

Вложение 36559

Подскажите, как именно управлять данным дисплеем через Ардуино. Или без необходимых библиотек не получится?
В принципе, думаю, что можно определить, какие контакты с самого дисплея и на какие ножки контроллера подключены, чтобы определить маску.

P.S. Подходящего однострочного дисплея не смог найти. Есть двухстрочный 1602, но плата не влезет в корпус, а резать там нет возможности.

swao 12.07.2014 15:20

Цитата:

Сообщение от Murkur (Сообщение 301981)
Драйвер дисплея - PCF8576CT.
Подскажите, как именно управлять данным дисплеем через Ардуино. Или без необходимых библиотек не получится?

http://pccar.ru/showthread.php?t=19162

s.m. 12.07.2014 15:34

угу, я раскурил саму микруху, но так как дисплей другой, то параметры инициализации и какой бит какой сегмент зажигает - это уже сами будете разбираться - это не сложно, в даташите на микруху есть вся инфа.

чтобы понять правильную строку инициализации - очень рекомендую подключить сниффер i2c к работающему блоку и записать обмен, чтобы выяснить, с каким набором данных идет инициализация, без этого ловить нечего с этой микрухой.

Murkur 12.07.2014 18:10

Цитата:

Сообщение от s.m. (Сообщение 301989)
чтобы понять правильную строку инициализации - очень рекомендую подключить сниффер i2c к работающему блоку и записать обмен, чтобы выяснить, с каким набором данных идет инициализация, без этого ловить нечего с этой микрухой.

К работающему устройству подключиться нет возможности. Спасибо за информацию.

Murkur 12.07.2014 19:16

Я новичок в этом деле. Можете подсказать, какие контакты драйвера к каким контактам Ардуино нужно подключить?

s.m. 12.07.2014 20:06

Цитата:

Сообщение от Murkur (Сообщение 301995)
Я новичок в этом деле. Можете подсказать, какие контакты драйвера к каким контактам Ардуино нужно подключить?

Как все запущено...
Эта микруха I2C, соответственно, питание 5В и шину I2С и нужно подключать к Ардуине.
I2C у массовых Ардуин одна, поэтому там и нечего думать - SDA -> SDA, SCL -> SCL

Ардуина будет мастером на шине, микруха слейвом.
Конкретный адрес микрухи на шине лучше просканировать сканером I2C (в моей ветке было про это), так как по-моему есть несколько вариантов адресов.

Murkur 12.07.2014 20:18

Цитата:

Сообщение от s.m. (Сообщение 301996)
Как все запущено...

Говорю-же, что начинающий :)
Спасибо за ответ.

Murkur 13.07.2014 11:30

А как можно определить адрес слэйва, если нет возможности подключиться к работающей панели?
Запустил такой код:
PHP код:

#include <Wire.h> 
 #define ADDR 0x38 //адрес устройства 
 
void setup() 
 { 
 
Serial.begin(115200);//скорость обмена с компом 
 
Wire.begin(ADDR); //определим как ведомый с указанным адресом 
 
Wire.onReceive(receive_handler); //ждем данных от мастера, функция возвращает int число байт данных 
 


 
void loop() {} 

 
void receive_handler(int numbytes
 { 
 for (
int i=0;i<numbytes;i++) //читаем весь пакет 
 

 
Serial.print(Wire.read(), HEX); // принимаем значение и передаем компьютеру 
 

 
Serial.println(' '); //перенос строки 

 


В мониторе выдаёт код: C880F06000000000000000000000

Значит у меня тоже адрес 0x38?

s.m. 13.07.2014 20:53

Отсканируйте устройства с помощью скрипта
http://playground.arduino.cc/Main/I2cScanner

Murkur 14.07.2014 18:37

Цитата:

Сообщение от s.m. (Сообщение 302040)
Отсканируйте устройства с помощью скрипта
http://playground.arduino.cc/Main/I2cScanner

Отсканировал... Таки адрес 0х38.
Как же, всё-таки, сформировать правильную команду, чтобы на дисплее хоть что-то засветилось?


Часовой пояс GMT +4, время: 10:42.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot