Ściągnij datasheet ze strony producenta i otwórz na stronie 23. Masz tam tabelkę do ustawienia bitów CKSEL3..1 (w Twoim przypadku to będzie 110) a na stronie 24 masz tabelkę do ustawienia bitów: CKSEL0 i SUT1..0. Musisz sam zadecydować jak je ustawić w zależności od Twoich potrzeb. Od tych bitów zależy czas startu mikrokontrolera. Pamiętaj, że bit zaprogramowany...
przerwanie timera wpływa na polecenia z rodziny Wait - powodują one, w zależności od częstości wydłużenie czasu oczekiwania, dlatego trzeba w takim wypadku odmierzać czas używając timera ;-)
Niebardzo wiem jak mialbym to zrobic z poziomu BASCOMu! Rzeczywiscie uC sa nowiutkie dzis je pierwszy raz programowalem. Nie znam sie na tym zbyt dobrze wiec prosze powiedz dokladnie co mam ustawic i gdzie zeby czas byl odmierzany prawidlowo
Po dodaniu rezystorów podciągających działa już wyświetlacz i dioda:) Jednak dalej układ nie odmierza czasu
karol75 przecież płytka jest jednostronna a poza tym z tego co zauważyłem elementy smd są tańsze:) Co do zegarka wykonanie jest na poziomie jedyne co bym zmienił to tego 4017 w smd. Jak ma się kwestia dokładności odmierzanego czasu?
Tak,oczywiście ze zamiast waitms muszą by warunki żeby procesor mógł odmierzać czas . Natomiast zawsze nie rozumiałem sensu flag .
Ten preskaler czyli jak sie domyślam [Divide clock by 8] to zauważyłem jak ładowałem program z 90s2313 na Attiny2313 i licznik jakoś dziwnie czas zaczoł odmierzać. Czyli jak obecnie mam ustawione 4 Mhz na zewnętrznym kwarcu to jak przestawię na internal oscilator 4Mhz to będzie bez zmian dla programu?
Popatrz na MCP3202. To przetwornik 12-bitowy 2 kanałowy. [url=http://cubloc.com/download/etc/MCP3... Kiedyś robiłem projekt na MCP3201 (wersja jednokanałowa w/w przetwornika). Współpracowało to z ATtiny2313. Zegar był generowany "na piechotę" poprzez zmianę stanu na nodze kontrolera, odstępy czasowe odmierzane NOP'ami - i to działało bez...
Więc sugerujesz ze problemem może być odmierzanie czasu? Może bez zbędnych komplikacji zmodyfikuje odmierzanie tak for(int i=0;i<100;i++) { _delay_ms(10); } dla jednej sekundy?
jak zrobić żeby przerwanie od timmera 0 w atmedze8 było taktowane kwarcem zegarkowym(tzn. podłączam kwarc w miejsce xtal 1,xtal2 i skąd timmer 0 będzie wiedział ze ma być taktowany takim kwarcem) i jak dobrać preskaler itd żeby po zapełnieniu licznika odmierzana była 1s używam programmer's notepad.
Witam! Zbudowałem sobie zegar na Attiny2313 oraz LCD 2x16. Czas "próbuje" odmierzać PCF8583 ale mu to nie wychodzi. 1. Dlaczego PCF8583 nie działa dokładnie ? na 1h <> 4 min błędu! spieszy. Układ działa z kondensatorem 27pF do 1 pinu oraz VDD. Jak to ustawić ? 2. Jaki jest najdokładniejszy zegar RTC ? Widziałem, że w DIY zegarach ludzie stosują...
Witam Na zaliczenie projektu postanowiłem wykonać zegarek z kilkoma dodatkowymi funkcjami. A że miałem z góry określony typ mikrokontrolera muszę korzystać z ATTINY2313. Program odmierzający czas wczoraj skończyłem wszystko działało jak należy. Po dodaniu zewnętrznego kwarcu 4Mhz, włączyłem cały układ żeby sprawdzić czy poprawnie odmierza czas. Jakieś...
Niby tak jak wykasuje je całkiem to czas odmierza ale bardzo krótko daje stan wysoki na ledy i prawie ich nie widać . Chyba mój algorytm jest do bani :(.
(at)marco47 Nie rozumiem twojego pytania. (at)janbernat Timer1 służy do odmierzania 1 sek. Po tym czasie następuje przerwanie, w którym liczba zliczonych impulsów (przez timer0) przepisywana jest do zmiennej wynik.
Przymierzam się do zrobienia komputerka do samochodu. Jego głównym celem ma być obliczanie chwilowego i średniego zużycia paliwa. Nie wiem czy mi się to uda ale chcę wykorzystać kontroler ATTiny2313 i tu mam problem - potrzebuję zliczać czas wtrysku i ilość impulsów z czujnika ABS lub impulsatora na skrzyni, potrzebuję też odmierzać czas... i tu mam...
Witam od jakiegoś czasu próbuję w Bascom napisać zegarek (lub coś co precyzyjnie odmierza czas), ale niestety nie wychodzi mi to, mógłby mi ktoś pomoc udzielić wskazówki bo już sie powoli gubię
Ta pętla nie jest konieczna. Dodałem ją żeby przyciski działały cały czas. Bo jak byś napisał Waitms 1000 to przez całe 1000ms przyciski by nie działały. A tak w pętli co raz masz sprawdzenie przycisków i odmierzanie czasu 10ms. Czyli łączenie te 1000ms i tak uzyskasz a przy okazji przyciski będą normalnie działały.
Podaje program z komentarzem. ............ Ps. Nie ładowałem do licznika wartości bo potrzebuje dwóch pełnych przeładowań. W programie jest zupenie nie ważne ile tych przepełnień wystpuje; istotne aby rachunek odmierzanych odcinków czasu był zgodny z zamierzonym. Skoro jesteś zmuszony zliczać przepełnienia (co jest rzeczą absolutnie normalną), więc...
A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
Witam. Temat już był poruszany, lecz ja nie znalazłem na moje pytanie odpowiedzi. Czy aby Attiny2313 był kompatybilny z at90s2313 wystarczy ustawić fusebit c - divide clock by 8 disable i to już wszystko czy gdzieś jeszcze coś zmienić. Zastosowałem rezonator kwarcowy 4MHz. Po takiej zmianie jak wyżej nie zauważyłem różnicy w odmierzaniu czasu, lecz...
Zrób tak: 1 licznik do odmierzania czasu, przerwanie co np 25ms 2 licznik do zliczania impulsów Jeżeli nastąpiło przerwanie np 25ms, to zlicz liczbę impulsów. W taki sposób masz dokładniejsze odmierzanie czasu, funkcja wait do tego się nie nadaje. Przeanalizuj sobie ten temat: http://www.elektroda.pl/rtvforum/topic16... a potem dodaj to co napisałeś...
Witam. Na początek napiszę że to ma być mój pierwszy program napisany w tym języku i pierwszy kontakt z mikrokontrolerami. Nie mam pomysłu jak się zabrać za uruchomienie jakiegoś "zegara". Wydaje mi się że wtrącenie w pytaniu „jakiegoś zegara” wprowadza ludzi w błąd. Z dalszej części wynika że raczej potrzebujesz obsługi TIMERA wbudowanego...
tak jest w bascomie i koniec, nic na to nie poradzisz prawdopodobnie czas potrzebny na przeliczenie ile porezeba instrukcji na 1 uS jest porównywalnie duzy z czasem 1uS dlatego było by to bez sensu. jeśli chcesz zrobić programowane PWM to użyj przerwania licznika do odmierzania czasu i całłą obługe zrób w przerwaniu. ja tak czasami robie gdy potrzebuje...
paavo91 Podkreślam że działanie musi być natychmiastowe i nie zależne czy przycisk wcisnę na moment czy wcisnę i przytrzymam. .............. ,......jak to rozwiązać. Zastosuj konstrukcję 'DEBOUNCE' w połączeniu z "Toggle Switch" jak dla przyładu przełączania/załączana świateł głównych: [code][syntax=basic4gl] $regfile = "attiny2313.dat" $crystal =...
Witam! Zrobiłem zegar na w/w uC przy użyciu czterech siedmoisegmentowych wyświetlaczy. Są one sterowane w sposób statyczny z pomocą buforów i odświeżane raz na sekundę, ale nie to jest przedmiotem mojego postu. Chodzi o to że udało mi się uzyskać dokładnie 1s (sprawdzałem z użyciem stopera odmierzając godzinę). Program zajmował wtedy 33% zawartości...
Chyba nie potrzebujesz odliczać dokładnych czasów, więc najlepiej wyliczyć ile przepełnień licznika potrzebujesz przy danej częstotliwości i danym preskalerze. f=fosc/p f - częstotliwość taktowania licznika fosc - częstotliwość oscylatora p - preskaler T=1/f t=(c*x)/f t - czas odmierzany c - pojemność licznika x - ilość przepełnień ostatecznie: x=(t*fosc)/(p*c)...
Witam , po przerwie , Nie, w zależności od szacowanych obrotów wybierasz metodę pomiaru, w której wykorzystujesz jeden (dowolny) timer, lub oba w której jeden odmierza czas a drugi zlicza impulsy. Ta ostatnia jest alternatywą do tej którą zastosowałeś lecz czas jest mierzony timerem a nie przez processor instrukcją Wait . Ta druga metoda polega na pomiarze...
to może wykorzystasz częsc programu która odpowiada za odmierzanie jednej sekundy np dla zwykłego zegarka pozostaje tylko przelicznie dla danego kwarcu. projektów zegarków troche jest. tak sobie mysle ze problem z pomiarem tzn że silniczki maja taką samą prekdkość może byc zbyt krótki czas pomiaru czyli jedna sekunda w czasie której np dla wartości...
Pisałem ostatnio zegar na attiny2313 również popędzany z 8Mhz. Ponieważ musiałem ograniczyć się do 8bitowego licznika wykorzystałem: prescaller 64, zliczanie do 250 w trybie z maksymalną wartością licznik w rejestrze OCRxx i generowanie przerwania przy przepełnieniu. Otrzymałem generowanie przerwania z częstotliwością 500Hz. Teraz tylko programowy podział...
Przy projektowaniu używam kalkulatora chociaż to akurat można policzyć na palcach. Jeśli dobrze pamietam to impuls powinien się zawierać między 1ms a 2ms a servo stoi na środku przy 1,5ms. Niemniej daje to 1ms którą chciałbś podzielić tak by móc sterować servem. Załóżmy że chcesz to podzielić tylko na 100 części. Jedna milisekunda ma 1000us Podzielona...
Jeśli przerwania nie są wykorzystywane w programie to od bidy te WAIT jest w miarę dokładnie (na tyle na ile zegar trzyma) ale zdecydowanie lepszym rozwiązaniem jest używanie timerów do odmierzania czasu. W momencie włączenia przerwań dokładność WAIT drastycznie spada. Najlepiej zapomnij o WAIT i naucz się timerów. WAIT można spokojnie i bezpiecznie...
Witam, Mam problem z obsługą timerów w Attiny2313. Korzystam ze środowiska Atnel studio 6. Przechodząc do rzeczy, napisałem sobie kiedyś program w Basomie, w którym odmierzałem czas za pomocą Timer0. Poniżej fragmenty kodu odpowiedzialne za konfigurację tego timera: [syntax=basic4gl] Config Timer0 = Timer , Prescale = 256 Load Timer0 = 45 On Timer0...
Napisz jeszcze, na czym polega problem, bo na razie wygląda na to, że napisałeś kod do szybkiego migania diodami i diody szybko migają. A tak ogólnie - do odmierzania czasu używa się timera, a nie pętli, zwłaszcza, gdy czas wykonania kodu silnie zależy od wartości zmiennych. Przy takiej deklaracji zmiennej delay kompilator może usunąć Twoją pętlę opóźniającą.
Oto program który napisałem $regfile = "attiny2313.dat" 'rodzaj mikrokontrolera $crystal = 8000000 '8MHz Dim Pozycja1 As Integer 'zmienna określająca położenie serwa1 Dim Pozycja2 As Integer 'zxmienna określająca położenie serwa2 Dim Czas1 As Integer 'zmienna pomocnicza do odmierzania czasu Dim Czas2 As Integer 'zmienna pomocnicza do odmierzania...
Timer0 i timer1 używają tego samego preskalera. Dlatego instrukcja prescale=64 zmienia warunki dla funkcji getrc5. Zajrzyj do noty katalogowej ATtiny2313 i nie pisz głupot więcej. Dodano po 14 Odmierz20ms1: 'funkcja obsługi serwa1 Timer1 = 65286 'przy wartosci 65286 timer1 bedzie generował przerwanie co 2ms Incr Licz2ms1 'zwiększ licznik zliczający...
Czas odmierza się oczywiście timerem. Możesz nastawić timer na 18 ms, dobierając odpowiednio do częstotliwości procesora preskaler i wartość rejestru porównania. Możesz też zaprogramować timer na zgłaszania przerwać np. co 1 ms i odliczyć do 18 w procedurze obsługi przerwania, po czym programowo zmienić stan wyjścia. Zacznij od poczytania w dokumentacji...
Można spróbować to zrobić na bramkach i ewentualnie przerzutnikach 'RS', albo 'D'. Tylko tego trochę dużo wyjdzie. Bramki: myślę, że z 2 bramek 2-wejściowych i 2 bramek 3-wejściowych można zbudować układ 2 przerzutników 'RS', do którego podłączy się 2 przyciski, i on zapamięta wciśnięcie przycisku i który to był; 3 takie układy, i do tego trzeba dodać...
Też myślałem, że to proste ale ciągle robie coś nie tak. Działało to tak: Przerwanie co około 96 us. Sprawdzam czy nie ma zera, jeśli jest to wyłączam triak. Odmierzam sobie np. 5ms i włączam triak. Niby proste, ale problem był w tym że na początku regulacji (do około 40% była płynna regulacja, przy następnym kroku był przeskok do około 60% a potem...
A propos 1 i tego co napisał kol. slx: http://mikrokontrolery.blogspot.com/2011... Swoją drogą odmierzanie czasu za pomocą delay - rozumiem, że to tylko do testów? Jeszcze uwaga dot. F_CPU - nie definiuj w kodzie z tych powodów: http://mikrokontrolery.blogspot.com/2011... Stosuj ISR():...
Witam Rezonator jest potrzebny do tego aby "napędzać" cały mikrokontroler. Układ rezonansowy składa się w tym przypadku z rezonatora kwarcowego oraz dwóch kondensatorów ceremicznych. Rezonator kwarcowy zapewnia dużą stabilność parametrów w czasie. Jeśli nie potrzebujesz dużej dokładności w odmierzaniu odcinków czasu to nie musisz tego kupować. Attiny...
http://obrazki.elektroda.pl/6514394200_1... Chciałem przedstawić prościutkie urządzenie, służące do ułatwienia pomiaru czasu. Na zawodach samochodowych, w których biorę również udział do pomiaru czasu wykorzystywany jest chronometr, do którego należy podłączyć fotokomórkę na linii START i drugą fotokomórkę na linii META. Jednakże nam...
Witam, Próbuję uruchomić zegarek na procku ATtiny2313. Problem w tym że zegarek (stoper) działa za wolno - nie chodzi tu o precyzyjne odmierzanie czasu ale dziesiątki sekund zmieniają sie z prędkością sekund. Program jest z mikroprocesorowej oślej łączki z edw. Tam użyty był at90s2313, ale jeżeli dobrze wyczytałem w nocie katalogowej to timer0 w obu...
Wydaje mi się, że najpierw powinno być „uruchomione” odliczanie tych 0,1 sek, wyzwalane pierwszym pikiem z „paczki”. Potem trzeba odczekać te 0,1 sekundy na zanik „szumów” i zacząć zliczanie w czasie 0,9 sek. Ilość zliczonych pików podzielona przez czas da mi częstotliwość. Wynik ma się utrzymywać na wyświetlaczu...
Wklejam kod. [syntax=basic4gl]'ATtiny2313 mruga dioda ustawienie portów. $regfile = "ATtiny2313.dat" $crystal = 10000000 Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , Rs = Portd.4 , E = Portd.5 Config Portd.6 = Output 'podłączenie diody pin nr 11 Config Timer0 = Timer , Prescale = 1024 Dim...
Witam! Od niedawna zmagam się z problemem którego nie mogę rozwiązać, dlatego zwracam się do was z prośbą o pomoc.A więc tak: potrzebuję zrobić odmierzanie czasu.Zamysł jest taki: taktuję Timer0 (8 bitowy) zegarem 4Mhz bez preskalera.Licznik przepełnia się po 256 taktach zegara czylo flaga przepełnienia ustawiana jest co 64us.Następnie wywoływane jest...
Oczywiście, że pomieszałeś, bo pod PD3 jednocześnie masz podłączone sterowanie anodą wyświetlacza i przycisk - jak wciśniesz przycisk, to odpowiednia cyfra wyświetlacza będzie zawsze aktywna... Użyj Timer1 w trybie CTC do odmierzania 0.01s - przy F_CPU = 1MHz chcesz mieć przerwanie z f=100Hz czyli odliczasz do 10000-1. To będzie za mała częstotliwość...
Spoko, tylko to jest na ATmega128. Co do kart pamięci to musiałbyś napisać obsługę sam. Generalnie poczytaj notę katalogową. //inicjalizacja Timera 0 jako generatora PWM void Timer0_PWM_mode() { DDRB |= (1<<4); TCCR0 |= (1<<WGM00) | (1<<WGM01) | (1<<COM01) | (1<<CS00);...
Prostszym językiem to będzie tak. Ponieważ masz 2 wyświetlacze, wyświetlasz cyfrę na pierwszym wyświetlaczu, później go gasisz i wyświetlasz cyfrę na drugim. Żeby nie było widać migania cyfr trzeba to robić 100 razy na sekundę, albo szybciej. Procesor więc musi zatrzymywać się 100 razy w ciągu sekundy i zapalać wyświetlacze na przemian. W tym celu należy...
Zamiast robić tam opóźnienie można policzyć ile taktów zajmie uartowi wysłanie ostatniej ramki i robić sobie inne potrzebne operacje ,które zajmują czas a po odpowiedniej ich liczbie zmienić stan porty i tyle . Asembler daje wiele możliwości wykorzystania czegoś co się nazywa opóźnieniem . A jak masz wolny licznik to można na nim zrealizować opóźnienie...
M.S. To nie jest samodzielny układ do sterowania silnikiem- to ma być sterownik sprzętowy sterowany zewnętrznymi sygnałami. Gdy silnik traci zasilanie- to i tak gubi pozycję. Trzeba wrócić do krańcówek i na nowo go spozycjonować. Trochę się nie zrozumieliśmy. Mój sterownik samoczynnie wyłącza zasilanie silnika (0 napięcia na wszystkich cewkach) kiedy...
jak chcesz zrobić dimmer, to musisz zastosować detekcję zera w sieci, oraz traiki "nie załączające w zerze". Sam PWM nie da tutaj Tobie dużo. Taki ściemniacz jest o kilka rzędów bardziej złożony niż sterowanie jasnością LED'a. Musisz zrobić coś na kształt pętli PLL i odmierzać odcinki czasu do następnego przejścia przez zero w sieci. Jeżeli chcesz ustawić...
emarcus dzięki teraz już gra. ... Mam jeszcze takie pytaniena wejście INT0 podam np sygnał z generatora który podaje przebieg np 4.8KHz to na wyświetlaczu pojawia mi się liczba 11136 zamiast 4800. Co może być nie tak ? Poniżej podaję listing programu. $regfile = "attiny2313.dat" $crystal = 12000000 Portd = &B00100100 Portb = &B00000000 Config...
Do tej pory troszkę bawiłem się AT89C2051. Wykonałem pewien układzik który za pomocą Timera0 zliczał impulsy na wejściu T0 podczas 1sekundy którą odmierzałem Timerem1. Jako, że musiałem przeprogramować 51 do innych celów chciałbym go zastąpić Attiny2313 bo mam dwie sztuki. Zacząłem czytać książkę Dolińskiego aby wykonać program ale mam pewne problemy....
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...
Witam Napisałem swój pierwszy program wiec proszę o wyrozumiałość … Attiny cyklicznie będzie odmierzał zadany czas i po upływie tego czasu załączał przekaźnik na 1 sek Będzie również zliczał ile razy przekaźnik został załączony i wyświetlał na wyświetlaczu : Zadany czas , ilość załączeń wyświetlacza , ile czasu już upłynęło od ostatniego załączenia....
Z rozmachu zapomniałem o tych dyrektywach ale pomimo dodania nich występuje nadal to samo z wewnętrznym oscylatorem po zmienieniu FUSEBITS na zewnętrzny generator kwarcowy 4Mhz i jest wszystko dobrze sekunda trwa sekundę. Ta wada eliminuje użycie wewnętrznego oscylatora do precyzyjnego odmierzania czasu w moim przypadku jest to sterownik rolety okiennej...
Witam Próbuję napisać obsługę pilota, który używa kodowania [url=http://www.ustr.net/infrared/nec.sh... Następnie chcę przesłać kod na okno terminala za pomocą USART. Próbuję to realizować bez użycia funkcji typu delay_ms(), zamiast tego chcę użyć przerwań. Idea jest taka, że po pojawieniu się pierwszego zbocza od odbiornika podczerwieni, wywoływane...
Najprościej i najtaniej - kawałek procesorka (ATTiny11, ATTiny2313) i krótki programik badający wejścia i odmierzający tę minutkę (najprościej by wyszło pewnie w BASCOMie). W wersji CMOS lub TTL trzeba dać dwa zatrzaski, dwie bramki XOR z wejściami dołączonymi do wejść (XY) i wyjść zatrzasków (wykrywanie zmian sygnału). Wyjścia bramek XOR przez OR na...
Witam. Zmontowałem prosty zegar na procku attiny2313. Użylem softu ze strony: http://www.mikrokontrolery.net/avr_c_07.... (kod ponizej). uC jest taktowany kwarcem 4Mhz. Okazuje się jednak , że dokładność odmierzania czsu jest bardzo mała, zegar spóźnia sie co godzinę o kilka minut. Wydaje mi się że problem tkwi w opóźnieniu wpisania wartości do rejestrów...
Dzięki bardzo zrobiłem to na timerze odliczanie zamiast wait 1 ale jaka dac wartosc w timer1 aby odmierzało co sekunde albo co minute jest jakis wzor aby to obliczyc?? przycisk działa wiekie dzieki $regfile = "attiny2313.dat" 'najpierw określamy typ proca $crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował Dim Jedn As Byte...
I ooo to właśnie chodzi - a jeśli potrzebujemy dużych i pewnych na 100% prędkości RS232 - to wtedy zachodzi jedna z istotniejszych potrzeb aby zastosować w ogóle kwarc zamiast oscylatora. I wtedy też na potrzeby akurat transmisji RS232 stosuje się tzw "kwarce przyjazne dla RS232" Jak sobie zajrzysz na ostatnią stronę rozdziału UART w dowolnej nocie...
Proponuję zacząć od końca czyli od elektroniki cyfrowej. Dokładniej od programowania w BASCOM Skoro mówisz, że wiesz co nieco o elektronice to posiadasz już jakąś wiedzę teoretyczną, którą później rozwijasz. Na początek skompletuj zestaw: Podstawowe zaplecze do nauki, I: - " Programator + mikrokontroler "(najlepiej AVR, jakiś ATtiny2313 albo Atmega8)....
http://www.kanthal.com/en/products/mater... * Temperatura topnienia 1500°C - spora, to duża zaleta, może nawet dałoby się używać takich drucików wielokrotnie? * Ciepło właściwe: średnio około 0.66 J/g/°K, 5 J/cm³/°K - to też sporo, i to akurat jest niekorzystne - duże zużycie...
Witam, mam problem z obsługą RC5, chce zrobić obsługę przekaźników poprzez RC5. Może ktoś sprawdzić co jest nie tak??. Dopiero zaczynam programowanie więc proszę o wyrozumiałość. [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #define pierw_spraw 90 #define spraw 149 #define odebrano 0 #define zdekodowano 1 #define error 2 volatile...
https://obrazki.elektroda.pl/2363772900_... W miarę rozprzestrzeniania się na całym świecie koronawirusa coraz częściej zastanawiamy się, jak zapewnić sobie i innym bezpieczeństwo w domu, pracy lub innym miejscu spotkań. Dezynfekowanie i sterylizacja za pomocą płynów na bazie alkoholu wszystkich pomieszczeń, w których przebywamy i przedmiotów,...
http://obrazki.elektroda.pl/3995422400_1... Witam wszystkich, moim nowym projektem jest wydajna wytwornica dymu, którą konstruowałem przez ostatnie tygodnie :D Jako że nowe wytwornice dymu są drogie i dość mało wydajne, średnio zużywają 25ml na minutę. Moja wytwornica dymu miała spełniać kilka założeń: - po pierwsze - tanio!; - po drugie...
To proste: Aby odczekać sekundę to przy zegarze 1Mhz musisz odczekać 1 000 000 cykli. Możesz użyć do tego preskalera (1,8,64,256,1024). Jesli chcesz odmierzyć sekundę to musisz użyć preskalera 64 (256 i 1024 nie wchodzi w gre ponieważ jeśli podzielimy 1 000 000 przez te liczby to nie wychodzi liczba całkowita). I tak przy preskalerze 64 timer musi zliczyć...
[syntax=basic4gl] Dim Przerwa As Byte 'licznik czasu przerwy Dim Pomoc1 As Byte , Pomoc2 As Byte , Wysw As Byte 'zmienne pomocnicze Dim Random As Byte 'zmienna do uzyskania przypadkowości Dim Zliczaj As Bit '1 - zezwolenie zliczania czasu Dim Setne As Byte 'licznik setnych części sekundy Dim Dzies As Byte 'licznik dziesiątych części sekundy Dim Wygasz...
Witam! Ponieważ potrzebuję miernik częstotliwości do 160MHz, postanowiłem przerobić nieco projekt AVT3003. Zamiast kwarcu 10Hhz i AT90s2313 włożyłem ATTiny2313 z generatorem kwarcowym 20MHz. Przy takim taktowaniu należało zmienić również program. W komentarzu ' moja zmiana wskazałem, co zmieniłem - trzy linie programu. Problem jest taki,że podłączony...
czy mógłby mi ktoś podpowiedzieć jak odbierać rc5, chodzi mi o rozwiązanie czasów odbioru, czy umieścić odbiór w timerze1 jeśli tak to jak go ustawić żeby odmierzył te 864us, prosiłbym również o podpowiedź jak rozwiązać sam odbiór, zapisywać stany do zmiennej??(przeglądałem forum[i nie tylko] ale informacji dla c nie znalazłem)
Witajcie! W sieci znalazłem projekt lampki RGB sterowanej z pilota, projekt pochodzi z tej strony. Postanowiłem jednak z budować do tego swój pilot, a wybór padł na SAA3010: (na schemacie zamiast rezonatora jest kondensator, proszę się tym nie sugerować.) http://obrazki.elektroda.pl/9020128600_1... Pilot jest raczej sprawny i działa...
Witam! Mam następujący problem. Jak ustawić prescaler i licznik aby odmierzyć 1 sekundę. programuje w bascom-ie, procesor attiny2313 zegar 1MHZ. Wspomagam się książką Wiązani, ale tam jest przykład dla atmegi8 i w pewnym momencie występuje stwierdzenie,że przy 8mhz jeden cykl zegara wynosi 125ns. To stwierdzenie jest dla mnie kluczem do zrozumienia...
https://obrazki.elektroda.pl/8213915500_... Czasomierz dla klejarki pistoletowej Bosch PKP 18 E. https://obrazki.elektroda.pl/3128317200_... Po kolejnej awarii pistoletu do klejenia na gorąco, kupiłem klejarkę firmy Bosch. Klejarka ta, wymaga siedmiominutowego wstępnego rozgrzania, aby umożliwiała właściwe klejenie....
Mam projekt enkodera inkrementalnego który ma dwa pierścienie z polami generującymi sygnał 0 i 1. Między górnym i dolnym pierścieniem jest przesuniecie 90°. Więc tak wyglądają sygnały: http://obrazki.elektroda.pl/7174774200_1... Teraz tak, jedno pole na tarczy zajmuje 2°. Z racji tego że jest przesuniecie 90° mogę uzyskać rozdzielczość...
Witam sprawdź ten kod co prawda są inne numery portów i inny procek ale jak zmienisz powinno działać. Problem jest jeden w momencie jak naciskasz przycisk i zmieniasz końcówkę na WYJŚCIE to stan tego pinu Musi być (0) Niski , żeby nie zrobić zwarcia. '$sim $regfile = "attiny2313.dat" $crystal = 11059200 $baud = 9600 enable interrupts 'włącz...
Na razie dla testów podłączyłem: R1=330Ω R2= 0 i zdecydowanie się poprawiło jednak nie jest to jeszcze to czego oczekuję. Inna sprawa, ze gdy testowałem z R1=68Ω to pilot zaczynał się dziwnie zachowywać. Dioda zaczynała świecić zamiast mrugać, a odbiorniki w ogóle nie reagowały na sygnały. Jutro powinienem pójść do sklepu i zakupić rezystory...
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output 'dioda sygnalizująca odmierzenie czasu Config Pinb.1 = Output 'buzzer mający piknąć 3 razy po odmierzeniu...
Witam. Wiem, że podobne problemy był już wałkowane milion razy lecz nie mogę sam sobie z tym poradzić. Do rzeczy: Chcę aby po przyciśnięciu przycisku dioda zapaliła się po pewnym czasie na krótką chwilę. Chcę to wykonać na przerwaniu, zależy mi na precyzyjnie odmierzonym czasie od momentu naciśnięcia przycisku do zapalenia się diody. Czas palenia się...
Tak mi to wyszło to mój pierwszy program (nie licząc włącz-wyłącz diode) wiec proszę o wyrozumiałość. Częstotliwości jeszcze nie obliczyłem bo mam z tym trudności. Nie wiem tylko czy dobrze zrozumiałem ze timer1 w trybie Pwm jako jedno przerwanie zlicza jeden cykl [syntax=basic4gl]$regfile = "2313def.dat" $Crystal=8000000 Config Pinb.3 = Output Config...
http://obrazki.elektroda.net/61_12301131... Witam, Na wstępie chciałem zaznaczyć, że to moja pierwsza konstrukcja w dziale DIY więc proszę o wyrozumiałość. Zbudowałem urządzenie odmierzające czas w dół czyli minutnik. Moje urządzenie ma możliwość nastawienia dowolnego czasu z zakresu od 0 sekund do 99 minut i 99 sekund. Po odmierzeniu nastawionego...
Witam :) Jako ze jest duzo pytan na forum na ktore odpowiedz padla, postanowilem ze zbiore choc troche postow do kupy, tematy dotycza glownie AVR, bo z ARMow jeszcze nie czuje sie na tyle na silach zeby robic FAQa ;) Mam nadzieje ze sie komus przyda :) Niby FAQ jest, ale dla mnie jakoś malo czytelny i chyba nikt go juz nawet nie aktualizuje ;) Jesli...
Możesz spróbować tak: Zmień typ zmiennej timer na volatile uint8_t i procedurę obsługi przerwania: timer w ogóle nie musi być volatile . Można nawet zastosować zmienną statyczną timer wewnątrz procedury obsługi przerwania, przy czym to już niewiele zmieni, jeśli chodzi o szybkość wykonywania procedury. No i zakladam, że te funkcje _delay_ms() wewnątrz...
MatiZ --> no ok - w takim razie takie dokładne pomiary oscylem cyfrowym to już coś. Rzeczywiście pilot - dziwoląg ale ..... skoro masz dokładną częstotliwość i nawet współczynnik wypełnienia udaje się dokładnie określić to: 1. trzeba w procku zrobić procedurę odbioru powiedzmy .. np 64 bitów. Jeden bit to będzie jeden okres tego przebiegu 2. procedura...
kuba989898 -> hmm widzisz ja stosuję AVR Studio jako kompilator i tam makefile , wraz z tymi parametrami o których piszesz, jest automatycznie generowny. Tak więc próba ich dodania w kodzie powoduje czkawkę i warningi o tym, że coś jest dwukrotnie zdefiniowane itp. doszedłem już zgodnie z tym co mówiłem poprzednio, że jednak źle dobrałem czasy przez...
Koledzy potrzebuję pomocy, siedzę cały dzień nad programem i nie mogę sobie poradzić. Chodzi o to aby program działał tak jak ten który napisałem, tylko potrzebuję dopisać do niego procedurę kodowania zmiennych A i B. Konkretnie chodzi mi o to aby np po wciśnięciu przycisku SW i SW1 przez około 5 sekund, żeby program skoczył do podprogramu np PROGRAMUJ,...
Mam prośbę o pomoc w ukończeniu programu, otórz założeniem programu jest aby zaświecić dioda1 po określonej ilości mrugnięć dioda2 i w odpowiednim momencie wciśnięciu SW1. Program działa bezbłędnie jeśli ręcznie określę mu zmienne A i B, natomiast zaczynają się schody jeśli chcę dodać możliwość programowania zmiennych A i B, zapisując je w pamięci eeprom....
Powinno działać zmniejszanie, aczkolwiek nie testowałem. Napisałem tak na kolanie, ale i tak znów pomimo dodania funkcjonalności zajmuje mniej ;) Dodatkowo: PORTB w Attiny2313 ma już osiem pinów a nie jak poprzednio... [syntax=vbnet]$regfile = "attiny2313.dat" $crystal = 8000000 $hwstack = 32 $swstack = 14 $framesize = 32 $baud = 38400 Config Submode...
Nie przesadzaj ;) Jestem programista ale akurat bascom mi nie podchodzi. Do tego slyszalem ze odmierzyc tam cos precyzyjnie nie idzie - stad opinia. Co do kodu to co tu pokazywac? toggle portd.0 .... waitus ... toggle itd? Tak czy siak twoj kod nie dziala odnośnie gotowca od kolegi pixel.... Juz naprawilem kod. Napilem sie kawy a nastepnie jeszce raz...
http://obrazki.elektroda.pl/3622659500_1... Witam, chciałbym przedstawić swoją prototypową konstrukcję dotyczącą 1wire i słynnych czujników DS18, jak każdy układ powstał z potrzeby. Ten projekt jest Aktualizacją obecne używanego starego dosyć układu AVT AVT5330(8 x DS18) opartego na Attiny2313 - Link do dokumentacji: crontab -e i na...
odmierzanie czasu odmierzanie atmega odmierzanie długości
schematy kenwood instrukcja alarmu tytan wymiennik saunier
mikrokomputer cobra1 mikrokomputer cobra1
Samsung NZ64H37070K - jeden palnik grzeje z połową mocy Ile ekogroszku na sezon dla domu 200m²?