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...
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,...
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ę...
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...
Najpierw tu [url=http://wiki.mcselec.com/bavr/CONFIG... Potem zajrzyj też tutaj [url=http://bart-projects.cba.pl/rs485.h... Miłego klikania ;)
kod programu jest taki jak wstawił niveasoft. program ma działać jak stoper który może liczyć 4 czasy
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...
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...
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.
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...
Wewnętrzny oscylator RC jest mocno niedokładny. Z pewnościa musisz kupić zewnętrzny kwarc, ale na ATmedze8 32mhz raczej nie pociągniesz :P Bardziej zalecane jest jednak kupienie kwarcu zegarkowego 32.768 kHz i podłączenie pod piny TOSC1 i TOSC2 które wykorzystuje specjalnie dostosowany pod to Timer2 w trybie asynchronicznym. Wtedy uC można taktować...
(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...
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
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ę...
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...
stoper17 , Zawsze musi iść na krzyż - pin RxD zawsze nadaje, TxD zawsze odbiera. Witam. Myślę, że odwrotnie: TXD - nadaje (transmiter) RXD - odbiera (receiver)
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...
W oparciu o wasze sugestie (http://mirley.firlej.org/timer_serwisow... narysowałem nowy schemat połączeń. Jest OK. Jeśli dobrze zrozumiałem to chyba mogę katody wyświetlaczy połączyć do portów uC? Nie możesz. A może zamienić te tranzystory na MOS? Nie ma takiej potrzeby. Skoro zamierzasz realizować projekt od nowa, to może warto porzucić starożytną...
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...
Z ta konfiguracją portów w helpie mamy: CONFIG PORTx = state CONFIG PINx.y = state I w teorii kompilator powinien wywalić błąd jeśli napiszemy np.: Config portb.3 = Output ale tego nie robi. Czy tak działa po zaprogamowaniu to nie sprawdzałem.
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?
Czy ma ktoś może sprawny program Timera( chodzi mi o odliczanie np od 50min w dół do 0 z uwzględnieniem cześci dziesiątych i setnych sekundy) i ma to być zrobione na wyświetlaczach segmentowych... Jeśli ktoś spotkał sie z czymś takim to proszę o wysłanie pliku.. przydałby się też zwykły stoper.. w miare możliwości. Pozdrawiam! Ah no i byłbym zapomniał...
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,...
Opierałem się o ten artykul http://mikrokontrolery.blogspot.com/2011... poprawilem schemat
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...
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...
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...
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...
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...
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ą....
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...
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...
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...
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...
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...
Dzięki będą o tym niedługo myślał. Narazie jednak moją uwagę zabrał mój "stoper". Napisałem takie prosty kod: [syntax=c]void stoper_init(void) { //Ustawienia TIMER1 TCCR1B |= (1<<WGM12);// Ustawiam tryb timera na CTC - przerwanie gdy zgadza się porownanie z jakas liczba TCCR1B |= (1<<CS12);// preskaler =256 OCR1A=31250; //podzial przez 31250...
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ć,...
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.
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...
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
... 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...
Jak masz podłączoną diodę, do plusa czy do masy? Spróbuj w przerwaniu int1 w pętli if skorzystać z flagi, np: [syntax=c] ISR(INT1_vect) { if(flaga = 1) { PORTB|=(1<<PB1); MCUCSR&=~(1<<ISC10); //przerwania ze zboczem opadajacym Stoper(ON,&poczatek,&koniec); flaga = 0; } else { MCUCSR|=(1<<ISC10); Stoper(OFF,&poczatek,&koniec);.....
Do If pinc.1 = 1 Then ' jezeli jeden 1 to impuls if Zezwolenie = 0 then Y(C) = X 'zapisz czas na pozycji C incr c ' nastepna pozycja Zezwolenie = 1'przelacz zezwolenie na zerowanie x end if end if if pinc.1 = 0 then if Zezwolenie = 1 then X = 0 ' zeruj licznik 1ms odczinkow czasu Zezwolenie = 0 ' przelacz zezwolenie na zapis y end if end if...
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...
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 :)
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....
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,...
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...
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"...
I kolejny krok do przodu :) Kondensator 100nF na pinie kwarcu zapewne wpływa bardzo na częstotliwość pracy timera2, ale tego jesteś świadomy. Należy więc najpierw rozwiązań problem niestartowania Timer2, by pozbyć się kondensatora i palucha :) Tutaj funkcja projektu który niebawem opublikuję: [syntax=c]void dd_timer2_rtc_ini(void){ //Funkcja inicjująca...
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)
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......
Albo ustawić 16 bitowy timer i w przerwaniu od jego przepełnienia zmieniać stan diody. Do tego super urządzenie pomiarowe jakim jest stoper w telefonie i już kontrola na wysokim poziomie :)
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ść...
gufiak: Nie nie pisałem w bascomie, ASM od ponad roku ćwiczę, a co do skomplikowania to inaczej kod wygląda w symulatorze a inaczej na stronie www prosto skopiowany z AVRStudio. Program jest zawikłany bo są zagniezdzone odwołania typu gdy a(gdy a1, gdy a2), gdy b, gdy c(gdy c1, gdy c2) które mocno komplikują zrozumienie. Kod pisałem w 5minut a później...
Poczytaj jak w tym temacie rozwiązałem błąd spowodowany niedokładnością rezonatora kwarcowego. [url=http://www.elektroda.pl/rtvforum/to... A z [url=http://mikrokontrolery.blogspot.com... stronki możesz się dużo dowiedzieć Proponowałbym jednak użycie układu RTC z kwarcem zegarkowym. Co do schematu to...
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...
Czyli rysunek jest dobry tylko z ULN2003 zmienić na ULN2803 gdzie kanał ósmy to kropka z przecinkiem razem ale puszczone przez tranzystor. ? Mógł byś to nanieść na mój rysunek ? Do RPAL. Pomału myślę jednak nad obejściem BCD... w końcu będę mógł wyświetlać też litery. Myślałem też nad tym co mówiłeś odnośnie programowania. C i inne jeżyki nie należą...
stoper17- na drugim schemacie masz kondensator 14pF- przecież to jest bez sensu. A tzw. "skracanie" potencjometru polega na włączeniu w szereg od + i od masy oporników. Jakich- zależy od oporności potencjometru i od Twojej "oporności" na dość proste obliczenia.
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...
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...
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)?
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...
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...
Witam, Poniżej zamieszczam kod - przedstawia on sterowanie multipleksowe 7-seg wyświetlaczem LED - jest to lekko przerobiony kod z popularnej i znanej każdemu książki. To nie jest tak, że to ma być stoper - po prostu chciałem fragment tego kodu wykorzystać do innych celów, ale jest pewien problem. Otóż poniższy kod sprawia, że po uruchomieniu na wyświetlaczu...
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).
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....
$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...
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...
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.
Stan portu się zmienia, ale nie co 2 sekundy tylko 8 (nie wiem czy równe 8 bo mierzyłem stoperem).
Uklad na procku mam juz zrobiony tak jak napisalem w pierwszym poscie. Co do wpinania się przjściówkami w wiązki to idąc tą drogą mogę poprostu zacząć siedzieć przy pralce z kartką i stoperem. Uklad robie nie po to by byl prostszy tylko po to by byl wygodniejszy w uzytkowaniu.
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...
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...
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...
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...
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...
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...
... w tym przypadku spokojnie ponad 60 lat. Czy wiesz co to jest upływność lub samorozładowanie baterii ? Czy sprawdziłeś jaka jest wartość tego parametru i jak to wpłynie na 60 lat, które przytoczyłeś? http://mikrokontrolery.blogspot.com/2011... Pomijam już fakt, że gdyby Twój projekt mógł cudownym zrządzeniem...
...uniwersalnego pilota RC5 ... Ten pilot nie jest pilotem uniwersalnym tylko pilotem o kodzie RC5 . Piloty uniwersalne pracują z różnymi kodami.
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...
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 serdecznie grono forumowiczów. Mam w poniższym kodzie problem z czasami. Mianowicie definicje czasów działają trochę po swojemu, podpowiedzcie co jest nie tak bo nie bardzo wiem już gdzie szukać. Zmiana wartości w #define nie bardzo pomaga. Liczyłem stoperem i (czas załączania) działa tak jak chcę ale już (czas załącz wyłącz) powinien być 60 sekund...
Zastanawia mnie co dokładnie znaczy ta linijka - while (ASSR & (1 << OCR2UB)); Oczekiwanie na zgaszenie flagi OCR2UB. A do czego służy - szukaj w datasheet, jest opisane. Wczoraj były wykonywane pomiary i jednak troszkę różnicy w stosunku do standardowego zegarka jest. Różnice zawsze będą. Kalibracja jest niezbędna: http://mikrokontrolery.blogspot.com/2011...
Jak już koledzy wspomnieli nie ma RTC (czytaj datasheet-y), ale można zrobić własny. Istotnym parametrem będzie jednak dokładność jaką chcesz osiągnąć: http://mikrokontrolery.blogspot.com/2011...
http://obrazki.elektroda.net/58_12515666... Chciałem zaprezentować mój projekt komputerka samochodowego... Jako procesor wykorzystałem Atmega168, jako że napisałem całość w BASCOM ciężko było zmieścić się w 8kB... Na przyszłość dobrą alternatywą będzie Atmega328 hehe ;P - LCD 4x16 biało-niebieski - 4 wejścia 12V ( dzielnik 3:1 ) - 1 wejście...
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;...
atmega stoper atmega timer stoper zrobić stoper
dostałam maila drukowanie plików protel czujnik ciśnienie sharan
przeplywowy podgrzewacz oleju elemis 5510t
Canon BJC 85 - Drukarka nie widzi głowicy: przyczyny i rozwiązania Radio Sony, Philips, Grundig – brak dźwięku z radia, CD działa poprawnie, cisza w tunerze FM