Skocz do zawartości

Panel P10 LED 16x32 - Program nie kompiluje się


ALvi

Pomocna odpowiedź

Witam,

Chcę zrobić pewien projekt na arduino + wyświetlacz P10 LED 16x32 kolor czerwony.

Wszytko mam zmontowane, zainstalowałem  przykłady z linku poniżej, i non stop wyskakuje ten sam błąd. 

SS błędu w złączniku. 

Miałem ponad 6 miechów przerwy w programowaniu, więc możliwe że jest to jakaś śmieszna pierdołą, ale już 5h siedzę przeglądam neta i czapkia 😕 

http://www.electroons.com/blog/ledp10-arduino-library-for-p10-led-display-panels/

Arduino zasilane  z USB, sam wyświetlacz będzie miał oddzielny zasilacz 

ardu bład .png

Link do komentarza
Share on other sites

Dziękuję za pomoc.

Faktycznie brakowało tej biblioteki, co Ciekawe wyskakiwało ze jest już zainstalowana ale i tak nie działało.

Program już się wgrał na arduino, fajnie pięknie.

Troszkę z problemami ale działa :] 

Proszę o nie zamykanie tematu.  Zapewne będę miał pytania podczas wykonywania projektu. 

 

 

 

Link do komentarza
Share on other sites

(edytowany)

Witam, 

Trochę  się pobawiłem tym wyświetlaczem i mam parę problemów z którymi ni jak nie mogę sobie poradzić. 

Otóż zamiar jest taki iż  po jednej stronie ustawiamy ilość, a po drugiej stronie ekranu od ustawionej ilości z każdym impulsem z czujnika obiciowego ( wyjście przekaźnikowe) 

wartość pomniejszana jest o 1 a gdy dojdzie do 0, ma wrócić  do wartości ustawionej poniżej i cykl ma się powtarzać.

Natrafiłem  na kilka problemów

1) Jak zapisać funkcję, która po ustawieniu pewnej wartości w  "press" będzie odejmować od niej 1 z każdym impulsem i wyświetlać wynik na ekranie powyżej  "press1"

2) Udało mi się ustalić zakres zadanej wartości do max 20 i aby nie schodził poniżej 0,  gdy zamiast int użyję unsigned int to po dojściu do 0 i próbie zejścia niżej wyskakuje  liczba 65535 

czyli nie do końca tak jak bym chciał.

3) licznik liczy ładnie  od 0  do 10 (zdj numer 2), gdy naciskam przycisk aby odjąć 1,  liczba zwiększa się o 1 ( zdj 3) po kolejnym wciśnięciu przycisku  liczba się zmniejsza ( tak jak miało to być), natomiast gdy liczba zmniejsza się poniżej 10 to  za nią pojawia się 0 ( zdjęcie 5)   

04.02.2020

dodałem funkcję dmd.clearScreen() ; i już nie ma problemu pojawiającego się zera 

Czym spowodowane jest to chwilowe "odwrócenie działania przycisku ( przypuszczam że może to być jakaś pierdoła) , jak mogę zmusić program aby nie wyświetlał tego 0  po 9 ? 

20200203_204227.thumb.jpg.d13e09b57f4491062f0848222e8bb422.jpg20200203_204246.thumb.jpg.606eeabbecaf87e9528e210d90f05c44.jpg20200203_204253.thumb.jpg.66063cf9188a8d4adf95e4d54520be4c.jpg20200203_204307.thumb.jpg.4b876f8c4816a6982ba9822ed2b86127.jpg20200203_204320.thumb.jpg.e7dbc7b8b6fcb18df3710816cfa53f8f.jpg

#include <SPI.h>
#include <DMD2.h>
#include <SystemFont5x7.h>
#include <fonts/Arial_Black_16.h>
#include <Bounce2.h> 
#define BUTTON_PIN 2 // przycisk +
#define BUTTON_PIN3 3 
#define BUTTON_PIN4 4
int  a = 0;
int count=0;
int press; 
int press1;
int press2;

Bounce debouncer = Bounce();
SoftDMD dmd(1,1); //SoftDMD dmd(1,1);

void setup() {
pinMode(BUTTON_PIN,INPUT_PULLUP);  // konfiguracja przycisku i aktywowanie rezystora podciągającego;
debouncer.attach (BUTTON_PIN);
debouncer.interval (5);
pinMode(BUTTON_PIN3,INPUT_PULLUP);
debouncer.attach (BUTTON_PIN3);
debouncer.interval (5);
pinMode(BUTTON_PIN4,INPUT_PULLUP);
debouncer.attach (BUTTON_PIN4);
debouncer.interval (5);

///DMD_TextBox box1(dmd, 19, 1, 36, 16); 
//DMD_TextBox box(dmd, 2, 8, 36, 16); 
// Set Box (dmd, x, y, Height, Width) 
  dmd.setBrightness(1); // Set brightness 0 - 255 
  dmd.selectFont(SystemFont5x7); // Font used
  dmd.begin();    
// box1.print(0);
 //delay (1000);
 // box.print(0);
 //delay (1000);


}
void loop() {
  debouncer.update();
  unsigned value = debouncer.read();
  
value=digitalRead(BUTTON_PIN);

if (value==LOW) {
  press=count++;
  delay(200);
}

 debouncer.update();
  unsigned va = debouncer.read();
  
va=digitalRead(BUTTON_PIN4);

if (va==LOW) {
  press=count--;
  delay(200);

}  
if (press>20){   // ustawienie zakresu tak aby max był 20 a minimum 0 
  press=20;
}
if (press<0){ 
 press=0;
}
  
debouncer.update();

 // int val = debouncer.read();     Próba stworzenia funkcjii aby u góry wyświetlacza, wyświetlała się wartość ustawiona wcześniej ale z każdyn impulsem pomniejsozna o 1 aż do 0 i ponownie 
//val=digitalRead(BUTTON_PIN3);
//if (val==LOW) {
 //press1=press--;
 

DMD_TextBox box1(dmd, 19, 1, 36, 16); 
DMD_TextBox box(dmd, 2, 8, 36, 16); 
 box1.print(press1);
 //delay (1000);
  box.print(press);
 //delay (1000) 
}

 

 

Edytowano przez ALvi
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.