logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Zlecę] Projekt oprogramowania do zegara Nixie

pohybel21 19 Cze 2024 22:27 771 8
REKLAMA
  • #1 21125397
    pohybel21
    Poziom 2  
    Witam, potrzebuje kogoś, kto stworzył by mi oprogramowanie do zegara Nixie sterowanego kontrolerem STC15W406AS stworzyłem własny program, ale nie działa prawidłowo. Zegar ma posiadać proste funkcję jak ustawienie czasu format tylko 24 godziny funkcję slot machinę oraz możliwość ustawienia czasu również z prostego pilota, i to wszystko.

    Zegar Nixie pod kopułą szklaną z widocznymi elementami elektronicznymi. Zegar Nixie w szklanej obudowie z widocznymi elementami elektronicznymi na drewnianej podstawie. Ręcznie wykonany zegar Nixie pod szklaną kopułą, z widocznymi lampami i obwodami. Zegar Nixie w szklanej kopule na drewnianej podstawie z widocznymi elementami elektronicznymi.
    Kontaktuj się z ogłoszeniodawcą poprzez Prywatną Wiadomość (ikonka PW).
  • REKLAMA
  • #2 21125851
    stachu_l
    Poziom 37  
    Wygląda bardzo artystycznie. Wow!
    pohybel21 napisał:
    stworzyłem własny program, ale nie działa prawidłowo.

    Czy hardware działa? Próbowałeś zapalać wszystkie cyfry po kolei? Różne cyfry na każdym wyświetlaczu tak aby działały wszystkie wyświetlacze z różna zawartością?
    Jakaś reakcja na przyciski?
    pohybel21 napisał:
    oraz możliwość ustawienia czasu również z prostego pilota,

    A jest tam odbiornik sygnału pilota?
    Układy cyfrowe pobierają z zasilania prądy impulsowe i powinny mieć kondensatory filtrujące jak najbliżej zasilania układów scalonych. Bez tego często zachowują się losowo - może to nie problem programu a hardware.
    W celu filtracji najczęściej montuje się ceramiczne 0,1uF (100nF) blisko układu scalonego.
    Tu artystycznie można by je przylutować na szynach zasilania między układami oraz na końcach - przy końcowych układach scalonych (będzie jeden więcej niż układów scalonych na szynie).
    Program można tworzyć jak wiadomo, że hardware działa poprawnie. Ewentualnie proste programiki testujące poszczególne elementy na początek prze główna pracą.
  • REKLAMA
  • #3 21125876
    pohybel21
    Poziom 2  
    Dziękuję za zainteresowanie wszystko jest sprawne i zgodnie ze schematem nie traciłem czasu i zrobiłem oprogramowanie razem ze sztuczna inteligencja, ale jest kilka problemów, więc trzeba by już tylko dokończyć program. Jest to drugi zegar, który zrobiłem, ale do pierwszego miałem mikrokontroler ze wsadem niestety z STC15 na razie niema możliwości pobrać wsadu można tylko wgrać. Dlatego teraz potrzebuje kogoś, kto pomoże mi ustawić program, bo są pewne problemy. [Zlecę] Projekt oprogramowania do zegara Nixie [Zlecę] Projekt oprogramowania do zegara Nixie [Zlecę] Projekt oprogramowania do zegara Nixie
  • #4 21127321
    pohybel21
    Poziom 2  
    Niestety, ale męczę się z tymi rejestrami przesuwnymi nie mogę ich skonfigurować stworzyłem prosty program do testów wyświetlaczy, ale działa tylko na pierwszym wyświetlaczu od godzin i pierwszym od minut na pozostałych świeca zera ponadto, kiedy włącza się przełączanie cyfr pominięte zostają cyfry 3 i 5.
    main.c

    #include <stc15.h>
    #include "hc595.h"

    // Define the pins connected to the DS1302 RTC module
    sbit DS1302_EN = P3^5;
    sbit DS1302_IO = P3^4;
    sbit DS1302_CLK = P3^3;

    // Function prototypes
    void delay(unsigned int ms);
    void test_nixie_displays(void);

    void main(void) {
    hc595_init();

    while (1) {
    test_nixie_displays();
    delay(1000); // Delay for 1 second
    }
    }

    void delay(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++) {
    for (j = 0; j < 123; j++);
    }
    }

    void test_nixie_displays(void) {
    unsigned char digit;

    for (digit = 0; digit < 10; digit++) {
    // Shift out the digit to the shift registers for hours and minutes
    hc595_shiftOut1(digit); // Units of hours
    hc595_shiftOut1(digit); // Tens of hours
    hc595_shiftOut2(digit); // Units of minutes
    hc595_shiftOut2(digit); // Tens of minutes

    // Latch the shiftData to the outputs
    hc595_latch1();
    hc595_latch2();

    // Delay to visually see the digit change
    delay(500);
    }
    }

    hc595.c

    #include "hc595.h"

    // Define the pins connected to the SN74HC595 shift registers
    sbit HC595_SCK1 = P1^5; // Serial Clock for register 1 (Hours)
    sbit HC595_RCK1 = P1^6; // Register Clock for register 1 (Hours)
    sbit HC595_SI1 = P1^7; // Serial Data Input for register 1 (Hours)

    sbit HC595_SCK2 = P1^0; // Serial Clock for register 2 (Minutes)
    sbit HC595_RCK2 = P1^2; // Register Clock for register 2 (Minutes)
    sbit HC595_SI2 = P1^3; // Serial Data Input for register 2 (Minutes)

    void hc595_init(void) {
    // Initialize the pins for both registers
    HC595_SCK1 = 0;
    HC595_RCK1 = 0;
    HC595_SI1 = 0;

    HC595_SCK2 = 0;
    HC595_RCK2 = 0;
    HC595_SI2 = 0;
    }

    void hc595_shiftOut1(unsigned char shiftData) {
    unsigned char i; // Declare the variable at the beginning of the block
    for (i = 0; i < 8; i++) {
    HC595_SI1 = (shiftData & (0x80 >> i)) ? 1 : 0;
    HC595_SCK1 = 1;
    HC595_SCK1 = 0;
    }
    }

    void hc595_shiftOut2(unsigned char shiftData) {
    unsigned char i; // Declare the variable at the beginning of the block
    for (i = 0; i < 8; i++) {
    HC595_SI2 = (shiftData & (0x80 >> i)) ? 1 : 0;
    HC595_SCK2 = 1;
    HC595_SCK2 = 0;
    }
    }

    void hc595_latch1(void) {
    HC595_RCK1 = 1;
    HC595_RCK1 = 0;
    }

    void hc595_latch2(void) {
    HC595_RCK2 = 1;
    HC595_RCK2 = 0;
    }
  • #5 21127897
    Kuniarz
    Moderator Projektowanie
    pohybel21 napisał:
    wszystko jest sprawne i zgodnie ze schematem

    Sprawdziłeś trzy razy ? Pytam poważnie. Jeden frajerski błąd z niedolutowanym drutem i leżysz.

    pohybel21 napisał:
    nie traciłem czasu i zrobiłem oprogramowanie razem ze sztuczna inteligencja

    Myślę, że za duże nadzieje pokładasz w AI...

    pohybel21 napisał:
    potrzebuje kogoś, kto stworzył by mi oprogramowanie do zegara

    Zlecasz - ile oferujesz ?
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #6 21128289
    pohybel21
    Poziom 2  
    Drogi panie kolego zegar został sprawdzony z chipem oryginalnym wsadem i działa, jeżeli chodzi o ai wykonało poprawnie program na test diody oraz test diody z sygnałem chipu ds1 302, jeżeli chodzi o to czemu nie może poprawnie wykonać testu wyświetlaczy to problem polega na tym, że większość oprogramowań jest albo na arduino z innym mikrokontrolerem, albo dla wyświetlaczy led i zazwyczaj w innej konfiguracji, a niestety chiński STC ma kilka haczyków na przykład nie można używać słowa data, bo jest zarezerwowane ponadto, ponieważ SN74HC595N jest podłączony do kd155id1a to SN74HC595N musi przesunąć bity danych do K155ID1, a następnie zatrzasnąć dane, aby zaktualizować wyświetlacz.
    Bitowa operacja XOR z 0xF jest używana do odwrócenia bitów, ponieważ K155ID1 działa ze wspólną katodą, co oznacza, że poziomy logiczne są odwrócone. Udało mi się odwrócić bity i reszta wyświetlaczy zareagowała i zaczęła się wyświetlać 3 i 7, ale nie zaświecają się inne cyfry niestety, jeżeli chodzi o zapłatę to jestem otwarty na propozycje.
  • REKLAMA
  • #7 21134744
    stachu_l
    Poziom 37  
    Drogi kolego @pohybel21 to powinno być na początku opisu problemu bo oszczędziło by dyskusji o problemach sprzętowych.
    pohybel21 napisał:
    Drogi panie kolego zegar został sprawdzony z chipem oryginalnym wsadem i działa,

    Zbyt duże zaufanie do AI - na proste pytania często odpowiada poprawnie ale nietypowe problemy to jeszcze trochę zajmą AI.
    >>21128289
    pohybel21 napisał:
    jeżeli chodzi o to czemu nie może poprawnie wykonać testu wyświetlaczy to problem polega na tym, że większość oprogramowań jest albo na arduino z innym mikrokontrolerem, albo dla wyświetlaczy led i zazwyczaj w innej konfiguracji,

    No i tu należy obejrzeć kod i zrozumieć jego działanie a potem pomyśleć o różnica i wprowadzić zmiany lub poszukać kodu bliższego twojej konfiguracji hardware. Jeżeli masz zegar na LED 7 segmentowych i odpowiedni dekoder scalony to też mu podajesz 4 bity BCD jak do kd155id i program nie wie czy steruje NIXIE czy LED.
    pohybel21 napisał:
    a niestety chiński STC ma kilka haczyków na przykład nie można używać słowa data, bo jest zarezerwowane

    To raczej nie STC ale narzędzia do kompilacji oraz ich dostosowanie do specyficznej architektury pochodzącej z 8051.
    Warto też zrozumieć działanie układu - to kd155id jest podłączony do rejestru przesuwnego 74hc595 a nie odwrotnie i to z oszczędności wyjść procesora wynika stosowanie rejestru przesuwnego - na dwie cyfry potrzebujesz 8 wyjść a tak tylko 3 do sterowania rejestrem.
    pohybel21 napisał:
    Bitowa operacja XOR z 0xF jest używana do odwrócenia bitów, ponieważ K155ID1 działa ze wspólną katodą, co oznacza, że poziomy logiczne są odwrócone.

    To jest jakaś bzdura. Co ma odwróconą logikę? Sygnały sterujące lampą? Jaki masz na nie wpływ? Ten układ aktywuje jeden sygnał do lampy na podstawie kodub4 bitowego na wejściu i ten kod ni jest zanegowany a ja zanegujesz kod liczby 7 to dostaniesz 8, jak 3 to dostaniesz 0xC czyli dziesiętnie 12 więcz układ nie aktywuje wyjścia na lampę.
    Jeżeli chodzi o cytowanie programu to proszę używa odpowiednich funkcji edytora bo inaczej giną wszystkie wcięcia i spada czytelność kodu.
    Funkcję sterujące rejestrem przesuwnym są błędne albo żle użyte. Funkcje transmitują cały bajt (8 bitów) a Ty podajesz poszczególne cyfry czyli 4 bity. Albo poskładaj w bajcie obie cyfry razem i zawołaj tylko raz funkcję dla każdej pary cyfr, albo zmień funkcję i przesuwaj tylko 4 młodsze bity.
  • #8 21135183
    pohybel21
    Poziom 2  
    Uprzejmie panu dziękuję za poświęcenie uwagi i pochylenie się nad tematem w zupełności się z panem zgadzam, jeżeli chodzi o sztuczną inteligencje to po czasie staje się bardzo irytująca, bo kiedy zada się jej pytanie, czy jest pewna danej części kodu ona, jakby ze strachu stwierdza, że jednak powinno być inaczej bez większej analizy, a używałem wielu modeli ponadto lubi pozamieniać piny, czy dodać coś ogólnie jeszcze trochę czasu minie, zanim stanie się zaufanym narzędziem w międzyczasie stworzyłam kilka krótszych i jak najbardziej okrojonych kodów udało mi się sprawić by wystawiać już każda cyfrę, ale nadal nie mogę sprawić by jeden rejestr poprawnie przesyłał dane do dwóch sterowników nie mam na razie siły już na to za rozwiązanie zagadki i stworzenie kody testowego, który wyświetli poprawnie liczby na każdym z 4 wyświetlaczy oferuje 400 zł.
  • #9 21137171
    pohybel21
    Poziom 2  
    Wziąłem sobie Pana słowa do serca i udało mi się zrobić program do testu wyświetlaczy. Na początku był problem z kolejnością, ale udało mi się ustawić kolejność. Dodatkowo brakowało liczb 3, 5, 7, więc leciałem po kolei od 0x00 do 0x0E i znalazłem brakujące cyfry. Jeżeli chodzi o rejestr, to temat rozwiązany, ale dalej pozostaje reszta programu. Jeszcze raz dziękuję Panu, Panie Stachu_l.
REKLAMA