Управление светод матрицей Neopixel

Тема в разделе "Arduino & Shields", создана пользователем MESS, 2 дек 2017.

  1. MESS

    MESS Гик

    Сваял для нового года матрицу 8х8 из RGB светодиодов.
    Загрузил из интернета простой скетч и все сразу заработало - переливается цветами радуги.
    но скомпилировать скетч , который позволяет писать буквы не получается.
    скетч брал здесь: https://www.chipdip.ru/product/arduino-2
    Подскажите пожалуйста где я туплю:


    Arduino: 1.8.5 (Mac OS X), Плата:"Arduino/Genuino Uno"
    /Users/viktorgokh/Documents/Arduino/libraries/PinChangeInt/PinChangeInt.cpp:20:22: fatal error: WProgram.h: No such file or directory
    #include "WProgram.h" . ( это что то древнее ?)
    compilation terminated.
    Несколько библиотек найдено для "PinChangeInt.h"
    Используется: /Users/viktorgokh/Documents/Arduino/libraries/PinChangeInt
    Не используется: /Users/viktorgokh/Documents/Arduino/libraries/PinChangeInt-master
    Используем библиотеку PinChangeInt в папке: /Users/viktorgokh/Documents/Arduino/libraries/PinChangeInt (legacy)
    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.
     

    Вложения:

  2. brokly

    brokly Гик

    Найдите где нибудь на гитхабе WProgram.h и WProgram.cpp и положите в папку со скетчем.
     
  3. rkit

    rkit Гуру

    Да, древнее. Можно попробовать заменить на 'arduino.h'. Если не поможет, то придется конкретно разбираться и править код.
     
  4. MESS

    MESS Гик

    Дело в том, что в самом скетче нет упоминания о WProgram.h и WProgram.cpp.
    Я не программист, но понял что ошибка связана с другой библиотекой скетча: <PinChangtlnt>.
    Я залез в нее и вставил замену, но ничего не изменилось. HELP!

    PinChangeInt.cpp

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program. If not, see <http://www.gnu.org/licenses/>.

    see google code project for latest, bugs and info http://code.google.com/p/arduino-pinchangeint/
    */
    #if defined(ARDUINO) && ARDUINO >= 100
    #include "Arduino.h"
    #else
    #include "WProgram.h"

    #endif #ifndef WProgram_h
    #include "WProgram.h"
    #endif
    #ifndef PinChangeInt_h
    #include <PinChangeInt.h>
    #endi
     
  5. MESS

    MESS Гик

    Может неправильно заменил? Такие ошибки теперь выдает после замены:
    Как в этой абракадабре сориентироваться?

    In file included from /Users/viktorgokh/Downloads/DOC002727285/LEDS_64_panel_key_byte/LEDS_64_panel_key_byte.ino:2:0:

    /Users/viktorgokh/Documents/Arduino/libraries/PinChangeInt/PinChangeInt.h: In constructor 'PCintPort::pCintPort(int, volatile uint8_t&)':

    /Users/viktorgokh/Documents/Arduino/libraries/PinChangeInt/PinChangeInt.h:90:43: error: 'portInputRegister' was not declared in this scope

    portInputReg(*portInputRegister(index + 2)),
     
  6. MESS

    MESS Гик

    убрал все упоминания о WProgram_h, получил одну ошибку:

    /Users/viktorgokh/Documents/Arduino/libraries/PinChangeInt/PinChangeInt.cpp:19:0: error: unterminated #if

    #if defined(ARDUINO) && ARDUINO >= 100