ALvi Napisano Styczeń 25, 2020 Udostępnij Napisano Styczeń 25, 2020 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 Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Styczeń 27, 2020 Udostępnij Styczeń 27, 2020 @ALvi witam na forum 🙂 Błąd wskazuje na brak biblioteki TimerOne, wgrają ją i powinno być wszystko dobrze. Prawdopodobnie chodzi o tę bibliotekę: https://www.arduinolibraries.info/libraries/timer-one Link do komentarza Share on other sites More sharing options...
ALvi Styczeń 27, 2020 Autor tematu Udostępnij Styczeń 27, 2020 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 More sharing options...
ALvi Luty 3, 2020 Autor tematu Udostępnij Luty 3, 2020 (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 ? #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 Luty 4, 2020 przez ALvi Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
Pomocna odpowiedź
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ę »