Ребята помогите подключить датчики парковки от парктроника к ардуино

art100
Offline
Зарегистрирован: 09.03.2014

я один ничего не понимаю или еще кто-нибудь

ультрозвуковые датчики мин4шт максимум 12шт - воткнуты в контроллер размером с пачку масла которая все это хозяйство питает слушает и - командует по нескольком проводам -контроллером с светодиодными индикаторами / ЖКИ экранами/ камерами заднего обзора

от УЗ датчика до лампочки деталей мама не горюй

 

 

XsanderS
Offline
Зарегистрирован: 21.04.2014

Вот прошивка с програмным серийным портом, сигнал заводи через пин 10 и землю ардуины зацепи на землю сигнала.

Это програмка для анализа данных приходящих в комп http://compcar.ru/forum/attachment.php?attachmentid=17690&d=1398157847

о результате отпиши.

 

#include <SoftwareSerial.h>          // програмный Serial

SoftwareSerial mySerial(10, 11);           // пины для подкл (10rx,11tx) DAT подключи к 10

int           DATreceiveByte = 0;                       
byte          DATbyte[12] = {0,0,0,0,0,0,0,0,0,0,0,0};   
void setup()                    
{
  Serial.begin(9600);                                  
  mySerial.begin(9600);                                 
}

void loop()
{
  ReadDATmsg();
}

boolean ReadDATmsg()
{
  while( mySerial.available() > 0 )
  {
    for( int i=1; i<12; i++ )
    DATbyte[i-1] = DATbyte[i];
    DATbyte[11] = mySerial.read(); 
    Serial.write(DATbyte, 12);
    mySerial.flush();
    delay(1000);
  }
} 

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Ок. спасибо приду домои попробую сделать. отпишу.

XsanderS
Offline
Зарегистрирован: 21.04.2014

Функция "pulseIn" предназначина для считывания длинны импульса, это совсем другое.... Нужна она при прямом подключении датчиков либо сигналов где нужно не байты считывать а длинну сигнала. Тут же добавлю большими буквами ЗАБУДЬ ЭТУ ФУНКЦИЮ она работает настолько коряво, да нефига она не аботает:) выдает че хочет))))

 

Роман немного ошибается, там не сигнал а пакеты данных. Блок куда подключенны сенсоры делает всю работу по считыванию сигнала с датчиков и все сам расчитывает, и информацию о расстоянии передает на плату со светодиодами в виде пакетов данных длинной 12байт 0х0, 0х0, 0х0, 0х0, 0х0, 0х0, 0х0, 0х0, 0х0, 0х0, 0х0, 0х0, от каждого датчика по 3 байта. Кстати тот парнишка пишет что протокол используется сериал, так что должно коректно входить в комп.

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

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Полностью согласен.Попробую и отпишу.

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Не ошибаюсь, я прекрасно понимаю что там идут данные пачками. И что экранчик, который расплавился всего навсего отображалка, а основную обработку делает коробочка, к которой датчики подключены (обычно в бампере или под задним фонарем прячут). art100 правильно все написал.

1) Использование "pulseIn", какая бы она глючная не была, необходимо что бы понять в каком виде идут эти пачки. Фактически с помощью этой функции можно сделать простенький логический анализатор.  

2) как только поняли как выглядят ваши данные (с помошью логического анализатора или осцилогрофа), то дальше можно думать как писать ПО. В данном случае я бы использовал прерывания на 2 или 3 пине ардуино

3) код, который написал XsanderS скорее всего не взлетит, либо будет мусор. Так как там не UART идет с коробочки, к кторой датчики подключены. В UART длинна импульса постоянна. Т.е. 1 - есть сигнал, 0 - сигнала нет, но длительность 1 и 0 постоянна. Сдесь же скорее всего 1 или 0 передаются как на картинках (длительностью импульса или периода следования импульса. 2 варианта). Это больше похоже на то что в IR пультах используется.

В дополнение. там может быть разное кол-во бит, это от производителя зависит.

 

Name:  Signal LED.jpg Views: 44669 Size:  12.8 KBName:  Signal LCD.jpg Views: 45074 Size:  12.0 KB

 

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Вот что приходит: 

<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>1<0><0><0><0><0><0><0><0><0><0>11<0><0><0><0><0><0><0><0><0>111<0><0><0><0><0><0><0><0>1117<0><0><0><0><0><0><0>11171<0><0><0><0><0><0>111717<0><0><0><0><0>1117171<0><0><0><0>11171711<0><0><0>111717111<0><0>1117171111<0>11171711111111717111111117171111111171711111111717111111111171111111111711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111117111111111171111111111711111111117111111111171111111111711111111117111111111171111111111711111111117111111111171111111111711111111111111111111111111111111111111111111117111111111171

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Полный бред ппц(

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

)))

