Официальный сайт компании Arduino по адресу arduino.cc
Сдвиговый регистр
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вс, 26/03/2017 - 10:00
Добрый день! Хочу собрать стенд при помощи сдвигового регистра 74hc595. Суть в том что при нажатии на кнопку сработал регистр и поочередно зажег 5 светодиодов с интервалом несколько секунд.. Таких кнопок у меня 4... И 20 светодиодов...если у кого то есть готовый скетч скиньте пожалуйста
Такой скетч вы ниасилите. Даже если тут будет скинут.
azamat alimkhan: Готового под такую специфическую задачку нет. Так а в чем сложность то?
Алгоритмически вроде все просто: Одна кнопка, одно событие нажатия, потом 6 состояний регистра через промежутки времени. И таких четыре конечных автомата.
Или сложность в кодинге?
Да как раз таки в кодинге сложность...
Так тогда дело за малым! Начинайте с одной кнопки, одного регистра и 5 светодиодов(потом просто будет размножить), и осилим.
Нажатие на кнопку и зажигание светодиода работает ?
План работ по кодингу:
1. Нажатие кнопки. Результат: Зажигаем светодиод (можно встроенный)
2. +74hc595 Результат: Зажигаем светодиод через 74hc595.
3. +светодиоды через промежуток времени (читаем про состояние конечного автомата и millis() )
4. Расширяемся до четырех регистров
На каком этапе сейчас?
Ну это пример того в каком направлении надо двигаться Полный скетч здесь https://yadi.sk/d/HiLIliNi3GM3zE
Головной для интереса смотрите.
Сдается мне, господа, что мы имеем дело с очередным студентом осчастливившим нас своей курсовой в надежде чужим кодом разжится. Не, не так?
Сдается мне, господа, что мы имеем дело с очередным студентом осчастливившим нас своей курсовой в надежде чужим кодом разжится. Не, не так?
Скорее всего. Но наличие кода не означает, что в нем не огрехов, что вы в нем разбираетсь, что вы (много раз) , что вы в конце его сдадите.
Сдается мне, господа, что мы имеем дело с очередным студентом осчастливившим нас своей курсовой в надежде чужим кодом разжится. Не, не так?
Ну... это же не значит, что не нужно давать человеку шанс на обретение знаний методом прохождения своего задания :)
Дело в том что при подключении к сети у меня загораются все 5 светодиодов ОДНОВРЕМЕННО!!! Нажимаю на кнопку он выключается и обратно включается, а должно загореться светодиоды только после нажатия на кнопку и то по очереди!!!
Дело в том что при подключении к сети у меня загораются все 5 светодиодов ОДНОВРЕМЕННО!!!
Внимательно смотрим на свою схему включения и вспоминаем что "... в момент подачи питания на выходах могут быть сучайные состояния..." (как написано в статье по ссылке про сдвиговый регистр). Ну или на старте обнуляем и забываем.
"..По очереди.." - так заполняйте регистр единицами побитно, а не гоните от 0 до 256. И про паузы не забудьте.
Про разницу "после нажатия кнопки должны загореться" и "пока кнопка нажата загораются", тоже уже пора подумать. Например "вспомнить" про флаг состояния кнопки.
Дело в том что при подключении к сети у меня загораются все 5 светодиодов ОДНОВРЕМЕННО!!! Нажимаю на кнопку он выключается и обратно включается, а должно загореться светодиоды только после нажатия на кнопку и то по очереди!!!
Я говорю, что так не "взлетит". Мой полный скетч здесь. Проверил. Работает. https://yadi.sk/d/WaW7iUgj3GPUvp
Мышы плакали, кололись, но все равно пытались запустить "кактус" в Космос.
Я говорю, что так не "взлетит". Мой полный скетч здесь. Проверил. Работает. https://yadi.sk/d/WaW7iUgj3GPUvp
Мне если честно непонятен ваш код, копирую в ардуино скетч не работает, дополнительные файлы это просто пояснение? или их надо в код добавить?
Мне если честно непонятен ваш код, копирую в ардуино скетч не работает, дополнительные файлы это просто пояснение? или их надо в код добавить?
Берите весь его архив с яндекса, а не только тот кусок кода, что он на форуме показал. Тогда заработает.
Я поэтому сказал, что вы не справитесь с заданием . Если делать код в одном файле, то мало того, что он будет глючным,в котором искать будет сложно. Вот поэтому я и разделил код на части и файлы. Просто сделал драйвер каскада сдвиговых регистров(в программе поствил 4 штуки последовательно), к которым подключил драйвера светодиодов повешенных на выводы светодиодов. (Их тоже 4, хотя можно повесить 4х8=32 штуки). Теперь их можно программно включать, выключать, мигать (последнее сделано в демонстрационой программе). Осталось организовать драйвера кнопок и метод задержки вкл светодиодов и ваша задача решена.
ПС: А что бы еще больше смутить ТС то выложу такой же код, но с подлючеными кнопками. Полный скетч здесь https://yadi.sk/d/QyATemkW3GW8P6
Головной сюда. Не выкладываю все файлы, так как новичкам еще сложнее их собрать в пакет
:)
Мне если честно непонятен ваш код, копирую в ардуино скетч не работает, дополнительные файлы это просто пояснение? или их надо в код добавить?
Понижаем уровень. А такой код тебе будет понятен?
И в силах ли ты его расширить под свое количество регистров?