(2 głosujących) Sterownik ten został zaprojektowany aby współpracować z 4 urządzeniami. Działa on z automatem otwierającym bramę, sterownikami otwierania dwóch drzwi garażowych, oraz z Czasowym Sterownikiem Pompy przełączając jego tryby pracy. Każde z urządzeń sterowanych aktywowane jest za pomocą innego kodu. W wersji podstawowej są to 4 cyfry na jeden kod, jednak bez żadnego problemu po niewielkiej modyfikacji programu można wprowadzić nawet 25. Całość zbudowana jest w oparciu o mikrokontroler AT90S2313 (ATTINY2313). W roli elementów wykonawczych pracują przekaźniki. Kody zapisane są w nieulotnej pamięci EEPROM przez co łatwo mogą zostać zmienione.
Działanie:Schemat sterownika przedstawia poniższy rysunek: Mikrokontroler U1 (AT90S2313 lub ATTINY2313) wraz z rezonatorem kwarcowym X1 (4MHz) i kondensatorami C3 (33pF) i C4 (33pF) stanowią główną część układu. Przycisk S1 umożliwia reset procesora w dowolnym momencie. Do złącza 5V podłączamy napięcie zasilające, które przez diodę zabespieczającą D9 (1N4001) trafia na kondensatory filtrujące C1 (100nF) i C2 (100uF). Tranzystor T1 (BC557) wraz z elementami R1 (3,3k) i R2 (3,3k) steruje pracą brzęczyka piezo. Złącza AK1 - AK3 (ARK) umożliwiają podłączenie klawiatury. Tranzystory T2 - T5 (BC557) wraz z rezystorami R7 - R14 (3,3k) zajmują się uruchamianiem przekaźników P1 - P4 (JRC21F). Diody D1 - D4 wraz z rezystorami ograniczającymi prąd R15 - R18 (180R) stanowią sygnalizację włączenia przekaźników. Elementy D5 - D8 (1N4007) chronią tranzystory przed przepięciami mogącymi pojawić się na cewkach przekaźników. Połączenia przycisków klawiatury przedstawione są na rysunku poniżej: Budowa:Sterownik można zrobić korzystając z płytki drukowanej dostępnej tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż płytki należy rozpocząć od wlutowania wszystkich zworek. Kolejność pozostałych elementów nie jest ważna ale dobrze jest montować je od najmniejszych do największych. Pod mikrokontroler należy bezwzględnie zastosować podstawkę gdyż w przeciwnym wypadku nie będzie możliwości jego zaprogramowania. Klawiaturę do zamka należy wykonać w dowolny sposób. W moim projekcie pracuje orginalna klawiatura z zamka szyfrowego(z lekkimi modyfikacjami). Pomocą w konstrukcji może okazać się dostępny tutaj schemat montażowy. Wykaz Elementów:5x Złącze ARK2 4x Złącze ARK3 1x uSwitch 4x Przekaźnik JRC21F 4x 180R 2x 33pF 1x Rezonator Kwarcowy 4MHz 5x 1N4007 Programowanie:Mikrokontroler do sterownika został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej: $eeprom '************************************************************************ Niewaznybajt: 'zeby nie zapisywal do pierwszej komorki danych Data 255 'moze ulec skasowaniu po resecie procesora Kod1: Data 1 , 2 , 3 , 4 Kod2: Data 2 , 2 , 3 , 4 Kod3: Data 3 , 2 , 3 , 4 Kod4: Data 4 , 2 , 3 , 4 '************************************************************************ $data '************************************************************************ $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = &B11110001 Portb = &B1111111 Config Portd = &B1111111 Portd = &B1111111 '************************************************************************ Dim Cyfra As Byte Dim Licznik As Byte Dim Kod(4) As Byte Dim Kodwyzerowany As Bit Dim Kodpoprawny As Bit Dim Kodp1 As Bit , Kodp2 As Bit , Kodp3 As Bit , Kodp4 As Bit Dim Wb As Byte Dim N As Byte 'uniwersalna zmienna pomocnicza Dim Pierwadres As Byte , Adres As Byte Dim Urrejestr As Bit '************************************************************************ Reset Portb.7 Set Portb.4 'jezeli podczas wlaczenia napiecia wcisniete M C 2 5 to rejestracja '////////////////// If Pinb.3 = 1 And Pinb.2 = 0 And Pinb.1 = 1 Then Reset Portb.6 Set Portb.7 If Pinb.3 = 1 And Pinb.2 = 0 And Pinb.1 = 1 Then Reset Portb.5 Set Portb.6 If Pinb.3 = 1 And Pinb.2 = 1 And Pinb.1 = 1 Then Reset Portb.4 Set Portb.5 If Pinb.3 = 0 And Pinb.2 = 1 And Pinb.1 = 0 Then Gosub Rejestracja End If End If End If End If Gosub Migled Gosub Migled Gosub Migled Licznik = 1 Gosub Zerujkod '************************************************************************ Do Gosub Klawiatura If Cyfra < 12 Then 'jezeli jeden z klawiszy wcisniety '////////////////// If Cyfra < 10 Then 'klawisze liczbowe If Licznik < 5 Then Kod(licznik) = Cyfra Reset Kodwyzerowany Else Gosub Zerujkod Licznik = 5 'nigdy ni wyjdzie poza tego ifa jezeli bedzie wiecej niz 4 klikniecia End If Incr Licznik End If '////////////////// If Cyfra = 10 Then 'klawisz M If Kodwyzerowany = 1 Then Gosub Migled2 Licznik = 1 Gosub Zerujkod Else Gosub Sprawdzkod End If End If '////////////////// If Cyfra = 11 Then 'klawisz C Licznik = 1 Gosub Zerujkod End If '////////////////// End If Loop End '************************************************************************ Klawiatura: Cyfra = 255 Reset Portb.7 Set Portb.4 'ustaw 0 na wierszu 1(1,2,3) '////////////////// If Pinb.3 = 0 Then Cyfra = 1 Gosub Migled While Pinb.3 = 0 Wend End If If Pinb.2 = 0 Then Cyfra = 2 Gosub Migled While Pinb.2 = 0 Wend End If If Pinb.1 = 0 Then Cyfra = 3 Gosub Migled While Pinb.1 = 0 Wend End If '////////////////// Reset Portb.6 Set Portb.7 'ustaw 0 na wierszu 2(4,5,6) '////////////////// If Pinb.3 = 0 Then Cyfra = 4 Gosub Migled While Pinb.3 = 0 Wend End If If Pinb.2 = 0 Then Cyfra = 5 Gosub Migled While Pinb.2 = 0 Wend End If If Pinb.1 = 0 Then Cyfra = 6 Gosub Migled While Pinb.1 = 0 Wend End If '////////////////// Reset Portb.5 Set Portb.6 'ustaw 0 na wierszu 3(7,8,9) '////////////////// If Pinb.3 = 0 Then Cyfra = 7 Gosub Migled While Pinb.3 = 0 Wend End If If Pinb.2 = 0 Then Cyfra = 8 Gosub Migled While Pinb.2 = 0 Wend End If If Pinb.1 = 0 Then Cyfra = 9 Gosub Migled While Pinb.1 = 0 Wend End If '////////////////// Reset Portb.4 Set Portb.5 'ustaw 0 na wierszu 4(M,0,C) '////////////////// If Pinb.3 = 0 Then 'M Cyfra = 10 'Gosub Migled 'nie migaj po enter While Pinb.3 = 0 Wend End If If Pinb.2 = 0 Then Cyfra = 0 Gosub Migled While Pinb.2 = 0 Wend End If If Pinb.1 = 0 Then Cyfra = 11 'C Gosub Migled While Pinb.1 = 0 Wend End If '////////////////// Waitms 10 Return '************************************************************************ Zerujkod: Kod(1) = 100 Kod(2) = 100 Kod(3) = 100 Kod(4) = 100 Set Kodwyzerowany Return '************************************************************************ Testujkod: Set Kodpoprawny For N = 1 To 4 Adres = N + Pierwadres 'przesuniecie zeby mozna bylo porownywac wpisana wartosc z 1 2 3 i 4 kodem Readeeprom Wb , Adres If Wb <> Kod(n) Then Reset Kodpoprawny End If Next N Return '************************************************************************ Sprawdzkod: Pierwadres = 0 'porownuje z 1 kodem w pamieci Gosub Testujkod Kodp1 = Kodpoprawny 'jezeli wprowadzony kod jest rowny 1 kodowi to = 1 Pierwadres = 4 'porownuje z 2 kodem w pamieci Gosub Testujkod Kodp2 = Kodpoprawny 'jezeli wprowadzony kod jest rowny 2 kodowi Pierwadres = 8 'porownuje z 3 kodem w pamieci Gosub Testujkod Kodp3 = Kodpoprawny 'jezeli wprowadzony kod jest rowny 3 kodowi Pierwadres = 12 'porownuje z 4 kodem w pamieci Gosub Testujkod Kodp4 = Kodpoprawny 'jezeli wprowadzony kod jest rowny 4 kodowi If Kodp1 = 1 Or Kodp2 = 1 Or Kodp3 = 1 Or Kodp4 = 1 Then Gosub Migled Gosub Migled Gosub Migled If Kodp1 = 1 Then Gosub Uruchom1 End If If Kodp2 = 1 Then Gosub Uruchom2 End If If Kodp3 = 1 Then Gosub Uruchom3 End If If Kodp4 = 1 Then Gosub Uruchom4 End If Licznik = 1 Gosub Zerujkod Else Gosub Migled2 End If Return '************************************************************************ Rejestracja: Gosub Migled2 Waitms 500 Gosub Migled2 Waitms 500 Gosub Migled2 Licznik = 1 Do Gosub Klawiatura If Cyfra < 12 Then 'jezeli jeden z klawiszy wcisniety '////////////////// If Cyfra > 9 Then Cyfra = 100 Writeeeprom Cyfra , Licznik N = Licznik Mod 4 If N = 0 Then Gosub Migled2 Incr Licznik If Licznik = 17 Then Exit Do '////////////////// End If Loop 'zapisywanie do eeprom Return '************************************************************************ Migled: Reset Portb.0 Waitms 100 Set Portb.0 Waitms 100 Return '************************************************************************ Migled2: Reset Portb.0 Waitms 1000 Set Portb.0 'Waitms 1000 Return '************************************************************************ Uruchom1: Reset Portd.2 Waitms 800 Set Portd.2 'Waitms 400 Return '************************************************************************ Uruchom2: Reset Portd.3 Waitms 800 Set Portd.3 'Waitms 400 Return '************************************************************************ Uruchom3: Reset Portd.4 Waitms 800 Set Portd.4 'Waitms 400 Return '************************************************************************ Uruchom4: Reset Portd.5 Waitms 800 Set Portd.5 'Waitms 400 Return '************************************************************************ Poniżej przedstawiono ustawienia fusebitów dla mikrokontrolera ATTINY2313 (Zrzut z programu Burn-O-Mat): Zdjęcia Projektu:
|
|||||||||||||||||||||||||||
Pytanka
Witam,
Pytania mam następujące:
Cóż to za wyjście AUX do czego ono służy?
Przycisk M, co on robi jest to akceptacja czy co?
Przycisk C służy do kasowania ewentualnie błędnie wprowadzonej liczby?
Czy układ wykonawczy na przekaźnikach ma swój osobny obwód zasilania tak wynika z schematu można podłączyć inne napięcie niż 5V.?Przekaźniki są 5V czy 12? czy w zależności jakie przyjmę zasilanie tych właśnie obwodów wykonawczych.
Czy układ na przekaźnik przekazuje impuls czy sygnał ciągły?Jak ewentualnie później przerwać jego pracę?
Pytania może banalne ale przed pracą wole mieć wszystko jasno i wyraźnie.
Pozdrawiam i mam nadzieje że projekt wyjdzie mi jak poprzedni.:p
Re: Szyfrowy Sterownik
Na wstępie musze powiedzieć że mało juz pamietam z tego projektu bo to dawno było :)
1. Wyjście AUX nie służy do niczego, miała to być dodatkowa opcja "jakby coś"
2. Przycisk M to "Enter" po wpisaniu kodu klikamy M i wtedy jest on porównywany z poprawnym
3. Przycisk C kasuje cały wprowadzony wcześniej kod. Po jego kliknieciu np podczas przedostatniej cyfry należy cały kod wprowadzić jeszcze raz
4. Ze schematu wynika właśnie że przekaźniki zasilane są 5V. Podłączone są do tego samego zasilania co procesor (Punkty VCC są ze sobą podłączone tak samo jak wszystkie GND są podłączone ze sobą)
5. Po wpisaniu jednego z prawidłowych kodów odpowiedni przekaźnik zostaje zwarty na ok 0,8s po czym się rozwiera do stanu wyjściowego
Przed programowaniem należy skompilować program jeszcze raz w nowym bascomie. Ja w swoim projekcie użyłem mikrokontrolera 2313 którego już nie kupisz. Należy zastosować ATTiny2313 wyłączając we fuse bitach dzielenie przez 8 i zmieniając w programie kwarc z 4000000 na 8000000.
W pierwszym etapie konstrukcji nie lutuj kwarca i kondensatorów może pojdzie bez nich na wewnętrznym oscylatorze
Klawiaturę zrób z uSwitchy bo ja zastosowałem starą z jakiegoś zamka niewiadomo od czego i juz po 2 latach naciskania troche nie łączy :) Mógłbys nawet zastosowac płytkę z Klawiatury do płytki testowej tylko nie będziesz montował czwartej kolumny a wyprowadzenia uzgodnisz porównując schematy
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.
Pytanie
Powiedz mi jeszcze jak mają być ustawiony ten drugi fusebit tzn. wyłączony dzielnik ok a ten następny dotyczący częstotliwości?
Zmieniłem w programie na 8000000 skompilowałem ale nie wiem jak z tym fusem jednym.
Re: Szyfrowy sterownik
drugi fuse bit powinien być bez zmian, tak jak jest ustawione fabrycznie. Powinno to po wyłączenia dzielenia przez 8 dawać częstotliwość 8MHz. Kwarc bedzie wtedy niepotrzebny. Proponuje takie ustawienie bo sam chcę sprawdzić czy tak pójdzie ale według moich przemyśleń jak najbardziej powinno :)
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.
Pytanie
Dobra spoko elektronikę w wersji przestrzennej(tzn na pająka )hehe już mam.A wiesz może jak idzie ten fabryczny bo kurcze miałem dwa do lampki ustawione na zmienionych fusach i nie wiem jakie były oryginały.?
Re: Fusy do Szyfrowy...
Też do konca nie pamietam ale wydaje mi się że jest cos takiego jak "Int. RC oscilator 8MHz" albo cos podobnego i to powinno działać. Ewentualnie zostaw tak jak w lampce RGB ale wtedy trzeba bedzie kwarc wlutować i znowu zmienić w programie na odpowiednią częstotliwość
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.
RC
Nie wiem dlaczego ale na wewnętrznym RC to nie chcec działać.Po włączeniu zasilania tylko mignie diodka przy przekaźniku i to wsyzstko żadnej reakcji po wciskaniu przycisków.
BŁAD
Pomyłka miga dioda przy klawiaturze ta co jest obok brzęczka.
Re: Szyfrowy
Z tego co piszesz rozumiem że na rezonatorze kwarcowym 4Mhz przy ustawieniach które podałem wszystko idzie ok. Może ustawiasz wewnętrzny oscylator 8MHz a nie 4Mhz. Dla 8MHz powinna na samym początku być zmieniona dyrektywa "crystal...."
Nie pamiętam co jeszcze może być nie tak z układem. Czy klawiatura działa ok?
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.
Już w końcu sam nie wiem
Już w końcu sam nie wiem co ustawić i gdzie.Guziki działają ładnie na raz a jak wciskam to raz tzreba przytrzymac długo i dioda sie świec i 1s raz sie świeci 2s czasami nie łąpie tych guzików pomimo ze stykają na 100% skutecznie już nie wiem gdzie ustawić 4Mhz gdzie 8Mhz tak mi namieszałeś ze już sam nie wiem.W żadnym przypadku nie udało mi sie uruchomić przekaźnika.A te fuse bity z tego screena.....niebytnio mi pomogły.
Będę jeszcze kombinował ale tracę nerwy hehe za slaby jestem na to.
DOBRA przepraszam za
DOBRA przepraszam za zamieszanie.
Już naprawiłem swój błąd.Płytka z przyciskami okazała się dwustronną i pod jednym guzkiem byłą ścieżka która wszystko psuła.
Układ działa na zewnętrznym kwarcu 4Mhz wszystko dobrze ustawiłem.
Jeszcze raz sorki za zamieszanie .Kolejny dobry projekt.
Jak zorbie obudowę albo coś to podeśle zdjęcia do galerii realizacji.
Dzięki Mirley.:)
pozdrawiam white88
Re: Szyfrowy
Z tymi częstotliwościami to chodzi o to aby zawsze mikrokontroler był ustawiony na taką częstotliwośc jaką ma fizycznie podłączoną i tak samo jak jest zdeklarowane w programie. Jeśli masz podłączone 4MHz kwarc lub 4MHz wewnętrzny oscylator to w programie musi być $crystal = 4000000 a jeśli używasz wewnętrznego zegara lub kwarca o częstotliwości 8MHz to w programie też musi być wpisane $crystal = 8000000 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.
Ostatnia kwestia jeżeli
Ostatnia kwestia jeżeli chodzi o mnie.
Jak wydłużyć liczbę cyfr do kodu?czy jest to duża ingerencja w program?
Czy dało by radę żeby ten przekaźnik załączał się na dłużej niż 0,8s.?A jak nie to jaki ukłąd polecasz w celu wykonawczym?Czy te układziki z twojej stronki?Tak aby można było włączyć powiedzmy cokolwiek np. żarówkę i jak wykonać potem wyłączenie tego urządzenia które włączymy zamkiem?Przez reset procka??
Proszę odpowiedz na kilka kwestii abym mógł już pomyśleć co dalej z tym zrobić.
Ostatnie pyt
Ostatnia kwestia jeżeli chodzi o mnie.
Jak wydłużyć liczbę cyfr do kodu?czy jest to duża ingerencja w program?
Czy dało by radę żeby ten przekaźnik załączał się na dłużej niż 0,8s.?A jak nie to jaki ukłąd polecasz w celu wykonawczym?Czy te układziki z twojej stronki?Tak aby można było włączyć powiedzmy cokolwiek np. żarówkę i jak wykonać potem wyłączenie tego urządzenia które włączymy zamkiem?Przez reset procka??
Proszę odpowiedz na kilka kwestii abym mógł już pomyśleć co dalej z tym zrobić.
Re: Szyfrowy
1. Ilość cyfr da się zwiększyć o ile się wie jak program działa a ja do końca nie pamiętam. Może jutro rano alobo w poniedziałek coś popatrze jak zdąże (uważam to jednak za bezcelowe, bo po pierwsze ktoś musiał by wiedzieć ile cyfr ma kod, bo program o tym nie informuje, czeka tylko na kolejne klawisze aż do momentu kliknięcia M a potem sprawdza kod, po drugie dla 4 cyfr ilośc kombinacji jest tak duża)
2. Przekaźniki można zrobić tak że każde wpisanie kodu będzie zmieniało stan na przeciwny lub za pomocą innej metody ale napewno nie przez reset procka. Zamiast przekaźników (i ich elementów włączających) można zastosować triaki wraz z optotriakami (Moduł wykonawczy)
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
Dzięki za odpowiedz, masz rację dla 4 cyfr wystarczy ok.
Bardzo mnie interesuje opcja ze zmiana stanu na przeciwny.Przydało by mi sie strasznie takie coś.Stan początkowy Normalnie otwarty po wpisaniu kody zamyka i potem po kolejnym kodzie otwiera.Dużo modyfikacji??Przy chwili wolnego czasu wykonał byś to dla mnie??
Domniemam że należy
Domniemam że należy zmienić coś u tej części kodu
Tylko jak zrobić żeby raz włączać a potem wyłączać?
Jakaś podpowiedz?
Re: Szyfrowy
Trzeba to tak zmienić:
Każde wpisanie kodu zmienia stan na przeciwny
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.
Koniec
Wszystko idealnie o to mi właśnie chodziło.Dzięki wielkie za cierpliwość i wszelką pomoc.Kolejny udany projekt ze stronki mirley-firlej.Jak będzie trochę czasu zarzucę fotki sesja sie zbliża z czasem będzie krucho.
Nic tylko czekać na kolejne projekty więc łatwo się mnie nie pozbędziesz.Doceniam wkład w twoje projekty i pomoc w ich realizacji wiec naprawdę szacunek.
Pozdrawiam Marcin(white88).
Kompilacja pod procesor 2313
Witam mam prośbe zeby ktos jak potrafi przerobic ten sofcik z tego starego procesora na ta nowsza wersje attiny2313 i wstawiłna stronkle lub podesłałmi namaila
a i jeszcze jedno pytanie juz bardzije do Mirleja czy duzo było by roboty aby wykozystać te wolne trzy wyjscia z procesora jako sterowane kodem tak jak sa pozostałe ??
Re: Zamek szyfrowy
Pod ATTIny jak dobrze pamiętam to wystarczy przekompilować program zmieniając nazwę procesora w $regfile.... Co do ulepszenia kodu to prędzej podlega on napisaniu od nowa. Patrze teraz na moje stare rowiązanie obsługi klawiatury matrycowej...... zajmuje 3 strony. Nowe zajmuje kilka linijek :), robiąc to samo i nie blokując działania timerów.
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.
Przekaźnik
Witam
Jakim przekaźnikiem moglbym zastąpić JRC21F bo nigdzie nie mogę dostać. Dziś kupiłem JQX-115F gościu z elektronicznego zapewnial mnie że to taki sam no ale.. może by był dobry ale jest wiele za wielki więc spróbuje je oddać bo koszkowały 16 zl.
pozdro
Re: Przekaźnik
Przekaźniki mogą być dowolne na 5V, lub nawet w ogóle ich nie musi być, zależy do czego chcesz zastosować ten układ zamka szyfrowego. Dokładnie ten model przekaźnika dostaniesz w sklepie AVT. Użyłem taki bo taki miałem. Na allegro możesz dostać JRC-23F, jest bardzo podobny do tego co użyłem
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.
Zamek szyfrowy
Wyżej pisałeś że przekaźników nawet w ogóle nie musi być. Mógłbyś napisać kiedy ich nie musi być chodzi mi o to jak bedzie ten zamek pracować najlepiej na jakimś przykładzie :)
Re: Zamek szyfrowy
Ja wykorzystuję ten układ do otwierania bramy i włączania kilku moich urządzeń (miedzy innymi oczko wodne). Przekaźnik jest dlatego aby zewrzeć styki ręcznego wyłącznika bramy, bo nie wiem jakie do końca stany logiczne mogą się tam pojawiać. Tak samo jest z drugim urządzeniem które było zrobione wcześniej i nie ma dodatkowego wejścia. Drugi przekaźnik zwiera w nim poprostu przycisk. Jeśli natomiast twój zamek ma włączyć np elektromagnes w drzwiach lub jakiś serwomechanizm itp. To nie trzeba dawać przekaźnika tylko zastanowić się jakiego sygnału potrzebuje ten układ wykonawczy, np. dla elektromagnesu na prąd stały można dać tranzystor mosfet podłączony bezpośrednio do procesora (np do PD.5), jeśli zwieramy obwód 230V to najlepiej triak z optotriakiem. Jeśli ma to być podłączone do innego układu z procesorem to może sie okazać że wystarczy połączyć piny dwóch procesorów i żadnych tranzystorów ani przekaźników nie trzeba.
Nie mogę wymyślić więcej przykładów, poprostu muszę wiedzieć co chcesz podłaczyć i jak.
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.
Przerobienie na więcej kanałów
Jak w temacie - da sie to przerobić na wiecej kanałów
przekaźnik wlancza sie na 0.8 sek o ile sie dobrze doczytalem - a czy da sie to w prosty sposob przerobić na - 1 kod wł PK - 2 kod wył PK
Zapewne pierwotne zadanie tego urządzonka to wejscie do domku co :) - czy w prosty sposób da sie zaprogramować - sygnalizacja migającą na przemian np: czerwony/zielony led - jak źle zostanie wpisany kod jeden z kodów zaprogramowanych w DATA
pozdrawiam
PS
Mam w domku oryginalny zegarek programowalny z 3 gniazdkami na 3500W/230v klawisze nr i funkcyjne - ledy na dni tygodnia Pn-N i 4 cyfry 7-seg , ledy ON/OFF PK1-3 oraz jaka funkcja jest zaprogramowana( np ze wl co godzi i wyl co godzine na zmiane tak .... ) programowanie w ramach tygodnia
Niespotkałem sie jescze z takim projektem na atmedze - musialo by to pracować na ATM-32
Re: Zamek szyfrowy
Da się w prosty sposób to przerobić tak aby jeden kod włączał a drugi wyłączał. Poprostu wystarczy zmodyfikować fragment kodu:
Teraz po poprawnym wpisaniu kodu 1 włączy się portd.2 (stan niski) a po kodzie 2 się wyłączy. Co do diody migającej to zależy jak miało by to byc zrobione. Jeśli ma mignąć np 10 razy na przemian czerwona i zielona po złym wpisaniu to ok ale jeśli coś sie ma dziac równolegle z klawiszami to nie da rady w tym programie bo jest kiepsko napisany. Teraz już bym to 100 razy lepiej napisał i nawet mam taki zamiar tylko czasu nie mam
ps. Co do sterownika tygodniowego to nie jest to odpowiednie miejsce na dyskusję na jego temat. Da się go jednak zrealizować z powodzeniem , myslę że nawet na M8, zależy od dodatkowych potrzebnych w nim funkcji.
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.
miganie led tylko dlatego
miganie led tylko dlatego jakby ktos wpisywal kod - a led migala by do momentu poprawnego wpisania kodu
dziekuje i pozdrawiam
Zaje...Fajna stronka
Re: Zamek szyfrowy
TO jest jeden z moich pierwszych programów pod uC i niestety przy takim rozwiązaniu jak zastosowałem nie da się takiej migającej diodki zastosować, można ewentualnie ustawić święcącą na stałe jak kod będzie błędny a zgaśnie po wpisaniu prawidłowego (takie info czy ktoś nie próbował klikać po zamku)
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.
dodatkowe wyjścia sterowane ?
Witam mam pytani eczy dozo nalezało by przerobić wsad aby dolne wyjścia mikroprocesora ( PD0 PD1 PD6 ) tez były aktywowane kodem ?
i pytanie nr 2 czy kod musi byc 4-ro cyfrowy czy moze mozna go zmniejszyć do 3 cyfr ?
jakies propozycje mile widziane
pozdrawiam Łukasz
Re: Zamek szyfrowy
Wszystko to co chcesz przerobić powinno sie dać uzyskać ale program jest tak na styk w pamięci procesora i nie wiem czy dodatkowe wyjścia da się zrobić na tiny2313. Wymaga to trochę czasu i przypomnień jak program działa. jak będziesz cierpliwy to coś pomyślę ale nic nie obiecuję, bo trochę zajęty jestem
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.
Nowy wsadzik do zamka ?
Witam chciałem zapytać na czym polega rejestracja kodów po zwarciu PD6 domyslam sie ze ta noge układu zwieramy do masy ale jak dalej wprowadzić nowy kod i jak wybrac ktory chcemy zastąpić bo wkońcu mamy 4 do wyboru ?
Re: Zamek szyfrowy
Zwarcie pinu przechodzi do procedury rejestracyjnej (mignie dioda impulsami po 500ms). Należy wprowadzić wszystkie kody po kolei. Po wpisaniu każdego program odpowie mignięciem diody i buzzerem. Na końcu pojawią się 3 sygnały świetlne i dżwiękowe po których urządzenie jest gotowe do pracy.
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.
Dziwne objawy po programowaniu
Witam zaprogramowałem 2 szt attiny i za każdym razem mam takie objawy klawiatura reaguje na naciskanie piknięciami po naciśnięciu klawisza M jest dłuższy pisk , tak samo i po resecie ale wyjścia na przekaźniki cały czas maja stan wysoki - czyt. 5V niezależnie czy wbiję prawidłowy kod czy nie , po sprawdzeniu kodu pokazuje ze jest prawidłowy z oryginałem i fuse tez dobrze ustawione .
Re: Zamek szyfrowy
A jaka jest zawartość eeprom? kody zapisywane są w eeprom. Zarejestrowałeś wszystkie kody poprawnie po zaprogramowaniu mikrokontrolera? Po zaprogramowaniu procesora eeprom się wyczyści i napewno żaden kod nie jest zapisany do pamięci.
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.
eeprom jest pusty , kody nie
eeprom jest pusty , kody nie sa zapisywane bo jest to ta wersja z kodami oryginalnymi bez możliwości wpisania
--------
Oki dzięki za pomoc i nakierowanie zapomniałem dograć zawartość pamięci eep , czy do wsadu z możliwością programowania własnego kody też należy doprogramować wsad eep ?
Re: Sterownik szyfr
jaka wersja z kodami orginalnymi? nie pamiętam żebym taką pisał.... za każdym razem program porównuje to co wpisujesz z zawartością eeprom
Nie trzeba programować pamięci eeprom, tylko po wgraniu priogramu do procesora jak eeprom jest pusty, należy zarejestrować sobie jakies kody i wtedy zostaną zapisane do eeprom i od tej pory już będzie działało normalnie. Przed właczeniem zasilania trzymaj M C 2 5 jednocześnie, po czym układ coś tam będzie pikał buzzerem. jak skończy to klikniesz 4 liczby jedna po drugiej, potem znowu będzie pikał, potem wpiszesz drugi kod i tak pozostałe 2. po zakończeniu piknie 3 razy i jest gotowy do pracy
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.
Zmiana czasu aktywnego
Witam mam pytanie , aby wydłużyć czas zadziałania przekaźnika na większy - dłuższy wystarczy w tej części kodu
Reset Portd.2
Waitms 800
Set Portd.2
'Waitms 400
wartość 800 zmieniać na większą czy coś innego ? , i jak ta wartość 800 odnosi się do realnego czasu czy 800 to jest 800ms ? oraz czy jest jakiś maxymalny czas chodziło by mi o podtrzymanie około minuty /
Za pomoc z góry dziękuje
Re: Zmiana czasu aktywnego
przy częstotliwości zegara jaka tu jest ustawiona czas 800ms trzeba pomnożyć x2, więc rzeczywisty czas otwarcia jest 2x dłuższy.
jeśli chcesz to podtrzymać na minutę, wpisz wait 30, tylko nie wiem po co zatrzymywać procesor aż na minutę? przecież przez ten czas nic nie zrobisz.
Moja strona w powijakach
czyli zmieniając ten parametr
czyli zmieniając ten parametr dodatkowo blokuje procesor , tego nie wiedziałem myślałem tylko ze jest podawany dłuższy impuls na wyjście , to chyba łatwiej będzie domontować malutki czasowy układzik do podtrzymania impulsu , dzięki za wyjaśnienie Pozdrawiam
Quote:przy częstotliwości
A powie szanowny kolega dlaczego co zegar w programie jest źle ustawiony no chyba nie?
Raczej jest dobrze chodziło
Raczej jest dobrze chodziło mi o coś innego , chce zrobić tak ze czwarty kod będzie 0000 i po wbiciu tego i zaakceptowaniu będzie załączał oświetlenie w przejściu na minute ,ale juz domontowałem tranzystorek z dużym kondensatorkiem i efekt jest podobny
Re: Czas
Dlaczego uważacie że czas powinien byc 2x dłuzszy od tego co jest w wait? Procesor działa z kwarcem 4MHz i taki tez jest zadeklarowany w programie więc 800ms powinno trwać dokładnie 800ms a nie 1,6s
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: Czas
uważam że czas będzie 2x dłuższy bo jak raz dałem częstotliwość zegara (zupełnie przypadkiem) 1MHz to 1s dyrektywa wait odmierzała mi bardzo dłuuuuugo. stąd wywnioskowałem co napisałem wyżej. być może się mylę, ale znam to z praktyki i dlatego napisałem tak a nie inaczej.
wierz mi że mnie to też zdziwiło, ale było jak napisałem. zawsze myślałem że dany czas to dany czas i częstotliwość zegara nie ma znaczenia, a tu mi się trafiło.
Moja strona w powijakach
Re: Wait
Częstotliwośc zegara ma tu kluczowe znaczenie bo polecenia wait waitms i waitus działają na zasadzie pętli (dlatego blokują procka) a rozkazy w tej pętli zależą od częstotliwości taktowania. Dlatego zawsze w programie musi byc napisane w deklaracji to co faktycznie jest ustawione w procesorze. Jak mam w projekcie kwarc 4MHz i w programie też 4MHz to np waitms 10 trwa 10ms. Kompilator widząc na początku deklarację crystal 4000000 oblicza czas trwania jednej instrukcji na 0.25us (1/4000000) i po wydaniu polecenia np waitms 1 licznik pętli zostaje ustawiony na wykonanie 4000 rozkazów po 0.25us co daje czas 1ms. Jak procesor taktowany jest innym kwarcem niz zadeklarowano to czas rozkazu jest inny niż ten co wyliczył kompilator i czas się nie zgadza.
TO jest takie najprostsze wyjasnienie tego efektu.
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.
Zamiana kondensatorów
Czy mogę zamienić C3 i C4(33p) na 22p?
Re: Kondensatory
Możesz zmienić, nawet lepiej będzie jak będą 22pF
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.
mała przeróbka
Witam!
Strasznie mnie się spodobał ten projekt chociaż widzę że dawno nikt tu nie zaglądał :P więc trzeba to zmienić :) Potrzebuje zbudować taki zamek szyfrowy tyle że trzeba go trochę uprościć. Zamiast wyjść na przekaźniki potrzebowałbym sterownie serwomechanizmem :) ponieważ potrzebuję sterownie ryglem. Czy taką klawiaturę http://www.nikomp.com.pl/opisy/WZA00/WZA3468W.htm mogę wykorzystać do tego sterownika?? Czego musiałbym się pozbyć a co dodać do kodu procesora aby móc sterować serwomechanizmem??
Z góry dziękuję za odpowiedź!
Pozdrawiam!
Re: Zamek szyfrowy
Klawiatura ma wspólną masę a moja jest podłączona w # 3x4. Układ jest dość stary i teraz zrobił bym go całkowicie inaczej. Sterowanie serwomechanizmem nie powinno stanowić problemu z poziomu bascom AVR. Jakby było tylko serwo i klawiatura to powinno wejść na tiny2313
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.
Czy można zmienić kod z
Czy można zmienić kod z punktu klawiatury czy wyłącznie w programie?