10-06-2017, 20:26
Witam, zaczynam swoją przygodę z Arduino i programowaniem, zrobiłem kilka prostych przykładów z forbota, jednak chcę zrobić coś "swojego".
Na płytce stykowej mam wyświetlacz 7 segmentowy oraz klawiaturę membranową. Przejrzałem kilka tematów o wyświetlaczu i kilka o klawiaturze, ale nie do końca chce mi wypalić mix obu programów. Chciałbym najzwyczajniej w świecie wyświetlić wybrana na klawiaturze liczbę na wyświetlaczu...
Wyświetlacz podłączony do pinów 2, 3, 4, 5, 6, 7, 8 natomiast klawiatura wiersze do 9, 10, 11 a kolumny do 12 i 13.
Po wgraniu powyższego kodu na wyświetlaczu od razu wyświetla mi się 0, jednak po wciśnięciu przycisku zapala się pozioma kreska segmentu g.
Wyświetlacz mam anodą podłączony bezpośrednio do +5V, i nie wiem co wpisać w digitPins, bo wyczytałem, że tego używa się dla sterowania przez tranzystor a nie mogę tego wywalić bo się nie kompiluje...
Naprowadzi ktoś na dobrą drogę co jest nie tak?
Pozdrawiam, ksizik.
Na płytce stykowej mam wyświetlacz 7 segmentowy oraz klawiaturę membranową. Przejrzałem kilka tematów o wyświetlaczu i kilka o klawiaturze, ale nie do końca chce mi wypalić mix obu programów. Chciałbym najzwyczajniej w świecie wyświetlić wybrana na klawiaturze liczbę na wyświetlaczu...
Wyświetlacz podłączony do pinów 2, 3, 4, 5, 6, 7, 8 natomiast klawiatura wiersze do 9, 10, 11 a kolumny do 12 i 13.
Kod:
#include "Keypad.h"
#include "SevSeg.h"
SevSeg liczba;
const byte ROWS = 3; // ile wierszy
const byte COLS = 2; //ile kolumn
byte rowPins[ROWS] = {9, 10, 11}; //piny wierszy
byte colPins[COLS] = {12, 13}; //piny kolum
char keys[ROWS][COLS] = {
{'1','2'},
{'4','5'},
{'7','8'},
};
Keypad klawiatura = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //inicjalizacja klawiatury
void setup(){
byte numDigits = 1;
byte digitPins[] = {1};
byte segmentPins[] = {2,3,4,5,6,7,8};
bool resistorsOnSegments = true;
byte hardwareConfig = COMMON_ANODE;
liczba.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
}
void loop(){
byte klawisz = klawiatura.getKey();
if (klawisz)
liczba.setNumber(klawisz);
liczba.refreshDisplay();
}
Po wgraniu powyższego kodu na wyświetlaczu od razu wyświetla mi się 0, jednak po wciśnięciu przycisku zapala się pozioma kreska segmentu g.
Wyświetlacz mam anodą podłączony bezpośrednio do +5V, i nie wiem co wpisać w digitPins, bo wyczytałem, że tego używa się dla sterowania przez tranzystor a nie mogę tego wywalić bo się nie kompiluje...
Naprowadzi ktoś na dobrą drogę co jest nie tak?
Pozdrawiam, ksizik.