Пример 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
Более подробную информацию о светодиодных индикаторах можете найти в соответствующей заметке.
Расположение и электросхема сегментов LED индикатора представлена ниже:
Кроме того, регистры 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); } |