1. Korzystanie z gotowców prawie nigdy dobrze się nie kończy. Szkoda czasu i energii na poprawianie nie swoich kodów ;) 2. Nie definiuj F_CPU w kodzie programu - to lub podobne zdanie pojawia się tu średnio kilka razy w tygodniu, więc uzasadnienie znajdziesz bez problemu. 3. Unikaj "magicznych" liczb w kodzie programu. Zapis: n++ ? 6. Jakiś schemat?...
Proszę, gotowy przyklad rozwiązania. Napisałem przy kawie i potestowałem w symulatorku czy się nie pomyliłem gdzieś ;) [syntax=basic4gl]$regfile = "m8def.dat" '$sim 'dla symulatora Config Portd.5 = Input : Set Portd.5 : Czuj_1 Alias Pind.5 Config Portd.6 = Input : Set Portd.6 : Czuj_2 Alias Pind.6 Config Portd.7 = Input : Set Portd.7 : Czuj_3 Alias...
Cóż, opis działania rejestru przesuwnego jest w notach katalogowych i mówisz, że wiesz, jak to zrobić. Poszukaj o multipleksowaniu wyświetlaczy LED - w przypadku "zwykłych" diod zasada będzie ta sama.
Na kiedy to potrzebujesz i jaki procesor? Potrzebujesz tylko kod czy całe zbudowane urządzenie? W wolnym czasie mogę pomóc.
Dziękuję koledze "Kuniarz". Z inicjalizacją dla Atmega8 to myślę, że sobie gdzieś doczytam, tylko gdzie w moim kodzie, inicjalizację oraz obsługę przerwania umieścić. PS. może zna kolega jakąś stronę (link) z informacjami o timerach w dla "opornych" w C?
(at)excray static zmienia tylko zarkes widoczności symbolu, w niczym tu nie pomoże. (at)sp5gbw Przede wszystkim pamiętaj, że EEPROM ma ograniczoną liczbę zapisów. Zapisując go co 10ms wykończysz daną komórkę już po 5-10 tys. sekund. Trzeba więc dodać wear leveling, albo zapisywać tylko w chwili zaniku zasilania. Poza tym w programie używasz niezainicjowanych...
http://obrazki.elektroda.pl/2314562400_1... Witam. Początkiem roku kolega poprosił mnie o zrobienie licznika (miernika) częstotliwości. W necie jest sporo przykładów. Na węgierskiej stronie znalazłem odpowiadający memu koledze. Układ dość prosty. Są zdjęcia, PCB, wsad do procesora. Zrobiłem płytkę, a nawet trzy. Może się przydać. Drobnica...
Robiłem kiedyś taki licznik elementów to wykorzystałem opto ze starej myszki zamontowany czujnik był w wąskiej rurce przez którą przelatywały elementy.Robiłem to dla jednego gościa i sprawdza mu się to już parę lat.
Pomyśl o tym, aby zapamiętywać stan poprzedni i inkrementować licznik jedynie w przypadku zmiany stanu.
Enkoder to mechanicznie zwykły przycisk. Ma też wszystkie wady przycisku, czyli np. drgania styków. Wiele enkoderów na jeden "przeskok" generuje 2-4 impulsów i oczywiście czasy trwania poszczególnych faz zależą od szybkości kręcenia. Przejrzyj darmowe przykłady do książek w mojej stopce - masz tam przykłady obsługi enkoderów w oparciu o ATMega i XMEGA.
Nie przesadzaj nie jest tak źle, o ile przeliczniki da się łatwo ogarnąć. Tak najwięcej pracy jest z wyświetlaczem bo o ile to wyświetlacz segmentowy czy tft w postaci liczb to jakoś pójdzie tak wyświetlacz graficzny będzie najwięcej pracy i tu chyba lepiej by było sięgnąć po jakieś "HMI" Atmega 328P jest złym wyborem bo ma jeden timer w ICP ale da...
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
Jak przerwanie? To ma działać z automatu czy na przerwaniach? Bo jak na przerwaniach to musisz zerować w nim licznik, bo od ocr2b nie ma opcji ctc. Najlepiej zrób tak : ustaw licznik w tryb ctc i do ocr2a wpisz odpowiednią wartość skracającą cykl, do ocr2b wpisz dowolną wartość od 0 - ocr2a, ustaw bit COM2B0, włącz licznik z odpowiednim preskalerem....
Wydaje mi się, że lepszym rozwiązaniem byłoby sterowanie pinów T0 i T1 od strony masy: 5V | [] R=510Ω | o---------> wejście Licznika | |< * | --- Masa Oraz ustawienie bitów CSx = 110 tak by licznik zliczał opdadające zbocza.
Wystarczyło by wykorzystać licznik tryb CTC z dodatkowym przerwaniem od OCRB. OCRA odpowiada z f OCRB za wypełnienie.
zależy jak tą ramkę sobie zorganizujesz ale jeden z prostszych sposobów, gdy przesyłamy znaki ASCII to koniec ramki łatwo np odróżnić po tym, że nadleciał znak ENTER (0x0d). Gdy wykryjesz go w przerwaniu to już możesz powiadomić pętlę główną czy jakieś zdarzenie w tej pętli, że już jakaś cała i gotowa ramka czeka na odczytanie. Jeśli pętla główna będzie...
Witam, jak już procek to może ATiny26 albo 2313. A może coś na układach cerii CMOS 4000 np 4026 licznik binarny z dekoderem wyswietlacza 7 seg albo 4029 4bit licznik rewersyjny i do tego dekoder bin/7 seg iwsio. popatrz tu: http://www.elportal.pl/pdf/k01/23_02.pdf pzdr
Witam Atmega nie odpada z zasady, ale przy kłapaniu przekaźnikami na sieci prawdopodobieństwo że wszystko się zawiesi jest bardzo wielkie. Szeregując problemy powiem że schemat to mały pikuś, program pikuś a płytka dobrze zaprojektowana pod kątem zakłóceń to wyższa szkołą jazdy, o ile się orientuje suszarnie pracują w cyklu conajmniej kilkanaście dni...
W dokumentacji niestety dla licznika 1 nie występuje preskaler 128. Występuje natomiast 256. Zakładając, że licznik pracuje w trybie CTC (WGM12 =1) i zakładając 8MHz źródło sygnału zegarowego (tak jak jest w komentarzu w kodzie) należy wpisać do OCR1A= 31249 oraz ustawić preskaler na 256 czyli CS12=1 A tak na przyszłość ...nota katalogowa. Tam wszystko...
Czekaj, czekaj. Jeden czujnik odpali przerwanie INT0 a w tym przerwaniu sie uruchomi timer. Drugi czujnik po INT1 ma go wyłączyć. Raczej o tym myślałem. Lepiej tak: czy ktoś by mi dokładnie wytłumaczył jak wywoływać timery, zbierać z nich czas, do czego służą poszczególne rejestry. Noty katalogowej tego procka po polsku nie znalazłem, a dobrego poradnika...
licznik 2 sobie liczy od 0 do 255 ( 8 bitowy), obecna wartość w TCNT2. w OCR2A mogę ustawić wartość do jakiej ma liczyć i co ma zrobić jak do niej doliczy? Jak wybiorę 0 0 to to porównanie jest wyłączone i licznik liczy do przepełniania się ( i ustawi flagę przepełnienia ). Jak ustawie 1 0 czyli Clear OC2A on compare match to na tym bicie pojawi się...
Masz najnowszą wersję 2080? Czasem gdzieś się czai jakiś błąd i wtedy warto sobie zrobić taki ekspresowy kodzik który najpierw konfiguruje licznik a potem od razu odczytaj rejestry i sobie wyświetl w postaci binarnej. Można wtedy sprawdzić z notą czy wszystko ustawione tak jak powinno. Nie wszystkie tryby licznika da się do końca skonfigurować Bascomowymi...
Przyjrzałem się tej Twojej (znaczy - nie Twojej :)) płytce i wygląda mi, że podchodzisz do problemu od złej strony. Na tej płytce wyświetlaczy jest licznik 7493, który steruje multipleksowaniem (to widać nawet na tym niewyraźnym zdjęciu, które zamieściłeś). Zatem wystarczy tylko podać na wejście INT sygnał z wejścia zegarowego 7493 aby mieć stabilny...
Witam Chciałem zbudowac układ który liczył by 0-9 i wyświetlane to było na siedmiosegmentowym wyświetlaczu... .......... prosze o pomoc i o jakies proste wytłumaczenie moich błędów. myslalem jeszcze o robieniu tego za pomoca rozkazu INC i dodawania tylko nie wiem jak zawartośc rejestru wystawic na wyjscia z gory dziekuje za pomoc pozdrawiam Tu masz...
Ldi Acc, 1;(...) Out TCCR1A, Acc Tym sposobem ustawiasz licznik w tryb PWM, Phase Correct, 8-bit . Strona 120, Tabelka 53 pdf-a od ATmega8515 . -- Pozdrawiam, Daniel
Zdaje się, że PWM-y generują przerwania a te pochodzą jak stwierdziłeś od zegarów. To w czym problem? Wyzwalaj pomiary A/D od przerwań PWM. Jak będzie za gęsto to dodaj prosty licznik w zmiennej z porównaniem i uruchamiaj przetwornik co n-te przerwanie od TOVn. Biorąc sygnał z wyjścia PWM i dzieląc go przez 2 uzyskasz przebieg o stałym współczynniku...
Atmega 8 wystarczy. Jeśli chcesz kolego liznąć tematu mikrokontrolerów w sposób bezbolesny, polecam książkę Marcina Wiązani o tytule bodajże "Programowanie mikrokontrolerów w języku Bascom" - jest tam m.in. opisana obsługa wyświetlaczy 7dmio segmentowych z multipleksowaniem i nie. Jeśli zrobisz kilka przykładowych układów z tej książki, to z tematem...
Cały problem jest w tym żeby te dwie ATmegi się zsynchronizowały. Przerwanie od SPI występuje po zakończenia transmisji pierwszego bajtu. Zanim nastąpi obsługa przerwania to pierwszy bajt zostanie utracony. Nie mamy też gwarancji że dwie Atmegi "wystrzeliły" :) równocześnie i Slave nie czyta np. 4 bajtu nadanego przez Mastera. Jeżeli to by była np....
Nie czytałem całości tematu, ale .... GDZIE PRZYCZYNA ZAWIESZANIA ? Szukasz rozwiązania problemu w niewłaściwy sposób. Najpierw znajdź przyczynę zawieszania. Co rozumiesz przez : Czasem podczas komunikacji dochodzi do zwieszenia - układ przestaje odpowiadać po TWI i pomaga jedynie manualny reset. Czy jesteś pewien, że procesor przestaje realizować program,...
Ostatecznie możesz zrealizować taki pomiar w oparciu o układy cyfrowe. Budujesz generator o odpowiednio dużej częstotliwości do tego jakiś licznik i układ bramkujący ...a mikrokontroler stosujesz do sterowania tym układem oraz odczytem wartości z licznika i akwizycji na wyświetlacz. Wspomniane mikrokontrolery XMEGA są oczywiście lepszym wyjściem z sytuacji...
Zawody na orientacje polegają na znajdowaniu oznaczonych w terenie punktów kontrolnych na podstawie mapy dostarczonej przez organizatora. Zabronione jest używanie urządzeń GPS, przez co podstawą do nawigacji jest kompas i licznik odległości. Nawigując odmierzamy krótkie odcinki między punktami w terenie (np. od mostu do skrzyżowania ze ścieżką w lesie),...
Jako ze nie przepadam za pisaniem na maile, to odpowiem tutaj... Musisz skonfigurowac odpowiedni timer i przy przerwaniu, jakie generuje int czas=0; int timer0=131; SIGNAL (SIG_OVERFLOW0) { czas++; if (czas==5000) BUUM(); //jezeli czas osiagnal 5000ms, to wywolaj funkcje BUUM(); TCNT0 = timer0; // zaladowanie do...
znalazłem dużo przykładów jak posługiwać się licznikami, ale wszystko było w C a ja nie znam go i programuje w asemblerze. Mógłby ktoś opisać przykładowy licznik(tzn napisać program) i opisać? (chcę odmierzyć jakiś czas, ale najpierw chcę poznać zasadę działania liczników). najlepiej gdyby było coś o liczniku 0 i 1
a ustawiłeś Fuse Bity?? Bo jeśli nie masz ustawionych to ATmega pracuje z częstotliwością 1MHz. Musisz ustawić Fusy na albo 8MHz na wewnętrznym generatorze albo ustawić Fusy na zewnętrzny kwarc. i mniej więcej kod by tak wyglądał: $regfile = "m8def.dat" $crystal = 8000000 Cursor Off Dim Czestotliwosc As Long Const Licznik = 22336 Config Timer1...
Myślę, że mikro-kontroler będzie idealny. ATmega 8 będzie ok choć moim zdaniem trochę nadmiarowa. Ale jak jest w szufladzie ...jak najbardziej. Co do programu..wydaje mi się, że to raczej dość łatwa sprawa. Np. wejścia układu po obniżeniu napięcia do akceptowalnych przez AVR'a można podać na wejścia INT0 i INT1. Zmiana stanu na wejściu INT0 niech spowoduje...
http://obrazki.elektroda.net/13_11770457... "Digg button" to bardzo prosty układ dla początkujących elektroników, dzięki któremu można się nauczyć jak lutować i programować mikrokontroler. Układ ma za zadanie, przy każdym naciśnięciu przycisku wyświetlić napis "Dug", a następnie wyświetlić wartość licznika. Po każdym naciśnięciu, wartość zwiększa...
Witam, chciałbym zbudować licznik impulsów na atmega 8 który by zliczał ile impulsów było w czasie 1 sekundy i wartość tych impulsów wysyłała w postaci binarnej na wyjścia procesora. Dodano po 1 Język w którym bym to chciał to C znalazłem identyczny projekt na forum ale w bascomie a w tym języku się wogóle nie orientuje
Witam Napisałem coś takiego w BASCOMIE: $regfile = "m8def.dat" $crystal = 160000 Baud = 1000 Config Portb = Input Portb = &B11111111 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 Cls Dim I As Word Config Timer1 = Timer , Prescale = 8 On Timer1 Times Enable...
Witam, wiem że w sieci jest 1*e^6 lub więcej gotowych liczników impulsów, lecz ja chciałbym mieć pełną kontrolę nad moim kodem, a nie kopiować bezmyślnie. Tak więc sprawa tyczy się zliczania impulsów 5V od obrotów i prędkości w motocyklu. Do tego celu chcę wykorzystać układ AVR ATMega 16 lub mniejszy (po przeróbce w kodzie). PYT1: Obrotomierz kręci...
Witam, potrzebuję pomocy przy budowie licznika impulsów z mikrokontrolerem, który można zaprogramować za pomocą arduino. Urządzenie ma zliczyć impulsy np. z czujnika zbliżeniowego, lub z przycisku ręcznego. Po uzyskaniu zadanej wcześniej liczby impulsów ma uruchomić przekaźnik.(podać napięcie na cewkę) Po kolejnym impulsie ma się zresetować do zera...
Witam. Czy blok licznika (wejście T0) w atmega8 jest niezależny od zegara procesora? Jeżeli tak, jaką maksymalną częstotliwość mogę podać na wejście licznika? Pozdrawiam.
jeśli chcesz koniecznie atmega to nada się każdy choćby atmega 8, licznik ma wyświetlać impulsy na wyświetlaczu LED?
Mam silnik z przekładnią który daje 5 impulsów na jeden obrót przekładni, obrotów jest 139 to liczyłem na piechotę ale chcę wykorzystać Atmege 8 do sterowania tym silnikiem i nie mogę dojść do ładu z liczeniem tych impulsów. Próbowałem liczyć impulsy funkcja DEBOUNCE i szło dobrze dopóki nie zwiększyłem prędkości obrotowej, zaczęło gubić impulsy Następnie...
Witam.Jestem początkujący. Mam problem z napisaniem programu w AVRGCC który działał by a ten sposób że zlicza impulsy( np. z kontaktronu) i na lcd miała by sie pokazać prędkość w km/h oraz dystans przejechany w km. - na procku Atmega (8, 16 itp) Wydaje mi się że powinny być uzyte dwa liczniki - jeden zlicza impulsy z kontaktronu a drugi zajmuje się...
na mikrokontrolerze...;]
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
Witam Patrz DEBOUNCE pin_portu , stan , etykieta w Help
nadajnik: [syntax=basic4gl]$regfile = "M8def.dat" $crystal = 16000000 $baud = 19200 $hwstack = 40 $swstack = 20 $framesize = 40 '=== Declare sub routines Declare Sub R_register(byval Command As Byte , Byval C_bytes As Byte) Declare Sub W_register(byval C_bytes As Byte) '=== Constante === 'Define nRF24L01 interrupt flag's Const Idle_int = &H00 'Idle,...
Jaki język ?
https://obrazki.elektroda.pl/9337556500_... Pewna wyjątkowa osoba zasługiwała na równie wyjątkowy prezent, a że nie jestem fanem kupowania niespodzianek, postanowiłem "zrobić" coś własnym rękami. 1. Wstęp, motywacja 2. Zarys konstrukcji 3. Płytka z diodami - projekt (łączenie diod) 4. Płytka z diodami - projekt (zatrzaski) 5. Eagle...
Wydaj mi sie że brakuje ci polecenia => gate=internal Sprawdź: Config Timer1 = Timer , Gate = internal, Prescale = 1 Enable Interrupts : Enable Timer1 Aha, jeszcze => Start Timer1 hmmm... nie ustaliłeś trybu pracy licznika a instrukcja Load jest dla timera w trybie z automatycznym przeładowaniem
Dziekuję za odpowiedz. Z tymi portami to była mała literówka z mojej strony pisząc tego posta. Generalnie jak widzę należy całkiem inaczej podejść do tych TIMERÓW, tego się spodziewałem.Jestem naprawdę mocno początkujący w programowaniu tych procków, ale Twój post pozwolił mi inaczej spojrzeć na ten problem i już pewne info znalazłem tutaj na elektrodzie,...
Głównym powodem wykonania takiego licznika była chęć rezygnacji z mechanicznego napędu klasyczną linką starego prędkościomierza/drogomierza. Linka ta niestety była dosyć zawodna - zrywała się, pękała osłona, poza tym była opornie prowadzona wzdłuż amortyzatora - naprężenia jakie powodowała urywały z czasem plastykowe obejmy. Postanowiłem wyeliminować...
W celach nauki magistrali CAN zakupiłem "z wyprzedzeniem" dwa liczniki : 1 - Form Mondeo MK3 2 - Hyundai Coupe W chwili zakupu jeszcze nie za bardzo orientowałem się w całym temacie CAN. Czasami działam po prostu z wyprzedzeniem i stawiam samego siebie przed problemem do rozwiązania ... i te problemy jakoś rozwiązuję :) Tak było z websocket, esp32 .....
http://obrazki.elektroda.pl/2534599000_1... Zegar + termometr DS18B20 - ATtiny 2313 - LED Wykonany na ATtiny 2313. Znane podobne zegary oparto na Atmega 8 i LCD. Program napisany w Bascom. Pracuje bez zarzutu. http://obrazki.elektroda.pl/9466031800_1... http://obrazki.elektroda.pl/4401807600_1... http://obrazki.elektroda.pl/5327081100_1...
Może to jeszcze nie myszka a jedynie jej kursor. Ale może takie rozwiązanie kogoś zainspiruje do napisania programu z wykorzystaniem kursora. UUU widzę piękny COBRA OS na CP/M. Te kafelki idealnie sprawdzą się w gęstym trybie graficznym w roli skrótów do programów na dysku... A może nawet taki player PT3 by zrobić, gdzie kolejne muzyczki to takie kafelki.......
Chciałem zapytać o pomoc w rozwiązaniu małego problemu. Napisałem kawałek kodu, który w zamyśle ma wyłączać podświetlanie mojego lcd z opóźnieniem w zależności od panującego napięcia na przetworniku adc. W zasadzie kod mi działa, ale jest mała niedogodność w postaci zmiennych czasów gaszenia lcd. Do pracy zaprzęgnąłem przerwania. Jedno czyści mi wyświetlacz...
http://obrazki.elektroda.pl/7995180000_1... Witam! Jakiś czas temu rozpocząłem naukę pisania programów na mikrokontrolery AVR w języku C++. Przeczytałem wiele tutoriali, poradników, itp., aż w końcu doszedłem do pisania własnych, prostych programów. Po kilku takich „pseudoprogramach” zdecydowałem, że teraz czas napisać coś...
Witam, planuje wykonanie sterownika w wersji 5.2 (bez PH, taki mi wystarczy w zupełności). Chciałbym do Skalara podpiąć także karmnik który już mam i tu moje pytanie: jak mógłbym to zrobić? Z tego co się dowiedziałem to da się włączać wyjścia sterujące na co najmniej minutę - ja bym potrzebował albo jeden impuls który zwarł by switch karmnika, albo...
licznik atmega licznik impulsów atmega atmega licznik czasu
server oracle czyścić zbiornik paliwo laptop zewrzeć płyta główny
gniazdo zasilania kampera kalibracja hydrostatu
Schemat podłączenia licznika Beta RR50 2010 bez akumulatora Czy myjka Titan 1,8 kW pobiera wodę z beczki?