• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

Регистры сдвига и Arduino - часть 1





 

Персональные компьютеры включают в себя интерфейсы малых компьютерных систем (SCSI) и FireWire, которые позволяют компьютерам связываться с периферийными устройствами, такие как дисковые и ленточные накопители, DVD-ROM, принтеры, сканеры и прочее. Они могут быть использованы для обмена аналоговых сигналов, цифровых данных, или их комбинаций.

 

Интегральная схема, такая как 74HC595 представляет собой 8 битный регистр хранения и 8 битный сдвиговый регистр. Данные последовательно передаются в сдвиговый регистр, затем фиксируются в регистре хранения. К регистру хранения подключены 8 выходных линий. Это позволяет увеличивать количество выходов микроконтроллера.Чип преобразовывает входящий последовательный сигнал на 1 пине (Ds) в выходной параллельный на 8 пинах (Qx). Последовательная передача синхронна: для такта используется дополнительный пин (SHcp). Также отдельным пином управляется регистр данных (STcp), что позволяет изменять сигнал на 8 выходах единовременно, когда все данные переданы.

 

Таким образом образом из трёх пинов микроконтроллера, такого как Arduino, можно получить 8 цифровых выходов. Из регистров 74HC595 можно делать каскады, подключая один за другим (через пин Q7’), и таким образом из всё тех же 3 входящих линий получать 16, 24, 32 и т.д. цифровых выходов. Схема, которую будем собирать, может рассматриваться как универсальный параллельный сдвигальщик состоящий из группы регистров (в общей сложности 32 выходных порта), которым мы можем легко управлять нашим Arduino, используя только три контакта ввода / вывода. Четыре конденсатора между GND каждого устройства, дают больше стабильности системы, как это было предложено в паспорте микросхемы.

 

 

Переменный конденсатор необязательно подключать к аналоговому входу Arduino. Эта часть схемы не участвует напрямую в логике регистров сдвига. Представлен для дальнейших экспериментов с конструкцией.

Как управлять гирляндой четырьмя регистрами сдвига

Прежде всего, рассмотрим следующий трюк: в микроконтроллерах точки зрения, набор цепочке из регистров сдвига равен только один; Разница в том, что четыре байта должны быть отправлены, а не только один.

Отправить байт в регистр сдвига не очень сложно, есть стандартный код SHIFTOUT () из набора команд Arduino IDE. Таким образом, чтобы отправить восемь бит в регистр сдвига используем следующую программу:

Затем в функцию цикла, надо послать последовательно 8 битов используя вызов SHIFTOUT ()

Обратите внимание, что перед вызовом операции сдвига, защелки установлены на низком уровне, чтобы сообщить устройству, что ближайшие биты не должны быть обработаны немедленно. Затем, когда SHIFTOUT () возвращает защелки в высокий уровень, регистр сдвига сохраняет 8 бит.

Для упрощения понимания процесса Александр Бревиг (один из разработчиков Arduino библиотек) создал библиотеку ShiftRegister595 для оптимизации процесса, упомянутого выше. Вот один из примеров использования библиотеки.

При использовании библиотеки ShiftRegister595, в дальнейшем вы можете сами оптимизировать код, так как библиотека управляет только одним регистром сдвига. Потренируйтесь на ней, чтобы понять суть процесса.

Библиотека ShiftOutX

Чтобы управлять схемой, которую мы хотим запустить используем библиотеку ShiftOutX , разработанную Хуаном Эрнандесом. Из нее надо взять только ту часть которая использует только сдвиг регистров. Расписывать все не имеет смысла, так как подробная информация о библиотеке и хороший пример (входит в пакет библиотеки) находится на официальном сайте Arduino

Испытание узлов

Лучший способ проверить цепь, использовать очень простой метод для того, чтобы избежать каких-либо других возможных неисправностей. Как показано на следующем рисунке, мы используем один светодиод и один резистор (10 или 20 К), подключенных к земле для каждого выходного контакта, который мы хотим проверить. Этого достаточно, чтобы показать нам состояние каждого бита регистров сдвига. В нашем примере мы использовали только 16 светодиодов для простоты, связанных с первыми двумя 8-битовыми группами.

Прежде чем приступать к управлению такими устройствами, как двигатели или реле необходимо потестировать светодиоды которые визуально помогут контролировать каждый сигнал регистра. Библиотека может поддерживать до 8 цепочек выполненных на  74HC595.

Получится так

 

В начало обзора



Купить радиодетали для ремонта




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 371



          

Радио для всех© 2024