Skocz do zawartości

Panel P10 LED 16x32 - Program nie kompiluje się


Pomocna odpowiedź

Napisano

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

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. 

 

 

 

(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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...