Skocz do zawartości

atlantis86

Użytkownicy
  • Zawartość

    34
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    2

atlantis86 wygrał w ostatnim dniu 13 stycznia

atlantis86 ma najbardziej lubianą zawartość!

Reputacja

54 Bardzo dobra

O atlantis86

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Kraków
  • Języki programowania
    C/C++, Python, ASM
  • Zainteresowania
    Amatorska elektronika, programowanie, historia techniki

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. atlantis86

    [Qt] Animacja tekstu

    Szybkie pytanie do osób zajmujących się programowaniem Qt. Mianowicie czy istnieje jakaś prosta metoda na uzyskanie animacji tekstu wprowadzanego znak po znaku, w obiekcie QTextBrowser? Zależy mi szczególnie na tym, żeby tekst dało się sformatować tagami HTML.
  2. atlantis86

    Jeszcze jeden zegar nixie

    Był. Trzeba go było wyeliminować przez chwilowe wygaszanie jednej lampy przed zapaleniem następnej.
  3. atlantis86

    Laminarka do PCB

    Nie jestem pewien który dział na forum byłby najbardziej odpowiedni do zadania tego pytani, a więc pytam tutaj. Moja dotychczasowa laminarka do PCB niestety wyzionęła ducha. Gdybym mógł, kupiłbym ten sam model, bo nadawał się on do robienia płytek bez konieczności stosowania żadnych przeróbek - w fabrycznej konfiguracji temperatura była dostatecznie wysoka. Niestety nigdzie już ich nie widzę. Szukam więc jakiegoś zamiennika. Czy ktoś mógłby polecić laminarkę, która łączyłaby następujące cechy: Dostępność w sklepach internetowych albo na Allegro. Rozsądna cena. Łatwość przeróbki, ewentualnie temperatura pozwalająca na prasowanie płytek bez stosowania przeróbek.
  4. atlantis86

    Jeszcze jeden zegar binarny

    A co mi tam. Tylko ostrzegam, że kod jest miejscami dość specyficzny, wynikający z zastosowanego sprzętu i kompilatora. Raczej nie przyda się do nauki współcześnie stosowanych mikrokontrolerów. Biblioteki do obsługi I2C i zegara poskładane z fragmentów znalezionych w sieci, ewentualnie przeportowane z kodu AVR dołączonego do jakichś tutoriali, jeśli mnie pamięć nie myli. BinaryClock.zip Nie twierdziłem, że na potrzeby tego projektu kupiłem akurat 140 przycisków. To tylko przykład. Niemniej należą one do elementów, których zapas lubię mieć zawsze pod ręką. Z doświadczenia wiem, że zwykle szybko "schodzą" przy różnych projektach i potem brak przycisku bywa frustrujący, gdy chciałoby się szybko zakończyć jakiś projekt. RTC z baterią też trzeba raz na jakiś czas ustawić, o ile układ nie ma dostępu do zewnętrznego wzorca czasu (DCF77, NTP, GPS). A w tym projekcie nie ma. Najpierw trzeba powiedzieć zegarowi która godzina, a potem co jakiś czas konieczna jest delikatna korekta wskazań. To tylko zegar kwarcowy, więc akumulacja niedokładności po jakimś czasie staje się zauważalna. Niewiele zostało zakończonych, które nadają się do publikacji i pasują do tematyki forum. Warto spróbować jeszcze raz. Wbrew pozorom mniejsze płytki dwustronne robi się łatwiej - im większa, tym trudniej o zgranie warstw. Mówimy o dwóch różnych rzeczach. Te układy są taktowane z sieci energetycznej, czyli pobierają z niej tylko częstotliwość 50 Hz, która jest dzielona i wykorzystywana do wytworzenia sygnału 1Hz, z którego korzysta zegar. Stanowi to alternatywę dla rezonatora kwarcowego. Układy tego typu nie są natomiast w stanie pobierać z sieci informacji o aktualnym czasie - ten trzeba ustawić ręcznie albo podać z zewnętrznego źródła. Co jakiś czas konieczna jest też korekta. Okazuje się też, że częstotliwość sieci energetycznej wcale nie jest takim wiarygodnym wzorcem częstotliwości. Ostatnio było o tym głośno, gdy w pewnym momencie uzbierało się dość zauważalne odchylenie... Większość znajomych spoza środowiska nie ma pojęcia, że to zegar.
  5. atlantis86

    Jeszcze jeden zegar nixie

    W tej wersji (jeszcze) nie implementowałem żadnego mechanizmu. Zegar i tak nie pracuje cały czas. W moim kolejnym zegarze (tym bez multipleksowania) planuję raz na minutę dać efekt szybkiego przelecenia wyświetlacza godzin i minut przez wszystkie cyfry. Dla postronnego obserwatora będzie to wyglądało jak animacja towarzysząca zmianie godziny.
  6. atlantis86

    Jeszcze jeden zegar nixie

    Wykorzystałem template generowany automatycznie na tej stronie , potem modyfikowałem go w Inkscape. Wymiary nie są idealnie spasowane, to znaczy nie brałem pod uwagę grubości ścieżki wycinanej przez laser. Poszczególne elementy obudowy pasują do siebie dość ściśle, ale żeby otrzymać odpowiednią solidność skleiłem skrzynkę wikolem. To nie było wycinane komercyjnie. Korzystałem z narzędzi dostępnych w krakowskim Hackerspace.
  7. atlantis86

    Jeszcze jeden zegar binarny

    Amatorską elektroniką zainteresowałem się po raz pierwszy w połowie lat dziewięćdziesiątych, będąc jeszcze dzieciakiem ze szkoły podstawowej. Moja aktywność na tym polu ograniczała się wówczas głównie do składania cudzych konstrukcji z pojedynczych tranzystorów, analogowych układów scalonych czy bramek logicznych. Brakowało mi wiedzy i narzędzi, aby zająć się czymś poważniejszym. Szczególnie wejście w świat mikrokontrolerów nie wchodziło w grę - zakup programatora i podręczników z kieszonkowego nie wchodził w grę, a i same elementy do tanich nie należały. Największą popularnością cieszyła się wówczas rodzina 8051, szczególnie w wykonaniu firmy Atmel (np. AT89C2051 albo AT89C51). Tematem mikrokontrolerów zająłem się wiele lat później, na początku obecnej dekady, standardowo zaczynając od AVR-ów. Kilka lat temu przy okazji zakupów na Allegro zauważyłem jednak w ofercie jednego ze sprzedawców stare układy AT89C51, co spowodowało natychmiastowy "atak" nostalgii. Od razu zamówiłem kilka sztuk. Dopiero potem zorientowałem się, że nie dysponuję programatorem. Na szczęście okazało się, że te można bez większych problemów kupić na najpopularniejszym chińskim serwisie aukcyjnym. Czekając na przesyłkę zorientowałem się w temacie programowania tych mikrokontrolerów w czasach współczesnych, wczytując się w dokumentację kompilatora SDCC. Po kilku tygodniach dysponowałem już podstawami wiedzy i zestawem narzędzi potrzebnych do realizacji projektu. Na tym etapie musiałem odpowiedzieć sobie na pytanie o jego temat. Szukałem czegoś, co byłoby popularną konstrukcją wśród amatorów elektroników w czasach, gdy ja zaczynałem zajmować się tym hobby. Zegar binarny zdawał się być oczywistą odpowiedzią. Urządzenie powstawało głównie wieczorami, w ciągu kilku tygodni. Składają się na nie dwie jednostronne płytki drukowane. Pierwsza zawiera wyświetlacz oparty na LED-ach oraz zestaw przycisków, druga logikę sterującą. Składają się na nią mikrokontroler AT89C51, zegar czasu rzeczywistego DS1307 z gniazdem baterii podtrzymującej, układ zasilania oraz niewielki głośnik piezoelektryczny. Przeznaczenie tego ostatniego jest dość specyficzne - co sekundę, przy odświeżaniu zawartości wyświetlacza generuje on dźwięk przypominający "tykanie" klasycznego zegara mechanicznego. Celem projektu było stworzenie urządzenia w stylu lat dziewięćdziesiątych, bez współczesnych ulepszeń w stylu automatycznej synchronizacji czasu za pomocą łączności sieciowej albo modułu GSM. Zegar nie robi nic poza wyświetlaniem czasu w formie binarnej (a właściwie BCD), a ustawia się go ręcznie. Oprogramowanie sterujące zostało napisane w języku C i skompilowane za pomocą kompilatora SDCC, szczelnie wypełniając dostępne 4kB pamięci flash mikrokontrolera.Obudowa urządzenia została wycięta laserowo. Za pomocą tego samego narzędzia został na niej wygrawerowany rysunek. Obecnie w realizacji (z uwagi na brak czasu i ważniejsze projekty) jest projekt bliźniaczego zegara, który tym razem będzie korzystał ze współczesnej elektroniki, opartej na module ESP8266.
  8. atlantis86

    Jeszcze jeden zegar nixie

    A byłem przekonany (bez sprawdzania) że takich projektów będzie tu całe mnóstwo. W końcu to dość popularny temat amatorskich projektów. I szczerze mówiąc nie dziwię się, bo lampki nixie (podobnie jak cała elektronika lampowa) mają coś w sobie. MC34063A jest nowszym układem. Łatwiej za jego pomocą skonstruować przetwornicę z pętlą sprzężenia zwrotnego. NE555 wymaga w tym celu dodatkowych elementów. Wiem, że na temat MC34063A krążą różne opinie, ale ja nie miałem z nim nigdy problemów w tej konfiguracji. Przetwornica generuje 180V. Przy multipleksowaniu lampy faktycznie wydają się lekko przygaszone, ja lekko skompensowałem ten efekt zmniejszając wartość rezystorów w anodach. Generalnie w kolejnym projekcie takiego zegara nie będę już stosował multipleksowania, a każda lampa otrzyma swój własny układ 74141.
  9. Tym razem prezentuję jeden z moich starszych projektów. Powstał on w 2013 roku, będąc pierwszą poważniejszą próbą umiejętności zdobytych podczas nauki programowania mikrokontrolerów AVR. Wszystko zaczęło się jakiś czas wcześniej, gdy do moich rąk trafił stary, polski telefon z tarczą numerową, wyprodukowany przez przedsiębiorstwo RWT w latach sześćdziesiątych. Któryś z poprzednich właścicieli tego urządzenia potraktował je jako źródło części - wewnątrz brakowało większości elementów potrzebnych do normalnej pracy. Na szczęście obudowa zachowała się w idealnym stanie. Przywrócenie telefonu do stanu oryginalnego mijało się z celem, więc w najlepszym razie mógłby on służyć za stylową dekorację. W pewnym momencie wpadłem na inny pomysł co do zastosowania tego zabytku. Mniej więcej w tym samym czasie udało mi się bowiem zdobyć kilka modułów GSM Motorola D15, wymontowanych ze złomowanych centralek alarmowych. Rozwiązanie nasuwało się samo - zrobić z tego "komórkę". Urządzenie działa w oparciu o mikrokontroler Atmega328, którego głównym zadaniem jest sterowanie modułem GSM za pomocą komend AT. Układ zajmuje się także zliczaniem impulsów wysyłanych przez tarczę numerową podczas wybierania numeru, a także generuje sygnał PWM udający sygnały wybierania i zajętości, Najbardziej problematycznym elementem był dzwonek, wymagający do działania cyklicznych zmian przepływu prądu. Zadanie to jest realizowane prze prosty półmostek H. Ponieważ dzwonek wymaga do pracy napięcia co najmniej kilkudziesięciu V, w grę wchodziły dwa rozwiązania: zbudowanie przetwornicy albo przewinięcie uzwojeń. Zdecydowałem się na drugie z nich. Urządzenie wyposażone jest we wbudowany akumulator litowo-polimerowy oraz scalony kontroler ładowania MCP73831T. Podczas budowy telefonu popełniłem kilka błedów oraz poszedłem na kilka kompromisów, na które dzisiaj w żadnym razie bym się nie zgodził. Najważniejsze problemy tej konstrukcji to: Pojawiające się okazjonalnie zakłócenia, będące wynikiem zastosowania modułu GSM bez różnicowego toru audio. Dziś zastosowałbym któryś z tanich i ogólnodostępnych modułów GSM. Brak stabilnego zasilania. Cała elektronika jest zasilana bezpośrednio napięciem akumulatora. Nie stanowi to problemu, ponieważ wartości mieszczą się w dopuszczalnych warunkach pracy wszystkich elementów, a wraz z rozładowywaniem akumulatora zmienia się wspólny punk odniesienia, wyznaczany przez VCC. Dzisiaj jednak zastosowałbym przetwornicę S7V8F3. Program został napisany w sposób blokujący, w oparciu o "delay'e" oraz pętle oczekujące na wykonanie określonego zadania. Z uwagi na powyższe projekt w końcu doczeka się zapewne uwspółcześnionej rewizji.
  10. Pochwalę się jeszcze jednym swoim projektem, który był efektem moich pierwszych eksperymentów z rodziną mikrokontrolerów PIC32. Z powodu, którego nie potrafię bliżej określić, po "wyrośnięciu" z AVR-ów zainteresowałem się 32bitowymi produktami firmy Microchip, zamiast od razu uczyć się programowania ARM-ów, np. STM32. Muszę przyznać, że polubiłem te mikrokontrolery i stosuję je w swoich projektach, chociaż obecnie powoli przerzucam się na STM-y. Jednym z moich pierwszych projektów wykorzystujących układ PIC32MX270F256B była płytka prototypowa, która miała łączyć dwie funkcje. Po pierwsze miała zawierać kilka podstawowych peryferiów, przy pomocy których mógłbym zapoznać się z bibliotekami MLA, po drugie w przyszłości mogłaby w przyszłości służyć za moduł wykonawczy w systemie automatyki domowej DIY. Prototypowa wersja płytki została zmontowana na jednostronnej płytce drukowanej, z wykorzystaniem układów w obudowach SO28. Poza mikrokontrolerem można na niej znaleźć kontroler ethernetu ENC28J60, pamięć flash SST25 oraz układ FT232. Nieco później powstało kilka kolejnych egzemplarzy nieco zmodyfikowanej wersji tej płytki. Projektując je chciałem nauczyć się czegoś nowego, przetestować swoje umiejętności i rozprawić się z paroma mitami dotyczącymi tego, co jest, a co nie jest możliwe w domowych warunkach. Po pierwsze był to mój pierwszy eksperyment z domową produkcją płytek dwustronnych. Po drugie chciałem przekonać się, jak wygląda sytuacja z zastosowaniem miniaturowych układów QFN/MLF w domowych warunkach. Wielokrotnie nasłuchałem się bowiem opinii mówiących, że ich montaż jest zbyt kłopotliwy przy pomocy amatorskich narzędzi. Płytka została metodą termotransferu (na kopertę). Wszystkie otwory pod przelotki wywierciłem ręcznie -przekonałem się bowiem, że tanie statywy pod wiertarki nie zapewniają odpowiedniej dokładności. O wiele lepiej jest wywiercić otwór do połowy z jednej strony, a potem ostrożnie kończyć z drugiej, pozwalając wiertłu wypaść z drugiej strony pd własnym ciężarem.Miedź została pocynowana stopem Lichtenberga, a mikrokontroler w obudowie MLF oraz rezonator SMD zostały wlutowane za pomocą taniej, chińskiej stacji hot air, po uprzednim zabezpieczeniu cienkich ścieżek taśmą kaptonową. Płytka posiada następujące możliwości: Dostęp do sieci przez Ethernet (wykorzystywany jest stos Microchipa z bibliotek MLA). Obsługa hostu USB celem podpięcia PenDrive'a (FatFS + sterowniki z bibliotek MLA). Wersja finalna została także przystosowana do obsługi funkcji USB OTG. Wbudowana pamięć SPI Flash SST25, obsługiwana przez FatFS jako dysk. Wbudowany rezonator do obsługi RTC (tylko wersja prototypowa, wersja finalna powstała z myślą o zewnętrznym RTC I2C z baterią podtrzymującą, np. DS1307). Złącza goldpin udostępniają następujące interfejsy: Interfejs programatora/debugera, np.. PicKit. UART (w wersji finalnej zrezygnowałem ze stosowania FT232). I2C wraz z jednym przerwaniem zewnętrznym, pozwalające na wygodne korzystanie z ekspanderów rekompensujących niewielką liczbę dostępnych pinów GPIO.
  11. atlantis86

    6502 jako mikrokontroler

    Dziękuję. Już się nad tym zastanawiałem i pewnie dałoby się bardziej. To znaczy gdyby EPROM-y zastąpić równoległymi EEPROM-ami i napisać jakiś bootloader, to teoretyczne wsad można by ładować przez RS232. Oczywiście wówczas UART musiałbym znaleźć na płytce trochę miejsca dla odpowiedniego kontrolera i konwertera poziomów. Stwierdziłem jednak, że to gra niewarta świeczki, bo i tak nie osiągnąłbym dostatecznego podobieństwa do współczesnego Arduino, o kompatybilności programowej nawet nie wspominając. Powód jest prosty - nie dosyć, że pakiet cc65 nie posiada kompilatora C++, to jeszcze pisząc w czystym C trzeba się liczyć z paroma kompromisami. Pozostaję więc przy klasycznej metodzie programowania EPROM-ów.
×