Сдвиговый регистр
- Войдите на сайт для отправки комментариев
Сб, 15/06/2013 - 00:28
Всем привет! Недавно столкнулся с проблемой, когда не хватает пинов на ардуино. Нашёл в нете статью про сдвиговые регистры http://arduino.ru/Tutorial/registr_74HC595. Я собрал первую схему на 8 светодиодах и залил первый пример скетча. Всё работает. А можно ли просто зажечь допустим 5 или 8 светодиод через регистр? Помогите со скетчем, пожалуйста.
Научитесь пользоваться поиском по сайту. А большенство ответов тут.
А не подскажешь как сделать такое же только вот с таким сдвиговым регистром m74hc595b1 ???
Все разобрался
Привет всем! Помогите разобраться. Собрал схему управления 8-ю светодиодами на nc74hc595n и скетча из ответа выше. При попытке вывести, например, "00001001", получаю "11110110". т.е инвертированный выход. Может быть это изза того, что регистр немного другой марки?
Вы могли не верно подключить светодиоды.
Спасибо за верное направление подсказки. Оказалось, что светодиоды подключены анодом к +5в, а катодом к выходам регистра. Возможно такая фича когда-нибудь пригодится.
Здравствуйте, вопрос когда работаешь со сдвиговым регистром, то на его выходах (Q1, Q2 и т. д. ) появляется +5 вольт, а мне нужно, что бы там появлялось -5 вольт? Пытался переделать при помощи оптрона РС817, не получилось. Может подскажете как это можно сделать? Может это какя то разновидность сдвигового регистра, где на выходах появляется -5 вольт, или какими транзисторами я это могу сделать, работаю только с 5-ю вольтами. Что бы вы поняли зачем это? Я хочу управлять магнитолой по Блю тус, на ардуине не хватает выходов, а на магните идет управление по минусу через сопротивление
управление у вас все таки не минус 5 вольт, а на GND - это весьма другое
судя по схеме у вас не не логическое управление, а аналоговое. так как мы не знаем что и как там обрабатывается на входе то могут потербоваться эксперименты. Однозначным будет вариант только с элетромагнитными реле, можно взять маленькие герконовые реле и это точно будет работать.
Если делать без реле, то вполне может правильно работать вариант с pc817 - на выход 74hc595 через резисторы подключаете диоды сборок, транзисторы сборок эмитером на GND, коллектором на кнопки.
Еще вариант - после 74hc595 подключить что-то с открытым коллектором - либо отдельные биполярные транзисторы либо что просто проще в сборке - ULN2003 или ULN2008
Еще вариант - вместо биполярных транзисторов mosfet с N каналом
мы можем это бсудить по скайпу?
сегодня проверил с мосфетами работает но не так мосфеты взял следующие BS170
и IRFU420
они пропускают не все 5 вольт а где то 4.3 магнитола в этом случае начинает вести себя не одыкватно она постоянно ищет станции значит нужно что то что меняет напряжение с 0 до 5 ?
и если напрямую оптрон не работает вижу единственный вариант это сделать все это через ULN2003A !
вот схема работы переключателя именно на пионер
мосфеты должны работать даже лучше чем биполярники (в uln2003 стоят биполярники) но не суть
судя по схеме вашего пульта вам надо вместо каждой кнопки ставить или n-p-n биполярник или N-mosfet
в обоих случаях сверху нужно ставить подстроечный резистор и открывая по очереди ваши транзисторные ключи подстраивать рещистор так, чтобы получить нужную команду. Ваш пульт устроен как аналоговые код. Но так как транзистор не реле, то значение сопротивления придется или подбирать или использовать подстроечник
все я понял тогда поставлю простые маленькие 5-и вольтовых реле
поднял напряжение до 6 вольт и все заработало (оптрон мосфет) транзистор пока не заработает.
появился еще один вопрос при первом включениии на выходах сдвигового регистра могут появится произвольные значения что очень плохо как этого избежать???
...как этого избежать???
master reset - /MR - 10 вывод
Или "подтянуть" вывод /MR к земле и подключить на какой-нибудь вывод и управлять сбросом программно.
вот так
еще вопрос а как заливать еденицы если у меня два сдвиговых регистра и соответственно 16 выходов???
если стоит два регистра каскадами, то каждый раз надо проталкивать туда двай байта. первый байт протолкнется сначала в первый регистр, по после проталкивания второго байта он протолкнется во второй
т.е. чтобы на всех 16 выходах выставить 1 надо затолкать один за другим два байта 0xff при этом если не хотите, чтобы на выходах появлялись промежуточные значения, надо защелку регистра включать уже после проталкивания обоих байтов
идея)
Чтобы не плодить темы спрошу тут: Можно ли через сдвиговый регистр управлять шаговыми движками и просто DC моторами?
Нужно подключить 3 шаговика и 3-4 DC мотора на 12V общей мощностью около 2А. Драйвера для моторов есть, но уж очень много жрут пинов... А мне нужны они для датчиков и для релюшек и для кучи всего остального.. можно ли на сдв. регистр повесить?
можно, но важно понимать какие требования по скорости, вывод на сдвиговый регистр намного медленей вывода на свои пины и к тому же невозможно применять аппаратный ШИМ
сегодня работал с 16 выходами 2-х сдвиговых регистров и при вот таком коде
он у меня зажгет 7 светодиод первого сдвигового регистра объясните почему?
зажигает 7 светодиод первого сдвигового регистра именно потому, что B10000000 пропихивается в последнюю очередь.
поменяйте строчки местами - загорится 7 светодиод второго свдигового регистра
Седьмой если считать от нуля или от единицы?
спасибо исправил теперь как надо)))
Вот пример http://homes-smart.ru/index.php/oborudovanie/prochee/rasshiryaem-porty работы с регистром подобно как digitalWrite: registerWrite(номер_порта_регистра, 1_или_0)
Можно использовать аппаратный SPI ,но если он уже используется..иначе MOSI будет занят и вывод использовать нельзя..
А ардуино может обрабатывать несколько TX и RX ???? в моем случае пин 1, 2 заняты модулем обработки голоса еще при помощи библиотеки ардуино обрабатывает сигналы на 8 и 9 пине (модуль БТ) а мне нужно еще обрабатывать рх и тх с другой ардуины.
картинка для наглядности)
Вопрос:
Omigovolt пишет:
А ардуино может обрабатывать несколько TX и RX ????
Ответ:
Omigovolt пишет:
еще при помощи библиотеки ардуино обрабатывает сигналы на 8 и 9 пине (модуль БТ)
ок понял )