Не работает схема расширения выходов Ардуино на 74HC595 для светодиодов.
- Войдите на сайт для отправки комментариев
Сб, 04/01/2014 - 14:27
Доброе время суток форумчане!
Собрали схему для одного регистра 74HC595, как приведено на сайте, заливали скетчи примеров, во всех случаях горит светодиод на ноге 7, т.е. Q7
Не поймем в чем дело. Меняли регистры, выходы Ардуино. Светодиоды горят, если подать питание.
Помогите кто чем сможет :)
А вы пробовали без скетчей им управлять - напрямую задавая логические уровни на входах?
А так думаю вы его не правильно подключили. И в скетче у вас 5 ошибок.
вот, просто перебор диодов в двоичном коде:
Горит только Q7
Наверняка, уже всё давно проверено на правильность подключения, но, скорее всего, дело в электроннике. Либо нет где-то контакта, либо он где-то не там, либо не подсоединён один из "неважных" выходов сдвигового реистра, либо что то не работает.
из всей программы оставили только:
Фактически выводим число 255, т.е. зажечь все св.диоды - не горит.
Выводим 254 - не горит. Выключаем питание Ардуино, включаем - не горит один, а еще один судоржно моргает. на его ноге 3,8 В
Если посадить этот диод на другую ногу, то там будет 3,8 В
Какая-то хрень. Диоды и резисторы (220 Ом) одинаковые.
На остальных выходах регистра примерно 4,2 В
Питание 5 В.
Собрали схему точно также как здесь http://arduino.ru/Tutorial/registr_74HC595
Для одного регистра.
74HC595 - помучал я ее и тоже что-то не выходило , тогда я стал использовать библиотеку SPI - ......
В void setup ;
Далее монипулируем выводами 74hc595 как хотим в функции LOOP , прописывая переменной Р1 - любые значения (например P1=B10000000; или P1= 00111100; и т д
Вряд ли дело в библиотеке. У меня 74HC595 нормально работает. Вот тут, например: http://arduino.ru/forum/programmirovanie/pyatoe-uprazhnenie-po-arduino-s...
Вряд ли дело в библиотеке. У меня 74HC595 нормально работает. Вот тут, например: http://arduino.ru/forum/programmirovanie/pyatoe-uprazhnenie-po-arduino-s...
Все очень сложно .....
Вот самый простейший пример http://greenoakst.blogspot.ru/2011/11/arduino-7-spi.html
Вряд ли дело в библиотеке. У меня 74HC595 нормально работает. Вот тут, например: http://arduino.ru/forum/programmirovanie/pyatoe-uprazhnenie-po-arduino-s...
Все очень сложно .....
Вот самый простейший пример http://greenoakst.blogspot.ru/2011/11/arduino-7-spi.html
Я к тому, что применение SPI вряд ли тут поможет, если не работает корректный (а в скетче почти корректно) вызов шифтаут.
Почему-то перестали загружаться скетчи....
Ошибка: avrdude: stk500_getsync(): not in sync: resp=0x00
Сменили плату Ардуино на новую! - тоже самое. Даже со скетчами примеров. В чем тут дело?
Переустановили среду разработки - без изменений.
Что-то вообще ничего не идет на двух платах, даже что раньше работало.
Спасибо, но там все как-то молопонятно.
Такую ошибку стало выдавало, когда на все 14 выходов повесили светодиоды через 220 Ом, чтобы они по очереди загорались и тухли.
Потом стало выдавать эту ошибку и на Blink, при этом остальные св.диоды подключены, но не запрограммированы.
Следующий этап - отключили все, оставили только на 13-м выходе, залили Блинк - без ошибки! И моргает!
Повторяем блинк для 13 и 12-го выхода; 13-й горит хорошо, а 12-й еле-еле, заметно только если сверху диода смотреть.
Пробовали вместо 12-го 11 и 8 выходы - тоже самое, свечения практически нет. На выходе Ардуино при слабом свечении выдает 1,5 В. Плата новая, ничего кроме св. диодов не цепляли.
Можно ли было ее "поджарить", если на все 14 выходов св.диоды повесить?
Не хочется в это верить, ведь задали ток 20мА, вместо 40 допустимого....
Вот код для 13 и 12 выхода
Выходы определены:
Тьфу, пины-то как раз и не сконфигурировал на выход! :)
Мозг уже воспален :) Заработал Блинк для 10-13 выхода на новой плате.
Со старой вопросы остались....
а питаешь от USB только или с внешним питанием? может напряжение проседает. проверь питание когда много светодиодов зажигаешь
Питаю по USB. Светодиоды зажигаю по очереди.
Заметил вот что. Если все 14 линий нагружены, скетч не заливается, выдает эту ошибку.
Снимаю диоды с 0...7, скетч заливается, даже на ту плату, которую посчитал сгоревшей.
А где померить напряжение? Во рабочем режиме на выходах платы 4,7 В (разъемы 0...13), на диодах - 1,7...2 В
USB 2.0 выдает с компа 500 мА, все св.диоды вместе потребят 300 мА, имхо, хватает. Где-то видел, что сама Ардуинка 75 мА хавает.
Заметил вот что. Если все 14 линий нагружены, скетч не заливается, выдает эту ошибку.
Связь
На платформе Arduino Uno установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема ATmega8U2 направляет данный интерфейс через USB, программы на стороне компьютера "общаются" с платой через виртуальный COM порт. Прошивка ATmega8U2 использует стандартные драйвера USB COM, никаких стороних драйверов не требуется, но на Windows для подключения потребуется файл ArduinoUNO.inf. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
Думаю, нужно снимать нагрузку при заливке скетча.
Сейчас все 14 линий нагружены, скетч не льется, размыкаю цепь (землю выдергиваю) - все ОК!
Видимо такая же причина была с регистром и подключением MOTOR Shield 2.0
Заливалась всякая билиберда, колеса жили своей жизнью.
Завтра проверю - обязательно отпишусь!
То maksim, спасибо за разъяснение.
Однако раньше, когда было подключено 3 светодиода на 0, 1 и 2 подобных проблем не было.
Всем спасибо, все работает!