суббота, 13 сентября 2014 г.

Arduino + 7-мисегментные индикатор с общим катодом + сдвиговый регистр

Схема подключения как здесь: http://greenoakst.blogspot.com/2011/11/arduino-7-spi.html.
Единственное, но COM семисегментника подаем землю а не плюс.
Скетч будет для 7-мисегментные индикатор с общим катодом такой:

#include <SPI.h> // подключаем библиотеку SPI
enum { reg = 8 }; // провод CS подсоединяем к 8-му пину Arduino

void setup()
{
  SPI.begin();  // инициализируем SPI
  pinMode(reg, OUTPUT); // настраиваем 8-й пин как выход
}

void loop()
{
  // храним в массиве все цифры
  static uint8_t digit[16] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
  
  // выводим цифры по одной
  for (int i=0;i<16;i++){
    digitalWrite(reg, LOW); // притягиваем CS к земле - начало передачи
    SPI.transfer(digit[i]); // передаем байт
    digitalWrite(reg, HIGH); // отпускаем  CS - конец передачи
    delay(1000); // ждем секунду
  }
  //очистим дисплей на секунду
  digitalWrite(reg, LOW);
  SPI.transfer(0xFF);
  digitalWrite(reg, HIGH);
  delay(1000);
}

Комментариев нет:

Отправить комментарий