Asystent elektronika v2.3.0

Napisano dnia 1.07.2022 r. o godzinie 22:00
Autor: Piotr Sperka

Wstęp

Asystent elektronika… niewielka, darmowa aplikacja, którą tworzyłem na przestrzeni mniej więcej pomiędzy 2006 a 2014 rokiem, i poniekąd uczyłem się na niej programowania. Pierwotnie napisałem ją w Delphi. W późniejszym czasie, około 2010 roku, postanowiłem uczyć się Javy, i w trakcie nauki przepisałem Asystenta Elektronika na nową technologię. Rozwój aplikacji zakończyłem mniej więcej w czasie, gdy rozpocząłem pracę zawodową. Cóż, zabrakło czasu i chęci na pracę po pracy.

Przez dłuższy czas byłem przekonany, że źródła aplikacji zaginęły gdzieś w mroku dziejów. Tak, nie używałem wtedy żadnego systemu kontroli wersji… Niedawno jednak znalazłem je na starym dysku. Odnaleziony kod postanowiłem bardzo delikatnie obrobić i wypuścić jako open source.

Kiedy aplikacja była w ciągłym rozwoju, miała swoją niewielką grupę użytkowników. Gdy odnalazłem jej kody źródłowe, stwierdziłem, że może pomimo wieku wciąż się komuś przyda?

Aktualny stan aplikacji

Tak jak pisałem we wstępie, aplikacja nie była utrzymywana od ośmiu lat, natomiast wcześniej służyła jako poletko do nauki programowania. To powoduje, że po prostu nie może być napisana dobrze i zgodnie ze sztuką. Tak więc bardzo proszę, nie traktujcie jej jako próbki moich obecnych umiejętności. 😉

Postanowiłem nie poświęcać na jej obróbkę więcej czasu, niż to niezbędne. Przynajmniej póki co. Projekt przekonwertowałem na Mavena, dodałem resource z tłumaczeniami po polsku i angielsku, i wykonałem bardzo, naprawdę bardzo delikatny refaktoring. W kodzie wciąż jest masa pozostałości po generatorze formatek i ogólnie sporo bardzo brudnego kodu.

Aplikacja powstała na bazie źródeł, które miały być docelowo wersją 2.3. Posiada ona bardzo prosty plugin loader, umożliwiający dynamiczne ładowanie wtyczek i rozbudowę aplikacji o dodatkowe moduły. Wraz z aplikacją dostarczona jest tylko jedna wtyczka, która zawiera większość funkcji z dawnej gałęzi 2.2. Dlaczego nie wszystkie? Otóż usunąłem z niej mocno przestarzałe i na pewno obecnie bezużyteczne moduły, jak na przykład od dawna nieaktualizowaną bazę mikrokontrolerów, czy od dawna niedziałający moduł aktualizacji.

Asystent Elektronika v2.3.0 - ekran aplikacji
Asystent Elektronika v2.3.0 – ekran aplikacji

Funkcje

Poniżej przedstawiam listę funkcjonalności, które oferuje aplikacja wraz z dostarczoną wtyczką:

  • Obliczanie rezystora dla LED
  • Obliczanie rezystancji zastępczej do 10 rezystorów
  • Obliczenia prawa Ohma (napięcie, prąd, moc, rezystancja)
  • Obliczanie rezystorowego dzielnika napięcia
  • Obliczenia cewek na rdzeniu powietrznym
  • Wyszukiwanie najbliższej wartości w szeregu E
  • Konwersja częstotliwości na okres i odwrotnie
  • Konwersja watów na dBm
  • Konwersja rzędów wielkości (kilo, nano, piko, itp.)
  • Konwersja systemów liczbowych (binarny, ósemkowy, dziesiętny, szesnastkowy)
  • Dekodowanie kodów paskowych (dla rezystorów, kondensatorów i dławików)
  • Dekodowanie kodu MIL
  • Obliczanie wartości rezystorów dla wzmacniacza odwracającego i nieodwracającego na wzmacniaczu operacyjnym
  • Obliczanie elementów dla oscylatorów na NE555
  • Obliczanie rezystora dla stabilizatorów LM3xx
  • Obliczenia wartości timerów dla mikrokontrolerów AVR (starych serii, np. ATMega 8, 16, 32, …)
  • Obliczanie wartości dla I2C (TWI) dla mikrokontrolerów AVR (starych serii, np. ATMega 8, 16, 32, …)
  • Obliczanie wartości dla U(S)ART dla mikrokontrolerów AVR (starych serii, np. ATMega 8, 16, 32, …)
  • Generator fontów bitmapowych
  • Generator znaków dla wyświetlacza 7-segmentowego
  • Generator grafik dla wyświetlaczy monochromatycznych i kolorowych
  • Generator niestandardowych znaków dla wyświetlaczy HD44780

Skąd wziąć aplikację

Jeśli jesteś zainteresowany lub zainteresowana, aplikację możesz pobrać TUTAJ. Pamiętaj, że do uruchomienia potrzebujesz Java Runtime Environment (JRE) w wersji 11 lub nowszej. Natomiast aktualne źródła dostępne są na moim GitHubie, TUTAJ.

Podsumowanie

Jak pisałem już wcześniej, cieszę się, że udało mi się przypadkiem odnaleźć źródła Asystenta Elektronika. Choć obecnie dzięki wszechobecnemu dostępowi do Internetu, wszelkie wyliczenia można bardzo łatwo odnaleźć w kilka minut, to jednak jeśli udostępniony kod i aplikacja przyda się chociaż jednej osobie — będę zadowolony.

Na koniec jak zawsze — zapraszam do kontaktu. Staram się zawsze odpisać, nawet jeśli zajmie to trochę czasu. Do następnego! 😉