strob сигнал
- Войдите на сайт для отправки комментариев
Пнд, 15/08/2011 - 08:00
пробую по средством arduino управлять светодиодным модулем с управляющей мисросхемой LD1510. Каким образом на arduino сформировать и послать STROB cигнал ?
tadasheet
http://www.ldt.co.kr/common/app_inc/download.asp?file_nm=/data/bbs_Displ...
DigitalWrite()
delay()
или
delayMicroseconds()
или напрямую через порты
RED +12V
BLACK -
GREEN CLOCK
WHITE DATA
int clockPin = 12;
int dataPin = 11;
byte data1 = B00111111;
void setup() {
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop()
{
shiftOut(dataPin, clockPin, MSBFIRST, data1);
delay(10);
}
при запуске цикла LED модуль пробегает по всем цветам и гаснет.
вне зависимости от значения data1.
BLUE 20%
BLUE 50%
BLUE 100%
GREEN 20%
GREEN 50%
GREEN 100%
RED 20%
RED 50%
RED 100%
чито я делаю не так ?
...
void loop()
{
shiftOut(dataPin, clockPin, MSBFIRST, data1);
delay(10);
}
при запуске цикла LED модуль пробегает по всем цветам и гаснет.
вне зависимости от значения data1.
чито я делаю не так ?
В основном цикле на контроллер LED-ов отсылается одна и та же команда - с таким же успехом можно было бы в setup() один раз дернуть девайс и забыть о нем.
Попробуйте - в соответствии с даташитом - создать еще 1-2 осмысленные комбинации битов и затем подавать их на контроллер с чуть более низкой скоростью (ну, скажем, delay(100)), чтобы глаз успевал отследить изменения.
То есть вот такое тело цикла:
shiftOut(dataPin, clockPin, MSBFIRST, data1);
delay(100);
shiftOut(dataPin, clockPin, MSBFIRST, data2);
delay(100);
shiftOut(dataPin, clockPin, MSBFIRST, data3);
delay(100);
Если после этого ничего в поведении не изменится - внимательно изучать даташит.
-------------------
Заглянул в даташит - микросхема работает в двух режимах передачи данных - 8- и 12-битовом. Переключение уровнем сигнала на ноге MOD. В скетче ничего подобного не просматривается. Так что определенно - RTFM.