вы небось еще перед датчиком рукой махали?

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Нет перед датчиками ничего! Абсолютно.

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Самое интересное такое делали еще в 2006 году я нашел статьи людям за деньги как говориться адаптеры usb  на PIC18 ппц. на дуне точно можно сделать вот только как прочитать данные хз вообще уже мозг плавиться(

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

без лог анализатора проблематично

XsanderS
Offline
Зарегистрирован: 21.04.2014

Без паники, роман возможно прав, мне тоже надо кое что смутить со своим парктроником, так что протестирую и выложу результат. Просмотрю на предмет типа данных, и анализатором и осцелографом... как будет результат отпишу.

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Ок. Пока хочу сказать следущие. Можно сделать по другому. Я разобрался с зависимостями на плате индикатора кому интересно щас скажу как все тут делается).  Первая картинка за что отвечают контакты на большинстве лед индикаторах сделано именно так: 

А следующая картинка тем кто не понял) вот как подключается одна из сторон светодиодов например:

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

РАскрою может таину) но в основном блоке стоит тот же МК что на индикаторе. там прошивка шифрует данные по пакетам а другой Мк просто расшифровывает. Прочитав много всего на зарубежных форумах пришел к выводу что не все протоколы поддаются чтению на привычных наших МК типа атмел или пик все дело в частоте самого мк на какой частоте он может работать. В следствии этого надо осцилографом смотреть и уже делать выводы. Но по мне так лучше сделать следующие. Сделать доп плату с оптопарами 12 штук и резисторами на них и все 12 контактов завести на дуню например нано там помоиму 14 цифровых будет 2 аналога можна как цифру сделать. Но перед все этим нужно на макетке подключить 7 светодиодов сначала например к левому транзистору общему и узнать какой контакт из 8ми какую дистанцию обозначает или лучше сделать через семисегмент подобрать методом тыка какая нога куда и все. В дуни пишиться скетч простой он будет но объемный правда) и все вуаля. Как сделаю седня выложу фотки тестов по моей теории. и ТОГО ПОДКЛЮЧИТЬ ПАРКТРОНИК ОБОИДЕТСЯ В РУБЛЕЙ 200 МАКС(100 РУБЛ НАНО +100 РУБЛ ОПТОПАРЫ И РЕЗИСТОРЫ)

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

я хочу такую траву :). Что бы меня также штырило... :)

Если серьезно. 

1) Выбраный вами способ в принципе работоспособен. Кстати, можете даже не замарачиваться на резисторы и оптопары, так как там 5В с микрсхемы идет. Возможно, надо будет включить подтягиваюшие резисторы на входах ардуино, так как возможно, при отключенном сегменте индикатора, выход на микросхеме находится в высокоимпендансном состоянии. Дополнительно, вам надо будет разобраться в динамической индикации "наоборот". Из минусов данного подхода а) у вас нет плной информации с датчиков, так как вы сможете получать информацию только ту, которую вам представляет индикатор, а он выводит в цифрах только инфу с датчика, который ближе всего к препятствию. б) у вас избыточное кол-во микросхем, которые не нужны и могут сгореть в) у вас будут использованы почти все выводы ардуино (а вдруг вы еще экранчик захотите...) 4) Скеч нефига не проще будет чем расшфровка протокола парктроника через прерывания

2) ИМХО, я бы вам советовал оренироваться на материал с заубежного форума, который вы ранее прислали. Сделайте допущение (осцилографа все равно нет), что у вас сигнал как на картинке (http://www.mp3car.com/vbulletin/attachments/hardware-development/50458d1214404976-custom-usb-parking-sensor-interface-formally-pdc-usb-data-analysis.jpg) и попробуте написать через прерывание вывод в сериал монитор длительности между перепадами сигнала из LOW в HI. Если сможете, дальше будет проще... так как мы увидим в какую сторону двигаться

3) Определитесь что вы хотите. Куда вы хотите передавать полученную инфу ? чем обрабатывать ? Может хотите более инфармативно отображать полученную информацию ? или просто разобраться как это работает ? Поймите какой Вы хотите результат...

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Я знаю какой я хочу результат мне без разницы как дуня будет мне это слать на ПК главное понятные данные и уже программой на С++ я буду их читать у меня созданно собственное ПО типа Центрафуза=). вот там я и буду выводить данные мне минимум нужен стороны лево право и дистанция. Так можно поподробнее как разобраться с протоколом не имея логического анализатора и осцилогрофа. Тот скетч с вирутальным серииным портом никчему не привел. Как подключить к дуни линию данных и как прочить коректно? Я не бог вплане программирования дунь) только начинаю)

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

