Shiftout модуль подключение к Arduino

Опубликовано 05.11.2013 17:15:00


Данная плата построена на микросхеме 74HC595, а микросхема 74HC595, в свою очередь, является 8-ми битным сдвиговым регистром с последовательным входом и параллельным / последовательным выходом. В данной статье мы разберем как подключать данный модуль, а в качестве примера позажигаем светодиоды.

Shiftout модуль внешний вид

 

 

Подключение к Arduino

На плате имеются два шестипиновых разъема, они дублируют друг-друга ( за исключением линий datain и dataout ) и предназначены для подключения к контроллеру.

распиновка shiftout модуля


 

При использовании следующих программных кодов, выводы (clockPin, latchPin, datain) подключаются к любым цифровым выводам Arduino

• 1 пин модуля  (clockPin) подключается к цифровому выводу Arduino (в нашем случае 7)

• 3 пин модуля (latchPin) подключается к цифровому выводу Arduino (в нашем случае 6)

• 5 пин модуля (datain) подключается к цифровому выводу Arduino (в нашем случае 5)

• VCC модуля подключается к +5V Arduino

• GND модуля подключается к GND Arduino

 

Для управления модулем в данной статье мы будем использовать стандартную Ардуиновскую функцию. 

Для наглядности подключим 8 светодиодов, подключаются они как всегда через токоограничительные резисторы (вывод микросхемы, резистор, + светодиода и минус всех светодиодов соединяем с минусом Arduino)

Подключение модуля сдвигового регистра HC595 к Arduino

 

Необходимо также упомянуть и о максимальном токе, который может выдать микросхема. Один вывод способен выдать ток до 35 мА, но немаловажным является тот факт, что суммарный ток не должен превышать 70 мА. Из вышенаписанного следует, что нагрузить одновременно по максимуму можно только два порта, а при использовании всех выводов, необходимо расчитывать на ток в линии в 8.75 мА.


Рассмотрим простейший пример, в котором просто включим третий по счету светодиод, 

управление светодиодами через Arduino shiftout модуль

 

пример программного кода:

// Тестировалось на Arduino IDE 1.0.1
const int clockPin = 7; // Пин синхронизации
const int latchPin = 6; // Пин "защелка"
const int dataPin = 5; // Пин для передачи данных

long ledState;    // Текущее состояние светодиодов

void setup() 
{
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);
  Serial.begin(9600);
  
  // В функцию Shiftout передается число, которое состоит и 8 бит
  // каждый бит отвечает за 1 светодиод, если в нем установлен 1,
  // то светодиод будет гореть, иначе, он потухнет.
  // Этим состоянием включим 3 светодиод.
  ledState = B00100000;

  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, ledState);
  digitalWrite(latchPin, HIGH);
}
void loop() 
{
}

 

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

 

 
Пример программного кода

 

 

 

Использованное в статье железо:

Плата ArduinoShiftout модуль

Соединительные провода "папа-мама"макетная плата 830 контактов

Светодиоды 5ммрезисторы 220 Ом


 

Статьи в похожей тематике:

•  Z- PCF8574T I2C модуль подключение к Arduino


 

КупитьКупить в России  Shiftout модуль


А как же комментарии?