среда, 29 апреля 2015 г.

Block7Seg_IC - управляем семи сегментным дисплеем по трем проводам, вывод на дисплей данных функцией print()

Уже более года была готова плата этого блока, но купленные дисплей оказались с общим анодом, а нужны с общим катодом. Дело застопорилось, интерес угас.
Но вот сошлись луны и был приобретен нужный дисплейчик. Плата перепаяна и проверена с помощью библиотеки LedContol. И как обычно бывает, функционал этой библиотеки меня совсем не устроил. Пришлось писать свою.
Пока её ещё не выложу на общее пользование, т.к. хочу по максимуму поганять/отладить.


Но для начала вот примерный список функций (помимо стандартных Write() и Print()):

  Block7Seg_IC(byte csPin=10, byte dataPin=11, byte clkPin=13, byte numDisplays=1);
 
  void setIntensity(byte numDisplay, byte intensity);
  void setNumDigits(byte numDisplay, byte numDigits);
  void display(byte numDisplay = 0);
  void noDisplay(byte numDisplay = 0);
  void displayTest(byte numDisplay, boolean state);
  void setLed(byte location, byte led, boolean state);
  void setDot(byte location, boolean state);
  void setCursor(byte location);
  void autoscroll();
  void noAutoscroll();
  void clear();
  void home();
  void scrollDisplayLeft();
  void scrollDisplayRight();

И небольшая демонстрация работоспособности, результат работы этого скетча:

#include "lib_Block7Seg_IC.h"

  Block7Seg_IC Seg7;

  void setup() {
    Seg7.print("YPA!");
  }

  void loop() {   
  }


зы: Кирилицы на самом деле нет, да и вряд ли будет.