Skocz do zawartości

Stacja pogodowa VFD- błąd biblioteki w kodzie


Pomocna odpowiedź

Napisano

Witam!

Od kilkunastu miesięcy walczę z tym układem i kodem

https://www.hackster.io/mircemk/easiest-way-to-connect-any-vfd-serial-display-to-arduino-14bb8b

Mam odpowiedni wyświetlacz, bibliotekę no BA63-1 czy Fujitsu VF60 zawsze można dorzucić(te wyświetlacze POS są dość paskudne w konfiguracji i łatwo coś spalić- jeden VF60 już poszedł🚮).

Problem mam z biblioteką #include <DS3231.h>, wywala mi błąd przy kompilacji, związany z tym DS3231 rtc(SDA, SCL);......czy trzeba "specjalną" bibliotekę ściągnąć?

Czy to można jakoś rozwiązać, na przykład oznaczając numery pinów dla I2C?

Problem znany i trochę pisze w sieci o tym błędzie 

https://www.google.com/search?q=No+matching+function+for+call+to+'DS3231%3A%3ADS3231(const+uint8_t%26%2C+const+uint8_t%26)&rlz=1C1YTUH_plPL1026PL1026&ei=2anAY5nRMbCX9u8Py6yjKA&oq=DS3231+rtc(SDA%2C+SCL)%3B&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQARgDMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADSgQIQRgASgQIRhgAUABYAGCnHGgBcAF4AIABAIgBAJIBAJgBAMgBB8ABAQ&sclient=gws-wiz-serp

Biblioteki VFD są na przykład takie

https://github.com/MrTransistorsChannel/NixdorfVFD

Mam jeszcze Epson DM-D210, zasilanie 24V nie problem- są tanie przetwornice

 

https://github.com/playfultechnology/arduino-VFD-RS232

Czyli coś idzie ugryźć, ten VF60 chwilę działał na bibliotece SoftwareSerial i Arduino UNO, niestety w pewnym momencie brak snu swoje zrobił i wpiąłem RX kontrolera VFD(3,3V) pod pin Arduino(5V) i wyświetlacz poszedł na złom, tym razem użyję konwertera MAX232 i wejścia RS-232 w VFD.

Tu jest pinout lewego gniazda w VF60

https://github.com/ggajoch/vf60-vfd-display

Ale pomóżcie mi z tym błędem w kodzie, dlaczego on jest i jaka powinna być składnia dla tej biblioteki?

Nie jestem informatykiem, latami siedziałem w analogu i lampowych układach.....jednak trzeba pójść do przodu, tak samo nie idzie jeździć Polonezem czy Żukiem albo używać rozpadającego się komputera z Windows XP czy nawet 7 i logować się do banku przez dziurawą jak sito , przeglądarkę.

Mam już dość psucia sprzętu, strat, smrodu palonej elektroniki i zarwanych nocy nad jakimś kodem Arduino, żeby znaleźć błąd....robiłem zegarek na NIXIE LC-516(kupowałem NOS-y po 25zł za sztukę, straszne badziewie, to polskie klony rosyjskich IN-1, o wiele gorzej wykonane), niemniej to był wsad- gotowiec, wgrałem do NodeMCU i śmiga do dziś, choć w środku wygląda to jak spaghetti, wszystko lutowane na płytkach uniwersalnych i obudowa też taka sobie.

Ale stoi przy łóżku,  synchronizuje się przez NTP via Wi-Fi i cieszy oczy blaskiem jarzeniowych lamp.

Czyli jak to mówił Towarzysz Edward Gierek około 50 lat temu " Pomożecie?" odpowiedziano mu "Pomożemy!", chciałbym to wreszcie zrobić i mieć kolejny zegarek....uwielbiam różne czasomierze, mam to w ś.p. Wujka, brata Mamy....też miał takie zainteresowania, na początku lat 90-tych skomputeryzował księgowość choć nie był informatykiem, był człowiekiem urodzonym przed wojną, w latach 30 XX wieku.

 

(edytowany)

- z tymi wszystkimi projektami to jest zawsze jeden problem.

- autor kompiluje to na którejś wersji Arduino, bibliotekach  i to mu działa.

- po 2 -3 latach zabieram się za ten projekt, nowsza a jak wersja Arduino i kicha, biblioteki wariują.

- nowsze Arduino jest bardziej "restrykcyjne" i nie przepuszcza błędów w tych bibliotekach.

 - wniosek: spróbuj na innej, starszej wersji Arduino.

Edytowano przez 99teki
7 godzin temu, Kuba83 napisał:

Problem mam z biblioteką #include <DS3231.h>, wywala mi błąd przy kompilacji, związany z tym DS3231 rtc(SDA, SCL);

A niby co to miałoby robić?

W Arduino piny I2C są sprzętowo przyporządkowane na stałe i nie da się ich zmienić. Jeśli się uprzesz i koniecznie chcesz skorzystać z software'owego I2C (po co?) to masz do tego konstruktor:

		DS3231(TwoWire & w);

A takiej funkcji jaką sobie wymarzyłeś po prostu nie ma. W programie powinno być pewnie po prostu:

DS3231 rtc;

Jeśli ta biblioteka nie pasuje - użyj RTClib, ale tam też takiego konstruktora nie ma.

@99teki jak widzisz nie ma to nic wspólnego z nowym/starym Arduino. A choćby było najstarsze to i tak wywołania nieistniejącej metody nie zaakceptuje, więc może zamiast udzielać dobrych rad ze szklanej kuli zacznij od czytania kodu bibliotek (jak widać szklana kula jest pewnie zepsuta).

  • 3 tygodnie później...

Witam!

Dało się skompilować ten kod ale brakuje obsługi tego akurat konkretnego VFD RS-232, który jest odpowiednikiem  Wincor-Nixdorf BA63-1, tyle że nie ma obsługi cyrylicy(BA63-1 ma nawet podstawkę pod pamięć z zestawem znaków diakrytycznych- nawet polskich, były takie wersje).

Nad "odpaleniem" BA63-1 jak i VF60 kilka nocy posiedziałem i znalazłem bibliotekę do tych wyświetlaczy i ją tutaj wrzucam, może ktoś pomoże?

I manual do tego(trzeba zewrzeć zworkę JP3 w BA63-1, by wyłączyć parzystość, VF60 ma ją wyłączoną)

Jak używam konwertera UART-RS-232, to wyświetla się "Hello World" i to samo po rosyjsku na Nixdorfie, na Fujitsu VF60 tylko po angielsku, rosyjska czcionka to "krzaczki", czyli oba typy to prawie to samo, bynajmniej jeśli chodzi o protokół komunikacji.

Mam w sumie 6 sztuk tych VF60 i brak pomysłów, a szkoda, bo lampa VFD Futaba w nich jest ogromna i piękna, w BA63-1 jest dużo mniejsza.

Jeśli ktoś "rozgryzał" komunikację szeregową z wyświetlaczami VFD, które jeszcze kilka lat temu masowo były na stanowiskach kasowych w hipermarketach, a dziś kosztują w granicach 40-60zł, to proszę o pomoc.

Nie tylko w tym konkretnym sketchu ale i w każdym innym.

Pod ESP8266 NodeMCU v.3 ten wyświetlacz działa bez bibliotek i innych jaj, oczywiście zaprogramowałem MCU w Arduino IDE, tym najnowszym, co z tym fantem zrobić?

 

 

NixdorfVFD-master.zip BA63_Display_Operating_Manual_english.pdf

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...