Do if Pin = 0 then incr Zmienna_Pomocnicza if Zmienna_Pomocnicza > 2 then Zmienna_Pomocnicza = 0 if Zmienna_Pomocnicza = 0 then Wyslij kod 13 if Zmienna_Pomocnicza = 1 then Wyslij kod 14 if Zmienna_Pomocnicza = 2 then Wyslij kod 15 Bitwait Pin, set end if Loop To taki prosty programik na kolanie napisany. W miejsce Pin wstawic nazwe pinu do ktorego...
Może pilot ma takie zabezpieczenie, że podczas dłuższego niż sekunda wciśnięcia przycisku ponawia i przerywa sygnał. Program będzie to wykrywał jako kolejne naciśnięcia.
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
elektryk: chyba nie masz "dejavu", no chyba ze ja tez mam :) polecam uzywac przycisku "szukaj"
No właśnie podejrzewałem , to że użyjesz Wait, który tak jakby "zawiesza" procesor na 25 sekund. Najlepiej by było użycie timera do ustalania czasu, ale wiem, że dla początkującego to za trudne. Podpowiem więc inne rozwiązanie: Daj w pętli głównej wait1. Następnie zwiększaj zmienną i napisz warunek kiedy osiągnie ona 25 (if then endif) oraz kolejny...
Lub zamiast tak: if pind.0=0 then call inny podprogram end if możesz tak: if pind.0=0 then exit sub i wtedy automatycznie procedura zostanie zakończona, program powróci do pętli głównej gdzie masz detekcję klawiszy i na podstawie tego który będzie naciśnięty klawisz wykona się wywołanie kolejnej procedury.
Trochę niejasno piszesz. Po wciśnięciu przycisku ma się wykonać te trzy linie i co dalej?? Czy póki trzymasz cały czas ma bć jeszcze PWM1a=500 aż do momentu puszczenia przycisku ? Jeśli tak to wystarczy na końcu tego co podałeś badać puszczenie guzika i po jego puszczeniu kolejna linia to wyzerowanie PWM.
Musiałbyś to zrobić na przerwaniach aby podczas działania PR1 lub PR2 wyłapać wciśnięcie S1. Wg mnie to najbardziej optymalne rozwiązanie. W tym wypadku nie ma konieczności stosowania przerwania. Wystarczy posłużyc się dodatową flagą lub pomocniczą zmienną i odpowiednio icrementowac jej wartośc w zależności od potrzeb - w analogiczny sposób jak przy...
Zaproponowane zmiany nic nie zmieniły. Jak była obsługa 12bitów to procesor i tak rozpoznawał jaka to ramka za pomocą długości bitu startowego i dalej już "nie obsługiwał" części odpowiedzialnej za tą ramkę 12bit. Sprawdziłem i odbiera normalnie zawsze pierwszą ramkę, załączam ekrany oscyloskopu, drugi kanał jest wyzwalany flagą po odebranej ramce...
LED5W - ciekawe podejście do kwestii menu. Ja zwykle CASEm robiłem płaskie, przechodzenie jednym przyciskiem a wartości (zwiększ, zmniejsz) ustalałem kolejnymi dwoma. Może pokusić się o napisanie uniwersalnego menu dwu lub trzy przyciskowego?
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...
Bo musisz jeszcze zrobić blokadę żeby reagowało dopiero na kolejne wciśnięcie. Czyli inaczej na zbocze a nie na stan.
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...
Wielkie dzięki e marcus, naprawdę mi pomogłeś. Mój program jest już niemalże na ukończeniu jednakże mam jeszcze jeden kłopot... Trudno tu "zgadnąc" przyczynę nie widząc całego programu. Wielokrotne zaliczenie akcji przycisku może byc w pierwszym rzędzie spowodowane fenomenem "Switch bounce". Zapobieganie temu zjawisku zwane jest 'DEBOUNCE'. Patrz odpowiednia...
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ć...
Nie wiem czy wyjdzie to jako kolejny post lub dodany po czasie :D ..., ale po pierwsze chciałbym byś nie myślał że moje uwagi są złośliwe. Po prostu zapytań o różne aspekty programowania w Bascom jest tak wiele że lepiej jest odpowiedzieć na ogólnodostępnym forum niż musieć sie powtarzać. Jest szansa że jeszcze ktoś to przeczyta :D Zamiast za każdym...
Kol. Saabotaz Twój program zaskoczył od razu co mnie bardzo ucieszyło. Bascom 1.11.9.5 kompiluje go i zajmuje 7% w pamięci przy 3 przyciskach, ale stany na wyjściach zmieniane są dopiero po puszczeniu przycisku :( Kol. SylwekK Juz kiedyś wykorzystałem Twój kod i nie miałem z nim problemu aż do momentu kiedy przyszło mi obsługiwać więcej przycisków i...
tylko trzeba znać choć odrobinę podstaw programowania w C Są też inne możliwości jak asembler czy bascom. Taką funkcjonalność pociągnąłby nawet 10F200 z 256B pamięci programu i 16B ramu.
flaga to zmienna bitowa. pseudokod: przerwanie co 50ms: if P1 =1 if flaga_P1 =1 start silnik zacznij odliczanie 20sek else flaga_P1=1 else flaga_P1 = 0 kolejny sygnal...........
Witam, Chciałbym zrealizować proste menu w Bascomie, które wybiera podprogramy za pomocą switcha dołączonego do portu. Każdy podprogram musi być zapętlony, ale po ponownym naciśnięciu przycisku wyboru musi z niego wyjść i przejść do kolejnego podprogramu. Wymyśliłem, że to mogło by być tak jak poniżej, ale coś mi się wydaje że można to zrobić lepiej...
Potrzebuje pomocy! Wszystko działa jak nalezy w bascomie z wyjatkiem funkcji getrc5.Kupowalem juz kilka nowych ukladow (sfh506) i wciaz to samo!Uzywajac tylko jednego przycisku pilota(onkyo) mam za kazdym kolejnym nacisnieciem inna komende i inny adres.Z gory dzieki!/smalski
Sprawdziłem ten kod przed chwilą i jeśli na PD6 jest przycisk.. to jego kolejne naciskanie włącza lub wyłacza naprzemiennie diode LED na pinie PORTD.7 100% tested [syntax=vbnet]$regfile = "m644pdef.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 Pcmsk3 = &B01000000 Enable Pcint3 : On Pcint3 Pcint3_isr Config Portd.6 = Input : Set...
Rozumiem że reszta programu jest według mojego toku myślenia. Druga pętla jest częścią podprogramu Obs_s1 - czy tak? Czy takich podprogramów z pętlami można pisać większą ilość? Tzn. Czy można napisać podobny podprogram dla drugiego guzika s2 i sterować kolejnymi dwoma diodami?
No właśnie nie widzę w helpie , trzeba podawać te adresy czy można zostawić bez i wtedy załaduje kolejne wolne ? Coś z tym Tiny 13 było inaczej .
No po przecinku... E0 to kod oznaczający grupę przycisków lub jakąś funkcję (w tej chwili nie mam czasu sprawdzić), czyli Ciebie interesuje kolejna wartość po przecinku.
Jeżeli ktoś ma programik czy sampla w Bascom , lub pomysł , na programik sumujący czas kolejnych naciśnięć przycisku. Po osiągnięciu 3 minut łącznego czasu przyciśnięć włączenie sygnału dźwiękowego i jednocześnie zliczanie od zera czasu następnych przyciśnięć. Długo szukam ale czegoś podobnego nie mogę znalęźć , a moja znajomść Bascomu, nie pozwala...
Witam , jestem początkujący w Bascomie i nie umie sobie poradzić z napisaniem programu do przełączania za pomocą jednego przycisku 8 pinów w procesorze tzn. tak aby kolejne dotknięcie przełącznika przełączało kolejny pin w jakimś tam porcie
Banalne zadanie. A więc włączasz licznik(lepiej TIMER1-większa pojemność), tak, aby odliczał ci te 10sekund. Dajesz zmienną którą zwiększasz np co 1sekunde (zmienna o nazwie sekundy). W czasie odliczania do 10s w pętli głównej zliczasz impulsy przycisku i zwiększasz je w innej zmiennej (np. impulsy). Po 10 sekundach w zmiennej sekundy będzie10s a w...
Znowu wielkie dzięki przy okazji rozwiązałeś mój kolejny problem z powrotem zawsze do tego samego wejścia po wyłączeniu i ponownym włączeniu.
Diody migają po dwa razy, kolejne dwa razy zawsze po naciśnięciu przycisku, tak w kółko. Jak nie naciskam to nic się nie dzieje.
Faktycznie, pętla teraz chodzi, ale wciąż otrzymuję 0 choć naciskam różne klawisze. Rozumiem, że odczytanie pierwszych 8 bitów to 8 przycisków podłączonych do 1 układu, a odczytanie kolejnych to kolejne przyciski kolejnego układu? Tzn tak rozumiem, że to powinno działać. Ale nie działa :/
Ten przykład działa, ale tylko dla jednego "przełącznika" ale gdy robie np dwa kolejne to już coś jest źle. Buduje urządzonko, które będzie załączać 3 przekaźniki: - 3 przyciski (portd.4, portd.5, portd.6) - 3 przekaźniki (portd.1, portd.2, portd.3) Jak to można zrobić w BASCOMie?? Kod dla w/w konfiguracji: Config Debounce = 30 Config Portd = Output...
1.STFW.... 2.RTFM [kolejny bascomowiec] 3.Naprawde, bascom nie zastępuje programisty do tego stopnia, zeby miał zaimplementowaną obsługe CZTEROCYFROWEGO WYSWIETLACZA LED!... Wniosek: Uzyj multipleksowania, a jesli nie wiesz co to jest, zastosuj sie do punktu pierwszego. 4.Jak wyeliminować to ze "tak jakbys nacisnął dwa razy": to sie nazywa drganie styków....
Ja bym tu dał Debounce , bo tak to nie wiadomo czy to drgają naduszane styki, czy to już kolejne naduszenie. I dalej, niech się zmienna powiększa za każdym naduszeniem. Poco przerwania?
Wycięte z większego programu ale widać cała pętle i ideę menu, obsługi ekranu głównego i nawet kolejnych poziomów (podmenu). Skok do odczytu klawiszy jest raz na pętle niezależnie w której części menu znajdujemy się. Zmienna Marker jest znacznikiem określający położenie aktualnie wyświetlanej zawartości ekranu. Menu to zamienna odpowiadająca ilości...
Deklarujesz zmienną do liczenia czasu po wciśnięciu przycisku. Gdy puścisz przycisk, określona wartość wykonuje GOSUB do wykonania zadania(LCD czy sterowanie portami) i zeruje zmienną. Kolejne naciśnięcie przycisku zaczyna liczenie od początku i czeka na puszczenie przycisku. Możesz też wykorzystać TIMER do liczenia czasu.
Jest to przełącznik pierścieniowy, jest jeden przycisk (portb.3) i zwierając go pojawiają się stany wysokie kolejno na wyjściach, po włączeniu zasilania pojawia się stan wysoki na portb.0, po wciśnięciu przycisku, stan wysoki na portb.1 po kolejnym wciśnięciu, stan wysoki na portb.2 i tak w kółko
U mnie działa na 100%. Czy sprawdzasz na oryginalnym pilocie z kodem RC-5 ?. Pytam dlatego, ponieważ pisałeś o wykonaniu własnego pilota. Rozumiem, iż w odbiorniku masz zewnętrzny kwarc 8MHz. Waitms ustawiłem na 200ms po to aby można było dokładniej odczytać kod. Przed naciśnięciem kolejnego przycisku musisz odczekać aż pojawi się napis "Oczekiwanie...
Witam!! Można prosić o sprawdzenie poprawności kodu. Czy jest dobrze ( logicznie napisany). If Pina.6 = 0 Then ' Wyłączenie/włączenie wyświetlacza lcd Waitms 100 Toggle Portd.4 End If If Portd.4 = 0 Then Pwm1b = 0 Else Pwm1b = Zmienna(33) End If Założenie jest takie że po naciśnięciu przycisku pwm ma wartość 0 a po kolejnym odczytuje wartość...
To nie jest jeszcze to co oczekuje, mianowicie: Są 3 tryby pracy: -Wyświetlanie temperatury (główny) - Po jednym naciśnięciu przycisku przechodzi do wyświetlania temp max i min i czeka na kolejne instrukcje - a jeżeli ten sam przycisk jest naciśnięty dłużej (np. 3sekundy) to przechodzi do resetowania wartości max i min i wraca do wyświetlania temperatury.
Pytana do układu: 1. P1 i P2 podciągnięte do plusa za pomocą rezystorów? Bo w programie nie masz "włączonego" wewnętrznego podciągnięcia? Jeden z twoich problemów to: Po naciśnięciu guzika zmniejszającego wartość spada ale dzieje się to bardzo powoli tak jak by układ się przycinał na czas odczytu temp. nie dziw się ponieważ w funkcji Odczyt_t podczas...
hmm. No właśnie tego rozwiązania chciałem uniknąć, też na to wpadłem ale sieć chciał bym by miała potencjał do przyjęcia choć 20 slave-ów na przyszłość a to już 5 pinów i grubszy kabel. Możesz użyć multipleksowania, lub rejestru równoległo-szeregowego - np. na I2C - masz 8 wejść, a tylko dwoma pinami łączysz z MCU. Można też kodować analogowo - np....
Wcześniej wspomniałem o AT89C4051 ponieważ używam go do odczytu napięć z 28 przycisków (każdy innej wartości) i DEBOUNCE tutaj nie ma zastosowania. Wszystko byłoby super, gdyby nie było konieczności stałego odczytu pozostałych wartości przycisków, a wtym przypadku procek zostaje zajety wyłącznie sprawdzaniem stanu styku. Pokombinuje wsadzić tą procedurkę...
Przecież tyle na elektrodzie jest przykładów jak to zgrabnie robić w Bascomie. Ale przynajmniej kolega widać że się męczy sam a nie na gotowca poluje. Więc ok, ja to robię np tak: Inicjalizacja obsługi RC5 Config Rc5 = Pind.3 Dim Address As Byte , Command As Byte Dim Ir_flag As Byte Ir_flag = 0 On Int1 Int1_rc5 Config Int1 = Low Level Enable Int1 Obsługa...
Witam Jak napisać program w bascomie, który by zmieniał zapamiętane parametry. Chciałbym to zrealizować przy pomocy trzech przycisków. np.: - gdy przycisk nr 1 jest nacisniety to wywołuje menu (kolejne naciskanie, powodowałoby przysuwanie tego menu) - gdy wcisniety drugi to zwieksza on parametr - gdy czwarty to zapamiętuje ten parametr trzeci to zmniejsza...
Witam! Czy mógłby mi ktoś opisać jak obsłużyć w BASCOMie klawiaturę podłączoną pod ADC? Dokładnie wygląda to tak, że mam w samochodzie kierownicę wielofunkcyjną z czterema przyciskami. Z klawiatury wychodzą dwa przewody na których po naciśnieciu kolejnych przycisków pojawiają się opory: 0, 80, 190, 40Ohm (okolo) Podłączyłbym tą klawiaturę do przetowrnika...
Trzeba klawiszem zerować zmienną odpowiedzialna za wypełnienie (ustawiać wypełnienie 0 - zatrzymanie silnika), a przedtem zapisać jej wartość w zmiennej pomocniczej. Kolejne naciśnięcie klawisza powinno przepisywać zapamiętaną wartość do zmiennej określającej wypełnienie. Czyli klawiszem zmieniałbym zmienną jednobitową (0 lub 1), a w instrukcji warunkowej...
Dobra sam jestem ciekaw czy to w ogóle ruszy?? Proszę przestrzegać zasad. http://www.elektroda.pl/rtvforum/viewtop... (joy_pl) UWAGI !!. W symulacji to trochę głupiało, ale na logikę powinno działać. najpierw trzeba sprawdzić czy dioda IR nie świeci jak nie jest naciśnięty żadny przycisk. Najlepiej komórką z aparatem fotograficznym....
Dane do migania powinny być zapisane w DATA. W pętli głównej robisz tylko RESTORE do właściwego efektu w liniach DATA i potem komendą READ czytasz kolejne bajty efektu. Używasz timera to wyznaczenia przerw oczekiwania do wyświetlenia kolejnego bajtu efektu. W tym czasie pętla główna DO-LOOP wykonuje się z pełną szybkością i nasłuchuje przycisków. Program...
Witam, zlecę napisanie programu w środowisku BASCOM-AVR. Dodam iż jak można się domyślić, zastosowanie jest amatorskie (hobbystyczne). Program jest prosty na atmege 8 Program działał by tak : Włączono zasilanie , czekaj na impuls stan wysoki (przycisk) po naciśnięciu przycisku program podaje sygnał wysoki (powiedzmy na tranzystor) w określonym czasie...
Witam Komunikuję się z układem PCF8574 po I2C i potrzebuję zrobić coś takiego: Piny P0, P1, P2, P3 mają być jako wejścia i po naciśnięciu przycisku mają wczytać jakąś wartość do zmiennej. Natomiast pozostałe 4 piny, czyli P4, P5, P6, P7 mają pracować jako wyjścia. Chciałbym, żeby po wpisaniu jakiejś wartości do kolejnej zmiennej, zapaliła mi się dioda...
To DEGBUG FILE miałem zaznaczone i to drugie także jak klikne żeby kompilowało to sie nic nie dzieje . Ten błąd wyskakuje gdy chce dokonać symulacji . W zakładce Simulator zauważyłem ze nie ma programu do symulacji a na dole jest jeszcze Parametr i tam jest półprzezroczysty napis {file}.OBJ i to chyba o to mu chodzi że nie chce symulować . Trzeba tam...
http://obrazki.elektroda.pl/5462459700_1... Witam Chciałbym zaprezentować mój projekt zdalnego sterowania pilotem RTV z funkcją uczenia się kodu przycisku. Układ powstał na potrzebę sterowania oświetleniem diodowym pod półką w pokoju. Układ powstał na bazie procesora ATMEGA8 taktowanego zegarem wewnętrznym 8MHz. Program napisany w BASCOM...
Tak nie będzie działać. Sprobuj poniższego kodu: do If Adress = 10 and Comand = 1 Then I=1' zaczynamy od 1 bajtu Do Readeeprom C , I Waitus 50 Print C incr I loop untill I=84' petla az do 84 bajtu End If If Adress = 10 and Comand = 1 Then I=85' zaczynamy od 85 bajtu Do Readeeprom C , I Waitus 50 Print C incr I loop untill I=169' petla az do 169 bajtu...
Teraz z innej beczki: Jest sobie program, gdzie po każdorazowym naciśnięciu przycisku program skacze do kolejnych CASE i wszystko działa, ale... Po załączeniu zasilania nie dzieje się nic, bo program czeka na pierwsze naciśnięcie guzika, a ja potrzebuję, żeby ruszył od razu np CASE1
dobre ;) tylko ja to zrobie tak że wciśnięty przycisk to 1. I właśnie w tym miejscu mam kolejne pytanie. Jaka jest różnica między przyciskami "podającymi" stan wysoki i niski? Widze że większość "podłącza" pin pod masę aby wysterować uC, dlaczego?
Hi ! Problem w tym, że nie zabezpieczyłeś przycisków przed drganiem styków. Użyj opcji Debounce i dodatkowo zrób kontrolę puszczenia klawisza po naciśnięciu zanim program wykona kolejny krok. Pozdrawiam...
Szybko zajrzałem do noty PCF8583 i tam jest napisane, ze kiedy nie używasz funkcji alarmu to stan na pinie INT zmienia się na przeciwny co 500ms. Tak wiec impuls jest na tyle długi ze spokojnie można go traktować jak zwykły przycisk naciskany co sekundę. [syntax=vbnet]$regfile = "m32def.dat" $Crystal=8000000 $hwstack = 64 $swstack=32 $framesize = 128...
Witam! Po pierwsze to z reguły przyciski powinny zwierać piny wejściowe do masy a nie do zasilania. Wynika to z faktu posiadania przez procesory AVR wewnętrznych rezystorów pull-up podciągających wejścia do +vcc, czyli panuje na nich stale stan wysoki (oczywiście gdy zostaną uaktywnione). Po drugie to akurat sygnał CLK ma się zmieniać, podczas narastającego...
BASCOMA uczyłeś się indywidualnie, czy przez szkołę :?: Bascoma uczą i to nawet na studiach (kto chce akurat projekty może pisać w C), ale na pewno nie uczą aż takich zaawansowanych rzeczy jak biblioteki SD czy ISP... To co w szkole, to kończy się raczej na zapaleniu LEDów albo napisaniu Hello World na LCDku. Ja też jestem ciekaw gdzie zamiawałeś PCB?...
Witam mam problem dotyczacy napisania programu. Otóz chodzi mi o program który po nacisnieciu jednego przycisku wlacza zapalanie pokolei portow od 1.7 do 1.0 a drugi klawisz np. od 1.0 do 1.7 lub inna kombinacje Prosze o POMOC!! Z góry dzieki!! Pozdrawiam Czy nie możesz założyć sobie jednego tematu , w którym co tydzień będziesz pytać jak pisać kolejne...
Witam Wszystkich, Piszę program do sterowania przekaźnikami, w tym programie będą różne opcje(Menu). Jak najlepiej zrobić menu w BASCOMie?? Chodzi mi konkretnie o menu typu: - PROGRAM GŁÓWNY ---> naciskam przycisk np. portd.1 i wchodzę w USTAWIENIA1 ----> naciskam kolejny raz klawisz portd.1 i wchodze w USTAWIENIA2 Czy jest coś lepszego od? If Pind.1...
2. Odpowiedź na moje 2 pytanie. 3,4. nie chodziło mi o znak w warunku if, a o sprawdzenie stanu klawisza po czasie 3s, który tu jest spełniony (co przeoczyłem) w warunku wyjścia z pętli w korelacji z Licz. 5. przerwanie zostanie wykonane po zwolnieniu klawisza. Moje ostatnie pytanie dotyczyło pracy układu, czy w czasie wykonywania przerwania INT1 kolejne...
Ok pomijając programator. Program działa prawidłowo bez instrukcji lookup. Ale składnia jest prawidłowa - wartości do przepisania też. Jeżeli istnieją wątpliwości do instrukcji 'lookup', to dla testu podmień ją kolejnymi wpisami: PORTB = 192 waitms 500 PORTB = 249 waitms 500 '......... i tak dalej '.......... PORTB = 144 ' az do wyczerpania całej tabeli...
Podoba mi się ta wytrawiarka. Zrobiona z sensem, funkcjonalna i fajnie wykonana. Sam właśnie przybieram się do budowy podobnej konstrukcji. Z racji tego, że do grzania zastosuję grzałkę akwarystyczną nie potrzebuję zwiększenia mocy grzałki za pomocą wciśnięcia przycisku. Przydałoby się jednak włączanie podświetlenia LED za pomocą tego przycisku poprzez...
Mój problem przedstawia się następująco: używam 4 przycisków, po wciśnięciu pierwszych trzech wykonuje się podprogram, natomiast po wciśnięciu czwartego przycisku wykonuje się podprogram, a po 5 min kolejny podprogram, tylko że nie wiem jak zrealizować to 5 minutowe opóźnienie. Tymczasowo dałem funkcję "wait", no ale ona blokuje mikrokontroler i w tym...
Mam problem z komunikacją 89C4051 <-> RS232. Pop podłączeniu Atmelka do PC-towego RS232 i odpaleniu jakiegokolwiek emulatora terminala zamiast czytelnego tekstu pojawiają się jakieś "ciapki". Zmiana ustawień sterowania przepływem nie odnosi żadnego skutku, inwersja linii też, nie wiem co jest. Nie sprawdzałem jak się sprawa ma jeśli połącze Atmela...
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...
Witam. Przyciski tak reagują bo stan zmiennej Pomoc zmienia się za każdym razem wywołania przerwania (co 4ms) i to nie zależnie od stanu wciśnięcia przycisku. A jej stan powinien się zmienić tylko po wciśnięciu przycisku i to jednorazowo. Dopiero puszczenie przycisku powinno pozwolić na kolejną zmianę stanu zmiennej Pomoc. Ja bym w ogóle nie dawał tej...
Tak, na schemacie przyciski są błędnie podłączenie do tego mikrokontrolera. Gdy podłączysz przyciski do GND należy dodatkowo włączyć programowo rezystory pull-up na tych pinach. Jedyne czego brakuje w schemacie to 2 rezystorów polaryzujących wyprowadzenia Pb0 i pb1 do masy wystarczy 2 rezystory 4k7 i program będzie pracował . Poza tym do programu który...
witam chciałbym zaprogramować tak attiny 2313 ze jak sie raz nacisnę przycisk dioda np na (PORTD.0) zacznie świecić a gdy drugi raz sie go nacisnę zacznie mrugać a gdy trzeci to kolejna funkcje zacznie wykonywać czy jest to możliwe ?? Bardzo proszę o jakieś przykłady Dodano po 9 oczywiście w bascomie Przeniosłem z "Programowanie ogólne"
Jak napisać pogram dla ATMEGA8 który po pierwszym naciśnięciu ustawiał by wszystkie porty na wejścia a po kolejnym na wyjścia? Czy może to być tak (przycisk podpięty do gnd i Port C1): $regfile "m8def.dat" $crystal = 8000000 Do If Pinc.1 = 0 Then Config Portb = &B11111111 End If If Pinc.1 = 0 Then Config Portb = &B00000000 End If Loop
Napisz nam dokładnie - co ten program ma robić, bo na razie to mamy o tym mroczne pojęcie. Chcesz wprowadzać jakąś liczbę kolejno przyciskami do zmiennej ? I dodatkowo chcesz, aby się wyświetlała w kolejnych pozycjach na wyświetlaczu? Od tego są przyciski 0..9, a do czego ma służyć przycisk Gene? Jeśli tego nie wyjaśnisz - będziemy krążyć dookoła tematu...
zmień sposób wykrywania stanu z wysokiego na niski , podciągając piny portu przyciski do masy .......... Config Pind.0 = Input Config Pind.1 = Input Portd = &B00000011 If Pind.0 = 0 Then Gosub Menu1 End if ...........
Witam Robie pierwsze kroki w programowaniu w języku bascom. Stanąłem przed problemem zdefiniowania w tym języku pewnych warunkowych komend dla procka atmega8. Jeśli ktoś może mnie nakierować to z góry dziękuję. O to moje problemy: 1. Konkretnie chodzi o to by układ reagował np poprzez zapalenie diody led w chwili gdy przycisk podłączony do tego układu...
Mój termometr działa świetnie mam tylko jeden problem z alarmem jak jest za nisko ustawiony, często się włącza(termometr pilnuje temp na piecu centralnym) chce dorobić przycisk kasujący alarm oto fragment kodu if (temp>=alarm) { LCD_xy(0,0); LCD_xy(0,5); write_text("ALARM"); LCD_xy(1,4); write_text(dtostrf(celcius,...
W jaki sposób można zmodyfikować ten projekt, by płynnie regulować prędkością obrotów silnika na 12V ? Innymi słowy po naciśnięciu przycisku w pilocie, silnik włącza się na minimalnych obrotach i pozostaje w tym stanie mimo zwolnienia przycisku w pilocie, kolejne wciśnięcie przycisku zwiększa obroty, przycisk przeciwstawny zmniejsza obroty, zmienia...
Tego się tak nie robi. Uruchom przerwanie timera. Zapisz wartości strowania portów dla kolejnych kroków w tablicy stałych. W przerwaniu timera testuj przycisk, a co pewną liczbę przerwań wyrzucaj na porty kolejną wartość z tablicy.Przy takim podejściu cały kod zmieści się w kilkunastu liniach, może dwudziestu paru, a jego długość nie będzie zależała...
Po raz kolejny dzieki Panu Piotrkowi (Zumek) problem został rozwiazany,a tak nawiasem mówiąc to kolega Zumek powinien mic na tym forum swój dział,zna sie doskonale i chetnie pomaga.Pozdrawiam i dziękuje za podpowiedzi i pomoc.
Witam wszystkich na forum, jestem nowym użytkownikiem i zaczynam zabawę z mikrokontrolerami. Udało mi się już kilka razy zaprogramować prostymi programikami atmega8, jednak nie wiem dlaczego jeden z programów nie działa tak jak powinien. $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111100...
Dziękuje za program. a funkcja do przycisków nie jest aż taka trudna ;) Tylko teraz mi się coś stało i nie moge programować nie wiem czemu nic nie zmieniałem w ustawieniach itp a bascom nie rozpoznaje procka. A jak bym chciał zrobić zmiene efektu to kolejny efekt musi być w osobnej pętli ? jak zrobić do niej odnośnik?
Czesc.! Mam problem chce w Bascom napisac program.ale nie wienm jak. Portc.0=input Portc.1=output Portc.2=output Na Porcie c.0 jest przycisk ,na dwuch kolejnych portach Portc.1 i Portc.2 mam wyjscia Led. teraz : Port c.0 jest aktywny jeden z portow C.1 jest tez aktywny. Na porcie wejsciowym sa liczone impulsy jezeli ich bylo np: 100 to liczenie i wyjscie...
http://obrazki.elektroda.pl/8074733100_1... Witam, Ostatnio wpadła mi w ręce karta VGA sterowana poprzez złącze szeregowe SPI. A a ponieważ w domu poniewiera się kilka starych monitorów VGA to postanowiłem zbudować zegar wyświetlający czas i datę na monitorze VGA (bez udziału PC) Takiego zegarka na elektrodzie chyba jeszcze nie było....
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...
Witam Próbuję zrobić w bascomie proste menu w którym wyświetlałyby się tylko wartości na LCD. Każde kolejne przyciśnięcie przycisku F1 powodowałoby przejście do kolejnego ekranu. Próbuję to zrobić za pomocą select case, ale nie działa i nie wiem dlaczego. W załączeniu wklejam fragmenty kodu odpowiedzialne za przełączanie ekranów: [syntax=vbnet] Config...
W końcu udało mi się pojąć ten program i mniej więcej przerwania, ale nastało kolejne pytanie z mojej strony. W jaki sposób mogę obliczyć wartość timera, żeby mógł odliczyć np 0,5 sek lub 2 sek. Chodzi mi na razie o Timer0 8 bitów. W jaki sposób mogę też liczyć przepełnienia?
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ę...
To ją usuń ;) Hahaha :D Lock blokuje zwiększanie licznika do czasu puszczenia przycisku. Pętla wykonuje się szybko i nawet jeśli sprawdzałbyś przyciski co 10ms to chwilowe naciśnięcie przycisku mogłoby załadować wartościami jednego przycisku kilka bajtów :D ..a tak, jedno naciśnięcie, jedna wartość w kolejnym bajcie. [url=http://bart-projects.cba.pl/rozne.h...
Prawie cały kod jest źle napisany. Powinieneś odczytać kod z pilota lub przycisk i wtedy skoczyć do menu. Gdy jesteś w menu program czeka na naciśnięcie kolejnego przycisku lub kodu RC5, w tym czasie licznik powinien liczyć czas w razie gdy nie nacisnął byś żadnego z przycisków, by mógł wrócić do podstawowej funkcji. Gdy wybierzesz przycisk lub kod...
witajcie mam kolejny problem musze na jutro napisac program do atmegi 8 zeby po nacisnieciu 1 przycisku zmienial sekwencję zapalania ośmiu diod led a po nacisnieciu 2 przycisku uruchamiał stroboskop na ok 5 sekund, oraz na wyswietlaczach siedmiosegmentowych wyświetlał dowolne cyfry llub numer zapalonej sekwencji sterowania diodami bardzo prosze o szybkie...
Tak co jeden cykl. Prescale jest 64 wiec nie tu chyba problem. Nic sie nie dzieje na wyswietlaczu a w symulatorze tez nie pokazuje zmian zmiennych. To nie jest jeden cykl, ani też 64 jakby wynikało z podziału prescalera. Wszystko można odczytac w symulatorze, tylko musisz potrafic posługiwac się jego ustawieniami i funkcjami. Poniżej masz przykład...
Witam serdecznie, W bascomie, w chwili wystąpienia zewnętrznego przerwania na jednym z pinów obsługujących takie zdarzenia, program skacze do podprogramu obsługującego przerwanie, po czym wraca do miejsca w którym aktualnie wykonywał się program w chwili jego wystąpienia. Czytałem że można przestawić (wykasować) bity odpowiadające za zapamiętanie w...
witam. Kol.Seb jeśli stosuje się zestaw podstawowych słów w bascomie, unikając gotowców i tworząc własne procedurki, to można napisać sensowny program i w bascomie tak jak w C i nie będzie robił dziwnych rzeczy. A co do pomocy w temacie to już ją uzyskałeś, tak jak napisano unikaj waitms itp. opóźnień, zrób sobie swoją pętlę opóźniającą w której coś...
Wszytsko wrzuce w poniedziałek po południu bo nie mam dostępu teraz do niego. Ogólnie przerwanie działa ale też nie do końca, bo jak jedno się wykona i stoi na wait'cie w pętli głównej to już na kolejne, nie reaguje Obsługa przycisku w przerwaniu jest niezbyt wskazana. Owszem przycisk uruchomi przerwanie ale do tego należy również doliczyć drgania styków....
Da się to odchudzić, oczywiście To samo z większą ilością układów, albo dane można wysyłać po rs232 do pc, albo dać po 6 układach przycisk next wyswietlajjący kolejne 6 układów i tak dalej... Co do nazw to nie da się, chyba że przepiszesz setki danych z kart i obsłużysz jakoś rozpoznawanie układów o takich samych adresach, np at24cxx i pcf8583 lub 8563
na tak nie wziolem pod uwage ze dopuki bedzie nacisniety przycisk program bedzie lecial caly czas w tej chwili widze dwa rozwiazania , dopisac kolejne polecenie while które czeka na puszczenie przycisku [syntax=basic4gl]while porta.1=1 reset portb.1 ; zgaszenie diody 1 set portb.2 ; zapalenie diody2 while porta.1=0[/syntax] itd lub zrobic to mimo wszystko...
Witam mam programik napisany w bascom ale mam mały problem mianowicie gdy wcisnę przycisk to led swieci a chodzi mi o to aby świeciła 2 sec a potem dalej szedł program bez względu czy przycisk wciśnięty czy nie, a jeżeli go puszcze i wcisne raz kolejny znowu sie zatrzyma itd... $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = Input Portb.0...
Witam ! Zrobilem sobie transmisje radiową 433MHz, i w zwiazku z tym chce zrobic pilot, posiadajacy 12 przyciskow, zasilany z baterii 12V. Mysle jak go zrobic tak by pobierał maxymalnie malo pradu. Z chwilą naciśniecia jednego z 12 przycisków ma byc podane napięcie zasilające procesor oraz nadajnik, odczytany ma byc stan ktory z przyciskow zostal nacisniety,...
Mam takie pytanie do mądrzejszych od siebie, czy jest możliwe żeby wysterować tym mikrokontrolerem 5 do 6 silników prądu stałego? Oczywiście, że możesz obsłużyć 5, a nawet 6 silników. Tylko jest jeden problem. Będziesz musiał je sterować programowym PWM'em, a nie sprzętowym. Do tego celu wystarczy np. przerwanie, z któregoś licznika. Oczywiście możesz...
Witam. Potrzebuję prostego przykładu programu do AT89C2051. Chcę zbudować migacz na 2 diodach LED. Diody chcę podłączyć do portów P1.1 i P1.2 przez rezystory powiedzmy 500 Ohm. Potrzebuję też 3 przycisków, podłączonych do portów P1.4, P1.5, P1.6 i do masy. Co z RESETEM? Wyczytałem, że nie może on wisieć w powietrzu i trzeba go podłączyć przez kondensator...
sterowanie jednym przyciskiem bascom włącz wyłącz jednym przyciskiem bascom zapalanie jednym przyciskiem
renault awaria elektroniki ekspres zelmer rozebra klawisz sleep
czyszczenie gaźnika kosiarka rs485 controlv21
Haier pralka wyświetla błąd 8 na każdym programie Brak zasilania przedniej prawej lampy pozycyjnej w Volkswagenie Tiguan 2