ktoś da cynk jak zrobić coś takiego na attiny2313 http://www.youtube.com/watch?v=uNpGGLREbBE&feature=related] nie umiem pisać programu
|
|||
Mirley - Elektronika i Programowanieprojekty, programy.... wszystko o elektronice |
CiasteczkaStrona używa cookies (ciasteczek). Jeśli nie chcesz, by te pliki były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Czym są cookies? LogowaniePolecane StronyPopularne Dzisiaj
|
|
mirley (c) 2007-2020 Jeżeli chcesz pomóc w rozwoju witryny kliknij tutaj |
Re: Program
Tutaj nie trzeba nic umieć tylko posłużyć się poleceniem waitms i ustawianiem stanu na porcie procesora, taki masz szkielet programu:
Wszystko co musisz zrobić to napisać polecenia Waitms dające opóźnienie i polecenia Set i reset dany port procesora w pętli głównej Do loop (tak jak w przykładzie wyżej). Diody dołącz przez rezystory ograniczające prąd np 330R między +5V a pin procesora. Możesz sobie wykorzystać wszystkie piny procesora Portb.0 do Portb.7 i jeszcze port d jak Ci braknie. procesor działa na wewnętrznym oscylatorze więc nie trzeba nic do działania tylko podłaczyć zasilanie, zaprogramować i podłaczyć diody
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
jest ok wszystko zmontowałem
jest ok wszystko zmontowałem wgrałem i świecą dzięki mirley tylko nie wiem o co chodzi ze zdefiniowaniem nazw 'Nazwa Alias Portb.0 to jedno ma zostać bo jak wpisywałem po kolei ze zmiana tylko numeru portu to przy kompilacji wywala błąd ze jest już taki użyty ?? resztę już kumam
ROOKIE
Re: Alias
Możesz sobie zdefiniować nazwy pinów żeby nie musieć pamiętać co jest do czego podłączone np:
potem zamiast Set Portb.0 możesz sobie napisać Set lampa_przod1 itp.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
napisałen to tak i przypomina
napisałen to tak i przypomina to strobo wreszcie narazie tylko dwie diodki
a i czy mogę dodawać sobie te gwiazdki tak jak jest powyżej np :"przód koniec" żeby się nie pogubić jak więcej będę pisał tego
ROOKIE
jeszcze jedno co dopisać aby
jeszcze jedno co dopisać aby migały na określony czas np:1 minute a następnie przeszły na inny rodzaj migania ktory sobie napisze i powróciły do pierwszego migania czy to już wyższa szkoła jazdy?????
ROOKIE
Re: Migacz
Generalnie nie jest to problemem jak program jest napisany porzędnie z użyciem sprzętowego timera itp. W twoim przypadku będzie problem bo podałem Ci najprostszy sposób jak można sobie wyobrazić ze zwykłymi opóźnieniami. Można ten problem przeskoczyć każąc procesorowi wykonywać określoną ilość sekwencji jednego migania a potem przejście do innej sekwencji znowu na ileś iteracji.
Możesz to zrobić zamykając w pętlę for twoje instrukcje migania:
na początku deklarujesz zmienna n (dim n as byte) poza pętlą do loop tak jak wyżej
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
o to chodzi
DZIAŁA heheheh jak to nie wiele potrzeba by człowiek był szczęśliwy wielkie dzięki mirley jesteś wielki
ROOKIE
jescze raz?
zauważyłem ze jednak diody mrygaja w sposób po kolei jak jest napisane chciałem aby każdy port wyjścia żył własnym życiem inna częstotliwością migania z tego można zrobić biegnące światło a tego właśnie nie chcę
ROOKIE
Re: Migacz
Przecież da się to zrobić w taki sposób jak napisałem, podziel pracę układu na mniejsze odcinki z waitms, np:
w powyższym fragmencie 3 diody migają każda z inną częstotliwością. Bardziej wygodnie da się to zrobić na timerze ale i tak nie dasz rady uzyskac niezależnego migania każdej z diod, Częstotliwość ustaloną timera możesz sobie tylko podzielić przez ileś
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Re: Migacz
jestem autorem -> czegoś takiego <- i częścią programu jest taki oto kod: (prawa autorskie)
5 rodzajów migania stroboskopów w modelu samochodu zdalnie sterowanego w skali 1:10. podstawą jest umiejętne wykorzystanie timera.
Moja strona w powijakach
Dodatkowy przycisk
Chciałem do tego kodu poniżej dołożyć przycisk który sterowałby efektem diód
Czyli na początek:
kolejne kliknięcie:
itd...
Re: miganie
Napisz program z uzyciem timera inaczej będzie problem z sensownym odczytem klawiszy. Można zrobić zwykłego ifa ale w pierwszym przypadku na reakcję klawisza będzie trzeba czekac tyle ile masz waitów w sumie, czyli 300ms. W drugim przypadku klawisz zareaguje po 800ms albo wczesniej, zależy jak trafisz przyciskiem w działanie programu.
Trzeba zrobić timera z sensownym przerwaniem i odpowiedniego case, który zaświeca diody
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Można to zrobić na attiny 13?
Można to zrobić na attiny 13? i jak napisać program z użyciem timera?
Re: jak napisać program z użyciem timera?
Szablon wygląda następująco:
1. Ustalasz co ile nastąpi przerwanie
2. Dobierasz jakąś zmienną typu WORD która będzie zwiększana w przerwaniu timera
3. Uruchamiasz przerwania
4. W podprogramie przerwań piszesz szereg SELECT CASE zmienna i piszesz co ma się dziać. Jako że zostanie wykonana tylko jedna czynność z danego SELECT CASE to nie trzeba się obawiać dużej ilości procedur w podprogramie przerwania. Ja pisałem w ten sposób programy i nic się nie działo.
Moja strona w powijakach
program z użyciem timera
Pomoże mi ktoś poprawić program? SELECT CASE sam dopisze
Re: jak napisać program z użyciem timera?
Powinno być troszkę inaczej. Nie wnikam w ustawienia portów itp. Początek tylko skopiowałem.
Moja strona w powijakach
Co tu jeszcze powinienem
Co tu jeszcze powinienem zmienić?
Re: jak napisać program z użyciem timera?
W ogóle to powinieneś napisać co chcesz osiągnąć? Bo ja nie wiem. Niby na początku napisałeś że chcesz napisać strobo z użyciem timera a zwiększasz wartość zmiennej za pomocą naciskania przycisku?
Moja strona w powijakach
Więc tak1. Dwie diody i
Za mało mam doświadczenia co do pisania programów
1. Dwie diody i przycisk
2. Na starcie niech świecą obydwie diody
3. Naciskam przycisk chcę uzyskać efekt stroboskopu policyjnego
4. Naciskam jeszcze raz i mrugają obydwie diody
itd...
Re: jak napisać program z użyciem timera?
To trzeba to zrobić zupełnie inaczej niż myślisz.
Specjalnie nie napiszę Ci gotowca bo niczego się nie nauczysz. Podpowiem tylko i naprowadzę.
Wystarczy że w select case wstawisz odpowiednie ustawiania stanów na pinach i będziesz miał strobo jak ta lala.
Moja strona w powijakach
Coś jest nie tak bo mam
Coś jest nie tak bo mam błąd
Re: błąd
Gdzie masz błąd i jaki? Program pisałem z głowy na sucho więc błąd mógł się wedrzeć. Nawet nie sprawdzałem programu. Nie mam na to czasu.
Zmienna wlacz_wylacz nie jako word a jako byte, a migacz nie deklarujesz bo to podprogram a nie zmienna.
Moja strona w powijakach
już poprawiłem końcówka
już poprawiłem
końcówka programu
Re: Błąd
Bo musisz napisać:
a nie
Jeśli napiszesz warunek If...Then w jednej linii to nie musisz pisać end if.
Moja strona w powijakach
migacz: toggle dioda1 '
Re: Błąd
Nie wiem, ciężko mi się myśli. Pomyśl troszkę. Może zmień jakieś deklaracje? Bascom jest o tyle dziwny że nie zawsze błąd jest w linii na którą wskazuje kompilator.
Moja strona w powijakach
Kolega może spróbuje sobie
Kolega może spróbuje sobie przypomnieć jak budował swój stroboskop do modelu samochodowego to może się przypomni co jest nie tak.
Re: Błąd
Napisałem wiele różnych softów do modelu, natomiast u mnie każdy działa jak zakładałem i jak przedstawione w załączonym kodzie.
U mnie zmienna rodzaj_strobo zmieniana była przyciskiem a zmienna wartosc_strobo odliczana z timera i wszystko działało i działa jak należy.
Moja strona w powijakach
może łatwiej będzie napisać
może łatwiej będzie napisać kod jeśli np zastosujemy 3 przyciski i naciśniecie pierwszego zapali na stałe obydwie diody, drugi włączy stroboskop policyjne, a trzeci błysk obydwu diod na raz
Re: Strobo
Eeee, nie trzeba tak kombinować. Jedna zmienna jako byte którą zmieniasz za pomocą przycisku i na jej podstawie zmieniasz resztę czyli świecenie stroboskopów.
Moja strona w powijakach
Coś takiego?
Re: Jak napisać program z użyciem timera?
Błąd masz tutaj:
Powinno być:
Błąd wywala bo nie masz etykiety Zmiana tylko jest atykieta Przerwanie_od_timera.
W pętli głównej po:
daj choćby małego waitms bo procesor sprawdzi Ci stan danego pinu setki razy i tyle samo razy zmieni Ci wartość zmiennej o nazwie Zmienna
A do tego skonfiguruj timer0 obliczając co ile ma nastąpić przerwanie, czy to ma być timer czy counter, itd.
Diody zaświeca się dając na pin procka reset czyli stan niski a gasi się podając na pin procesora set czyli stan wysoki. W mikroprocesorach najczęściej steruje się od strony masy, że tak powiem.
Moja strona w powijakach