lcd 16x2 и 74hc595

Тема в разделе "Arduino & Shields", создана пользователем DrProg, 28 ноя 2015.

  1. DrProg

    DrProg Вечный нерд

    Кто пробовал подключить дисплей через регистр? Вроде бы схема простая тут и тут, описание работы еще проще, но почему блин библиотека называется LiquidCrystal.zip блин!!! Разумеется она моментально конфликтует с родной одноименной библиотекой и нихрена не подключается. Как их растащить по разным углам? Мне стандартная тоже нужна, и пины нужны еще больше, а вот регистров полно лишних.
     
    ИгорьК нравится это.
  2. ИгорьК

    ИгорьК Гуру

    Скобочками и кавычками :)
     
  3. geher

    geher Гуру

    Наверное, авторы предполагали, что всякому нужно только что-нибудь одно.

    Можно распаковать архив куда-нибудь, переименовать папку и файлы, например, папку в SPILiquidCrystal, файлы в SPILiquidCrystal.h и SPILiquidCrystal.cpp, и мало-мало поправить сами файлы. Точнее достаточно поправить только один из них: в SPILiquidCrystal.cpp строку
    #include "LiquidCrystal.h"
    заменить на
    #include "SPILiquidCrystal.h"
    Ну еще для красоты в SPILiquidCrystal.h поправить макроопределение LiquidCrystal_h везде, где используется (две первые строки) на SPILiquidCrystal_h
    Дальше все вместе с папкой запаковать в архив SPILiquidCrystal.zip и радоваться новой библиотеке, не конфликтующей со старой.
     
    DrProg и Tomasina нравится это.
  4. AlexU

    AlexU Гуру

    Пробовал, работает -- но не все так просто. Что касается приведенных ссылок, пытался использовать первую (ту что на http://playground.arduino.cc/Main/LiquidCrystal), но при ознакомлении с кодом по ссылке, сложилось впечатление, что он не рабочий, что в последствии подтвердилось практикой -- с помощью этой библиотеки не смог завести дисплей. Поэтому написал свою реализацию, но до библиотеки код еще не дорос, могу поделится, но Вы должны быть готовы к тому, что придется, как говорится, "лепить костыли", что бы заставить дисплей работать.
     
  5. DrProg

    DrProg Вечный нерд

    Разобрался вроде бы, реально две разных библиотеки с одни названием. Для работы в классическом виде "половина пинов на бочку" годится стандартная, для работу через SPI и 595 другая, модифицированная. То есть теперь чтобы компильнуть скетч под старую развязку надо переписывать папку и наоборот.
    Непонятно что остановила авторов от присвоения новой библиотеке другого названия, но ИМХО это они зря. Можно, конечно, вручную все подкрутить, но это время!
     
    ИгорьК нравится это.
  6. DrProg

    DrProg Вечный нерд

    И вот еще что, если добавить таки в заголовок строку:
    Код (C++):
    #include <SPI.h>
    то скомпильнет правильно и для старой схемы подключения. Правда код будет чуть больше, если это критично, то придется сменить библиотеку на старую, если нет, то можно оставить.
     
    ИгорьК нравится это.
  7. ИгорьК

    ИгорьК Гуру

    Максим! Вы разницу между скобками и кавычками в #include знаете?
     
  8. DrProg

    DrProg Вечный нерд

    Знаю, но смысл содержать несколько библиотек в разных папках, после просмотра внутренностей, уже утратился.
     
    ИгорьК нравится это.