Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj przeanalizować ten kod i skonfrontować go z dokumentacją do...
Masz podawane złe długości pól. Skoro odwołujesz się np. do pola okrążenia typu DANE_ZAWODNIKA to nie możesz robić sizeof(DANE_ZAWODNIKA) bo to nadpisze ci kolejne pola, powinno być sizeof ale pola okrążenia. Takich błędów masz więcej. Definicja: DANE_ZAWODNIKA numer_zawodnika_tab[sizeof(DANE_ZAWODNIK... też na oko jest bez sensu. Bo robisz tablicę...
Najpierw musisz dobrze wykonać zrzut ekranu. Albo jeszcze lepiej załączyć pliki projektu by w ogóle było coś widać. Obecnie połączenia się zlewają, a opisy elementów są szarymi prostokątami lub dziwnymi szlaczkami. Jedno możesz już poprawić: pozbądź się tych nadmiarowych punktów węzłowych. Na styku połączenia z wyprowadzeniem nie daje się węzłów, chyba,...
Najpierw tu [url=http://wiki.mcselec.com/bavr/CONFIG... Potem zajrzyj też tutaj [url=http://bart-projects.cba.pl/rs485.h... Miłego klikania ;)
Witam, mam następujący problem. Projektuje stoper zbudowany na mikrokontrolerze atmega 8 i wyświetlaczach 7 segmentowych wg. własnego pomysłu (został zatwierdzony). http://obrazki.elektroda.pl/3131145300_1... Mam już przygotowaną płytkę, zakupione wszystkie części oprócz rezystorów. O ile nie mam większych problemów z R1 to pozostałe...
kod programu jest taki jak wstawił niveasoft. program ma działać jak stoper który może liczyć 4 czasy
Problem polega na tym, że odczytujesz wartość ADC z uC zamiast z DS18xxx. Brakuje ci obsługi DS18B20. Poniżej fragment kodu działającego u mnie. [syntax=vbnet] Config 1wire = Portb.0 '0,1,2 NOP 3,4,5,6,7 works good ON MY Equipment Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms...
Jeżeli faktycznie w motocyklach jest 6V to musisz dać jakiś stabilizator LDO najlepiej. Może warto rozważyć stabilizator 3.3V bo może się okazać że ten 5V nie ruszy. Np. zastosuj LM1117 3.3V. Atmega spokojnie z 3.3V ruszy.
Teraz spróbuję ustawić RTC na zewnętrznym kwarcu. Zanim zamknę temat może ktoś zechciałby podpowiedzieć na co tutaj zwrócić uwagę? (Myślę że to nie odbiega od tytułu tematu) A konkretnie - jaki kwarc? przy okazji jeszcze ten link: Czas - odmierzanie
Witam! Mam do zrobienia na projekt stoper elektroniczny o następujących założeniach: 1. Wykorzystanie procesora z rodziny MCS51 lub ATmega. 2. Układ posiada klawiaturę z przynajmniej dwoma miękkimi klawiszami. 3. Wynik prezentowany będzie na wyświetlaczu LCD. 4. Projekt powinien zawierać przemysłowe złącza śrubowe służące do podłączenia sygnałów STOP...
Prosiłbym o linka jeśli ktoś widział gdzieś Tu widziałem - [url=http://helion.pl/ksiazki/jezyk-c-dl... C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji :] Przykładowe projekty znajdziesz bez problemu przez google... poszukaj haseł w stylu "stoper...
W kodzie jest sporo błędów. Nie do końca jestem pewien, czy rozumiem, o co chodzi, ale jeśli przerwanie INT0 jest od przycisku, to nie ma prawa działać poprawnie, a przyczyna efektu, który obserwujesz, leży w operacjach na zmiennej b. Takie przerwanie po wystąpieniu musiałoby być blokowane przy pomocy timera na jakieś 30 ms, co jest znacznie bardziej...
Witam. Chociażby zwykłym edytorem tekstu. A oto fragment kodu. [syntax=c] /* * dstemp.c * * Created: 2012-03-15 08:12:33 * Author: dsosnowski */ #include <avr/io.h> #include "dstemp.h" /* #define _1W_PORTPORTC #define _1W_DDR DDRC #define _1W_IN PINC #define _1W_PIN 6 */ #define TDDRDDRC #define TPORTPORTC #define TPINPINC #define DSPIN6 #define...
Ogólnie kwarce o wysokich częstotliwościach są niezbyt dokładne - zwykle +-100ppm w dobrym układzie. Na pewno jednak kwarc jest lepszy niż wewnętrzny RC. Robiłem kiedyś testy i na kwarcu 16MHz bez kalibracji udało się osiągnąć dokładność o ile pamiętam 1-2s na godzinę. Ale jak napisał Ci (może nie do końca) przedmówca (at)Milek7: Najlepiej wtedy w przypadku...
(at)tmf - zobaczymy czy doczekamy się 3208, 3209, 4808 i 4809. Ale nawet wtedy nie bardzo początkujący mają na co liczyć. Nawet gdyby pojawił się "core" dla arduino to większość przydatnych rozwiązań (rodem z xmega) będzie niewykorzystana w tym środowisku, zaś by programować "luzem" to trzeba pewnie będzie mieć UPDI (nie PDI) którego już USBasp nie...
Witam Mam pytanie dlaczego zmienna która inkrementuje się tutaj: [syntax=c] if(klawisz_wcisniety(ZAWODNIK_M)) { lcd_cls(); zawodnik_przejazdy_read(); zawodnik_przejazdy[zawodnik.numer].okraz... = 0; zawodnik_przejazdy_update(); zawodnik.numer++; zawodnik_przejazdy[zawodnik.numer].okraz... zawodnik_przejazdy_update(); } [/syntax] Inkrementuje się...
Czyli podpięty kwarc zapewni lepsze odmierzanie czasu?? Ba ja robię taki stoper :) Lecz kwarc trzeba podpiąć pod XTAL1 i XTAL2 ???? a w ustawieniach nie trzeba nic robić??
Cześć A czemu nie przez RSa ?? Osobiście nie próbowałem ale Atmega 128 z pewnością może być ładowana z Boot loadera .... więc teoretycznie to możliwe. Piotr
Sorry pisałem w 2 tematach na raz i się pomyliłem :) Dodano po 29 nie widzę definicji funkcji: i2c_wait() Dodano po 10 Strasznie masz to napisane pod kątem analizy kodu. Znalezienie tego błędu może zająć wiele czasu. Ja na twoim miejscy zacząłbym od wybrania do obsługi I2C tylko tych funkcji zaczynających się od twi....() i przerobił kod pod tym kątem....
Witam Proszę o pomoc. Potrzebuję wykonać okład mierzący bardzo krótkie odcinki czasu. START podanie impulsu na któryś pin, STOP podanie drugiego impulsu na kolejną nóżkę. Procesor Atmega32 język Bascom. Jaki najmniejszy odcinek czasu mogę zmierzyć ? Jak wygląda procedura pomiaru czasu miedzy Start a Stop? Bardzo proszę o podanie fragmentu kodu. A czy...
Witam Potrzebuję zbudować zegar z dużymi wyświetlaczami do odmierzania czasu jak w stoperze. Problem polega na dokładności pomiaru. 00.00.00 ( minuty, sekundy, milisekundy ) Potrzebuję aby można go było uruchomić za pomocą przycisku i zatrzymać za pomocą tego samego przycisku. Drugim przyciskiem kasowanie wyświetlanego wyniku. ( Start stopera - Stop...
odczytujemy stan przycisku np : instrukcją IF pinc.4 = 0 then ( tu wstawiamy co ma program zrobić ) najlepiej wstawić jakiś podprogram który zadziała jako stoper zadeklaruj sobie podprogram np: stoper po naciśnięciu przycisku wywołasz podprogram stoper w podprogramie stoper umieścisz jak ma działać stoper declare sub stoper do IF pinc.4 = 0 then call...
https://obrazki.elektroda.pl/7753289800_... Przedstawiam zaprojektowany i wykonany przeze mnie stoper (czasomierz) pozwalający na precyzyjne odmierzanie długich odcinków czasu. Z rozdzielczością 1 µs można odmierzyć 10000 sekund, czyli blisko trzy godziny, natomiast z rozdzielczością 1 ms aż 10 000 000 sekund, czyli ponad 115...
Po kolei: - przy łańcuchach po 8 diod potrzeba zasilania min. 16 V dla czerownych, 25 V dla niebieskich. Jeśli upierasz się przy tranzystorach bipolarnych, a nie MOS - dodaj po 1.5 V. - Rezystory we wspólnych anodach powodują, że jasność cyfry zależy od liczby wyświetlanych segmentów - usunąć. - Do sterowania anod należy użyć tranzystorów PMOS sterowanych...
Właśnie o to chodzi... wartość musi być mierzona możliwie często i dokładnie niestety bez przetestowania układu nikt z nas nie będzie w stanie ocenić jaki sposób będzie dobry. A jeśli chodzi o moje wyliczenia to: przykład1. t=100ms=0.1s - czas pomiaru 25 imp na obrót 1000 RPM -> 1000*0.1*25=41.7 impulsów w ciągu 0.1 sec. rozwarzamy dwa możliwe przypadki:...
No niestety układ nie działa poprawnie;/ silnik działa bez względu czy jest podłączony układ czy nie, tak jakby był cały czas otwarty:( Zastanawiam się czy przypadkiem nie powinien być połączony mój mosfet Gate z Source przez rezystor?? A czy zaglądnąłeś chociaż do linku który ci podałem.? Tam masz dokładnie te sam przykład - wysterowanie silnika DC...
No nie mam w tej chwili przy sobie atmegi zeby sprawdzic jak mam ustawione. ustawione mam ptak rocek chodzi na wewnętrznym a stoper itp na zegarkowym 32768 zewnetrzmym Config Timer2 = Timer , Prescale = 256 , Async = On zmieniłem $regfile = "m8def.dat" na $regfile = "m168def.dat" cos jeszcze powinienem?
tzn, ze jest mozliwa praca w obu trybach? dla dokladniejszych urzadzen typu zegarek, stoper pracujemy na rezonatorze; a do innych celow mamy juz gotowca..... tak mam to rozumiec? swietne!! ale doklednosc wbudowanego rezonatora jest kiepska..... u mnie jest to cos okolo 1%. zegar sie pozni. ten uklad programuje za pomoca BASCOMa. czy jest do tego jakies...
Timer będzie odliczał np. sekundy tak jak Waitms 1000, tylko dokładniej. Dobra rada: Odinstaluj BASCOM i zacznij się uczyć C dlatego: http://mikrokontrolery.blogspot.com/2011... Kurs C: http://mikrokontrolery.blogspot.com/2011... Kurs AVR w C: http://mikrokontrolery.blogspot.com/2011...
stoper17 , Zawsze musi iść na krzyż - pin RxD zawsze nadaje, TxD zawsze odbiera. Witam. Myślę, że odwrotnie: TXD - nadaje (transmiter) RXD - odbiera (receiver)
Gdyby było 16MHz bez preskalera zegara, to Twój sposób obliczenia jest prawidłowy. Masz LED i stoper w komórce? Jeżeli tak to masz sprzęt którym możesz to sprawdzić. Wystarczy LED podpiąć pod jakiś wolny pin + dodatkowa pętla odliczająca przepełnienia, tak abyś mógł zmieniać jego stan znacznie rzadziej, by móc wzrokowo policzysz ilość mrugnięć ze stoperem...
Witam serdecznie. Od pewnego czasu bezskutecznie próbuję stworzyć schemat układu na mikrokontrolerze AVR, który będzie w stanie wyświetlać na wyświetlaczu nokii 3100 czas w postaci: hh:mm:ss (i inne mało istotne w tym momencie szczegóły), posiadał kilka przycisków do sterowania i byłby w stanie wydawać, przy pomocy wbudowanego kilkuwatowego głośniczka,...
Zacznij od atmega8. Dlaczego? Bo jest tania. Kup sobie programator, a resztę zrób sam. Zablokować atmega16 za 10 zł boli bardziej niż atmega8 za 4zł. Możesz używać płytek stykowych ale najlepiej wszystko mieć na pajączku(zlutować na płytce prototypowej) aby wykluczyć błędy kabelkologi. Skoro lubisz bawić się wytrawianiem to na tym forum jest mnóstwo...
Siema wszystkim. To mój pierwszy post, choć o dziwo to konto istnieje od 2008, nie wiem jakim cudem, no ale cóż. Otóż muszę zrobić pewien projekt (stoper) na mikrokontrolerze atmegi, ale przyznam, że jestem w tym zielony. Mam zatem kilka pytań. >Czy jest jakiś symulator, gdzie mogę użyć np. Atmega128, a do tego wyświetlacz (konkretnie: max7219)? Czy...
Możecie podpowiedzieć na jaką przejściówkę najlepiej zwrócić uwagę, lub podesłać linka ze sprawdzonym schematem?To sam też sobie taką zrobię. Nie trzeba nic podsyłać ;) pobierz sobie notę PDF scalaka FT232RL i tam masz dokładny schemat przejściówki. Składa się ona z ogromnej ilości elementów bo aż z: 1. gniazdko USB 2. scalak FT232R 3. dwa kondensatorki...
Opierałem się o ten artykul http://mikrokontrolery.blogspot.com/2011... poprawilem schemat
Witam, Jako, że moje starcie z programowaniem mikrokontrolerów trwa nie całe 2 miesiące(w roboczo godzinach pewnie nawet i 1/100 tego :) ) Prosiłbym o wybaczenie mi jakichś oczywistych dla wtajemniczonych błędów, a jeśli dałoby radę to jakieś konkretne wskazówki. Chciałem zmierzyć dokładny czas działania poniższego kodu w mikrosekundach lub dowolnej...
Witam, rozpoczynam walkę z serwami i atmegą Zajrzałem do pomocy bascom`a i załadowałem gotowy przykładowy program, zmieniając wartości by uzyskać 1-2 ms (zakres dla mojego serva) ............ Servo(1) = 100 .............. I niestety, servo nie zachowuje się tak jak powinno. Spróbuj zmienić: Servo(1) = 100 wstaw: Servo(1) = 10 ' 10 * 10 = 100...
Witam wszystkich. Otóż tworzę swój pierwszy projekt na mikrokontrolerze Atmega128 używając języka C w IAR. Muszę wykorzystac przy tym macierz LEDową MAX7219, ale sprawia mi to wiele kłopotów. Czytałem dokumentację, przeglądałem internet, ale większość tyczy się albo arduino, albo 7-segmentowych wyświetlaczy. Znalazłem kilka informacji przy obsłudze...
Dzień dobry. A pod jaki procesor jest to "źródełko" bo ja mam na pokładzie tego zegara Atmega8535 i mam wrażenie że ten soft nie pasuje do niego? Pisze ponieważ dopiero teraz miałem czas aby usiąść i spokojnie o tym pomyśleć, zaprogramowałem scalak który mam w zegarze i ciemność zobaczyłem. Zero wyświetlania czegokolwiek, zero reakcji...
A wystarczy poczytać notę katalogową żeby się dowiedzieć czemu procesor działa bez rezonatora kwarcowego. Atmega8 jak i Attiny2313 posiadają wewnętrzny oscylator który pozwala na pracę bez zewnętrznego rezonatora. To z jaką częstotliwością działa procesor ustawia się w tzw fusebitach.
Na kwarcu 8Mhz zawsze będziesz miał nie dokładny zegar. Jak się bawiłem zegarem to na 40min koło 1s już przekłamywało. Byś musiał zainteresować się "REZONATOR KWARCOWY 32.768kHz ZEGARKOWY". Kwarc wewnętrzny jest strasznie niestabilny, daj sobie z nim spokój. Wpisz sobie w google: Bascom real time clock atmega Gdzieś na elektrodzie krąży taki kod, zacznij...
z gory zaznaczam ze to moj pierwszy program! mam atmege 128 i wysw. 7segm. i za zadanie mam jakikolwiek prosty zegarek/stoper napisac cos tam napisalam ale niestety zle mi wyswietla tzn wgl nie realizuje kodu teoretycznie algorytm jest dobrze napisany, ale jak zmieniam liczby tutaj : [syntax=c]TCCR0 |= (1<<WGM01); //tryb CTC OCR0 = 39; //ustawienie...
Pomyliłeś rejestry bity ISCxx nie są w rejestrze MCUCSR, tylko MCUCR. Nie wywołujesz funkcji Init_pomiar() - zamiast tego w main() wstawiłeś prototyp funkcji: Spróbuj w przerwaniu int1 w pętli if skorzystać z flagi, np: W jakim celu tworzyć zbędną zmienną, skoro stan zbocza można sprawdzać bitami ISCxx, co właśnie autor czyni (choć w złym rejestrze)?
mam świadomość, że zegar na PCF8563 może spóźniać/przyśpieszać, ustawiłem go dokładnie według zegara w komputerze i porównując go przez godzinę, nic się zmieniło. No i skąd mogą być te 3 sekundy ? Z dokładności elementów generujących sygnał taktujący, zarówno mikrokontroler, jak i komputer, który zastosowałeś jako wzorzec czasu: http://mikrokontrolery.blogspot.com/2011...
Wybrałem temat swojej pracy inżynierskiej. Większość osób wybrała tematy teoretyczne, ja jednak wybrałem coś praktycznego. Nie będę wchodził w szczegóły jaki to temat, gdyż nie chodzi mi o to by otrzymać gotowe rozwiązania, a jedynie chodzi mi o Waszą pomoc jako bardziej doświadczonych osób. Przede wszystkim mam wstępne pomysły jak ma to wszystko wyglądać,...
Fusy mam na 8Mhz, czas odmierza dobrze, czestotliwosc takze. Sprawdzalem miernikiem oraz na 40min testow spieszy sie o jakies 2-3s ( -+ czas reakcji na stoperze).
Wewnętrzny rezonator jest bardzo mało dokładny i możesz mieć nawet o 10% inny zegar niż oczekujesz, co będzie już za dużym błędem dla tego typu czujników. Oj, mocno przesadziłeś. Atmel podaje w notach, że po kalibracji mozna spokojnie uzyskać 1%: http://mikrokontrolery.blogspot.com/2011... OSCCAL - klucz do sukcesu.
Myślałem że 4543 nie da rady pociągnąć dużego prądu dla segmentu a ULN2003 to po prostu zespół tranzystorów które przekażą większy prąd... Mówisz żeby zrezygnować z BCD tylko od razu na segmenty z wyjść Atmegi ?
Koncepcja liczenia się zmieniła. Liczenie odbywa za pomocą: Dodano po 51 No i napotkałem problem. Coś źle robię. Chce zapisać pomiar czasu jako jedna zmienna, która będzie mi potrzebna do następnych obliczeń. Próbowałem tak ale wyskakują błędy. Pomiar = Sekundy_d + " " + Sekundy_j "" + Setne_d "" + Setne_j Jak i : Pomiar= pomiar + str (sekundy_d) pomiar...
int0 , int1 Czy używasz w programie, masz zajętą nóżkę procesora :P ~komend int nie uzywam w programie a nozki mam zajete takie jak na schemacie O! A na elektrodzie schemat czeka i sie śmieje :P http://www.elektroda.net/dla_domu/zegar_... mecze sie ze zrobieniem tego odliczania juz jakis czas, przeczytalem mnostwo watkow na forum ale na ten...
Nie znam Bascom więc nie analizuję programu, ale: - zrób odpowiednią korektę w programie, - lub wykorzystaj kwarc będący potęgą liczby 2 czyli np. 14745600Hz. Wtedy nie musisz kombinować z różnymi przeliczeniami, bo wystarczy preskaler (który jest potęgą liczby 2) i przerwanie. Istotne może być także włączenie wzmocnienia sygnału zegarowego poprzez...
mi sie wydaje ze dla poczatkujacego najletwiej i najlepiej by bylo atmega8 wyswietlacz lcd (ok 20 zl) 3 przyciski i wszystko taktowane kwarcem zegarkowym, czy nie ? (i jezyk bascom tylko nie wiem czy mozna mierzyc setne sekund)
Czyli jak rozumiem niezależnie od częstotliwości taktowania wykorzystując funkcję _delay_ms() jest błąd rzędu 10%? 1/10ms to rozdzielczość dla opóźnień większych od 262.14ms osiągana za pomocą funkcji _delay_ms() w delay.h. Ten tryb pozwala osiągnąć opóźnienie aż do nieco ponad 6,5s. Ponieważ pytasz o błąd, to przy okazji: Czas odmierzanie
Kwarc 20MHz miał być zewnętrznym oscylatorem dla atmegi, tak żeby mogła chodzić na 20MHz ale jak rozumiem podłączyłem go pod złe piny. Kwarc należy podłączyć pod piny XTAL1 i XTAL2 szczegóły (max częstotliwość, wartość kondensatorów, ustawienie fusebits) znajdziesz w [url=http://www.atmel.com/devices/atmega... rozdział System...
Udało się. Mam wyświetlacz odświerzający się przy pomocy przerwania timera0; Mam oczywiście kolejny problem i pytania. W nocie atmegi wyczytałem że ma on 3 przerwania zewnętrzne INT0 INT1 INT2. Chciałbym teraz dodać obsługę klawiszy start stop i reset(jakiś prosty stoper). Czy powinienem napisać to tak, aby naciśnięcie klawisza wywoływało przerwanie?...
Możesz połączyć te dwa tematy i osiągniesz cel (przyzwoitą dokładność i mały pobór prądu) bez zegara RTC: http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.blogspot.com/2011... jak napisał dondu. Że hm? Także nie zaskoczyłem :)
Propozycje programowe też można wymyślić, od "prostackich": stopera i minutnika (może już masz i to rozbudowane, np. różnicowe, z pamięciami itp.) przez kalkulatory o różnym poziomie zaawansowania (w tym np. przelicznik "binary-decimal-heksadecimal"), przelicznik temperatur Celsjusz-Kelvin-Fahrenheit, kody elementów elektronicznych, kalendarze branżowe,...
tracę np. 25ms Właściwie jak sam zauważyłeś nie ma to wielkiego znaczenia bo człowiek to dość wolna istota. Jedynym zastosowaniem które przychodzi mi na myśli dla którego trzeba by sprawę potraktować nieco inaczej to urządzenie typu stoper gdzie interesuje nas pierwszy moment zadziałania styku a nie to ile on będzie drgał i ile razy go ktoś nacisną....
Fakt. Było kilka błędów. W chwili obecnej kod wygląda następująco: [syntax=c] //Porgram mierzy prędkość "przejazdu" między 2 fotokomórkami #define F_CPU 16000000uL #include <AVR/io.h> //biblioteka we/wy #include <AVR/interrupt.h> //obsluga przerwan #include <util/delay.h> //obsluga opoznien #include <LCD/lcd.h> #include "HD44780.h"...
Skoro masz aktualny czas to pewnie jest w układzie jakiś zegar czasu rzeczywistego... Urządzenie wystawia po uruchomieniu stan wysoki który ty odbierasz na uC i odczytujesz aktualny czas i zapisujesz go sobie do jakiejś zmiennej... Kiedy urządzenie się wyłącza znika stan wysoki a ty odczytujesz znowu aktualny czas... Wyliczasz jak długo urządzenie pracowało......
Witam ponownie, Poszedłem za radą większości z was i postanowiłem napisać program od nowa. W załączniku zamieszczam kod. Teraz nie mam już problemu z przejściem ADC z np.: 29 na 30 i też nie ma problemu z jego wyświetlaniem ale mam inny problem. Właściwie dwa. 1. Wyświetlenie ADC pomimo uśredniania jest niestabilne - ciężko jest ustawić stabilną wartość...
Witam serdecznie! Uzywam atmegi32 z zewnetrznym kwarcem 8MHz do sterowania serwem. Zastanawia mnie jaka jest czestotliwosc dla ICR1 = 2250; OCR1A = 205; czy da sie cos takiego wyliczyc? Nie mam oscyloskopu zeby to empirycznie sprawdzic. Czy jest jakis sposob liczenia dokladnie czestotliwosci lub czasow dla odpowiedniego ustawienia ICR1? Chodzi mi np...
Niestety, ale muszę odgrzebać stary temat i chyba nie ma potrzeby stawiać nowego tematu. Mój problem dotyczy pętel oraz wykonywanych w niej funkcji. Rozkazy w funkcji "trasy()" nie działają. W innych pętlach korzystając już z tablicy trasa1_dd[] otrzymuję same zera. Czy problemem są wiele-zagnieżdżone pętle, czy typ tablic dd[3] i trasa1_dd[3]? Zapewne...
... to wewnętrzny oscylator może być zbyt mało dokładny, bo błąd częstotliwości może wynosić nawet 10%. Coś Ty się tak uparł z tymi 10%. Pisałeś już dzisiaj o tym tutaj: http://www.elektroda.pl/rtvforum/viewtop... Więc ponownie zdementuję tę wartość: Atmel podaje w notach, że po kalibracji można spokojnie uzyskać 1%: http://mikrokontrolery.blogspot.com/2011...
Czyli ten schemat jest nieaktualny? http://obrazki.elektroda.pl/3379320700_1...
Witam wszystkich serdecznie. Jako że na tym forum jest to mój pierwszy post (mimo, że forum przeglądam często i od dawna), to proszę o wybaczenie mi wszelkich gaf. Przejdę może od razu do sedna. Planuję zrobić coś na kształt tablicy wyników sportowych. Cały układ chcę zrobić na Atmedze 328p oraz wyświetlaczach 7-segmentowych o wysokości znaku 10 cm...
Nie kompilowałem jeszcze tego kodu. W coś wstawiłem 0 a x=0 troszkę przesunąłem: [syntax=c]u08 delay (u08 s) { static u08 x; if(flag_timer2) { flag_timer2 = 0; if (x>s){ x=0; return 1; } else { x++; return 0; } } return 0; //tutaj zgubiłeś jeszcze jednego "returna". Chyba nie zwracasz uwagi na ostrzeżenia kompilatora }[/syntax] Wyzerowałem zegar włączyłem...
Nie chodzi mi o dokładnosc oby jakoś działał Więc weź timer bez setnych sekund i dodaj licznik pokazujący na setnych cyferki od 99 do 0. Efekt osiągniesz, dwie cyfry losowe. Tak jak w stoperze liczącym setne sekundy uruchamianym i zatrzymywanym ręcznie. Czas reakcji człowieka to ok 100ms. Co wiec pokaże ostatnia cyferka (setne sekundy)?
Główny cel: możliwość zgrania programu z pamięci, możliwość ponownego wgrania programu do pamięci Do tego wykorzystuje się programator i komputer ewentualnie: http://www.elektroda.pl/rtvforum/topic20...
A teraz troche z innej beczki. Otoz wlasnie buduje sobie stoper na szesc cyfr, prototyp sprawdzalem juz na dwie cyfry, jest ok. Ale jak wciskam ktorys ze sterujacych przyciskow(zewnetrzne przerwania) to mam migniecie cyfr na wyswietlaczach 7seg. Jak temu mozna zaradzic? ZEby miec ciagle wyswietlanie przy zmianie stanow licznikow, procedure wyswietlania...
Jezyki wysokiego poziomu nie nadaja sie dopisania zegarka. Z tym stwierdzeniem się nie zgodzę. Napisałem w C dla ATmega32 program sterujący tablicą świetlną, która mierzy: zegar czasu rzeczywistego stoper do 99 min sześć timerów niezależnie startowanych i stopowanych obsługa przerwania od INT0 do odbioru transmisji z CC1000 (2400boud) i jakoś przy...
Swoją drogą kod fatalny - strach pomyśleć, ile linii miałby tak napisany kod, który miałby odliczać do tysiąca... To jest tylko fragment, który ma liczyć do 10 a nie do 1000 :) gdybym robił stoper do 1000 to pewnie inaczej by to wyglądało - masz racje - wygląda jak pierwszy program nowicjusza służący do zapalania diody :) A ja bym spytał o ile sekund/minut...
PROSTA SPRAWA Z KLAWIATURĄ :) ja odczytuje klawiature 32x na sekunde Problem jest innego typu. Dla mnie klawiatura jest "zdarzeniem" na ktore nalezy "natychmiast" zareagowac. Dlaczego? Ano dlatego, ze robie m.in. stoper z dokladnoscia setnej sekundy z miedzyczasami. Tak wiec przelatywanie klawiatury nie wchodzi w gre. I to tez jest betka, bo wszak...
Co do kwestii zasilania, to mam na uC stałe 4,98V zmienia się czasami na 4,97V, co do temperatury to możliwie stała (pokojowa) i niezmieniona w czasie testów z zegarem 1-8MHz, przy 1MHz mam idealnie ze stoperem, jak ustawię 8MHz i oczywiście projekt i kod to różnica jest ok 1 sekundy na 50 sekund na stoperze. Według LED przy 50 sekundach (stoper), LED...
$regfile = "m16def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 20 * 4 Set Tccr0.wgm01 Set Tccr0.com01 Config Timer0 = Timer , Prescale = 64 , Clear Timer = 1 Ocr0 = 125 '****Zmienne**** Dim W_bcd As Byte Dim Zezw_wys As Bit Dim Odsw_wys...
Witam, zbudowałem jakiś czas temu zegar LED-owy, z wykorzystaniem taśmy LED i atmegi16. Napisałem do niego program w Bascomie i wszystko niby działa poza jedną rzeczą. Mianowicie nie działają przyciski mające ustawiać czas na zegarze. Czy ktoś byłby tak miły żeby wskazać mi błąd ? :) Program: [syntax=vbnet]$regfile = "m16adef.dat" $crystal = 8000000...
Teraz spróbowałem połączyć nasz program do odtwarzania z programem sterownika domowego i pojawił się problem.Panel i czas liczony w timer2 działa ok, ale piosenki są odtwarzane w spowolnionym tempie.Zauważyłem że jeśli w konfiguracji timer2 wpiszę "prescale=1024" to piosenki odtwarzają się prawidłowo, panel działa ok, ale czas liczy źle (był obliczony...
Natomiast mam teraz inny problem. Chcę połączyć dwa programy, z tym że wyskakuje mi błąd którego nie potrafie usunąć. Koncepcja programu: klawisz s1 załącza podprogram pr1 s2 podprogram 2. $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output Portb = &B00000000 Config Portc = Output Portc = &B00000010 Config Portd = Output Portd...
Może kwarc uszkodzony- rzadko- ale się zdarza. Zrób jakiś wait 10s na LED i zmierz stoperem.
Witam. Robię układ do pomiaru czasu. Potrzebuję dokładność do 1ms. Napisałem taki kod: Według zmiennej K - czas w sekundach | Według zmiennej VAL - czas w ms 1|1 2|2 3|4 4|6 5|8 6|10 7|12 8|14 9|16 10|18 11|20 12|22 13|24 14|26 15|28 Gdzie jest jakiś błąd? Bo nie mam pojęcia dlaczego to nie działa.
Jest możliwość zrobienia stopera/minutnika z poczwórnym wyświetlaczem 7-segmentowym używając mikrokontrolera z rodziny atmega? Wyświetlacze najlepiej multipleksować w przerwaniach timera, żeby mieć pewność, że każda cyfra będzie wyświetlana jednakową ilość czasu. Odmierzanie czasu dla stopera/minutnika oczywiście też trzeba oprzeć na przerwaniach timera....
Jeśli jest to plątanina ścieżek na stykówce- a pisałeś że sprawdziłęś przejścia- jeśli częstotliwość pracy procesora jest taka jak zdeklarowana w programie- a pisałeś że sprawdziłeś- jeśli zastosowałeś sprawdzony program- tak jak napisałeś. To masz dwie mało prawdopodobne możliwości- albo procesor albo wyświetlacz jest zepsuty. Albo najbardziej prawdopodobną-...
A mogłes tak pomysleć bo nie dodałem że mruganie na timer robie a nie na delay ok. http://obrazki.elektroda.pl/4555804300_1... DDRB|=(1<<PORTB1); TCCR1A|=(1<<COM1A1)|(1<<COM1... // TCCR1B|=(1<<WGM13)|(1<<WGM12... //PRESCALER=1024 MODE 14(FAST PWM); ICR1=975;...
dziękuje działa tak jak powinno sądze że z resztą już dam rade :D PS Jak już wspomniałem umieszczam kod: #define F_CPU 11059200L #include <avr/io.h> #include <util/delay.h> //1 0x28 - 0010 1000 <--WYŚWIETLACZ //2 0xcd - 1100 1101 //3 0x6d - 0110 1101 //4 0x2b - 0010 1011 //5 0x67 - 0110 0111 //6 0xe7 - 1110 0111 //7 0x2c - 0010 1100 //8...
schemat zasilania układu jest taki: http://obrazki.elektroda.pl/5013640300_1... ze strony: #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB = 0x01; PORTB = 0x01; while(1) { PORTB ^= 0x01; _delay_ms(1000); } } liczyłem ile jest zmian stanu...
Kolego piotrva , dokładność będę mógł oszacować po miesiącu pracy, na razie to urządzenie oficjalnie pracuje od wczoraj :-) To w trakcie testów możesz łyknąć nieco wiedzy w tej sprawie: http://mikrokontrolery.blogspot.com/2011...
Trochę z innej beczki :) Czytając o problemach z konfiguracją tych modułów, znalazłem HM-TR433/TTL - transparentne moduły RS232/RF. Czy stosował je ktoś? Czy naprawdę wygląda to tak ładnie jak w nocie? Bo jeśli tak, to wolę dopłacić i uruchomić układ w 2h, niż kupić taniej a później tydzień zmarnować na uruchamianie. Danych dużo nie będzie, jakieś 4-6B...
O ile schemat jest prawie doskonały, o tyle PCB jest zaprojektowane źle. Pewne elementy muszą być blisko siebie: - kondensatory filtrujące zasilanie regulatora napięcia należą do niego, - kondensatory filtrujące zasilanie mikrokontrolera, należą do jego pinów. - kondensatory przy kwarcu także do kwarcu należą, nie można więc umieszczać tych elementów...
Wiem że układy czasowe w uC są nie dokładne ale mi nie potrzebna dokładoność co do 1 sek :). Jeżeli zamiast 10 min będzie 9 albo 11 to się nic nie stanie. Są ale nie aż tak :) : http://mikrokontrolery.blogspot.com/2011...
niestety zegar mi się delikatnie "rozjeżdża". Co masz na myśli pisząc "delikatnie"? Brałeś pod uwagę dokładność zastosowanego kwarcu?: http://mikrokontrolery.blogspot.com/2011...
Co dokładności, o której pisze piotrva zobacz jak duże są to problemy przy odmierzaniu czasu: http://mikrokontrolery.blogspot.com/2011...
(at)KKonradev2 Nie, nie mierzymy czasu z dokładnością 5 minut, 5 minut to dokładność, z jaką możemy czas odczytać. Czas jest mierzony na tyle dokładnie, na ile pozwala kwarc, czyli typowo +/- 15 sekund na miesiąc. Ja na co dzień posługuję się terminami typu "kwadrans po pierwszej" lub "za pięć dwunasta", więc nie przeszkadza mi to, że zegara nie mogę...
Nie ma sprawy :) Dobrym sposobem na sprawdzenie, czy działa Ci co sekundę jest odpalenie na przykład stopera w telefonie :)
ewentualnie spróbuj dopisać w obsłudze przerwania czy to wejście faktycznie ma stan niski. i to jest chyba nasz zwycięzca :) zmieniłem lekko kod na coś w tym stylu: [syntax=c]SIGNAL(SIG_INTERRUPT0) { if(bit_is_clear(PIND,2)) ++dystans; } SIGNAL(SIG_INTERRUPT1) { if(bit_is_clear(PIND,3) && dystans > 0) --dystans; } [/syntax] I procesor zlicza impulsy...
...uniwersalnego pilota RC5 ... Ten pilot nie jest pilotem uniwersalnym tylko pilotem o kodzie RC5 . Piloty uniwersalne pracują z różnymi kodami.
Poszukuje ciekawego projektu na atmedze8 ,żeby był.W.miarę prosty, przy wykorzystaniu wyświetlacza segmentowego ,i najlepiej jakby był podany skomplikowany kod.hex :) jakiś miernik termometr stoper zegarek budzik itp
A więc tak mam do zrobienia projekt: oto przykłady tych projektów: 1. Komunikacja bezprzewodowa między mikrokontrolerami na bazie układu CC1000. 2. Identyfikacja bezprzewodowa RFID na przykładzie systemu UNIQUE oraz mikrokontrolera AVR - zamek elektroniczny. 3. Sterowanie systemem mikroprocesorowym AVR za pomocą kodu RC-5. 4. Wykorzystanie PWM np....
Jednak wciąż jest coś nie tak. Przy normalnym kablu działa jak chce. Czasami, nawet jeśli system wykryje poprawnie urządzenie, program na PC ładnie się z nim połączy, ale nie może wysłać żadnych danych. Z dmesg dostaję: usbfs: USBDEVFS_CONTROL failed cmd usb rqt 192 rq 1 len 256 ret -62 a z programu, że upłynął czas stopera, cokolwiek to znaczy. "Dobrze"...
Szukałem, ale nigdzie nie ma takiego krok po kroku, z tym że opisane jest wszystko dokładnie co robić. Nie musi to być zegar, ale np stoper który liczy czas. Można prosić o jakieś linki?
stoper atmega atmega timer stoper stoper bascom
zakodować kanał makro zapisujące arkusz amica śmierdzi
samsung rsh5zlbg samsung rsh5zlbg
Galanz WD900ESL25R-2 – instrukcja obsługi, zamienniki manuali, serwis, kody błędów Ford – komputer nie wykrywa pompy wody po wymianie: mechaniczna vs elektryczna, diagnostyka, kody błędów