Problem z biblioteką SevSeg do Arduino

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
Krzak
Młodszy majsterkowicz
Posty: 1
Rejestracja: 1 cze 2018, 15:18

Problem z biblioteką SevSeg do Arduino

Post autor: Krzak » 1 cze 2018, 15:30

Witam mam problem z biblioteką do Arduino, majacą sterować wyświetlaczem 7 segmentowym. Przeprowadziłem konfigurację wyswietlacza(ustalenie pinów, ilości bloków, zaznaczenie anody/katody). Podczas kompilacji wywala mi błąd schowany w drugim spoilerze. Ktoś wie co jest tego przyczyną?

Kod: Zaznacz cały

#define vcc1 1 // zasilanie tranzystorów i LEDów
#define blok1 2 // bloki fototranzystorów
#define blok2 3
#define vcc2 16 // zasilanie przyciskow, przyciski
#define add100 17
#define add10 18
#define add1 19
//wyswietlacz 8 segmentowy


SevSeg sevseg;


#define zascztery 5
int licznik = 0; // ilość kulek
int fps = 0; // prędkość wylotowa
int rof = 0; // szybkostrzelnoźć

void setup() {
  byte numDigits = 4;   
  byte digitPins[] = {6, 9, 10, 5};
  byte segmentPins[] = {7, 11, 3, 1, 0, 8, 4, 2};
  bool resistorsOnSegments = true; // Use 'true' if on digit pins
  byte hardwareConfig = N_TRANSISTORS; // See 
 SevSeg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
 
 pinMode(vcc2, OUTPUT); //+ zasilania. diody IR, tranzystory oswietlaja 1 blok fototranzystorów
 digitalWrite(vcc2, HIGH);
pinMode(blok1, INPUT_PULLUP); //wejscie 1 bloku foto
pinMode(blok2, INPUT_PULLUP); //wejscie 2 bloku foto
pinMode(vcc2, OUTPUT); //+ zasilania przycisków do ustalania pojemnosci magazynka
digitalWrite(vcc2, HIGH);
//przyciski sterujące układem
// przytrzymanie wszystkich przez 3 sekundy zmienia wyswietlaną wartość
//kolejność 1.licznik 2.fps 3.rof
pinMode(add100, INPUT_PULLUP); // +100
pinMode(add10, INPUT_PULLUP); // +10
pinMode(add1, INPUT_PULLUP); // +1
 pinMode(SEG_A, OUTPUT);
  pinMode(SEG_B, OUTPUT);
  pinMode(SEG_C, OUTPUT);
  pinMode(SEG_D, OUTPUT);
  pinMode(SEG_E, OUTPUT);
  pinMode(SEG_F, OUTPUT);
  pinMode(SEG_G, OUTPUT);
  pinMode(zas, OUTPUT);
  digitalWrite(zas, HIGH);

}

void lic(){
   Serial.println(licznik);
if (digitalRead(add100) == HIGH); //wprowadzanie ilości kulek w magazynku
licznik = licznik + 100;
if (digitalRead(add10) == HIGH);
licznik = licznik + 10;
if (digitalRead(add1) == HIGH);
licznik = licznik + 1;
if (digitalRead(blok1) == HIGH); //zliczanie strzału
licznik = licznik - 1;
}
void loop() {
 
   Serial.println(licznik);
if (digitalRead(add100) == HIGH); //wprowadzanie ilości kulek w magazynku
licznik = licznik + 100;
if (digitalRead(add10) == HIGH);
licznik = licznik + 10;
if (digitalRead(add1) == HIGH);
licznik = licznik + 1;
if (digitalRead(blok1) == HIGH); //zliczanie strzału
licznik = licznik - 1;
SevSeg.setNumber(licznik, 4); 
  SevSeg.refreshDisplay();
}
opis błędu

Kod: Zaznacz cały

C:\Users\K.R.Z.A.K\Desktop\TĹ‚umik\licznik_3\licznik_3.ino: In function 'void setup()': 

licznik_3:24: error: expected unqualified-id before '.' token 

C:\Users\K.R.Z.A.K\Desktop\TĹ‚umik\licznik_3\licznik_3.ino: In function 'void loop()': 

licznik_3:72: error: expected unqualified-id before '.' token 

licznik_3:73: error: expected unqualified-id before '.' token 

exit status 1 
expected unqualified-id before '.' token 

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Marhef
Złota rączka
Posty: 1140
Rejestracja: 18 lis 2011, 02:18

Re: Problem z biblioteką SevSeg do Arduino

Post autor: Marhef » 4 cze 2018, 08:32

Kolego Krzak, zaczynasz dopiero z programowaniem? Czy wcześniej miałeś styczność (może z basic)?
Sam próbujesz pisać, czy szukasz przykładów w necie i próbujesz przerabiać?

W tym przypadku pomyliłeś zmienną z typem zmiennej. Pod linijkami z #define powołujesz zmienną typu SevSeg. Zmienna ma nazwę sevseg (swoją drogą, trochę zły pomysł, żeby zmiennej nadać taką samą nazwę jak typowi).
W dalszej części programu powinieneś używać zmiennej, Ty natomiast używasz typu. Dlatego masz błędy (ja widzę ich trzy).
ODPOWIEDZ

Strony partnerskie: