Zobacz sobie krótki opis [url=http://bart-projects.cba.pl/multipl... Zacznij krok po kroku i w 20 minut opanujesz temat. Co prawda tam akurat nie multipleksuję w przerwaniu chociaż tak to właśnie robię najczęściej. Spowodowane to było tym że akurat musiałem pogodzić multipleksowanie sześciu wyświetlaczy z odczytem 1Wire i czasem "naciągałem"...
to są timery. może multitasking za pomocą millis() zda egzamin? Musisz podpiąc się pod przerwania. Sztuczki z millis daruj sobie. Może jakoś to zadziała ale beda sytuacje, w których wyświetlacz będzie niektóre cyfry wyświetlał jaśniej lub ciemniej czy "chwile zwątpienia" jak podczas otwierania menu w Windows gdzy przychodzi e-mail. Nie będe książki...
Czyli to jest zwykly buffor? Program ktory stworzylem i jest w postaci *.hex ladowany jest tylko do uP a po odpaleniu programu dopiero dane urzyte laduja cie do SRAMU? Co to znaczy bufor? Kolega pisał o buforowaniu danych, a nie o wciąganiu programu do tej pamięci. Pamięć zewnętrzna w procesorach ATMEGA jest wyłącznie pamięcią danych i jest przedłużeniem...
http://obrazki.elektroda.pl/6338268400_1... Cześć! Prezentowany tutaj projekt to wielokanałowa lampa RGB wykonana na osiemnaste urodziny kolegi. Pomysł zrodził się podczas przeglądania granic internetu :D, gdzie kolega znalazł prostą lampę zbudowaną z piłeczek pingpongowych. W tym wydaniu każdą z 30 piłeczek wyposażyłem w diodę RGB....
http://obrazki.elektroda.pl/7208083000_1... Witam Od dawna przymierzałem się do zbudowania zegara nixie na sześciu lampach. W internecie jest sporo takich projektów, jednak większość z nich nie odpowiadała moim założeniom. Postanowiłem więc zaprojektować i wykonać zegar od podstaw wykorzystując podzespoły, które miałem pod ręką. Założenia...
https://obrazki.elektroda.pl/8663544600_... We współpracy z TME testujemy i uruchamiamy nowe Integracja Pico2 z Arduino jest bardzo prosta, otwieramy File > Preferences -> Additional Boards Manager URLs i dodajemy url https://github.com/earlephilhower/arduin... https://obrazki.elektroda.pl/1149548700_...
https://obrazki.elektroda.pl/4608942800_... W tym artykule opiszę projekt oraz konstrukcję testera układów FPGA własnego pomysłu, do którego budowy zostałem zmuszony przez Chińczyków, bo w ostatnio zamówionej paczce od nich co trzeci scalak był wadliwy. Tester po wciśnięciu jednego przycisku dogłębnie sprawdzi włożony układ. Będzie...
Witam. Z tabelki na stromie 2 pdf-a wynika, że ten wyświetlacz ma tylko tryb statyczny. Z rozpiski pinów widać, że jest tylko jedna elektroda wspólna "BP" na pinie 1 COL1 ,2,3 to segmenty dwukropków. Rysunek (na stronie 4) z trzema elektrodami wspólnymi jest mylący, bo nie odnosi się do tego wyświetlacza. Przecież każdy segment jest wyprowadzony na...
Jeśli wartość OKRES nic nie zmienia, to masz gdzieś gruby błąd. Prawdopodobnie skrzyżowałaś różne kawałki kodu i wyszło coś, nad czym nie panujesz. W moim kodzie 3 kanały są ciągle mierzone przez ADC, a wartość OKRES reguluje tylko to, jak często czytasz/przetwarzasz te pomiary. Tak to się robi w rzeczywistych zastosowaniach, gdzie zwykle musisz mieć...
Podpatrując inne schematy zauważyłem że w większości każdy segment ma swój rezystor a każdy segment może być obciążany stale 25mA i 100mA przy cyklu -0.1,1KHz. Przyjmę więc 50mA ( będzie dobrze?) rezystor wynosić będzie: I=U/R 0.05=5/R R=5/0.05 R=100 Ohm na każdy segment. Tak na marginesie to w tych skomplikowanych obliczeniach jest błąd. Nie jest...
Chciałbym to zrealizować to "poza" STM32, jak wskazałem - wiąże się to z chęcią odświeżenia trochę wiedzy z zakresu elektroniki (po długim czasie przerwy). Jeżeli moja koncepcja się powiedzie, wówczas będę myślał o dalszym rozwoju projektu np. wyświetlacz, wyniki w chmurze, pomiar z 3 faz, obliczenia mocowe, THD. Dodatkowo posiadam już część elementów...
Nie bardzo chcę stosować 9V w tym projekcie, dlatego pewnie zamienię te wyświetlacze na mniejsze, zawierające tylko jedną diodę w segmencie. Wtedy powinny już świecić prawidłowo z takim układem jaki przedstawiłem? W ogóle cały układ miał być zasilany 4x aku AA, czyli 4,8V. Ale teraz zaczynam się zastanawiać jak długo takie akumulatorki będą w stanie...
Wiadomo, że robi się to tak, że jasność zależy od częstotliwości odświeżania. To nie do końca tak. Oczywiście częstotliwość będize miała wpływ na jasność, nie nie w ten sposób się jasność reguluje. Do tego celu użyj regulacji czasu włączenia wyświetlacza. Czyli jeśli np. sterujesz je 1000 Hz, to na każdy wyświetlacz masz 1 ms. Jasnością sterujesz przez...
Spróbuj zmniejszyć zegar dla mikrokontrolera w symulatorze, u mnie działało,choć procedury pisałem w assemblerze.
Tak wszystkie 4k nie mają sensu. Przecież nie używasz wyjść typu otwarty kolektor. Procek będzie wystawiał albo zero , albo 5V. Więc te rezystory będą pracować tylko jako obciążenie. Rezystory te miały by sens na wejściach procesora AVR a nie wyjściach. R10 może byc tak jak jest, ale możesz je dać w kolektorze. Różnica jest niewielka.
Jak już to nie : Cyfra1kodu = A * 1000 Cyfra2kodu = B * 100 Cyfra3kodu = C * 10 Cyfra4kodu = D Code = Code + A Code = Code + B Code = Code + C Code = Code + D tylko: Cyfra1kodu = A * 1000 Cyfra2kodu = B * 100 Cyfra3kodu = C * 10 Cyfra4kodu = D Code = Code + Cyfra1kodu Code = Code + Cyfra2kodu Code = Code + Cyfra3kodu Code = Code + Cyfra4kodu
Drogi kolego , popełniłeś szkolny błąd :D W procedurze obsługi przerwania Timer0 masz ... SIGNAL(SIG_OVERFLOW0) //obsługa multipleksowania wyswietlaczy { //extern unsigned char wyswietl[7]; unsigned char licznik;//<-- ********** błąd !!!!!!!!!!! ... zmienną licznik , tyle że jest to zmienna lokalna , czyli istnieje w pamięci...
Witam. Ostatnio zająłem sie multipleksowaniem ledów lecz pojawił się problem iż ledy ledwo co świeciły. Przyczyną na pewno nie jest zbyt mała wydajność zasilania bo moge zaświecić dwa wyświetlacze w tym samym czasie (bez multi) i jasność jest w 100% zadowalająca. Oto mój kod: http://obrazki.elektroda.pl/2492366100_1... Proszę o pomoc...
Tak, SCT tworzą jeden długi rejestr. Anody diod do Vcc. W zależności od typu układu z dużej rodziny SCT sterowanie jednej diody wymaga przesłania jednego lub więcej bitów (np. 8). Układ nie rozpoznaje, który jest - przepychasz długi strumień bitów, a układ reaguje na ostatni ciąg bitów, który do niego dotrze - te wcześniejsze zostają przepchnięte do...
http://obrazki.elektroda.pl/3025550100_1... Mając do dyspozycji jedną matrycę 8x8 czerwonych diod LED o boku 60,2mm oraz mikrokontroler ATtiny861 pozostałe po innych projektach postanowiłem zbudować to, co każdy elektronik chociaż raz w życiu zbudować musi: zegar ;). Ze względu na charakter wyświetlacza miał to być zegar binarny, ale...
Tak na szybko, to masz sytuacje, że w przerwaniu zawsze wykonają się obydwa if-y. Np: jeżli h=1 to wykona się pierwszy if, w którym pod koniec zerujesz h,więc teraz spełniony jest warunek drugiego if-a. Najlepiej zmień drugiego if-a na else. JarekC [syntax=c]ISR(TIMER0_OVF_vect) { // PD7 PD6 // | | PORTC steruje segmentami if(h) // wysw1 wysw2 { //...
Witam Tak powinno wyglądać sterowanie anod LED multipleksowe. http://obrazki.elektroda.net/26_11588536...
Wiem to z doświadczenia. Tranzystor z nasycenia wychodzi 5µs a włącza się w 0,1µs. Można ten problem zlikwidować programowo, co przy regulacji jasności powinno być uwzględnione. Zauważ co napisał albertb. Nawet jeśli czasy są takie jak podałeś, to czym jest 5us jeśli multipleksujemy np. 1000Hz i na 4 LEDy mamy po 250us? Naprawdę myślisz,...
Pomysl z przerwaniem dobry. Zalezy jak podlaczysz przycisk to na takie zbocze bedziesz ustawial przerwanie. Przewaznie robi sie tak ze przycisk zwiera do masy czyli jak puscisz przycisk to z masy zrobi sie stan wysoki wiec bedzie to zbocze narastające. Z przyciskiem przeladowania - jak wczesniej tlumaczylem ale tu raczej na opadajace (przycisk zwiera...
volatile
[syntax=c] uint8_t licznik_liczy=0; while(1) { if(klawisz_wcisniety(KEY1_PIN)) { licznik_liczy=1; } if(klawisz_wcisniety(KEY2_PIN)) { licznik_liczy=0; } if(licznik_liczy) { licznik--; d1=licznik/1000; if(d1) cy1=d1; else cy1=NIC; d2=(licznik-(d1*1000))/100; if(d2) cy2=d2; else cy2=(licznik>999)?0:NIC; d3=(licznik-(d1*1000)-(d2*100))/10; if(d3) cy3=d3;...
Hmm, zasilanie jest bateryjne, stabilizator jest tylko po to, żeby zdjąć dodatkowego 1V którego mój AVR nie zdzierży. 78L05 nie zmniejszy napięcia z 6V do 5V. On wymaga ze 2V spadku napięcia a więc z 6V zrobi najwyżej 4V. Tak więc zmierzy ile faktycznie masz za stabilizatorem. Jednak jak by nawet było tam 5V to tranzystory nie będą się zamykały. Pasowało...
TCCR0 = _BV(x<<CS00); Źle użyłeś makra _BV. _BV(x) jest równoznaczne z ( 1 << x ), czyli w Twoim przypadku próbujesz wykonać podwójnie przesunięcie bitowe. Jeżeli x = 3 (CS00=0): _BV(3<<CS00) = _BV(3) = (1<<3) = 0b00001000 czyli TCCR0 będzie równe 0b00001000 . Innymi słowy, próbujesz ustawić bit tylko do odczytu, zamiast...
Z tego linku mam komunikat "sklep zablokowany". Więc nie wiem, co tam może być i czy choć podobne do tego, co chce Elektroholik. pod koniec minuty świecą wszystkie i gasną na początku zaczynającej się minuty) Taka drobna uwaga: nie można przez 60 sekund zrobić tak, że na początku nie świeci żadna i co sekundę jedna przybywa, a na końcu świeci 60 - to...
Poprawka: wygląda to na zbyt niskie natężenie prądu we wspólnych anodach. Zmniejsz rezystor w bazie tranzystora do np. 1k, no i koniecznie zasil to ze źródła, którego nie zdławisz - nie ze zużytej baterii.
Mam z ULN wyjścia dać na katody przez rezystory (mogą być 1k?) Tak, aczkolwiek przy większej ilości muszą być mniejsze, aby prąd chwilowy kompensował jasność w krótkim czasie świecenia a na anody też z ULN Nie, bezpośrednio z zasilania przez tranzystor PNP BC327 sterowany dowolnym tranzystorem NPN (chodzi o układ Darlingtona tak)? Nie http://obrazki.elektroda.pl/6209971900_1...
...Ale przenieś choć część swoich Sub do przerwania Timer2, lub 1 i zobacz jaka jest różnica w działaniu programu. Tylko, że ja kompletnie nie widzę takiej potrzeby. Skoro wszystko działa jak należy, program pisany jest modułowo, działanie oparte na programowych timerach, które spokojnie dają radę, przerwania robią to co powinny i jeszcze mam trochę...
Jeśli chcesz gotowy kod to masz go w przykładach do książki do ściągnięcia za darmo z ftp helionu. Możesz sobie tam zrobić dowolną liczbę wyświetlaczy, o ile pamiętam kod jest okomentowany, więc nie powinno być problemów. W powyższym kodzie żeby zwiększyć liczbę cyfr trzeba dodać kolejne case w ISR, co jest pomysłem takim sobie. Warto też wyświetlaną...
Wyłącz JTAG najlepiej przez rejestry a nie fusy. Skoro jednak masz uC z JTAG to dlaczego z niego nie skorzystać?
Cyfrowe wejścia/wyjścia wygodnie jest obsłużyć rejestrami przesuwającymi, dowolną ilość łączysz w szereg i sterujesz trzema liniami: dane, zegar, zatrzask. A z potencjometrami zrobił bym tak samo, z rejestrów podajemy napięcie do jednego z potencjometrów, to napięcie zasila nam koniec ścieżki potencjometru i tranzystorowy klucz* łączący suwak do wspólnej...
Zamień emiter i kolektor miejscami. Jak nie pomoże, to pokaż program. Co!? Przecież dobrze podłączył, to dlaczego wprowadzacie kolegę w błąd?! Nie zaniżajcie poziomu forum popełniając tak podstawowe błędy! Kolega pedro_b dobrze podłączył tranzystor. Jeśli chodzi o sterowanie, to tranzystor się otworzy, jeśli na rezystor R2 podłączysz masę, wtedy przez...
Wait nie stopuje programu. To nie całkiem prawda. Wait zatrzymuje główny program. Nie dotyczy to przerwań, które jak sama nazwa wskazuje przerywają działanie programu głównego, a więc i waita. Tak więc waity nie przeszkadzają przerwaniom, ale przerwania wydłużają czas waita. Przykład: Przerwanie o częstotliwości 400Hz w ciągu 100ms wykona się 40 razy....
Witam, Zaprogramowałem ATmege16 i tak wyszło, że potrzebuje jeszcze jednego bitu wyjściowego na własny użytek, mam takowy wolny ale jest on na porcie do multipleksowania, przez co gdy zmienię stan to kolejne odświeżenie wyświetlacza znowu go zmieni. Weźmy taki oto bajt &B01111110, używam tylko pierwszych 7 bitów a ostatni zostaje bezużyteczny, i tu...
snnaap no dobrze, rozumiem. A jakbym chciał zostać przy przerwaniu i pojedynczym trybie pomiaru to wtedy co musiałbym zmienić? Zaglądnij tutaj: http://mikrokontrolery.blogspot.com/2011...
Czyżby kolejny zegar binarny... Wszystkie porty jako wyjścia. Przy takim podłączeniu możesz sterować jednocześnie tylko jedną kolumną diod. Chcąc uzyskać efekt ciągłego świecenia musisz w sposób ciągły zapalać kolejne kolumny. Czyli w pętli na port C wysyłasz odpowiednie dane, a potem zapalasz odpowiednią kolumnę wysyłając na PD 1 następnie wysyłasz...
No w sumie o to chodziło... Oczywiście musisz wyłączyć zasilanie dla wyświetlacza który jest na tej samej linii co sprawdzany przycisk... Można w porcie włączyć rezystor podciągający... W tym wypadku nie jest potrzebny... Porty RB3-RB5 mają na zewnątrz rezystory... podciągające... Nie bardzo rozumiem o co chodzi z A/C... Domyślam się, że jest na tym...
Multiplexowanie 6 lampek Nixie jest jak najbardziej poprawne. U mnie w zegarze jest ich osiem i nie ma zadnego problemu z mruganiem ani z jasnoscia swiecenia. 74141 tez sie wyrobi bez problemu. Zwykle jesli wystepuje mruganie albo niejednorodnosc swiecenia lampek, wina lezy po stronie programu sterujacego. Tak wiec podlaczaj bez obawy. Dzielic lampek...
W celu eliminacji drgań styków należy użyć przerwania licznika, by odczytywać stan przycisku tylko raz na około 10 ms . Nie używamy funkcji Debounce i delay_ms ! Czy przycisk został naciśnięty sprawdzamy w zmiennej globalnej dostępnej w programie głównym.
Przy multipleksowaniu ważny jest również Ifp ;)
A gdyby TAK: (od razu mówię że tego nie próbowałem) ... ale może ktoś z Was? Ta sekwencja: 'Odczyt danych z przyrządu podlączonego do 1WIRE Sub Odczyt_temp 1wreset 'inicjacja magistrali 1WIRE If Err = 1 Then 'W Przypadku Braku czujnika coś tam wyświetl End If 1wwrite &HCC 'żądanie zgloszenia się ukladu podlączonego do linii 1WIRE 1wwrite &H44 'Convert...
Dziękuje że nie daliście mi gotowca, przynajmniej się czegoś nauczyłem. No to gratuluję, ale niestety musisz się jeszcze nauczyć duuużo więcej, bo nadal jest źle. Multipleksowanie wyświetlacza miałeś zrealizować w procedurze obsługi przerwania a Ty zrobiłeś dokładnie odwrotnie, czyli przeniosłeś cały kod z funkcji main() do procedury obsługi przerwania,...
Działać będzie, dlaczego nie? Być może w oryginalnym układzie takie połączenie było wymuszone zapewnieniem większego prądu pobieranego z zasilania( zasilacz beztransformatorowy)? W zasadzie, takiego podłączenia się nie stosuje. Lepiej sterować anody segmentów poprzez tranzystory PNP lub odpowiednie drivery( odpowiednik ULN2003 z aktywnym plusem, nie...
http://obrazki.elektroda.pl/2417120000_1... Witam! Ponieważ w wielu przypadkach, projektując jakiś układ mikroprocesorowy, zdarza się, że zaczyna brakować wolnych portów, postanowiłem jakiś czas temu zbudować wyświetlacz w oparciu o specjalizowany rejestr SCT2024. Jest on przeznaczony do statycznego sterowania 16 diod LED, co pozwala...
Nie wiem jak wygląd biblioteka wyswietlacze.h i co dokładnie robi cyfra(). Zakładam że są dobrze napisane To co niżej napisałem powinno działać. Napisane jest to dla pierwszych czterech wyświetlaczy od góry. [syntax=c] #define F_CPU 8000000L #include <avr\io.h> #include <avr/interrupt.h> #include <inttypes.h> #include <util/delay.h>...
Albo czwarty będzie działał stale ,bo widzę rezystor do masy w pnp-ie.
atmega8 multipleksowanie multipleksowanie jasność multipleksowanie rejestr
karcher schemat elektryczny volvo silnika szczotkotrzymacz alternatora
elektroplast rozdzielnica odkurzacz nilfisk
Jak uruchamiany jest zasilacz główny w układzie z zasilaczem standby? PN-82/E-01246: Zasady tworzenia schematów elektrycznych