Witam. Mam problem. trochę dziwny bo nie miałem wcześniej styczności z programowaniem układów, a muszę zaprogramować akurat coś takiego. Przeglądałem kilka stron w necie, nic z tego nie rozumiem, no prawie nic bo udało mi się przerobić jeden kod na coś takiego co mi potrzebne. Posiadam programator zbudowany wedlug schematu Dybkowskiego, i programy ISP Programmer, ISP Flash Programmer i Bascom AVR. Oto kod" Config Portd = Output Config Portb = Output Config Pind.6 = Input Portd = 127 Portb = 255 Dim Linijka As Word Do Linijka = &B0000001100000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000011110000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000111111000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0001111111100011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0011111111110011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0111111111111011 Gosub Przypisanie Gosub Opoznienie Linijka = &B1111111111111111 Gosub Przypisanie Gosub Opoznienie Linijka = &B0111111111111011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0011111111110011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0001111111100011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000111111000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000011110000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000001100000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000010010000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000100001000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0001000000100011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0010000000010011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0100000000001011 Gosub Przypisanie Gosub Opoznienie Linijka = &B1000000000000111 Gosub Przypisanie Gosub Opoznienie Linijka = &B0100000000001011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0010000000010011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0001000000100011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000100001000011 Gosub Przypisanie Gosub Opoznienie Linijka = &B0000010010000011 Gosub Przypisanie Gosub Opoznienie Loop Przypisanie: Portb.0 = Linijka.15 Portb.1 = Linijka.14 Portb.2 = Linijka.13 Portb.3 = Linijka.12 Portb.4 = Linijka.11 Portb.5 = Linijka.10 Portb.6 = Linijka.9 Portb.7 = Linijka.8 Portd.0 = Linijka.7 Portd.1 = Linijka.6 Portd.2 = Linijka.5 Portd.3 = Linijka.4 Portd.4 = Linijka.3 Portd.5 = Linijka.2 Return Opoznienie: Waitms 80 Return End zastanawia mnie to - &B0000010010000011 bo z tego co zrozumialem jest tu 16 wyjsc, a wedlug ukladu jest 14. Nie wiem o co chodzi z tymi fuse-bitami. W sumie to nie wiem nic procz tego jak podlaczyc uklad pod programator;/ Jesli ktos bylby tak mily i mi rozjasnil troche to bym byl wdzieczny...
|
|||
bo o to chodzi ze na poczatku
bo o to chodzi ze na poczatku ma sie wszystko zapalic, a pozniej zgasnac i ma chodzic powtarzajaca sie sekwencja. w pony prog normalnie robi weryfikacje cala, w ISP tak samo, a w bascomie wywala blad.
zgadza sie to co wgrywam z tym co odczytuje... nie mam pojecia o co chodzi, pierwszy raz tak mam. do tej pory na tym samym programie wszystko bylo normalnie. jeszcze sproboje z mocniejszym zasilaczem
wlaczanie programu przyciskiem
Mam pewien problem.
Korzystając z tego że mam 2 procki 2313 postanowilem je wykorzystac.
Oto kod:
Kombinowałem już na kilka sposobów ale bez ingerencji kogoś z umiejętnościami się nie obejdzie. Przy takich ustawieniach jakie są obecnie wpisane (4MHz, waitms 8) chodzi idealnie, ale tylko jesli zrobie powtarzanie kolejki. Mi chodzi o to żeby nic się nie świeciło do momentu wciśnięcia przycisku podpiętego na port PD6 (zwierany do masy). Po wciśnięciu przycisku żeby się włączyła ta cała kolejka z polecenia Case, a po skończeniu z powrotem wszystko było wyłączone.
Mógłby ktoś mi pomóc? bo już nie wyrabiam psychicznie nad tym :) Z góry dzięki!
Re: Diody
Popatrz teraz. Powinno działać. trzeba dodać zmienną flaga i sprawdzić stan przycisku. Zmieniłem typ wyprowadzeń portu D na wyjścia i tylko d6 ma być wejściem
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.
No więc wygląda to tak.
No więc wygląda to tak. miałem do podłączenia 20 LED i buzerek piezo. Z tego względu że 2313 ma maksymalne obciążenie 20mA na port, to podzielilem diody i podlaczylem z 4 wyjsc na tranzystory NPN. no i jest to dziwne bo dziala w taki sposob ze wszystko co jest w kodzie attiny ustawione na wylaczone to w rzeczywistosci sie swieci, a jesli sie pojawi sygnal to sie wylacza (cos jakby robi sie zwarcie i nie swieci). Generalnie dziala odwrotnie niz powinno, dlatego jest przekrecony kod (wlaczenie/wylaczenie portow).
A po dodaniu tej czesci z wlacznikiem jest tak ze, jesli zewre wejscie do masy to nie chodzi sekwencja tylko wszystkie porty uaktywaniaja sie na stale, i dioda caly czas swieci, bez jakiegos ograniczenia czasowego. Nie mam pojęcia o co tu moze chodzic. Tranzystory podlaczylem tak jak to bylo opisane na twoim forum.
Re: Tranzystory
Jak dasz tranzystor NPN podłączony bazą do procesora, emiterem do masy a na kolektorze będą diody z rezystorami podłączone do + zasilania to nie ma sie co dziwić że stan sie odwraca. Tranzystor działa przecież jak negator w takiej konfiguracji. Wysoki stan na bazie włącza tranzystor i potencjał kolektora staje się niski, powodując zaświecenie diody. Jak baza pójdzie do masy to diody zgasną....
stan jaki będzie podczas wygaszenia musisz sobie wpisać do zmiennej LEDS:
Jak dasz same zera to tranzystory się wyłączą i diody zgasną
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.
No dobra ale mialem
No dobra ale mialem programowane tylko te podrty pod ktore podlaczylem cokolwiek. Fakt faktem ze nie dziala ta opcja z wlacznikiem :(
Re: led
Zmień jeszcze to:
na
pin na którym jest wejście przycisku powinien być ustawiony w stan 1, czyli podciągnięty do + zasilania.
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.
niestety to nic nie zmieniło.
niestety to nic nie zmieniło. bo zwarciu PD6 do masy wlacza sie i caly czas swieci...
Re: Diody
Czy wszystkie diody podłączone są poprzez tranzystory? Nie widzę błędu w programie. Jeśli wszędzie są tranzystory to 0 logiczne powinno je zgasić.... chyba że masz PNP od strony zasilania, to wtedy zmienia postać rzeczy.
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.
tak to wygląda, miałem czas
tak to wygląda, miałem czas to rozrysowałem :) łatwiej coś zrozumieć.
Re: Tranzystor
Jest tak jak pisałem wcześniej. Jeśli masz wątpliwości to wyjmij procka z podstawki. Weź kabelek podłączony z jednej strony do 5V i dotykaj po kolei do pinów portu w pustej podstawce. Tranzystory powinny się włączać
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.
Sprawdziłem jak napisałeś.
Sprawdziłem jak napisałeś. Tranzystory działają prawidłowo. A układ cały dalej nic. Po zwarciu pinu do masy załącza się na stałe i na tym koniec.
Re: led
Chwila ..... a gdzie modyfikujesz wartość licznika?
Dopisz zaraz po waitms 8:
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.
Wreszcie coś ruszyło! Odpala
Wreszcie coś ruszyło!
Odpala się, ale po wciśnięciu przycisku odtwarza sekwencję do 20 pozycji i koniec. nie wiem w czym może być problem. podaję to co mam w kodzie na samym końcu
zastanawia mnie polecenie "end if" które pojawia się tylko raz, a poleceń if jest więcej, chyba że działa to inaczej niż mi się wydaje.
mimo wszystko dzięki za rozwikłanie tejże zagadki!
Re: Diody
End if jest potrzebny jak w ifie jest więcej niż jedna linijka. Jak piszesz w jednej linni ifa i po then jedno polecenie to end if nie trzeba. Jak polecenie po if jest w nowej linijce lub jest więcej poleceń to wtedy na końcu pisze się end if
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.
Nie wiem o co chodzi. Po
Nie wiem o co chodzi. Po włączeniu zasilania jest wszystko ok, zewrę pin z masą włącza się cała sekwencja, a następnym razem włączają się 3/4. I po pierwszym włączeniu procek tak jakby wariuje, bo nie odpala pełnego schematu.. Co może być przyczyną? No bo jak sam stwierdziłeś w kodzie jest wszystko ok.
Re: LED
To zwiększanie licznika i jego ograniczanie
Wstaw zaraz po sprawdzaniu flagi, czyli po if flaga=1 .......
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.
X = Leds Mod 256 Portb = X
W miejscu X trzeba coś wstawić?
Re: Diody
X to zmienna pomocnicza, zadeklarowana na początku programu. Typ byte
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.
$regfile =
Jak mogę zmienić program by uzyskać efekt zwiększania szybkości lub zmniejszania po zwarciu do masy przez PD.6?
Re: opoznienie
To co masz powinno dokładnie tak działać
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.
Gdy przycisk jest rozwarty to
Gdy przycisk jest rozwarty to stopniowo przyśpiesza efekt przejscia, a gdy zwieram do masy to prędkość się stabilizuje. Chciałbym każdym naciśnięciem przycisku zwiększać prędkość o np: 10%
Re: konfiguracja portów
zmień konfigurację na początku. Ma być:
przecież 6 pin ma być wejściem. Nie zauważyłem tego wcześniej
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.
Zmieniłem ale jest taka sama
Zmieniłem ale jest taka sama sytuacja.
Re: Diody
A co się dzieje jak zmieniasz na początku programu wartośc opu (np opu = 10, opu = 100, opu = 250)i nie dotykasz przycisku? Zwróć uwagę że jak trzymasz przycisk to cały czas wywoływany jest dodatkowy waitms 1000 w obsłudze przycisku... Aha zamień tego waitms 1000 na wait 1 bo tak powinno być.
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.
Zmieniłem na opu = 250 i
Zmieniłem na opu = 250 i efekt jest podobny tyle ze w dłuższym czasie przyśpiesza bez wciskania przycisku
Re: Diody
A jak wogóle wywalisz tego ifa z odczytem pind.6 to co się dzieje? powinno działać ze stałą prędkością, ustawianą w zmiennej opu na początku
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.
Pozmieniałem tak żeby
Pozmieniałem tak żeby zapalała się jedna dioda, a nie tak jak niżej dwie i jest teraz dobrze.
zrobiłem tak
potrafi kolega wyjaśnić czemu tak się działo?
Re: Diody
To przypadek stany diod nie mają tu znaczenia..... popatrz za to na linijkę
tu też jest błąd. Wpisujemy stany wszystkich portów co powoduje wyłączenie podciągania na pd6 jak trafi się akurat w zmiennej 0. Trzeba by spróbowac zamiast tego tak:
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.
Portd = X or &B11000000 Bez
Bez wstawiania &B11000000 też jest dobrze
Witam serdecznie Chciałbym
Witam serdecznie
Chciałbym się dowiedzieć jak mogę dopisać do tego programu niżej przycisk.
Naciskam np: S1 włączają się po kolei diody od case 0 do case 14 mija 15 sekund i wyłącz się po kolei od case 14 do case 0
Re: Led
Na samym początku trzeba by uruchomić timer żeby nie latało to tak w do loop bez ładu i składu. Szczególnie jak będziesz chciał odmierzać sensownie te 15 sekund i jeszcze przyciski obsługiwać. Konfigurację timera masz na początku zakomentowaną:
Na końcu programu dodajesz obsługę przerwania:
teraz trzeba by w tej obsłudze przerwania dopisać ustawianie zmiennych tak zwanych flag typu bit. Np
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.
chcialem sobie zrobić
chcialem sobie zrobić oświetlenie schodowe. więc będzie potrzebna obsługa 2- uch przycisków
Re: Oświetlenie
No to nie ma problemu tylko w miejscu obsługi flagi F_6ms w pętli głównej dajesz odczyt dwóch klawiszy. Korzystasz z konstrukcji:
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.
Wyszło mi coś takiego, ale
Wyszło mi coś takiego, ale chyba coś brakuje
koledze wyżej chodzi chyba o
koledze wyżej chodzi chyba o coś takiego: http://www.youtube.com/watch?v=Ir_cqS6oV5U&feature=watch_response
fajny bajer, Też bym sobie taki zmontował
Re: oświetlenie
No dokładnie o tym samym myśleliśmy
Spróbuj to... poza obsługą flag nic nie umieszczaj w do loop bo po to jest timer żeby działało to w określonych chwilach. Powinno sie teraz zapalić sekwencyjnie, nad gaszeniem sam pomyśl
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.
Błąd
Wyskakuje mi błąd przy
Błąd
Jak się nie mylę to powinno być jeszcze na początku
Re: X
Dokładnie tak..... jak się pisze z palca to tak jest potem :) Dopisz deklarację przy innych zmiennych..... tak na marginesie to w przyszłości planuję sam zrobić taki wyłącznik z dwoma fotokomórkami na dole i na górze schodów...... tym linkiem to demsy1 dokładnie trafiłeś w to co będę robił :)
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świetlenie schodowe
Ja również mam zamiar zbudować taki sterowni z czujnikami ruchu na pierwszym i ostatnim stopniu.
Czy ten kod podany przez
Czy ten kod podany przez kolega Mirleya jest kompletny do wykonania tego sterownika?
Re; LED
Kod nie jest kompletny... staramy sie wspólnie coś stworzyć.. żeby dopisać cały kod i dobrze go przetestować trzeba czasu, którego cały czas mi brakuje
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.
sterowanie
Podłączyłem ten układ na płytce stykowej i muszę powiedzieć że nie działa. Po zwarciu pinu D.0 nic się nie dzieje. który pin będzie jako sw2?
Dodam jeszcze że po wgraniu wcześniejszego kodu diody mrugają w stylu Night Rider
Re: LED
Chyba zapomnieliśmy dopisać zwiększania licznika:
żeby sprawdzić dla pewności czy klawiatura działa w miejscu obsługi wstaw toogle port:
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.
Wstawiłem incr Licznik ale
Wstawiłem
incr Licznik
ale dopiero po 15 razie gdy wcisnąłem przycisk to tylko na chwilkę błysnęły wszystkie diody i dalej nic, po wstawieni
było to samo.
Ma ktoś jakiś pomysł?
Re: Program
Spróbuj ten program....
po pierwsze częstotliwość to 12000000 a nie 1200000 a po drugie to przerwanie timera ma być pod pętlą główną
Testowałem to i u mnie działa. Reaguje na kliknięcia i zaświeca diody na porcie b
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.
Sterownik schodowy
Wgrałem kod i u mnie też działa, ale jeszcze nie do końca tak jak chciałem. Zwieram pind.0 do masy zapala się kolejno dioda, ale nie chcą gasnąć
Re: LED
Bo nie mają gasnąć... widzisz przecież że w programie tego nie ma.... Trzeba będzie dołożyć zmienne:
Dodatkowo trzeba będzie dołożyć kolejne case z sekwencją gaszenia i zmodyfikować fragment:
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.
Zaraz za Case 14 : Leds =
Zaraz za
dokładamy