А как разобраться с протоколом, имея осцилограф или логический анализатор ? С их помощью смотрится длительность имульсов, частота их следования, паузы между следованиями импульсов и т.д. Фактически смотряться тайминги сигнала. А после этого мы понимаем, какой микропроцессор нам подойдет и как лучше этот сигнал обрабатывать.

Про виртуальный компорт я сразу сказал что не будет работать...

Сделайте допущение (осцилографа все равно нет), что у вас сигнал как на картинке (http://www.mp3car.com/vbulletin/attachments/hardware-development/50458d1214404976-custom-usb-parking-sensor-interface-formally-pdc-usb-data-analysis.jpg

подключать просто, линию данных с парктроника на 2 или 3 пин ардуины, GND на землю.

А прогу надо думать как написать... Сведодиодиком моргали ? Кнопки освоили ? Если да, то сделайте кнопку по прерыванию. Если сделаете, то померьте длительность между нажатиями на кнопку с выводом информации  в сериал. Если это сделаете, дальше сами сможете разобраться... Ну или направление подскажем куда смотреть

Если желания разбираться нет, то для этого есть другой раздел форума... Направление в какую сторону смотреть Вам сказали, дальше сами принимайте решение, что Вам важнее - разобраться или результат...

 

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

) Спасибо. попробую сегодня с прерываниями попробывать.

XsanderS
Offline
Зарегистрирован: 21.04.2014

Доброго дня, Роман был прав, я не досмотрел насчет сигнала. С парктроником еще дел не имел, думал там TTL сигнал... Сейчас имею парктроник для тестов, потому как самому надо на базе него организовать датчик присутствия.

1. Вот програмка осцелографа 

http://www.compcar.ru/forum/attachment.php?attachmentid=14080&stc=1&d=1331408357 Разработанная админом форума compcar.ru с моим участием в графической части.

Не фантан конечно но чтобы увидить картину происходящего хватит, позже напишу прошивку с использованием pulsein (как заменить ее еще не придумал) с ней просто нужно быть осторожным чтоб не перегрузить, прошивка будет слать компу тайменги по которым можно будет распознать протокол, длительность импульсов. потом исходя из этого буду писать прошивку которая будет переводить эту лабуду в нормальный вид типа пакетов данных и писать в комп.

//oscilloscope 
//http://compcar.ru  
byte head[3]={170,204,195};
byte MyBuff[800]; 
unsigned int i=0; 

void setup()   
{  
Serial.begin(115200);   
}   
void loop()   
{   

  for (i=0;  i < 800; i++)   
  {   
   MyBuff[i] = analogRead(0)/4;  
  } 
    Serial.write(head,3);
    Serial.write(MyBuff,800); 
}

И еще: сигнал заводить на аналоговый порт "0" до +5в все что свыше, то через резистивный делитель, но в нашем случае можно на прямую. Ну и конечно землю ардуинки с землей поцеента сцепить.

XsanderS
Offline
Зарегистрирован: 21.04.2014

Мой сигнал выглядит во так когда датчики в спокойном состоянии.

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Ок. спасибо поробую. Отпиши как если что узнаешь. Какой парктроник у вас?

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

XsanderS пишет:

Мой сигнал выглядит во так когда датчики в спокойном состоянии.

 

