Сдвиговый регистр 74hc165 ардуино. Входы ардуино

preview_player
Показать описание
Сегодня рассмотрим пример подключения 20 кнопок к 4 контактам Ардуино используя сдвиговый регистр 74HC165. В следующем видео я объединю оба, а на выходе включать реле, светодиоды или сегментные индикаторы так же в любом количестве, используя всего 7 контактов Ардуино.

Скетчи используемые в видео можно скачать на сайте "Ардуино для начинающих".

Помочь в развитии канала, и на покупку новых модулей и датчиков

Подпишитесь на канал
Теги:
#ардуино #arduino #74hc165 #74hc595 #ардуинодляначинающих #ардуиноуроки
Рекомендации по теме
Комментарии
Автор

Ссылки на продавцов где есть модули применяемые в примерах.

arduino
Автор

Спасибо за видео, как раз сейчас для меня очень актуально. Задумал один проект, и нужно 24 входа. Сейчас знаю как это сделать. Только кнопки будут сенсорные, на микросхеме TTP223.

ymvhqxi
Автор

Собери ПЖ схему на сдвиговых регистрах для реализации матричной клавиатуры 8х16

AlexAlexOmsk
Автор

Не найду информации, можно же, подключив много кнопок, одной назначенной кнопкой блокировать часть определенных кнопок на нажатие?

sergeyalex
Автор

Как такая схема реагирует на зажатие нескольких кнопок одновременно? (Нужно для того чтоб подключить тумблера, которые в свою очередь могут быть включены одновременно несколько)

PVG-user
Автор

Скажите, а можно ли обойтись без delay(5)? Для серьезных проектов делэй это бич. И нужно как-то его обходить...

wrjzdlj
Автор

А можно ли обойтись одним подтягивающим резистором на несколько кнопок? Как в ардуине нано. Или все же придется вешать резистор на каждую кнопку?

wrjzdlj
Автор

Доброго времени суток. В 1-й части видео, автор использовал LSBFIRST в скетче и данные на микросхемах выводились задом на перёд. Надо заменить на MSBFIRST в shiftOut(). А shiftIn() с микросхемой 74HC165 работает не правильно! Интересно какое будет решение в следующем видео.
Я решил эту проблему так.
#define latchPin 10 // защелка 12 вывод м/c
#define clockPin 11 // Синхронизация 11 вывод м/c
#define dataPin 12 // Данные 14 вывод м/c

#define clkPin 8 // CLK
#define latchInPin 9 // защелка
#define dateInPin 13 // DATE IN

uint8_t mk_C = 1, dateIn = 0;
uint8_t mk =

void setup()
{
// инициализация пинов как выходы
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
// инициализация пинов как входы
pinMode(clkPin, OUTPUT);
pinMode(latchInPin, OUTPUT);
pinMode(dateInPin, INPUT); // инициализация пина как вход
digitalWrite(latchInPin, 1);
digitalWrite(clkPin, 0);
}

void date_In() // Подпрограмма для чтения одной 74HC165
{
mk_C = 0;
mk = 0;
do { // Бесконечный цыкл пока (mk_C < 8).
mk = mk << 1; // Сдвинуть на один бит в лево.
mk = mk + digitalRead(dateInPin); // Прочесть и записать один бит.
digitalWrite(clkPin, 1); // Переключить один бит.
//delay(1);
digitalWrite(clkPin, 0); // Подготовить для переключения одного бита.
//delay(1);
mk_C ++;
} while (mk_C < 8); // Выполняем до тех пор пока CLK меньше 8 тактов.
// delay(1);
}

void loop()
{
digitalWrite(latchInPin, 0); // Прочесть и зиблокировать CLK всех 74HC165. Вывести 1-й бит.
digitalWrite(latchInPin, 1); // Снятие блокировки CLK.
digitalWrite(latchPin, LOW); // Защёлка для приёма
date_In(); // Прочитать первую 74HC165.
shiftOut(dataPin, clockPin, MSBFIRST, mk); // отправляем данные в 1-ю м/с 74HC595
date_In(); // Прочитать вторую 74HC165.
shiftOut(dataPin, clockPin, MSBFIRST, mk); // отправляем данные во 2-ю м/с 74HC595
date_In(); // Прочитать третью 74HC165.
shiftOut(dataPin, clockPin, MSBFIRST, mk); // отправляем данные в 3-ю м/с 74HC595
digitalWrite(latchPin, HIGH); // Защёлка передача
}

ibvohcr
Автор

15 контакт это что? вроде достаточно дата клок и латч или я не прав?

Sanchez
Автор

Продолжай. А есть ли возможность эмулировать передачу данных со смартфона, на, например, блюпуп?

AlexM-psxn
Автор

Давай давай!! Начатое надо доделывать до конца!!

Ilya_Smurygin
Автор

Здравствуйте, а схемы в протеус почему не выкладываете

lzmeqfr
Автор

Может быть в этом видео много интересного, но монотоннное автоматическое бубнение зачёркивает весь ваш труд. Это видео для аутистов. Без обид.

catBasilio