Skocz do zawartości

marek1707

Użytkownicy
  • Zawartość

    5364
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    435

marek1707 wygrał w ostatnim dniu 12 stycznia

marek1707 ma najbardziej lubianą zawartość!

Reputacja

1410 Mistrz

O marek1707

  • Ranga
    9/10
  • Urodziny 17.07.1966

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    WAW
  • Zainteresowania
    modelarstwo, elektronika, rower
  • Zawód
    elektronik

Ostatnio na profilu byli

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

  1. marek1707

    Perimetr - sprawdzenie wzoru PCB

    Schemat - zarówno nadajnika jak i dobiornika jest tak głupi, że nawet nie chce mi się na płytkę zaglądać i szukać tam jakichś błędów, bo te leżą już u podstaw tego układu. Uśmiechnięty pan ze zdjęcia w tytule może i zna się na sprzedawaniu produktów swojej firmy, ale elektronik to z niego jak z koziej dupy trąba. Aż strach pomyśleć, że pozostałe kity tej marki są podobnie projektowane, uruchamiane i testowane.
  2. O, świetnie, to już są jakieś konkrety. Pudełeczko na pewno będzie ładne i w ogóle, ale od razu powiem, że nie będzie to czytelne. Popatrz, tych 7 segmentów musi ułożyć się w mózgu w cyfrę. I tak jest ich mało i słabo przypomina to prawdziwe znaki do jakich nasze zmysły są przyzwyczajone - wystarczy spojrzeć na pierwszy lepszy krój pisma lub odręcznie napisaną datę. Prawdziwe cyfry są "wdrukowane" w oczy i rozpoznajemy je bez zastanawiania co to za zestaw plamek. A Twój wyświetlacz tak właśnie będzie wyglądał. Jeśli segmenty zrobione są z wąskich kresek, jak w elementach produkowanych fabrycznie: https://www.tme.eu/pl/details/kw1-4003asa/wyswietlacze-led-pojedyncze/lucky-light/ to znacznie poprawia to czytelność. To jest akurat wyświetlacz 100mm wiec podobny do Twojego, ale zauważ, że wokół każdego segmentu (zrobionego z matowego tworzywa podświetlanego aż ośmioma LEDami każdy po to by zachować równomierną jasność całego paska) jest nieprzezroczysty materiał. To zapobiega "rozlewaniu " się światła wokół. U Ciebie każda dioda będzie świeciła jak duży okrąg, bo niby dlaczego światło miało układać się wzdłuż kierunku danego segmentu? No i masz trzy kółka, każde najjaśniejsze w środku (bo plexi jest cienka) i coraz ciemniejsze im dalej od diody, które słabo tworzą (w mózgu) podłużny segment. To na pewno da się przeczytać, ale moim zdaniem wygląda kiepsko. Jeśli chcesz wejść w mleczną maskownicę koniecznie musisz paski tego materiału otoczyć czymś nieprzezroczystym, np. sklejką lub czarnym/szarym plexi. Od biedy można oddzielić nawet wsuniętym między segmenty czarnym kartonem. Każdy segment musi mieć wyraźną granicę za którą światło nie wychodzi. Obecnie skrajna LEDa jednego segmentu będzie z powodzeniem podświetlała także początek sąsiedniego segmentu. To będzie bardzo przeszkadzało w nocy, kiedy to "zasięg" każdej plamy będzie spory. Tu masz przykład takiej konstrukcji, zwróć uwagę na ściany oddzielające segmenty - to jest kluczowe dla efektu: https://www.sparkfun.com/products/8530 A tak to wygląda (beznadziejnie, prawda?) gdy dasz za mało diodek i słabe rozpraszanie/wyrównywanie jasności: https://hackaday.com/2013/12/03/fabricate-your-own-7-segment-displays/ Tak więc albo osobno wycinane i odseparowane segmenty albo segmenty z dużej liczby małych diodek widocznych jako kropki układające się w kreskę, ale wtedy już bez maskownicy albo z bardzo cienką, prawie nie rozpraszającą: https://www.elektronika.ba/698/spi-interfaced-large-7-seg-led-display/ https://www.instructables.com/id/Build-a-huge-7-segments-8-digits-red-LED-display/ Dobra, a teraz sprawa elektroniki. Oczywiście możesz podłączyć do każdego rejestru wzmacniacz prądu, choćby zwykły tranzystor albo tani driver typu 2803: https://www.tme.eu/pl/details/uln2803a/drivery-uklady-scalone/st-microelectronics/ Tak się też robi, choć sporo to komplikuje drutologię całości. W przypadku diodek WS2811/12 komunikacja idzie po jednym drucie. Wysyłasz długi ciąg impulsów z czego pierwsza diodka w szeregu "łyka" pierwszych 24 a resztę przepuszcza dalej. Następna robi to samo i każda kolejna także. Mając np. 3 diodki w segmencie i 28 segmentów, wstawiasz w łańcuch 84 takie diodki plus dwie na dwukropek, w sumie 86. Wysyłasz zatem z procesora 86 x 24 = 2064 impulsów a każdy "pakiet" 24 kolejno po sobie następujących trafia to kolejnej diodki. Ponieważ impulsy sa krótkie (ok. 1.2us) to całość transmisji zajmuje programowi poniżej 2.5ms - szybciej niż mrugniesz okiem. Szczegółami się nie zajmujesz, dołączasz gotową biliotekę, ustawiasz kolor i jasność każdego punktu w specjalnej tablicy w pamięci RAM i wołasz funkcję "No to teraz to pokaż" i z głowy. Do czasu wysłania następnego strumienia danych (np. za minutę) diodki świecą w zadany sposób. Proste, nie? Dobudowując czujnik oświetlenia, przed wysłaniem danych do diodek ustawiasz ich jasność wg aktualnych wskazań czujnika i masz za darmo przygasanie w nocy i rozjaśnianie w słoneczny dzień Tu masz przykład czegoś takiego, drutologia jest powalająco prosta: https://all3dp.com/weekend-project-3d-print-a-sleek-7-segment-led-clock/ Niestety jedna diodka na segment oznacza konieczność bardzo grubego/wysokiego, matowego klocka rozpraszającego by wyrównać jasność od czoła. Tutaj plexi 2mm się nie sprawdzi. Jeśli wyświetlacz miałby być cienki, musi być dużo punktów na segment. Jeśli może być gruby, można dać po jednej diodce inteligentnej (są dość jasne) na segment i wycinać klocki z 2-3cm plexi, ale moim zdaniem to bieda-rozwiązanie. No i nie masz jednak wtedy zapasu jasności.
  3. No i... ? Jakieś wnioski z tego co napisałem o prądach? Ile tego będzie na segment/kolor? Ile w sumie? Masz jakieś liczby? Co myślisz o diodach z wbudowanym sterownikiem, np. WS2811/12? Nie są wiele droższe niż typowe RGB chyba że kupisz jakieś badziewie. Fajne to czy bez sensu? A jeśli, już to dlaczego? Oglądałeś schematy innych wyświetlaczy? Jak tam zrobiono sterowanie segmentami a jak anodami? Jak chcesz połączyć 3 diody ze wspólną anodą w jednym segmencie? Zamiast słabiutkich rejestrów HC możesz użyć specjalnie do tego przeznaczonych układów serii SCT2xxx. Niektóre mają po 8, a jest parę takich po 16 wyjść. Mają regulowaną jednym opornikiem wydajność prądową, są łączone szeregowo do szyny SPI, nie wymagają oporników ograniczających prąd segmentów: https://www.tme.eu/pl/katalog/#search=sct&s_field=accuracy&s_order=DESC&id_category=100283&page=1 Pytałem właśnie o to jak chcesz zrobić segment. Już wiemy, że mają być 3 diody i "powiedzmy" plexi. Jeśli chcesz widzieć to w dzień z dobrym kontrastem od reszty, potrzebujesz sporej jasności. Pojedyncza dioda, nawet taka dobra RGB może mieć i 1000mcd, ale wtedy świeci w wąskim kącie np. 30 stopni, jest przezroczysta i w sumie mała. Wtedy jest łatwo być jasnym. Wszystkie matowe LEDy mają już sporo mniej a przecież Twój segment będzie miał powierzchnię pewnie z 20 razy większa niż te trzy diodki jakie w niego wepchniesz. To oznacza 20 razy mniejszą jasność i z 3x200mcd robi się 30 a to już słaby wynik. Wbrew pozorom duże rzeczy widoczne dobrze świetle dnia muszą być zaskakująco jasne i są prądożerne. Walczysz ze Słońcem, które bez problemu rzuca nam w południe 1000W/m2 - tym mało co może wygrać. Dlatego tak ważne jest ukrywanie wyświetlaczy pod dachem. W pokoju, w dziennym świetle rozproszonym warunki mogą być 10 razy lepsze. Z kolei w nocy to samo sterowanie będzie za jasne, koniecznie musisz z robić regulację średniego prądu LEDów np. przez zmianę wypełnienia. No i spróbuj być bardziej komunikatywny. To nie mi zależy na zrobieniu tego wyświetlacza. Napisz dokładnie jakiej pomocy potrzebujesz, o rzecz nie jest trudan, ale trzeba się do tego dobrze przygotować. Inaczej narobisz się bez sensu a wynik będzie taki sobie. Dlaczego to ma być RGB? Jak widzisz to znacznie komplikuje konstrukcję (chyba że pójdziesz w diody "inteligentne"). Robisz jedną sztukę i nie wiesz jaki kolor Ci się podoba?
  4. Moim zdaniem zabierasz się do tego od d.. drugiej strony. Zacznij od zaplanowania struktury segmentu. W jakich warunkach chcesz tego używać? Czy będzie to jasno oświetlona ściana czy pokój raczej w cieniu i tylko lampa na suficie? A może wieszasz to na zewnątrz? W Słońcu? Od tego przecież zależy jasność jaką musisz uzyskać a od niej zależy cała reszta elektroniki. Rozważ użycie diod z wbudowanymi sterownikami - są do nich biblioteki, na małe Nano także. Do wszystkich diodek podłączasz GND i 5V a jeden drut wychodzący z procesora idzie przez wszystkie. Masz dowolną liczbę punktów świecących a kolor każdego zadajesz 24-biową liczbą więc w zasadzie może być dowolny. A jeśli pozostajesz przy diodach RGB to zobacz jakie są dostępne w Twojej kategorii cenowej (i czy THT czy SMD) i ile punktów musisz umieścić w każdym segmencie by te paski ładnie świeciły. Jeśli segment będzie miał 4cm a zrobisz jedną diodkę na środku, to całość będzie żałosna bo i ciemno i jasność będzie największa na środku. To samo dotyczy oczywiście diod inteligentnych o których wspomniałem wcześniej, ale tam nie boli tak zwiększanie ich liczby, bo to nadal jest jedno wyjście procesora. Pamięci RAM tylko więcej potrzeba: 3 bajty na każdą diodę. A jak już wybierzesz liczbę diod i ich typ to wtedy popatrz na prądy których potrzebują do jasności jakiej oczekujesz. Rejestry HC595 mają nikłą wydajność, kilka mA to szczyt ich możliwości. To się nadaje do statycznego świecenia jedną diodką z jednego wyjścia lub zrobieniem zabawkowej kostki LED widocznej w ciemności. Multipleksowanie wymaga dużych prądów także z powodu ich "przerywania". Jeśli dajmy na to zdecydujesz się na dwie zwykłe diody RGB w segmencie to masz 6 struktur po 10-20mA każda, co daje 60-120mA na segment gdy zechcesz zapalić to na biało. A to tylko statycznie, tu masz multipleks 1:4 więc to 2-3 razy więcej prądu. Jak to się ma do 5mA z wyjścia układu serii 74HC? Zamiast marnować czas na rysowanie obrazków zacznij liczyć i myśleć. BTW: Łańcuch rejestrów przesuwających - jakkolwiek długi - podłączasz do procka 3 drutami i nie potrzebujesz więcej pinów. To jak zrobisz połączenia między rejestrami a diodami zupełnie nie ma znaczenia oprócz tego, że w wyprowadzeniach segmentów wyświetlacza muszą znaleźć się rezystory stabilizujące prąd diod a wspólne anody (lub katody) musisz sterować przez tranzystory - tam prądy będą jeszcze większe, bo to będą sumy z całej jednej cyfry wyświetlacza. Nie wiem, może poszukaj schematów podobnych samorobnych wyświetlaczy i zastanów się dlaczego ludzie robią to tak jak robią a nie tak naiwnie jak rysujesz. Przez ekspander I2C nie podłączysz czujników na szynie 1-wire (np. DS18B20), to nie jest do tego więc nie zmyślaj tylko skup się na tym co na tę chwilę ważne: na odpowiedziach na pytania które zadałem. Przemyśl sobie jak to ma wyglądać, z czego to zrobisz (jakieś szybki na segmenty? coś matowego?), ile i jakich diod chcesz użyć.I zapoznaj się z tym: https://www.tme.eu/pl/Document/6ea29838e05beac06400c47a846319d2/WS2812D-F5.pdf https://learn.adafruit.com/adafruit-neopixel-uberguide/the-magic-of-neopixels
  5. No to obejrzyj dokładnie miejsce mocowania i rzecz, którą czujnik wykrywa. Czasem wystarczy przykręcić go głębiej - przecież gwinty są długie, a czasem blaszkę wygiąć - tę co jest "celem". Tylko w bardzo wrednych sytuacjach ważne jest to ekranowanie (lub nie) czoła, gdy np. czujnik zagłębia się w jakiś otwór albo blisko z boku jest jakiś metal którego nie chcemy widzieć. Te dwa ostatnie są właśnie 2-przewodowe.
  6. Normalne, 3-kabelkowe pnp/NC (PCID-4RP) mają w TME: https://www.tme.eu/pl/katalog/czujniki-indukcyjne-walcowe-dc_100065/ Odfiltruj po nazwie to znajdziesz. Jeśli potrzebujesz naprawdę 2-przewodowego to nie może tak się nazywać. Czy chodziło Ci o to, że ma wykrywać tak samo jak ten przykładowy PCID, ale zamiast trzech, dwa kabelki? Mają też dwuprzewodowe M12 czyli takiej samej średnicy jak te PCIDy, ale nie mają odkrytego czoła więc zasięg inny: https://www.tme.eu/pl/details/gx-m12b-u-z/czujniki-indukcyjne-walcowe-dc/panasonic/ https://www.tme.eu/pl/details/gx-m12b-u/czujniki-indukcyjne-walcowe-dc/panasonic/
  7. marek1707

    Blue Pill jako czujnik HRV

    Interesujące. W mojej "sportowej" karierze zajechałem dwa pulsometry i nigdy nie zastanawiałem się głębiej nad rytmem serca. Mam przed gwizdkiem startowym 100 to mam, mam na sprintach lub podjazdach 180 (no, stary już jestem..) to też OK a tu się okazuje, że pomiędzy kolejnymi uderzeniami tyle ciekawych rzeczy się dzieje. Wow. I o ile pulsometrowi wystarczy, że zaliczy uderzenie i dołączy do średniej z kilku(nastu?) ostatnich sekund to tutaj wręcz kluczowe wydaje się precyzyjne określanie punktu w czasie. Napisz może o tym coś więcej, bo to najbardziej smakowita część zadania, reszta to jakieś transmisje i wykresy. Nie oczekuję kodu, ale byłoby fajnie dowiedzieć się w prostych żołnierskich słowach jakich metod (DSP?) użyłeś by jednoznacznie i zawsze w tym samej fazie cyklu wykrywać bit. Możemy na to liczyć? Czy to zwykłe oczekiwanie na zmianę znaku pochodnej przy jednoczesnej dużej amplitudzie (poszukiwanie szczytu), momenty przejścia przez zero? A może zrobiłeś jakieś cyfrowe PLL i określasz przesunięcie fazy? BTW: Czy masz jakieś wykształcenie medyczne lub planujesz je mieć? Co Cię zainspirowało do zajęcia się pomiarami HVR? Jakaś literatura? Czy wyniki o których piszesz: synchronizacja z oddechem i sterowanie wielkością koherencji - są to tylko Twoje doświadczenia, czy robiłeś jakieś dłuższe eksperymenty (niekoniecznie na sobie) i czy wyniki ich są powtarzalne? Myślę tu głównie o tym uspakajaniu się, ew. wspomaganym sprzężeniem zwrotnym od pomiaru HVR. To moim zdaniem bardzo fajne spostrzeżenia. Czy takie urządzenia są stosowane w jakichś terapiach? Czy są dostępne handlowo? No, dużo pytań, ale i temat ciekawy, dla mnie zupełnie nowy a jednocześnie jak podkoszulka - bliski ciała Moim zdaniem natlenienie jest w tym temacie sprawą trzeciorzędną. Druga dioda jest, bo czujnik zaprojektowano pod pulsometry a w wysiłku i późniejszym odpoczynku tlen jest ważny i pewnie można z tego wyciagać jakies wnioski dotyczące odległości danej mocy od progu mleczanowego. Tutaj chyba nie ma nic do rzeczy - uważam, choć oczywiście kompletnie się na tym nie znam. Czyli jak zwykle.
  8. marek1707

    DCE 812 (8-bitowy mikroprocesor własnej roboty)

    Hm, to pewnie nie jest miejsce na taką dyskusję - w końcu to wątek o Twoim komputerze DCE, ale chyba powinieneś poczytać coś o językach programowania bo mam wrażenie, że mylisz dwie zupełnie odrębne rzeczy. Asemblery to języki programowania w których jedna linia programu źródłowego przekłada się na jedną instrukcję procesora (dla purystów: dla prostoty nie myślę tu o makroasemblerach). Po prostu zamiast wpisywać binarne kody operacyjne korzystamy z tablicy mnemoników i pewnych dodatkowych zasad (np. dot. dozwolonych argumentów danej instrukcji) wbudowanych w program tłumaczący. Natomiast języki wysokiego poziomu, takie jak C, tak nie działają. Nie ma tam bezpośredniego odniesienia programu źródłowego do instrukcji procesora i nie możesz - nie budując kompilatora - zrobić tłumaczenia metodą "wywoływania pod programów". Przykładowo jedna instrukcja w C, np. switch może zamienić się na wieledziesiąt rozkazów procesora rozstrzelonych między inne rozkazy, wykonujące inne linie programu.To samo z pętlami: w jednym miejscu trzeba je zacząć, w innym skończyć a po drodze będzie wiele instrukcji wykonujących to w co w pętli zawarłeś. Do tego dochodzi gospodarka rejestrami i pamięcią, zmienne na stosie, analiza wyrażeń arytmetycznych, system typów i ich konwersji, jakaś spójna konwencja przekazywania argumentów do funkcji i odbierania z nich wyników itd.. Kompilator musi rozumieć strukturę całego programu i nie może patrzeć tylko na tę jedną linię kodu źródłowego jak asembler - to są zupełnie różne światy. W sposób w jaki opisałeś możesz natomiast zrobić interpreter, choć akurat C słabo się do tego nadaje. Wcześniej zaś - żeby w ogóle zacząć pisać programy dla nowego procesora - możesz skorzystać z gotowych asemblerów skrośnych sterowanych tablicami, które to tablice po stworzeniu (to są pliki tekstowe) opisują mnemoniki instrukcji Twojego procesora, ich argumenty itd. Piszesz wtedy kod jakbyś pisał dla Z80 czy 6502 tylko z wymyślonymi przez siebie instrukcjami, używasz etykiet, wyrażeń arytmetycznych w polach argumentów i tego wszystkiego do czego przywykliśmy w językach asemblera i dostajesz poprawny kod binarny wprost dla Twojego procesora.
  9. marek1707

    DCE 812 (8-bitowy mikroprocesor własnej roboty)

    Dzięki. Jescze jedno pytanie: zaintrygowałeś mnie tą konwersją z C++ na instrukcje tego procesora. Czy mógłbyś to rozwinąć, a konkretnie: czy zajmowałeś się przy okazji tego tematu kompilatorami i automatyczną generacją kodu wynikowego, czy dopasowałeś do binariów tej kontrukcji któryś z dostępnych np. meta-asemblerów albo czy masz na myśli tłumaczenie przy użyciu.. kartki i ołówka? No i napisz przy jakiejś okazji co tam w FPGA wydłubałeś albo chcociaż czy przewidziałeś skoki warunkowe I jak - jeśli robisz zupełnie własny procesor - zamierzasz go programować inaczej niż wpisując HEXy do RAMu.
  10. marek1707

    Symulacja działania przerzutnika bistabilnego

    Najprościej jest oczywiście zachwiać symetrię układu chocby przez lekką zmianę pojemności kondensatorów, ale to nie zawsze pomoże, bo wiele zależy od specyfiki pracy symulatora. W szczególności problem polega na tym jak taki program startuje symulację, tzn. jak ustala jej warunki początkowe. Jeśli np. zakłada, że ładunek każdego kondensatora (a więc i jego napięcie) jest zerowy a potem podłącza żródła napięć, które narastają ze skończoną prędkością to zmiana pojemności pomoże, bo dokładnie tak samo startuje układ rzeczywisty. Prędkości narastania napięc w obu połówkach będą różne i układ "zapadnie" się do jednego ze stanów. Może być też tak, że symulator ustala warunki początkowe na podstawie rozpływu prądów DC w stanie statycznym bez żadnych pojemności (rozwarcia) i indukcyjności (te zastępuje zwarciami). Wtedy niezależnie jakie będa kondensatory start będzie symetryczny czyli nieudany. Najlepiej gdybyś miał możliwość zadawania wielkości napięć w poszczególnych węzłach. W typowym SPICE jest to instrukcja .IC (Initial Condition). Wtedy mógłbyś zacząć od jedengo kondensatora naładowanego a drugiego nie lub po prostu od innych napięć na nich. Sprawdź jak wyglądają napięcia na kondensatorach w jednym ze stanów tego przerzutnika i dowiedz się czy możesz w ogóle zadać warunki początkowe w tym programie. W ten sposób sztucznie wymusisz jeden ze stanów z którego układ wydobędzie się poprawnie i przerzuci do przeciwnego. Układy tego typu (symetryczne, gdzie pętla sprzężenia zwrotnego DC jest przerwana w dwóch miejscach) sprawiają kłopoty także w rzeczywistości i dlatego jako generatory astabilne raczej nie są używane. Żaden konstruktor nie zdecyduje się na użycie czegoś, co ma dużą szansę niezadziałania wbudowaną w samą topologię układu. Z jakiegoś powodu w zabawkowych konstrukcjach ten schemat jest popularny i o dziwo został użyty także w kursie. Jeśli chcesz mieć zawsze startujący i poprawnie działający w każdych warunkach generator RC to bierzesz schemat choćby z przerzutnikiem Schmitta, któremu zamykasz pętlę obwodem RC. Coś takiego możesz zrobić także na dwóch tranzystorach, na wzmacniaczu operacyjnym, na komparatorze napięcia itd, w sumie na dowolnym bloku z histerezą. Troszkę bardziej rozbudowany układ (ale za to dający większe możliwości konfiguracji) w sumie sprowadzający się także do członu z histerezą i ukłądu RC masz w 555. Jeśli nie zrobisz czegoś głupiego w wartościach elementów i poprawnie zmontujesz, to startuje zawsze z definicji. Podobnym przykładem może być bramka 74HC14 czyli inwerter z wejściem Schmitta zamknięta prostym RC - także działa bez pudła. No a dwutranzystorowy przerzutnik Schmitta do zrobienia "na piechotę" na płytce stykowej (lub w symulatorze ) znajdziesz w literaturze bez problemu.
  11. marek1707

    DCE 812 (8-bitowy mikroprocesor własnej roboty)

    Takie układy muszą być z konieczności proste, bo dodanie każdej kolejnej funkcjonalności to przyrost scalaków, miejsca na płytce i liczby połączeń, ale nie wiem czy tu nie posunąłeś się za daleko w tej prostocie. Oczywiście jest to duża praca i chwała za zaprojektowanie układu umiejącego pobierać i wykonywać instrukcje. Mam jednak wątpliwość dotyczącą założeń, może mógłbyś to wyjaśnić. Skoro jest to już Twój trzeci projekt to na pewno już widzisz istotne wady braku możliwości podejmowania przez program jakiejkolwiek decyzji. Twój procesor nie ma ani jednego skoku warunkowego lub choćby warunkowego rozkazu "Pomiń (wykonaj jako NOP) następną instrukcję" co powoduje, że cały przebieg pracy musi być liniowy aż do napotkania kodu 1000 lub końca pamięci i restartu od początku. Jak w takiej sytuacji możesz obsłużyć jakiekolwiek I/O gdzie musisz poczekać na dane, jak chcesz wykonać najprostszą pętlę czy rozgałęzienie. A przecież są to podstawowe bloki algorytmów. Czy program liczenia Fibonacciego polagał na powtarzaniu w kodzie wciąż tej samej sekwencji i jeśli wpisałeś ją 7 razy to liczył 7 pierwszych wyrazów? Trochę słabe. Czy nie myślałeś by nawet kosztem niektórych instrukcji zrobić jednak logikę skoków a już na pewno testowania jakiegoś warunku? Niechby to było A=0, cokolwiek. Jak rozumiem ROM w organizacji 16-bitowej służy wprost do generowania sygnałów sterujących poszczególne bloki, ale 2K RAMu w momencie gdy wpisujesz to ręcznie z przełączników (a może inaczej?) i w zasadzie nie możesz zrobić żadnego sensownego programu, wydaje się sporym nadmiarem. Choć pewnie trudno dziś kupić mniejszą kostkę. To nie są zarzuty, chciałbym tylko zrozumieć założenia jakimi się kierowałeś i czy masz zakusy na kolejną, jeszcze lepszą konstrukcję? Bo taki procesor może dać niesamowitą frajdę z puszczenia na nim np. pierwszej gry (a niechby i losowania kostki 6-ściennej) lub rozbudowania systemu przez podłączanie jakichś peryferiów - ale musi to umożliwiać.. Przejście na FPGA to już zupełnie inna dziedzina. Tam zrobienie własnego procesora CISC z pełną listą instrukcji, systemem przerwań, kolejką dekodowania i wykonywania, predykcją skoków a nawet spekulatrywnym wykonywaniem kodu zależy tylko od ilości czasu spędzonego przed ekranem i nie wygląda tak fajnie A moim osobistym zdaniem nie daje takiej radochy jak 100 TTLi robiących procesor grający z Tobą w kólko i krzyżyk. BTW: Czy słyszałeś kiedyś o kostce MC14500B? To proste CPU (1-bitowy arytmometr, 4-bitowy kod instrukcji) przeznaczone w zamyśle do programowej realizacji sterowników przemysłowych budowanych w innym przypadku ze "sprzętowej" logiki cyfrowej, które trzeba obudować wieloma scalakami by dało się użyć - ale nawet to ma instrukcję warunkową i skok (który trzeba sprzętowo zrobić samemu, ale taka instrukcja jest dekodowana i sygnalizowana przez 14500): https://en.wikipedia.org/wiki/Motorola_MC14500B http://old-computers.com/museum/computer.asp?st=1&c=834 http://www.brouhaha.com/~eric/retrocomputing/motorola/mc14500b/mc14500b_icu_handbook.pdf W swoim czasie było do tego produkowanych kilka egzotycznych scalaków typu licznik instrukcji czy nawet (o ile pamiętam) sprzętowy stos(!) wywołań i powrotów z podprogramów co znakomicie ułatwiało budowę sterowników, ale nawet z prostych TTLi można dziś na tym zbudować już sensownie działający komputerek. Pomyśl o tym
  12. Aspekt dydaktyczny by zachodził gdyby to była pierwsza Twoja praca tego typu. No chyba, że kiedyś tylko zbierałeś scalaki a dopiero teraz ich używasz. Nie sądzę, by tak było. CEMI robiło też pamięci statyczne, łatwo do 8080 podłączalne. Na pewno intelowskie 2101 czyli 1Kx1bit i próbowało 2114 czyli 1Kx4 bity. No ale wtedy moduł pamięci RAM 32Kx8 byłby wielkości akwarium. Da się, ale to już chyba przegięcie. Na 16 sztukach 2114 był zrobiony mój pierwszy komputer na 8080. Żadną grą nigdy nie zapełniłem tych 8K.. Ja wiele rzeczy napisałem dzięki CROSS-16. To asembler sterowany tablicami więc jeden program służył do tłumaczenia programów na 6502, 8048, 8080, Z80, 68000 itd.Pracował pod DOSem. Z powodu uniwersalności, jego dyrektywy i niektóre postaci argumentów niestety nie były identyczne ze składnią oryginalnych asemblerów poszczególnych procesorów - trzeba się było przyzwyczaić Za to był szybki i generował parę formatów wyjściowych.. No to na 8272 się namęczysz. Tam trzeba robić separator zegara/danych (czyli najsmakowitszą rzecz w kontrolerze FDD) na piechotę. Spróbuj na scalakach WD, one miały separator dla różnych prędkości już wbudowany. A chyba też są wystarczająco stare :) Wiesz, tryby tekstowe istniały tylko dlatego, że brakowało RAMu i był drogi. Skoro już tutaj zdecydowałeś się na kostki po 32K to przecież schemat karty w pełni graficznej jest prostszy niż znakowej, odpada generator znaków, ewentualne zarządzanie atrybutami koloru tła/znaku itp.Tylko że przez porty I/O na 8080 to wolne będzie :( Moja pierwsza maszyna miała czarno-biały ekran 32 znaki w 16 liniach na jednej kostce 1024x4 i polskim generatorze MCY7304 :) Powodzenia w dalszej zabawie.
  13. @lukaszd82 Ależ ja Ci niczego nie zarzucam. Abstrahuję od pochodzenia oprogramowania i tego co można a czego nie można na nim zrobić. Piszę tylko o czujniku z którym mam jakieś doświadczenia i chcę porównać je z Twoimi. Akurat używasz tego samego więc wydała mi się fajna możliwość wymiany doświadczeń. Zrobiłeś kawał roboty. A mówimy tu o szansie poprawienia wyników przez usuwanie szumu, co na pewno poprawiłoby wiarygodność. I tak to popularne pudełeczko jest średnio oceniane przez specjalistów z branży, głównie z powodu de facto słabej rozróżnialności wielkości pyłów. W zasadzie wyniki dla 2.5 wyglądają jak przemnożone przez jakiś (w miarę) stały współczynnik względem tych PM10 i tak samo jeśli chodzi o stosunek 1.0 do 2.5. Ja u siebie widzę bardzo wyraźną korelację między tymi trzema liczbami a przecież nie powinno tak być, bo zapylenie zawsze tak nie wygląda. Inaczej nie trzeba by było odróżniać tylko mierzyć jedną wielkość. Widziałem wyniki badań kilku innych podobnych czujników i wszędzie jest w zasadzie to samo. Metoda z laserem jest słaba. To jedno. A drugie to zawsze powinniśmy dawać sobie szansę poprawienia naszych urządzeń. I tak jako amatorzy jesteśmy skazani na takie chińskie konstrukcje których działanie jest tajemnicze i w zasadzie można tylko wierzyć albo nie producentowi, że w ogóle ma tę komorę do kalibracji pyłem i że przepuszcza przez nią chociaż co któryś czujnik. Tutaj koszt wprowadzenia uśredniania jest żaden więc wydaje się, że to dobry pomysł. Oczywiście pomiar ten i tak jest orientacyjny przez samą jego zasadę - tak samo światło lasera odbijają prawdziwe pyły zawieszone jak i kropelki mgły/wody czy odparowanego tłuszczu a my (ja i Ty) być może różnimy się jedynie oceną dopuszczalnego szumu. U mnie wykresy robią się płynne gdy zaczynam uśredniać z kilku ostatnich minut a na szczęście wciąż widać na nich wydarzenia typu "sąsiad na balkonie". Co minutę (lub dwie - zależy która stacja) odpalam czujnik na 10 sekund, biorę 6-8 ostatnich pomiarów, uśredniam je i go wyłączam. Bez takiej obróbki miałem na wykresach zęby i oczywiście widać było trendy wzrostowe lub opadające i jakiś poziom średni, ale kreślona krzywa była gruba i zaszumiona a moja estetyka cierpiała. Być może u Ciebie jest inaczej, bo inne środowisko, inna partia czujników albo inaczej postrzegasz "skoki". To także dla mnie ciekawe spostrzeżenia. A jeśli chodzi o zapylenie wewn-zewn, to u mnie w mieszkaniu pracuje na okrągło (w trybie auto) filtr powietrza zwany w handlu oczyszczaczem. Muszę się bardzo postarać by w mieszkaniu zrobiło się naprawdę źle i zawsze jest to wynik jakiejś zdecydowanej akcji typu smażenie. Po wywietrzeniu (szkoda drogich filtrów na usuwanie tego maszyną) i po dojściu do stanu równowagi mam zwykle zapylenie jednocyfrowe. Widzę natomiast wyraźną korelację z tym co na zewnątrz. Gdy tam rośnie - a w Wawie jak jest 30 to już jest dobrze, przy 60 zaczynam się niepokoić i rezygnuję z treningów - to w domu też rośnie. Przy wynikach zewnętrznych 80+ mam w domu okolice 20. Mimo szczelnych okien wentylacja grawitacyjna jednak działa, niestety i zapodaje mi "świeże" powietrze z ulicy.. :(
  14. Nie wyciągaj pochopnych wniosków. Ten czujnik stosuje pewną metodę (zliczania optycznego) przez ok. sekundę a stacje GIOŚ robią to inaczej i jeśli robią to zgodnie z obowiązującymi normami (a muszą), to sam pomiar jest "uśrednianiem" bo trwa właśnie te pół godziny czy ile tam trzeba. Jedyną oficjalnie dopuszczoną u nas metodą jest właśnie przepuszczanie powietrza przez filtr a potem badanie zmiany jego ciężaru. To nie jest przypadek, że stacje GIOŚ tak rzadko oddają wyniki - to jest wbudowane w ich sposób pracy. Chiński czujnik przy tym to zabawka a jego pomiary są obarczone dużymi rozrzutami wynikającymi z samej metody pomiaru. Nie możesz tego porównywać do tego co robi duża stacja. To tak jakbyś chciał oceniać pracę przetwornika A/C typu SAR i takiego z podwójnym całkowaniem. Żeby osiągnąć takie samo wygładzanie szybkich zakłóceń jakie ten drugi robi z definicji w pojedynczym pomiarze, musisz uśrednić wiele wyników tego pierwszego. Z resztą co tu dużo gadać, odbierz i zrób sobie wykres i/lub jakaś statystykę tego co otrzymujesz z PM5003 sekunda po sekundzie i pomyśl jak bardzo możesz się pomylić wybierając jako półgodzinny wynik tylko jedną, przypadkową ramkę danych.
  15. @SOYER Tak, spolszczone strony niektórych zachodnich sklepów wołają o pomstę do nieba. Tutaj to co prawda (mam nadzieję) literówka, ale czasem długo muszę się zastanawiać co było w oryginale napisane żeby zrozumieć co mi oferują. Pierwszy z brzegu przykład znaleziony w 30 sekund: https://pl.farnell.com/silicon-labs/si5351a-b04486-gt/clock-generator-w-vcxo-200mhz/dp/2577259?MER=bn_browse_1TP_MostPopular_4 Taaa.. Mamy tu "generator sygnału zegara I2C" co jest oczywistą bzdurą a dalej "bufory fanout w zastosowaniach ekonomicznych". Wiem co to są bufory zwiększające fanout wyjścia, ale te zastosowania ekonomiczne? Na pewno chodzi o pracę w PKO lub co gorsza KNF.. Czujniki mam z jakiegoś dużego projektu, który nie wypalił. Tam cena nie grała roli a z resztą jeśli chcesz mieć prawdziwą zawartość CO2 to jedyna sensowna metoda polega na pomiarze pochłaniania pewnej długości fali na bazie/odcinku pomiarowym a więc odpowiednia dioda IR, filtry optyczne i fotodioda czuła akurat na prążek absorbcyjny tego gazu. To nie są tanie rzeczy, nie każdy czujnik to "Czujnik dźwięków do Arduino, 2.50 PLN". Wersje które mam nie są już produkowane, obecnie promowany jest model EE894, oprócz CO2 mierzący także temperaturę, ciśnienie i wilgotność względną. Nie wiem ile kosztuje. https://www.epluse.com/en/ Z resztą tamte kupowaliśmy od producenta (mają wersje do 2000, 5000 i 10000ppm) i może ze 200/szt. kosztowały, ELFA zawsze była drogim sklepem. @lukaszd82 A sprawdzałeś co jest w kolejnych ramkach? Bo rozrzuty są czasem spore i moim zdaniem nie powinieneś opierać się na jednym komplecie danych. Odczekaj tę minutę (choć wg mnie dane stabilizują się już po 6-10 sekundach, zależy od tego jak zaprojektowałeś kanały powietrza) a potem weź ze 4-8 ramek i je uśrednij. Inaczej skazujesz się przyjęcie przypadkowej fluktuacji jako wynik obowiązujący aż przez pół godziny. W przypadku pomieszczeń to nie sprawdzi się w ogóle (włącz odkurzacz, dobrze potrząśnij kocem/pościelą w pokoju albo usmaż jajecznicę lub jakieś placki na tłuszczu - masakra, masz zmianę 10-> 200 w ciągu 3 minut ) a na zewnątrz poważne zmiany napływają i odpływają także z prędkością pojedynczych minut. Ja na moim wykresie mam kilkuminutowe piki od powiedzmy 20-30 do 50-60 gdy zawieje z balkonu palącego (chyba zwykłego papierosa) sąsiada. Jeśli taki wynik pobierzesz i go zatrzymasz to mina może zrzednąć. Na pewno inaczej jest w rozproszonej zabudowie wiejskiej (ale wcale nie wiem czy lepiej, ta górka opon u sąsiada wygląda złowieszczo i ostatnio jakby maleje..) a inaczej w gęstym mieście. Takie szybkie zmiany nie wpływają na poprawnie liczony współczynnik jakości powietrza, ale fajnie jest wiedzieć (i widzieć na wykresie) co tam w trawie.. dymi?
×