Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino - Klawiatura membranowa 4x3 na i2c - szukam biblioteki

Baritoshi 11 Maj 2015 23:45 1506 4
  • #1 11 Maj 2015 23:45
    Baritoshi
    Poziom 5  

    Dzień dobry, to mój pierwszy post na Elektrodzie.

    Z racji ogromnej ilości czujników/silników/serw w projekcie, jestem zmuszony wszystko przenosić na ekspandery PCF8574. Tam też ma przejść klawiaturka membranowa 4x3 (ta z Botlandu).
    Problem jest ze znalezieniem biblioteki pod to.
    Arduino Uno R3, z Arduino.org. IDE 1.7.3. Próbowałem już Keypad_i2c oraz i2ckeypad z różnych stron, jedna mam pewne błędy przy kompilowaniu szkiców, nawet tych przykładowych z biblioteki.
    Pomoże ktoś z doborem działającej biblioteki?

    0 4
  • #2 12 Maj 2015 08:43
    namok
    Poziom 25  

    Jak powszechnie wiadomo szklane kule są ciężko dostępne ale mimo to spróbuję - błąd jest w 15 linii ;).
    Zamieść program, jeśli jest tajny to skompiluj program tylko z częścią odpowiadająca za klawiaturę. No i oczywiście zamieść błędy z kompilacji.

    0
  • #3 12 Maj 2015 11:05
    Baritoshi
    Poziom 5  

    Nie wiem, czy kod coś da, bo problem leży w bibliotece, ale daję:

    Plik i2ckeypad.cpp (w bibliotece):

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Plik i2ckeypad.h (też w folderze z bibliotekami):

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Plik z przykładowym programem (mój program):
    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Błędy kompilacji:

    Cytat:

    Arduino:1.6.1 (Windows 7), Płyta:"Arduino Uno"

    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp: In member function 'void i2ckeypad::pcf8574_write(int, int)':

    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp:205:8: error: 'class TwoWire' has no member named 'send'

    Wire.send(data);

    ^

    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp: In member function 'int i2ckeypad::pcf8574_byte_read(int)':

    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp:213:15: error: 'class TwoWire' has no member named 'receive'

    return Wire.receive();

    ^

    Błąd kompilacji.







    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp: In member function 'void i2ckeypad::pcf8574_write(int, int)':
    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp:205:8: error: 'class TwoWire' has no member named 'send'
    Wire.send(data);
    ^
    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp: In member function 'int i2ckeypad::pcf8574_byte_read(int)':
    C:\Program Files\Arduino\libraries\i2ckeypad\i2ckeypad.cpp:213:15: error: 'class TwoWire' has no member named 'receive'
    return Wire.receive();
    ^
    Błąd kompilacji


    Nie wiem, co te dane dadzą. Może ktoś po prostu poleci działającą bibliotekę umożliwiającą podpięcie keypad do Arduino po i2c przez PCF8574?

    0
  • #5 13 Maj 2015 08:22
    Baritoshi
    Poziom 5  

    namok napisał:


    Sprawdziłem, teraz szkic się ładnie kompiluje, ale kod dalej nie chce wypluwać danych.
    Próbowałem przepinać piny, ale z poprzednich doświadczeń z tą klawiaturką wiem, że to jedynie dałoby wyświetlanie błędnych cyfr.

    0