Пример 8. Семисегментный индикатор и сдвиговый регистр 74HC595N
Примеры
ПРИМЕРЫ
- Пример 1. Светодиоды
- Пример 2. Подключение кнопки
- Пример 3. Переключатель
- Пример 4. Активный зуммер
- Пример 5. Пассивный зуммер
- Пример 6. Фоторезистор
- Пример 7. RGB-светодиод
- Пример 8. Семисегментный индикатор и 74HC595N
- Пример 9. Четырехразрядный 7-сегментный индикатор
- Пример 10. Светодиодная матрица
- Пример 11. Светодиодная шкала
- Пример 12. ЖК-дисплей
- Пример 13. Джойстик
- Пример 14. Вольтметр
- Пример 15. Термистор
- Пример 16. Модуль DHT11
- Пример 17. Модуль HC-SR04
- Пример 18. Датчик движения HC-SR501
- Пример 19. Матричная клавиатура
- Пример 20. ИК датчик и пульт
- Пример 21. Модуль часов DS-1302
- Пример 22. RFID-модуль RC522
- Пример 23. Сервопривод
- Пример 24. Модуль реле
- Пример 25. Двигатель постоянного тока
- Пример 26. Шаговый двигатель и драйвер ULN2003
- Пример 27. Драйвер двигателей на L298N
- Пример 28. MP3-плеер DFPlayer Mini
- Пример 29. Датчик уровня воды
- Пример 30. Serial Port
- Пример 31. Симуляция парковки
- Пример 32. Датчик температуры DS18B20
- Пример 33. Bluetooth-модуль HC-06
- Пример 34. Плата расширения с дисплеем и кнопками
- Пример 35. Плата расширения для двигателей на L293D
- Пример 36. Ethernet шилд W5100
- Пример 37. GSM/GPRS шилд SIM900
- Пример 38. GPS модуль Ublox NEO-6M
- Пример 39. Модуль считывания отпечатков пальцев
- Пример 40. Шаговый двигатель NEMA17 и драйвер TB6600
7-сегментный цифровой LED индикатор – это индикатор, состоящий из семи светодиодов, установленных в форме цифры 8. Зажигая или выключая соответствующие LED-ы (сегменты) можно отображать цифры от нуля до девяти, а так же некоторые буквы.
Более подробную информацию о светодиодных индикаторах можете найти в соответствующей заметке.
Расположение и электросхема сегментов LED индикатора представлена ниже:
74HC595N – восьмиразрядный сдвиговый регистр с последовательным вводом, последовательным или параллельным выводом информации, с триггером-защелкой и тремя состояниями на выходе. Самое распространенное применение данного регистра – экономия выходов микроконтроллера. Данный сдвиговый регистр позволяет управлять напряжением на своих восьми выходах, заняв всего три выхода микроконтроллера. Таким образом количество рабочих выводов увеличивается на пять.
Кроме того, регистры 74HC595 можно подключать каскадом один за другим (через пин Q7’), и таким образом из всё тех же 3 входящих линий получать 16, 24, 32 и т.д. цифровых выходов.
74HC595N имеет следующие входы:
- [10] MR — сброс регистра, при подаче логического нуля на MR и единицы на STCP переводит все выходы в состояние логического нуля;
- [11] SH_CP — вход для тактовых импульсов;
- [12] ST_CP — линия прерываний;
- [13] OE — вход, переводящий выходы из высокоимпедансного состояния в рабочее;
- [14] DS — вход данных;
- [8] GND — Ground. Земля
- [16] VCC — Питание +5 В.
Описание:
В данном примере продемонстрируем работу семисегментного индикатора с общим катодом и сдвигового регистра 74HC595N. Зажигая определённую комбинацию сегментов, мы получаем на экране определенный символ. Так, например, если зажечь сегменты B и С то загорится единичка. A, B, C – семёрка, и т. д. (см. схему сегментов индикатора выше).
Компоненты:
Схема:
Скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#define CLOCK 11 //SH_CP #define DATA 9 //DS #define LATCH 10 //ST_CP void setup() { //настраиваем контакты на выход pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LATCH, OUTPUT); //отключаем LATCH (чтобы регистр не ждал данных) digitalWrite(LATCH, HIGH); } void loop() { //включаем LATCH (Начинаем общение) digitalWrite(LATCH, LOW); //посылаем данные функцией shiftOut ( http://arduino.ru/Reference/ShiftOut ) /* Символ | байт . | 0b00000001 0 | 0b00000000 1 | 0b01100000 2 | 0b11011010 3 | 0b11110010 4 | 0b01100110 5 | 0b10110110 6 | 0b10111110 7 | 0b11100000 8 | 0b11111110 9 | 0b11110110 */ shiftOut(DATA, CLOCK, LSBFIRST, 0b10110110); //включаем LATCH (Начинаем общение) digitalWrite(LATCH, HIGH); } |