Это ты с помощью дуни считал? хм.. а в состоянии например все отключи датчики оставь лдин например и померь без препятствия и с препятствием. интересно)

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Кстати у меня прога не запускается) запускается и сразу закрывается(

XsanderS
Offline
Зарегистрирован: 21.04.2014

Она запускается только когда ардуина подключенна к USB--- сейчас наверно пытаешся запустить с не подключенным ардуино или проверь назначил ли комп ардуине сом порт, прога сама закрывается в случае если не находит не одного FTDI устройства

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

прикольно ... Время измерения analogRead как учитываете ?

Есть у кого нить в Казани парктроник ненужный или за символическую сумму? Пациент нужен ... XsanderS. А действительно, какой у вас парктроник ? Похоже, что ваш протокол от описаных в статье отличается.

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

У меня не такой ровный сигнал(.

Вот выкладываю разные состояния:

первый рисонок это два датчика левый и правый нет препятствия. Второй рисунок ниже те же датчики но уже препятствие на дистанции в пол метра:

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Незная какой вывод делать помогите ребят какие идеи(

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Осцилограф правильный взять... 

а если мерить в режиме x1 ?

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

если мерить в режиме x1 то слишком широкий сигнал пачки за раз неуспеваю весь в масштабе поимать

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

а сколько всего датчиков у вашего парктроника ?

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

4 датчика ноподключенно 2щас

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Ребят разобрался с сегментом.) смог восстановить и подключить сдвоеный сегмент восьмерку с общим анодом к плате. все работает. Теперь просто вычислить и записать комбинации и забить их в дуню и нехер больше мозг ломать. и все развязку в любом случае через оптопары делать так как общий + а мк подключает минус. короче управление как и в радар детекторах по минусу идет. Вообщем сделаю когда все выложу сюда всю инфу.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

чудик. давно мог это сделать  с новым индикатором. но разобрать тип посылки для вас похоже интереснее

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Давно не давно. Тут конкретно ничего по поводу подключения не сказали какая закономерность может быть и т.д. просто купить сдвоеный сегмент и 12 контактов наобум подключить не получилось бы. Надо было искать закономерность. о которой никто конкретно ничего не сказал в том числе и вы. Просто раз вы не вглублялись в данный вопрос я вам объясню. Не совсеми парктрониками все так просто, не во всех пакеты легко разбираются. Лично у меня парктроник Нонеим китаи много искажений сигнала. Был бы конкретно протокол или описание было бы проще а так без нормального осцила в моем случии сигнал сложно читать он посстоянно разный(. в отличии от парня который выложил свои сигнал выше.

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

jeka_tm Вы не правы, да и не вежливо так писать. Задача сттоит подключить парктроник к внешней системе (компьютеру) с помощью ардуино, а не востановить работоспособность.

Seltvik бог с вами, вы нарисовали соединения элементов на предидущей странице. Там же видно что это фактически 2 цифровых индикатора с общим анодом и 2 линейных индикатора с общим анодом. Все это работает с использованием динамической индикации (транзисторы поочереди подключают общие катоды индикаторов к 5 В, с частотой окола 100 Гц, МК выставляет значение сегментов индикатора). http://avrlab.com/node/130 все написано, читали ?. только вместо крайних цифровых сегментов, у вас линейки индикаторов. 

Для подключения ардуина вместо индикатора оптопары не нужны, ардуино без проблем может считывать как 5В так и GND. Только, похоже надо будет подтягивающие ресистора поставить на сегменты индикаторов, что бы они к +5 подтягивали, когда сегмент индикатора потушен. а с транзисторов и так +5 будет. 

Поверьте, разорбрать это будет не намного легче чем протокол передачи данных. Вам надо отслеживать стостояние каждого транзистора и когда он выдает + 5V считывать состояние сегментов. Потом из В01111011, В01111000  и т.д. собирать какие цифры он показывает. 

Попробуйте. DAT на 2 вход. Скорость порта - 115200. Ниже нельзя. Я честно говоря, не уверен что и этой скорости хватит, что бы отчищать буфер UART, но 20 - 40 значений мы скорее всего поймаем. Дальше будем смотреть. 

unsigned long time;

void setup() {
  Serial.begin(115200);
  pinMode(2, INPUT);  
}

void loop() {
  time = pulseIn(2, HIGH);
  Serial.println(time);
}

 

 

XsanderS
Offline
Зарегистрирован: 21.04.2014

И выложите сигнал в режиме х1 не важно что не весь пакет будет виден, интересует как выглядит верхушка пилы.

ps: у меня тоже китайский безимянник, с безпроводным подключением между дисплеем и блоком.

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Спасибо всем. Во-первых я попробую так сделать через пульин. посмотрим что покаже. Мне конечно хотелось бы сделать напрямую подключить к дуни. а не через оптопары или резисторы просто. Во-вторых на x1 ниче не получится увидеть так как все слеплено даже верхушек не видно. Сегодня вечером сброшу. Если у XsanderS все красиво прямоугольниками то у меня бред полный.

Не понимаю вообщем в одном и том же состоянии разные графики даже точки размышления нету пиков разное количество да и заострения разные постоянно.( Скажу честно я не особо умею расшифровывать сигналы такие точнее распознованием протоколов не занимался никогда(. Вот и попросил помощи. Просто не хочется выкидывать вещь то работает).

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

попробуйте еще в time = pulseIn(2, HIGH); указать LOW 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

РЕбят все сделал вот результат: при 4 подключенных датчиках: 1 столбец данные без препятствии, 2 стоблец препятствие пол метра. Это кусок из того что шлет. пока не понял но закономерность с графиком есть.

1114 1120
250 249
99 99
251 253
259 99
258 95
253 247
253 253
258 259
99 259
1120 99
249 1120
99 250
247 94
100 251
238 259
258 253
259 259
259 259
253 258
1120 94
250 1120
99 250
245 99
258 91
258 94
258 90
253 251
259 99
99 253
1120 99
249 95
100 253
238 100
99 1120
90 243
251 99
259 251
253 253
259 259
99 259
1120 259
250 253
100 100
238 1120
258 243
259 99
259 246
253 99
259 95
99 251
  259
  253
  256
  99

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

А вот скрины свежие с 4 датчиками. Первый скрин нет препятствия второй с препятствием в пол метра.

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

И там и там по 17 всплесков. плюс думаю что иголки дапустим это 0 а прямые участки это 1 например. Как думаете? Получается 01001001111111110 во втором случае 01001000111111110 отличие в 1 значение странно...

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

А щас вообще ппц. Препядствие в упор на индикатор аж 0 0 показывает а на осциле типа вот что:

А вот показатели если делать срабатывание по LOW первый столбец без препятствий а второй в упор и третий пол метра препятствие:

280 280 280
117 124 127
119 121 123
124 274 124
119 124 119
119 119 124
124 128 119
119 272 119
124 33040 124
116 133 119
125 133 117
132 283 121
280 284 132
127 133 125
132 281 283
129 124 284
124 119 132
119 120 274
123 132 124
112 33043 121
119 125 132
124 132 284
121 284 133
125 280 133
132 127 283
280 283 281
121 129 127
283 124 283
129 121 129
124 283 124
119 33048 112
124 132 124
112 133 119
120 283 123
124 277 125
121 283 132
132 280 280
132 120 127
281 129 284
120 124 129
129 119 124
124 127 119
119 132 124
124 132 119
119 283 119
119 275 124
117 124 115
119 123 132
124   132
121   281
133   127
133   129
    124
    119
    124
    112
    120
    124
    119
    124
    121
    132
    132
    281
    277
    132
    280
    124
    123
    127
    283
    132
    132
    277
    280
    128
    277
    129
    123
    119
    124
    119
    123
    132
    132
    275
    127
    277
    129
    124
    119
    117
    119
    124
    121
    121
    132
    132
    280
    127
    123
    124
    119
    124
    119
    119
    124

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Вообщем запутался(

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Уже интересней. 

Стало понятно что пакеты по 8 - 9 бит идут и их длительность известна. Значит можно теперь переходить на прерывания. 

А виртуальный осцилограф не ловит, так как длительность измерения АЦП ардуина больше чем время одного бита. (короче частоты осцилографа не хватает :) ). AnalogRead() — скорость выполнения 110 мкс. а 1 бит (скорее всего это 0) 90 - 100 мкс. 

 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

И что мне делать( раз если так как вы предпологаете?

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

Скажите а если допусти поиду сеичас по другому пути. не расшифровка протокола. Вот допустим есть у меня 10 контактов к сдвоеному семисегментнику, то есть я знаю уже что куда  и т.д. Как лучше дуней организовать считывание семисегментника. То есть наоборот не вывод на сдвоенный семисегмент а наоборот считывание того что выводится на него. Как лучше организовать? что посоветуете.

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

Все это работает с использованием динамической индикации (транзисторы поочереди подключают общие катоды индикаторов к 5 В, с частотой окола 100 Гц, МК выставляет значение сегментов индикатора). http://avrlab.com/node/130 все написано, читали ?. только вместо крайних цифровых сегментов, у вас линейки индикаторов. 

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

roman2712@mail.ru пишет:

Все это работает с использованием динамической индикации (транзисторы поочереди подключают общие катоды индикаторов к 5 В, с частотой окола 100 Гц, МК выставляет значение сегментов индикатора). http://avrlab.com/node/130 все написано, читали ?. только вместо крайних цифровых сегментов, у вас линейки индикаторов. 

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

Seltvik
Seltvik аватар
Offline
Зарегистрирован: 24.10.2013

То есть допустим я могу с каждого контакта считать 0 или 1 с каждого из 10ти контактов включая общии аноды. И как я без оптопар заведу на дуню если общий у всех сегментов анод + а не минус а управление МК производит по минусу(. то есть допустим на сегменте выводит МК парктроника 0.2 как считать дуней чтобы в ком порт слал он 0.2 тоже. Хотя бы ссылку или что нить в каком направлении лучше поити как читать лучше все это 8 независимых минусов от МК и 2 общих анода по одному на каждый сегмент. Просто сравнением если делать то не уверен что будет успевать читать.