Jeśli nie usunąłeś apostrofów - ' przed Do i Loop w programie to on wykona się raz. A jeżeli w tym czasie nie naciśniesz tych przycisków to się nic nie pokaże. Najlepiej przed włączeniem zasilania do procesora naciśnij te przyciski i trzymaj gdy podłączysz zasilanie.
Powyższy kod będzie działał odwrotnie - nie pozwoli załączyć maszyny przez 300ms. W grę wchodzi tylko takie sterowanie i tego się trzymam.
avatar twój kod nie działa zbyt dobrze ponieważ jak włącze zasilanie, to przekażnik jest załączony, a jeśli nacisne przycisk to się wyłączy i już się nie włączy na stałe, tylko gdy trzymam przycisk.
Po co tak długo trzymać te przyciski? sprobuj może na innym procku
Brakuje oczekiwania na puszczenie przycisku wyzwalania. W takim przypadku będziesz musiał uważać aby przycisk trzymać krócej niż 300ms, inaczej wygeneruje są kolejny impuls
Po zgaszeniu diody dodaj oczekiwanie na zwolnienie przycisku
Mamy taki program: [syntax=basic4gl] do if plus=0 then incr A call buzzer end if if minus=0 then decr A call buzzer end if if ok=0 then exit do end if loop [/syntax] Plus minus i ok to Aliasy portu D. Jak zrobić aby podczas naciśnięcia przycisku było tylko krótkie BEEP pomimo trzymania dalej naciśniętego przycisku?
$regfile = "m32def.dat" $crystal = 16000000 Config Portb.2 = Output Config Pinb.7 = Input portb.2 = 0 portb.7 = 1 Do If Pinb.7 = 0 Then Toggle Portb.2 wait 1 End If loop End spróbuj ten lekko poprawiony kod zamiast pinb.7 = 1 daj Portb.7 = 1, sprawdziłem na atmedze8 ten poprzedni kod bez tej zmiany u mnie też nie poszło, a po tej zmianie...
cześć jak wgrałem twój program to aby odczytać temperaturę to muszę trzymać przycisk a ja chcę raz wcisnąć i ona ma być tak długo aż ja nie wcisnę innego przycisku. Jeżeli mój sposób pisania jest zły to jak byś mógł to napisz to po swojemu. dziękuję za zainteresowanie:)
Gdy przycisnąłeś przycisk ale trzymałeś go mniej niż 70 okresów to zmienna Opoznienie_odczytu dochodziła do powiedzmy 65. Ale po puszczeniu przycisku nie resetowałeś zmiennej. Czyli miała ona dalej 65. I kolejne przyciśnięcie było obsługiwane za 5 cykli, a nie za 70 cykli tak jak chciałeś. Bo zmienna musiała doliczyć do 70 a już miała 65 czyli brakowało...
Pewnie trzeba podać stan wysoki na p3.7, przycisk na masę i w warunku sprawdzać czy na pinie jest stan niski. W kodzie nie pomogę bo znam tylko bascom. pozdr stan wysoki oznacza w tym przypadku zwolnienie trzymanego przycisku, a program ma reagowac na czas przytrzymania przycisku a nie na jego wycisniecie.. :/ Dzieki za odp i czekam na następne :]
If P3.3 = 0 then Wait 5 'To czas trzymania przycisku, po którym zaświeci się LED if P3.3 = 0 then Led = 0 End If P: If P3.3 = 0 then Goto P Else Led = 1 End if Za Led wstaw konkretną końcówkę do której podłączyłeś diodę - świeci jak końcówka = stan niski. Przycisk zwiera końcówkę P3.3 z masą. P. S. Nie wiem czy składnia jest zgodna z Bascom 8051...
Witam. Program według mnie jest przejrzysty. Po wejściu do podprogramu pierwsze If... sprawdzi jeszcze raz czy jest wciśnięty przycisk K1 wygeneruje impuls i wejdzie w pętlę Do... Loop o ile w dalszym ciągu jest wciśnięty przycisk. Jeżeli nie to wygeneruje jescze raz impuls jeszcze raz i wyjdzie z podprogramu. Ja również tego nie sprawdzałem, ale powinno...
Tego typu pytania - niezbyt odpowiadają gustom forumowiczów :-) Ale możesz zwiększyć swoją szansę na otrzymanie wskazówek, dokładniej precyzując problem. Kilka rzeczy, które należałoby jeszcze podać: - jaki to konkretnie procesor / jaka płyta uruchomieniowa - jak podłączony jest do tego wyświetlacz, ile pozycji ma wyświetlacz (ile cyfr mieści) - zdefiniować...
Masz moim zdaniem 2 sposoby na zrobienie tego - łatwy i fajny: - Łatwy - wykorzystujesz normalny bootloader (jest kilka ogólnodostępnych wspierających RS485). Urządzenie przestawiasz w tryb bootloadera. Najłatwiej to zrobić ręcznie (czyli Reset + np trzymać jakiś przycisk), ale można tez zrobić to programowo. Dalej programujesz urządzenie "normalnie"....
Tylko w jakim celu kurczowo trzymacie się tego Wait 1. Potem dojdą inne elementy programu i ta instrukcja będzie tylko przeszkadzać.
Nie właśnie potrzebuje to do sterowania maszyny piły do cięcia, że jak nacisnę przycisk to trzyma, a jak puszczę przycisk to przekaźnik puszcza. Nacisnę i trzymam przycisk to przek. trzyma, i w którymś momencie jak piła ustawi się w pozycji której chce to puszczam przycisk i przekaźnik się wyłączy.
Czasem nie zareaguje na wciśniecie przycisku, po wciśnięciu przycisku potrafi przeskoczyć z I=1 do I=3. Bo tak naprawdę w Twoim programie to nie liczy się ilość wciśnięć, ale czas trzymania. W poprzednim poście napisałem Ci dlaczego tak jest.
Hej! Oto programik w Bascom-AVR. Jeżeli naciśniesz przycisk(portd.0) na mniej niż pieć sekund to zapli Ci się dioda(Portb.7), a jeżeli będziesz trzymał przycisk wciśnięty przez pięć sekund to przesunie Ci jedynkę po całym porcie b. Config Pind.0 = Input Config Portb = Output Dim I As Dim I=1 Program: Do If Pind.0 = 0 Then For I = 1 To 5 Wait 1 If Pind.0...
Porty mam ustawione tak: Config Portd = &B1111111 Portd = &B0000000 Config Portc = &B000000 Portc = &B111111 Znalazłem błąd :D Brak end if w pętli głównej i jedno za dużo w sub menu. Program działa ale... trzeb trzymać przycisk menu by było one wyświetlane. Jak zrobić by po naciśnięciu było wyświetlane cały czas? Użyłem flagi ale jakoś nie pomaga.
W pętli czekaj aż przycisk zostanie naciśnięty, zrób co należy dla odpowiedniego przycisku po czym czekaj aż przycisk zostanie zwolniony. Unikniesz w ten sposób wielokrotnych operacji przy trzymaniu wciśniętego przycisku. Albo po wykonaniu poczekaj jakieś 0,5s wówczas diody zmieniać będą się co taki czas.
No teraz to trochę namieszałeś. Jak rogisz IF-a, to albo tak: If costam Then costam albo tak: If costam Then costam End if Tego: If costam Then costam End if BASCOM może nie łyknąć. W dodatku przy trzymaniu przycisku program będzie szybko zmieniał wartość Loudness. Trzeba by jakąś zmienną która przechowa informację o tym że przycisk już został obsłużony....
Żeby dioda się zapała należy trzymać cały czas przycisk? Czy wystarczy że jedno wciśnięcie spowoduje zapalanie a ponowne wciśnięcie gaszenie po odczekaniu 5s. Przycisk ma zewnętrzne podciąganie do + zasilania, programowo nie jest to zrealizowane?
Witam, w związku z tym, że nie udaje mi się pogodzić zewnętrznych przerwań z obsługą 1-wire (zatrzymywanie przerwań na czas obsługi 1-wire co zakłóca mi odczyt z zewnętrznych przerwań) mam pytanie do bardziej doświadczonych: Czy możliwym jest wgranie "dwóch" programów do jednego uC, żeby działało to mniej więcej tak: 1-szy program tylko z obsługą 1-wire...
temperatury zostaja zmienione na lcd ale tylko raz, znaczy się gdy temperatura zmieni się to nie ma zmian na wyświetlaczu. temperatura na lcd zmienia się "live" tylko wtedy gdy trzymam przycisk cały czas. Program działa dokładnie tak jak go napisałeś, w momencie kiedy naciskasz przycisk wartość odczytana jest przepisywana do zmiennej która jest wyświetlana...
Nie wiem czy odbierasz tam jakieś komendy. Wywal te Wait`y. Tutaj po zmianie stanu do zmiennej Blokada zostanie wpisana wartość do odliczenia w dół. Jeśli nastąpi następne przerwanie to w zależności od tego czy minął już czas blokady, to albo zostanie przedłużony jej czas bo ktoś trzyma przycisk dłużej albo.. :D [syntax=basic4gl]Dim Blokada As Word...
Sprawdziłem właśnie powyższy program i działa na zasadzie zapalenia diody przy włączeniu i gdy nacisnę i trzymam switch PD.0 zwarty do masy to dioda gaśnie, zapala ponownie się po puszczeniu switcha. Podłącz diodę w odwrotnej polaryzacji, będziesz miał odwrotny skutek... Zdaje się że o to ci chodzi. Robisz próby statyczne z przyciskiem, to tak mniej...
Pisze w ASM i bascom mi nie znany. Napisze to w basicu. To twoje jest troche pokrecone. P ;przycisk 1- nacisniety ; 0-puszczony S ;wy portu 1- swieci ; 0-zgaszony C ;zmienna odliczajaca czas - 1bajt ;proc zalaczajaca swiatlo na 30 sek if P=1 then C:=30 endif ;tutaj proc. odliczajaca czas 30 sek ;proc wywolywana w przerwaniu co 1 sek np. od T0 ;wczesniej...
http://obrazki.elektroda.pl/1481315600_1... Witam. Założenia zasilania : 1. Silniki do rolet oryginalne z własnymi wyłącznikami krańcowymi. 2. W każdym pokoju niestabilny przycisk do sterowania lokalnego + przycisk przy drzwiach wyjściowych. 3. Całość zabudowana we wnęce wykonanej w ścianie - na zewnątrz widać tylko wyświetlacz i trzy...
No i właśnie taki był cel. Inaczej przycisk musiał by być trzymany aż nastąpi moment zmiany stanu na porcie (a także wykonanie reszty kodu poza waitmsem 1000 więc i sprawdzenie przycisków). Przecież każde menu jest tak rozwiązane. Nawet kliknięcie myszką na coś na pulpicie. Nie musisz trzymać aż zadziała. Klikasz raz a dalej włącza się samo. Czasami...
Panie ZbeeGin chyba się nie rozumiemy :D . Ile razy elektrownia wyłącza prąd w ciągu dnia , tygodnia itd ? Przekaźnik ma trzymać non stop . Kolego Maciek4141 jakbyś mógł poprawić wyłapywanie stopu bo trudno utrafić w stop i żeby w momencie podłączenia do zasilanie nie załączało led lub silnika .
http://obrazki.elektroda.pl/9223335300_1... Było już na elektrodzie prezentowanych wiele zamków szyfrowych – z pełną klawiaturą, dwoma przyciskami i jednym też. Mój projekt z serii pchełka zrealizowałem na Attiny13 i jednym przycisku. Potrzebne mi było rozwiązanie nieco inne – coś co nie będzie chronić sejfu w banku ale...
Sam moduł działa ale bardzo dziwnie bo gdy wszystko podłącze to dioda miga ale tak jak by na nie pełnym napięciu i LED mruga bardzo chaotycznie ale gdy nacisnę przycisk to reaguje gasnąć na chwile i świeci cały czas do puki trzymam przyciski czyli moduły są chyba dobre bo w taki surowy sposób działają. RC5 po co mi pilot?
Wiem już w czym był u mnie problem. Otóż moja procedura odczytu trzymanego przycisku była dobra. Problemem było to że źle wyłączałem przerwania, samo DISABLE INT0 nie wystarczy potrzeba jeszcze ręcznie zmienić flagę w rejestrze GIFR.
Teraz spłodziłem coś na chacie w bascomie ;-) Może w końcu ta koncepcja ruszy.... uwzględnia drgania styków, działa na innej zasadzie... powinna byc odporna na wszelkiego rodzaju czasy między puszczeniami wciśnięciami itp... w przerwaniu co 10ms sprawdzamy stan przycisku zadziałanie przycisku następuje najwcześniej po 10 jego sprawdzeniach (po 100ms)...
Program będzie źle działał. Gdy przycisk będzie przyciśnięty dłużej niż 200 ms. Taki scenariusz: 1. Włączamy zasilanie. 2. Przyciskamy przycisk i trzymamy go. 3. Wyświetli się SUPER 4. A za około 200 ms EXTRA. 5. I trzymając dalej przycisk, będzie nadpisywany tekst EXTRA. 6. Po puszczeniu przycisku program nadal będzie w podprogramie "Dalej"
kbw - nie bądź ryzykantem i zbuduj prototyp. Układ jest na tyle banalny że zrobisz go na jakiejkolwiek płytce uniwersalnej. Wyjdą ci wszystkie bzdety źle wpływające na działanie. Zawsze lepiej jest odkłócić przycisk kondensatorem niż bawić się w dziwne rozwiązania programowe. Tzn, programowo i tak musisz zrobić debounce ale "sprzętowo" odkłócony przycisk...
Na 99% jest jak mówisz. Pilot nie może wysyłać dwóch kodów na raz, ale po załączeniu jednego przekaźnika nie musisz trzymać przycisku, przekaźnik nie puści. Jeśli nie interesują cię wielkie zsięgi mógłbyś spróbować też zrobić ro na IR. Jakiś gotowy pilot, najlepiej rc5, bo do tego kodu masz gotową obsługę w najprostrzym chyba języku Bascom, najprostrzy...
If Pinb.0 == 1 Then // Loop Until Pinb.0 == 0 ? (at) stanleysts , Bascom, to nie C. ;) Tu wystarczy jeden znak "=". (at) Royd1 , spróbuj zmienić ze sobą miejscami: [syntax=basic4gl] Do 'jesli przycisk trzymany swieć do uwolnienia przycisku If Pinb.0 = 1 Then[/syntax]
niestety w obu kodach brakuje czegoś co by dodawało cokolwiek do zmiennej A, więc nie przyjmie ona nigdy wartości 1 lub 2 skoro na początku się ją zeruje. Jesli chodzi o podciągnięcie programowe to nie działa (dałem rezystor zewnętrzny). Próbowałem tak i działa: config debounce = 50 ' 50ms dla przycisku dim a as byte ' deklaracja zmiennej a=0 ' zerowanie...
Panowie a co z tym że w czasie trzymania przycisku program będzie bez przerwy wykonywał przełączanie... Bo przecież w takiej konfiguracji jak piszecie to jedno krótkie dla człowieka naciśnięcie przycisku to będzie kilka wykonanych cykli zmiany wyjść na wejścia i odwrotnie...
Witam Ostatnio wpadłem na pomysł wykonania sterownika taśmy diodowej RGB, który byłby sterowany RC5, i mam z tym pewien problem. Schemat jest bardzo prosty, jak wiadomo, od strony hardwarowej ma to wyglądać tak, że 1 mikrokontroler w pilocie, a drugi jako układ wykonawczy z tranzystorami. Pozostaje jeszcze tylko napisać program, i tutaj zaczynają się...
Podłączę się trochę pod temat chodzi mi też o menu. Mianowicie robię obrotomierz z ustawianymi progami alarmów jak zrobić w menu ustawianie kiedy trzymam wciśnięty przycisk to zmieniają mi się nastawy najpierw o jeden, jak trzymam dalej przycisk to zaczynają się przestawiać o dziesięć następnie o sto. Bo klikać przyciskiem 1200 razy to raczej średnia...
Witam Bardzo mało znam się na programowaniu - można powiedzieć, że w ogóle, chociaż potrafię zrobić coś prostego w Bascomie w stylu włącz wyłącz port, jeżeli na pinie takim stan taki to na wyjściu tak :) Ale nie w tym rzecz. Potrzebuję na jakimś prostym Attiny np 13,25,45 zrobić układ który będzie realizował założenia takie: - dwa przyciski podłączone...
na necie znajdziesz jaki kod ma przycisk r/m na kierownicy jedne przyciski wysyłają inny jak jak naciśniesz przycisk inny gdy go trzymasz ponad 1 sekunde i inny jak puścisz wkleiłbym parę stron z kodami ale do tej pory dostałem już parę ostrzeń itp, tylko w tym temacie :)
Podawałem już moje rozwiązanie w temacie http://www.elektroda.pl/rtvforum/viewtop... przytoczę jeszcze raz: [syntax=basic4gl]Dim L_d As Byte Sel_p Alias PortX.Y '-------- ' ' ' '-------- If Sel_p = 0 Then 'klawisz Waitms 25 'najlepiej zastąpić przez timer programowy If L_d < 255 Then Incr L_d If L_d = 30 Then 'czekaj około 0,7s...
Autor chciał włączać i wyłączać miganie diód(przynajmniej ja tak odbieram) a wg mnie to nie jest zrealizowane:) Ja tu widze - trzyma - działa, nie trzyma - nie działa. Nawet gdy dobrze autor napisze sterowanie przyciskiem to i tak momentami to będzie działać jakby chciało ale nie mogło ano ze względu na wait... w podprogramie.
przede wszystkim dzięki za zainteresowanie, trochę nie jasno się wypowiedziałem, może powinienem to napisać w innym dziale ale nie chcę specjalnie zakładać wątku. Więc sprawa wygląda tak: wyciągarkę już mam, jest to typowa wciągarka budowlana, zasilana na 230V, udźwig 200kg, ma ona pilota (na kablu), którym się operuje, z tym że pilot pozwala tylko...
Dzięki za cierpliwość. 70ms dobrałem doświadczalnie. Chodzi o to ,że tylko w ten sposób umiem zrobić ,żeby silnik w serwie kręcił . Tylko są tu kroki bo włącza sie co 70ms. Chcę ,żeby to było płynnie. Tyle ile trzymam przycisk na pilocie tyle się kręci , bez żadnych przerwań . Próbowałem także z toggle ale wtedy trzeba przycisnąć drugi raz przycisk...
Manu działa poprawnie, z tym, że moim zdaniem za wolno reaguje na przyciski, przykładowo w podmenu ustawienia, muszę praktycznie trzymać cały czas przycisk + i co sekundę się zmienia wartość. Zaś gdy klikam ok na powrót do menu to czasem znów wchodzi w podmenu, tak jakby przycisk ok 2x nacisnął się (drgania styków?) Aha i buzzer cały czas wyje, jest...
Oczywiście masz rację. Ale błędny odczyt, czyli inny niż "0" podczas pierwszego przebiegu, pojawi się tylko wtedy gdy po resecie uC, TSOP coś odbierze w ciągu części ms, w czasie gdy porty i przerwania będą już skonfigurowane a przed , czy na samym początku pętli. Według mnie można taki przypadek pominąć. Co do 255 to dlaczego jeśli przerwanie wystąpiło...
Przepraszam za głupie pytanie, ale jak ten program działa? I po co te dwa warunki? Bo rozumiem, chciałbyś wyeliminować drgania styków, masz opóźnienie 50ms, ale wtedy sprawdzasz, czy przycisk jest wciśnięty, a nie, czy puszczony... Co prawda Twój program będzie działał, ale trzymanie przycisku nie będzie powodowało zwiększania - tak miało być? Jeśli...
Tak samo jak PCINT, tyle że tracisz jedną nóżkę i masz więcej ścieżek i elementów. W sumie ja też unikam procesorów bez tego, ale nie jest to straszne jak nie ma. Z PWM bawiłbym się softwarowo, możesz wtedy dowolnie kanałów narobić ile masz wolnych nóżek ;) . Podsumujmy ile CI potrzeba: 6 wentylatorów x2 = 12 uart = 2 lcd, 4bit+r/w = 7 1w do termometrów...
Jeżeli mój klocek 2313 generuje sygnał zegarowy to jest szansa że żyje ??. Bo nie daje się zaprogramować :( Dorob sobie przycisk zwierajacy PIN 1 (Reset) do masy. Trzymaj go wcisnietego podczas programowania. Mialem ten sam problem. Nie wiem czemu tak jest, ale jest :). Ale jesli to nie zadzial, to probuj wciskac ten przycisk w roznych momentach. U...
1.RFM83CL jest modułem wadliwym (sprawdzone i potwierdzone na kilkuset sztukach przez dystrybutora) i nie odbierają pierwszej całej ramki, drugą już tak (mówię o sytuacji, gdy naciśniesz i trzymasz przycisk w pilocie). Nie mniej jednak 1s to i tak zbyt dużo. Jakim napięciem zasilasz ten moduł, on jest do 3,6V.... 2. Po naciśnięciu guzika na pilocie...
Projekt był mi już wcześniej znany i kolejny raz chylę czoła przed kolegą manekinen za kolejny dopracowany i przydatny projekt. Wielki + za całokształt. Dzięki, pamiętaj że jak będziesz miał trochę wolnego to daj znać i poleci płyteczka ;) Do autora. Całość w Bascomie? Nie planujesz zapewne przesiadki na C w przyszłości? Tak, bascom. Na C nie planuje...
Ten if załatwia sprawę naciśnięcia dłuższego niż 3s. Oczywiście po 2,5 minuty trzymania przycisku licznik się przekręci ale to już olewam :-) Do do kolejnego wywołania INT to masz rację, ustawi się w kolejce i znów wykona. Mogę dodać czyszczenie flagi INT po bitwait. Albo tak jak teraz - olać to. Kolejne przerwanie wskoczy tylko na 100ms (1 cykl do-loop...
Witam jestem początkujący ale nie wiem jak napisac program który ma działać następująco: Naciskam przycisk i trzymam go wciśniętego, w tym czasie zapala się dioda. Program czeka aż puszcze przycisk i gdy go puszczę zaczyna odliczać 15 minut, po tym czasie gaśnie dioda. Gdy jednak w czasie odliczania znowu zostanie wciśnięty przycisk i będzie trzymany...
Witam, No projekt całkiem fajnie przemyślany. Gratuluje. Mnie natomiast interesuje sprawa czysto mechaniczna, bo w opisie się nie doszukałem. Jak wyświetlacz jest przymocowany do płytki, że się jej "trzyma" a mimo to można nim naciskać przyciski. Jest jakoś na środku przymocowany czy jak ? Tak pytam, bo to mnie ciekawi ;) I w ogóle fajnie, szkoda tylko,...
wedlug mnie przycisk S1 (jezeli jest trzymany) jest w stanie tylko uruchomic procesor, a S2 mimo ze uruchomi procesor to jeszcze poda niski stan na PB3, mnie interesowalo takie rozwiazanie jakie przedstawil szymtro, poniewaz stabilizator mimo wszystko pobiera jakis prad spoczynkowy i odciecie masy od procesora nic nie daje, temu chodzilo mi od odciecie...
1. kod działa na tej zasadzie: If T1 = max_pulse then 'jeżeli trzymamy przycisk długo, tak że ilość przerwań timera zrówna się ze zdefiniowaną stałą to t1=0 'resetujemy licznik przerwań long1 = 1 'ustawiamy flagę długiego trzymania przycisku gosub dlugie_1 'wykonujemy funkcję endif 'to samo dla drugiego przycisku If T2 = max_pulse then t2=0 long2 =...
Ok to z przetwornika Piezzo możemy zrezygnować i tak miał być tylko dodatkiem.Dopiero co założyłem sterownik i jest dość poważny błąd z krańcówkami a dokładnie gdy brama dotknie krańcówki silnik sie zatrzymuje i krańcówka trzyma gdy wciskamy przycisk z radia to silnik kręci w drugą strone i w momencie kiedy krańcówka "puszcza" następuje wyłączenie silnika...Da...
przeanalizuj sobie dobrze ten kdzik poniżej bo on jest dobrze napisany - naprawdę ;) ja wprawdzie kiedyś przy okazju swojej wytrawiarki też zrobiłem sterowanie w Bascomie 2 odbiorników przy 75 krokach ale dałoby radę więcej kroków i jeszcze kilka odbiorników. Z tym, że już nie pamiętam dokładnie zagadnienia więc trudno mi się teraz znowu w to wgryzać....
Po co stosować tu przerwanie? Kardynalny błąd to stosowanie polceceń opóźnień w przerwaniach. W tym programie problem tkwi w: If Przycisk = 0 Then Waitms 100 If Przycisk = 0 Then Incr Sekwencja If Sekwencja = 0 Then Incr Sekwencja If Sekwencja = 4 Then Sekwencja = 1 End If End If End If End If Popraw na: If Przycisk = 0 Then Waitms 100 If Przycisk =...
To ktoś mi coś źle tłumaczy . Naciskając przycisk enter dla poinformowania że chcę zmienić daną wartość , nastepnie przyciskami góra dół zmieniam daną wartość i przyciskiem enter nową wartość akceptuje jednocześnie wychodząc z funkcji programowania tak chciałbym aby był. Ale jeżeli ktoś dłużej przytrzyma przycisk enter to program najpierw odczyta że...
no ok jestem troszke lamerem w kwesti programowania ale taki przykład jak by mi ktoś zarobił a chodzi mi o to ze.mają być cztery przyciski i kazdu bedzie sterował zew. portem zeby sie diody zapalały i teraz nacisne przycik 1 to na np. pinie PD0 pokaze sie stan wysoki po czym po 10ms bedzie stan niski i następnie jak wcisne 2 przycisk to na pinie PD1...
Druga pętla to opóźnienie reakcji na wciśnięty przycisk, a odbywa się to tak, wciskasz przycisk w tym momencie S=0 i pętla się kręci za każdym razem zwiększając zmienna opóźnienie o 1 i teraz jeśli zmienna opóźnienie osiągnie wartość 200 to program opuszcza pętlę tak samo się stanie jeśli jeśli pościsz przycisk s=1. To jest właśnie ten warunek Loop...
Nie będę tłumaczył linijka po linijce to bo to bez sensu. Po co miałem definiować S1 jak o Port? Jak wciśniesz Down to sprawdza czy S1 = 0. S1 będzie równe 0 gdy przycisk wcześniej nie był wciśnięty. Jak nie był wciśnięty to zaznacza że już jest wciśnięty (S1 = 1) i zwiększa zmienną X. Przy kolejnym sprawdzaniu stanu przycisku dojdzie do wniosku że...
http://obrazki.elektroda.pl/9303655200_1... Witam, Tu: http://www.elektroda.pl/rtvforum/topic33... znajduje się opis powielacza czasu automatu schodowego. Obiecałem tam, że na bazie tamtego układu opracuję „inteligentny” automat schodowy, i oto jest :). Jego „inteligentność” jest zawarta w założeniach...
Forum jest poto aby się dzielić :D Wskazówka co do zajętości pamieci, jeżeli współrzędne nie przekraczają 4,16 to można je upchnąć w 8 bitach i zmiescić w jednej tablcy (zamiast dwóch po 10 elementów). Czy to będzie wogóle chodzić na realnym procesorze czy tylko symulator ? EDIT ale w sumie po co te LEFT i UP dodawać?? W sumie to chyba działa dobrze...
Witam wszystkich fachowców, Z programowaniem uC w języku Bascom dopiero zaczynam wiec bardzo proszę o wyrozumiałość. Chodzi mi o wstawienie obsługi przycisku. Całość ma działać w następujący sposób -jeśli wciskam i cały czas trzymam przycisk, podając stan niski "0" na pind.1, to zaczyna działać pierwsza część programu. Natomiast w momencie kiedy puszczam...
Kolego Jacek M bardzo dobry soft. Mam tylko pytanie czy można sobie ustawić w menu histerezę na 0 i będzie ona pomijana, czy pojawi się wtedy błąd? To samo pytanie tyczy się czasu impulsu dogrzewania. Mam też pomysł żeby jednak dodać wejście do menu poprzez dłuższe naciśnięcie klawisza do uśpienia co uprościło by obsługę ustawień (przechodzenie pomiędzy...
Takie programy to się całe pisze w przerwaniu bez zbędnych kombinacji. Przy okazji można dodać funkcję płynnego przechodzenia pomiędzy jasnościami PWM żeby to jakiś bajer miało. Przycisk sprawdza się dwuetapowo, że został wciśnięty i że został puszczony. ale nie można tego robić za szybko bo zakłócenia wchodzą. Efekty świetlne trzymaj w DATA, tak łatwiej...
proponuję dołożyć gdzieś w obsłudze timera dodatkową zmienną która będzie odliczać do zera jeśli nie zero. W podprogramie obsługi naciśnięcia(pewnie debounce?) wystarczy ustawić w zmienną timera(tą do odliczania) i sprawdzać czy już osiągneła zero: przycisk: przycisk_dlugo=255(czas trzymania) do if przycisk_dlugo=0 then cos tam if p3.7=1 then exit do'...
http://obrazki.elektroda.pl/9195353900_1... Witam. Niegdyś dostępne były do kupienia zestawy gniazdek zdalnie sterowanych firmy CLARUS w marketach sieci "robaczek z kropkami" w cenie 30zł za 3 gniazdka + pilot :sm7: Niestety moje lenistwo mnie pokonało i wymusiło na mnie stworzenie dodatkowego pilota do tego zestawu. Oryginalny pilot...
Witam. http://obrazki.elektroda.net/100_1257666... P otrzebuję wsadu do ATmegi8 zgodnego z powyższym schematem. Nie udaje mi się odczytać godziny z tego zegara, a tym bardziej nie mogę ustawić w nim godziny. Proszę o wszelkie pomoce. Rysując schemat wzorowałem się na tym : http://mirley.firlej.org/zegar_nixie . Jednak nie potrafię z programu...
Dr.Vee : Staram się jak mogę, ale mam problem ze zrozumieniem przedstawionego przez Ciebie automatu: - interpretując w_1 oraz w_2 jako aktualny stan, to po przejściu ready->wait może nastąpić bezpośrednie przejście wait->off - interpretując w_1 oraz w_2 jako zdarzenie, ciężko jest interpretować /w_2 AND /w_1, gdyż musiały by one wystąpić równocześnie....
Opisy miały być ;) W załączniku jest naklejka frontowa u kolorowana jak banknot (:D) i naklejki na przyciski też. Miały być naklejone, ale zwykły papier samoprzylepny (zalaminowany) nie trzyma się. Muszę dać gdzieś na zewnątrz do druku na jakiejś folii PCV, bo faktycznie sam się zastanawiam od czego był który przycisk. Wracając jeszcze do naklejki NBP......
Co do mojego kodu, to pisałem na szybko i wkradł się błąd. Poprawiony kod: Cls : Cursor Off Dim Stan As Byte , X As Byte , Blokada As Bit , Pomoc As Byte Portd = &B11111 Do Home 'kursor na początek For X = 0 To 4 'używamy 5 przycisków 'obsługa przycisków If Blokada = 0 Then If Pind.x = 0 Then 'sprawdzamy po jednym pinie Toggle Stan.x Set Blokada...
Żeś się rozpisał mhihi. Pewnie ze można prościej, ale ja nie o tym. Masz to tak napisane to zrób sobie "Sub Reset_all" a w nim na przykład: Klawiatura_1 = 0 Klawiatura_2 = 0 ...itd i tam resetuj do neutralnych ustawień. Potem taki sub sobie wołaj tam gdzie jakąś strzałką przechodzisz do jakiejś innej struktury menu. Najcześciej robię to inaczej. Jeden...
Właśnie i tego się bałem ze jak wcisnę przycisk i go trzymam to przełanczaja sie kolejne programy Tak to wlasnie jest gdy increamentacja lub decr. zmiennej jest umieszczona w petli 'do...loop' i jest warunkowana poziomem na okreslonym wejsciu. Za kazdym "obrotem' petli zawarte w niej polecenia sa bezblednie wykonywane, przedzielone ustawionymi czasemi...
Trzeba zacząć od tego że ustawione przez Ciebie przerwanie co 16ms jest niepraktyczne. Wygodniej liczyłoby się 5ms i przydałby sie do enkodera, albo nawet 10ms w ostateczności do przycisków. Przypuśćmy, że ustawiasz przerwanie na 5ms. W nim ustawiasz tylko flagę i wracasz. W pętli głównej widząc ustawioną flage możesz sobie spokojnie dodawać po 5ms...
Rozumiem, każdy robi jak chce i w czym chce. Ależ ja tego nie neguję - masz rację, każdy zrobi jak chce. O jakim blokowaniu programu przez DEBOUNCE ty napisałeś? Ale tu właśnie nie dostrzegasz istoty zagadnienia - pisania tzw funkcji, procedur "nieblokujących" Wyobraź sobie, że progam tego autora miałby za zadanie migać diodą LED1 (tak jak to jest...
Chodzi o to, ze 13-stka jest mala i by mi bardziej pasowała. Mimo tego, że nie umiem jeszcze programować to wydaje mi się ze to takie jakieś niezbyt fajne kiedy potrzebujesz tylko 3 wyjścia z procka a używasz układu który ma ich 14...dlatego chciałem zastosować attiny13, ale pojawia się problem bo nie mogę zastosować procedury zwiększania licznika...
oooj - jeśli tak wygląda twój kawałek kodu do testowania twojej klawiatury - to chyba rzuciłeś się na zbyt głęboką wodę od razu. Powolutku najpierw postaraj się na jakimś mniejszym procku napisać jakieś mniejsze fragmenty kodu do chociażby mruganiem diodą LED , później wpleć w to przycisk albo ze dwa. .... poczytaj jeszcze trochę, może ksążkę Marcina...
Witam. Po udanej probie połaczenia ATmegi8 z komputerem przez programator STK 200/300 kupiłem książke (Oczywiscie Marcin Wiązania), i wraz z książką, pomocą Bartka oraz drobną pomocą kolegów z elki, napisałem program na 3 przyciski (Bo tyle mam, potem sobie dokupie wiecej microswitchów), a mianowicie jest to kalkulator którym naprawde można coś obliczyć....
niestety samemu nie mogę sobie poradzić z tym, w ogóle nie znam delphi ani pascala itp programów (jedynie bascom ale to nie do tego służy). W pliku niżej jest prosty schemacik tego co bym chciał zrobić: http://obrazki.elektroda.net/48_12761059... Czy jest jakaś szansa uzyskać pomocne odpowiedzi na tym forum? czy tylko będziecie odsyłać mnie do szukania...
dzięki za pomoc. deadline projektu jest zbyt bliski, żebym był w stanie nauczyć się C i napisać w nim 3000 linii. bod włączone i dzięki temu np szybkie wyjęcie i włożenie wtyczki do kontaktu nie zawiesza procka tylko resetuje. wd włączone na 2048ms i działa. co dziwne, po resecie w rejestrze mcucsr (rejestr przyczyny resetu) niema śladu po resecie WD....
http://obrazki.elektroda.pl/3368298900_1... Rejestrator temperatury. Zbudowany dość dawno temu (nie pamiętam dokładnie kiedy). Zrobiłem go bo zawsze chciałem mieć coś takiego. Każdego dnia tworzony jest nowy plik w którym zapisywane są temperatury z czujnika. Aby nie bawić się w przyciski (chciałem wszystko zmieścić pod wyświetlaczem)...
Witam chcę zrobić lampke rgb sterowaną na pilota rc5, jednak napotykam pewien problem: kod programu $regfile = "m16def.dat" $crystal = 8000000 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Config Timer2 = Pwm , Async = Off , Pwm = On , Compare Pwm = Clear Down , Prescale = 1 Pwm1a = 0 Pwm1b...
Witam Elektrycznie jak najbardziej poprawnie - wszystko podciągnięte. Zegar wewnętrzny 8 Mhz Zmieniłem koncepcje programu i juz nie obserwuje zjawiska. poprzednio miałem 3 instrukcje wyboru select case select case zmienna1 case 1: . end select select case zmienna2 case 1: . end select select case zmienna3 case 1: . end select W zależności...
http://obrazki.elektroda.pl/8230612800_1... Przedstawiam dzisiaj prosty gadżet jaki zmajstrowałem jakiś czas temu. Jest to w zasadzie zwykły elektroniczny metronom i nie różniłby się od wielu podobnych tu prezentowanych gdyby nie sposób ustawiania czasu pikania. Założenia: 1.Wykorzystać stare diody led, które leżały w szafce około 15lat......
Wezme jakis pilot technixa i zbadam . Jesli to format podobny do pilotow od satki (amstrad) To cos moge pomoc Albo wez nagraj mi sygnal z tego pilota i mi wyslij bedzie szybciej A wogule jesli skoro to ma byc jakis przycisk przytrzymany, to nie trzeba sie bawic w dekodowanie systemu. przeciez wystarczy, zeby procek zliczal paczki impulsow powiedzmy...
Już odpowiadam na pytania i sugestie. Tak jak napisałem chwilowo otwarcie zamkniecie migawki symuluję mikrowłącznikiem. Zdaje siebie sprawę, że jest to generator drgań, drgań o charakterze losowym. Ale czy to ma aż taki wpływ gdy przycisk trzymam 3 - 5 sekund a wynik pomiaru mam błędny. Ale rozumiem, że popełniłem błąd w założeniach. Dziś postaram się...
Witam Program jak wiadomo działa w jakiejś pętli. Użyj więc w tej pętli polecenia WAITMS 100 czyli oczekiwanie 100 milisekund. I teraz tak jeśli naciśniesz klawisz (zakładamy, że na porcie panuje wtedy 0 logiczne) i trzymasz go to jakaś zmienna jest inkrementowana co 100 milisekund. Jeśli zmienna ta doliczy do 60 to minie około 6 sekund i wtedy każesz...
http://obrazki.elektroda.pl/4883645800_1... Niniejsza wytrawiarka powstała z konieczności, moja dotychczasowa mniej więcej 25-letnia wytrawiarka w formie kuwety fotograficznej na przyklejonych kółkach, kołysanej silniczkiem od programatora zaczęła się już rozpadać, poza tym od początku miała pewne ograniczenia, od braku podgrzewania...
https://obrazki.elektroda.pl/3956937900_... Przedstawiam mój kolejny metronom ze "stukaniowym" nabijaniem tempa. Dawno temu opisywałem na elektrodzie pierwszą wersję z programem pisanym jeszcze w Bascomie. Różnica jest taka, że ten jest dużo mniejszy i poręczniejszy (waży 28g), ale z kolei nie wydaje żadnego dźwięku. https://obrazki.elektroda.pl/9785729100_...
http://obrazki.elektroda.pl/9573407600_1... Witam! Jest to moja pierwsza konstrukcja na elektrodzie i za razem pierwsza z użyciem tylu elementów SMD. Jest to typowy zegarek binarny na uc Atmega8. Czas odmierzany jest przy pomocy PCF8563 i wyświetlany na 17-stu niebieskich matowych diodach (+ jedna nieużywana). Diody połączyłem w matryce....
Witam, zacząłem parę dni temu swoją przygodę z uC. Napisałem program zapalający diody led ułożone w serce. Wszystko działa prawidłowo po za jednym irytującym mnie problemem do którego nie umiałem samodzielnie znaleźć rozwiązania. Jeden przycisk zmiejsza program drugi zwiększa, lecz program nie reaguję odrazu na switcha tylko muszę go trzymać i przeskakuję...
Pogram zatrzymuje sie, bo wykonujesz dwie pętle jedna w drugiej i nie ma mozliwości wyskoczenia z nich. W programie głównym nie ma wywołania podprogramu który napisałeś. Co do sposobu zapisu- straaasznie to długie. Ten kawałem który ma zaświecać LED-y w kółko proponuję zapisać tak: Portb = &B11111111 Portd = &B1111111 For k=0 to 7 Reset Portb.k Waitms...
roleta trzymać przycisk trzymać przycisk tablet trzymać przycisk komputer
zmywarka bosch diagnoza lodówka sprawdzić wyciek alarmu zgaszeniu silnika
tylko zegar integra tylko zegar
Regulacja śruby L w pilarkach Oleo Mac 937 Mokry filc pod drzwiami zmywarki Beko - przyczyny i rozwiązania