С такими значениями работает и мой SPI как надо.
3250 = 0°
1450 = 180°
Только вот странновато всё это, вы заметели что теперь минимум (3250) то больше чем максимум (1450).
Да и вообще. Что это вдруг нужно слать, настолько длинный импульс, ведь судя по замеренным данным #36 SPI работает довольно быстро, даже быстрей чем родные digitalWrite.
Никак не могу понять, можно ли с помощью 74HC595 управлять яркостью диодов (надо подключить около 30 диодов)
Как я понимаю, с 74HC595 идёт аналоговый сигнал 1 или 0, а надо цифровой 0--255. Уже много пролистал но не нашёл инфы, в статьие http://robocraft.ru/blog/arduino/541.html увидел строку, что на серву через 74HC595 подаётся сигнал в виде 0-255, но видать ещё не дошёл мозгом, как получилось... вообще, это всё таки, возможно?
1. Можно. Но для вашей задачи лучше использовать два вот таких вот драйвера TLC5940NT.
2. 1 или 0 - это как раз цифровой сигнал.
3. 0-255 - это 8 битный ШИМ - цифровое представление аналогового сигнала.
Попробуйте погонять в протеусе
Нашел я настоящий осцилограф и прозвонил то что у меня шлёт ардуина. В итоге добился "методом тыка" того что сервы начали двигаться на заданный угол.
Честно презнаюсь был удивлён когда увидел сигнал идущий с регистра. Да и значения каторые я нашол путём проб в вели меня в звблуждение.
Дапустим, вот эти значения характеризуют максимальный и минимальный импульс:
Дак вот, если я юзаю регистр без SPI (т.е. управляю регистром через digitalWrite(..)), то всё работает идеально.
350 = 0°
2150 = 180°
Но после того как переписал всё на SPI, я получил следущее:
С такими значениями работает и мой SPI как надо.
3250 = 0°
1450 = 180°
Только вот странновато всё это, вы заметели что теперь минимум (3250) то больше чем максимум (1450).
Да и вообще. Что это вдруг нужно слать, настолько длинный импульс, ведь судя по замеренным данным #36 SPI работает довольно быстро, даже быстрей чем родные digitalWrite.
Похоже, у Вас полярность импульса не та. Такое впечатление, что Ваши константы соответствуют не длине импульса, а интервалу между импульсами.
Вот именно что длинне.
может что в эти функциях не так:
Доброго времени суток
Никак не могу понять, можно ли с помощью 74HC595 управлять яркостью диодов (надо подключить около 30 диодов)
Как я понимаю, с 74HC595 идёт аналоговый сигнал 1 или 0, а надо цифровой 0--255. Уже много пролистал но не нашёл инфы, в статьие http://robocraft.ru/blog/arduino/541.html увидел строку, что на серву через 74HC595 подаётся сигнал в виде 0-255, но видать ещё не дошёл мозгом, как получилось... вообще, это всё таки, возможно?
тапками не бить плз, как и многие, только начал
1. Можно. Но для вашей задачи лучше использовать два вот таких вот драйвера TLC5940NT.
2. 1 или 0 - это как раз цифровой сигнал.
3. 0-255 - это 8 битный ШИМ - цифровое представление аналогового сигнала.
Сижу, читаю о TLC5940, интересно, но не могу найти у себя в городе их, а уже очень срочно.
с цифровым и ШИМ я понлял, моя ошибка
Поскажите как пойти с 74HC595 всё таки? планировал ещё ULN2003 использовать чтобы не попалить 74HC595.
Если на одном выходе 74HC595 будет не более 3 стандартных светодиодов, то сгореть не должно.
Это не самое простое и быстрое решение в плане ПО.
может есть какие то готовые библиотеки для этого случая с 74HC595
скажите, правильно ли я понимаю, что управляя через 74HC595 сервой, как в этом примере:
http://arduino.ru/forum/programmirovanie/upravlyaem-vsem-s-pomoshchyu-re...
как раз и дописали библиотеку, которая позволяет посылать не только 0 и 1, а 0..255?
Все правильно, только не от 0 до 255, а ШИМ с длительностью импульса от 600 до 2200 микросекунд. Попробуйте поискать похожие готовые проэкты.
может плохо ищу, но за неделю так и не нарыл, тем временем, пора уже собирать. похоже прийдётся использовать меньше выходов :(
Немного перебью разговор, если позволите...
Помогите, как через 74HC595 управлять яркостью диодов, т.е. сделать на выводах ШИМ? не завалялся ли у кого кусочек кода?