Najprościej coś takiego: 1. pętla czeka na naciśnięcie przycisku 2. zmiena stanu diody led 3. pętla czeka na puszczenie przycisku 4. idź do pkt1 PS obie pętle muszą jeszcze dodatkowo mieć wprowadzone opóźnienia w celu debouncingu przycisku.
U mnie twój program działa bez problemu :D . Może to wina zakłóceń.
...I dalej mam takie pytanie czy da się to zrobić prościej Bascom posiada funkcję skoków do podprogramu w/g indeksu. Portc.4 = 1 'podciagam port - przycisk Dim A As Byte , B As Byte Declare Sub Temp Declare Sub Temp2 Declare Sub Nap Declare Sub Przyc Const Maxa = 2 'maksymalna ilosc podprogramow A = 0 : B = 1 Cls Do 'petla glowna Debounce Pinc.4...
[syntax=basic4gl] Przycisk_on Alias Pinx.y Przycisk_off Alias Pina.b DDRx.y = 0: DDRa.b = 0 PORTx.y = 1: PORTa.b = 1 Dim Zapamietalem As Bit Do If Przycisk_on = 0 then Zapamietałem=1 If Przycisk_off = 0 then Zapamietałem=0 Loop [/syntax] Zmienna Zapamietalem pamięta który przycisk został ostatnio naciśnięty. "0" jeśli Przycisk_off; "1" jeśli Przycisk_on....
1) jeśli używasz przycisków to zawsze podłącz go tak aby przyciśnięcie zwierało nóżkę portu do masy czyli do -. To naprawdę ułatwia sprawę i zawsze działa 2) dobra praktyka - przyciski, jumpery itp podłączaj do pinu procesora przez rezystor np 180 omów. Chodzi o to że kiedyś możesz się pomylić, ustawić pin jako wyjście, dać na nim 1 czyli napięcie +...
Tak jak twój program kofiguruje, piny są w stanie wysokiej impedancji, ustawione jako wejścia (PORT.X = 0; DDR.X = 0) i losują wszystko z otoczenia, a jak włączysz podciągnięcie, to masz na PIN.X stabilny stan = 1, bo wewnętrzne rezystory (ok. 50 k) ciągną to do Vcc. Jak zewrzesz przyciskiem pin z masą, wewnętrzny rezystor nie zaprotestuje, bo płynie...
wejście jest sterowane minusem. Po napisaniu coś takiego, układ działa ale po za tym że nie czeka 1 s i nie przechodzi do Pwm1b = 100. Z pewnością przechodzi do Pwm1a = 100, (dlaczego Pwm1b ?) tylko ty mu nie dajesz szansy (czasu) abyś to mógł zobaczyć. Poza tym, nie masz kontroli nad czasem ponad 1 sec. pętla dalej jest przewijana w nieskoczoność....
w podprogramie dopisz na końcu /przed loop/ If pind1.0 = 0 then exit Do end if w drugim podobnie. W ten sposób tym samym przyciskiem wchodzisz i wychodzisz z podprogramu. Wcześniej /przed Do/ daj jakąś zwłokę bo jak nie zdążysz puścić przycisku to podprogram wykona się tylko raz
Jak podciągniesz wszystkie wejścia do '+' to masz dla nich jedynkę. Nie napisałeś żadnego warunku, co się stanie jak jest "1", więc nic się nie zmienia: If Pind.0 = 0 Then Portb.0 = 0 ;tutaj dla "zera" If Pind.1 = 0 Then Portb.0 = 1 ;tutaj tez dla "zera" Ponieważ piny są podciągnięte do "1", żaden z tych warunków się nie wykona, czyli nadal będzie "0"....
http://obrazki.elektroda.pl/4254374100_1... Witam. Od dłuższego czasu zastanawialiśmy się z kolegą mlassota nad zaprezentowaniem naszych LedCube’ów na forum, aż w końcu zdecydowaliśmy się. Niestety na forum jest niewiele takich projektów, a my chcieliśmy mieć kostkę 4x4x4, w której matryca byłaby bezpośrednio połączona z płytką...
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...
Napisz podprogramik migniecia dioda i wywołuj go po każdym warunku sprawdzającym czy jest wciśnięty przycisk.
Witam, Mam mały problem nie wiem jak poprawnie napisać kod załączania i włączania pętli for w Bascomie napisałem taki kod ale pętla wykonuje się aż skończy się warunek [syntax=basic4gl]Dim I As Byte I = 1 Dim Adres As Byte Dim A As Byte Do If Pinb.6 = 0 Then For Adres = 100 To 200 Step I Cls Lcd Adres Waitms 250 Next Adres End If Loop[/syntax][/code]
Dodajesz pamięć zdarzeń, tzn na jakimś bicie oznaczasz sobie, czy ostatnio liczyłeś w górę, jeśli tak to zmieniasz znak bajtu i liczysz w dół; jednym słowem: BANAŁ może i nie jest to trudne, ale ja dopiero raczkuje w bascomie :) można prosić o przykład Dodano po 1 odpowiedz naprowadziła mnie na pewien pomysł, ale nadal nic z tego :( Zamieszczę swoje...
Witam Chciałbym przy użyciu dwóch przycisków ( nawet jednego, bo pewnie tak się da ) zmieniać czujnik DS18B20, a właściwie wskazania które pokazuje. Mam dwa układy DS18B20 i przy założeniu ( teoretycznym ), że mam mało miejsca na wyświetlanie, więc dobrze by było mieć możliwość zmiany ( na przemian jednym przyciskiem lub dwoma - pierwszy-drugi ). Samo...
.... config pinc.1 = input set portc.1 declare sub we declare sub wy do if pinc.1 = 0 then gosub we end if loop end sub we DDRB = &B00000000 DDRC = &B00000000 DDRD = &B00000000 do if pinc.1 = 0 then gosub wy end if loop end sub sub wy DDRB = &B11111111 DDRC = &B11111101 DDRD = &B11111111 do if pinc.1 = 0 then gosub we end if loop end sub Na szybko...
https://obrazki.elektroda.pl/8025280500_... Witam! Przedstawiam wam w pełni automatyczną domową windę osobową! Jest to mój największy, najbardziej skomplikowany, i najdroższy projekt którym chwaliłem się jakiś czas temu w dziale „DiY w budowie”. (https://www.elektroda.pl/rtvforum/viewt... Na początku...
Witam, Jak napisać kod programu matrycy 4x4 tak aby 12 przycisków pracowało jako typowa klawiatura matrycowa ,a pozostałem 4 spełniały inną funkcję w programie ?
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. Mam taki problem z językiem bascom basic, że chciałbym wykorzystać jeden przycisk do kilku czynności. Np: 1 przyciśnięcie -dioda świeci 2-dioda mruga itd. Przykład: dim przycisk as (chyba) byte przycisk = przycisk + 1 if przycisk = (przykładowo) 5 then przycisk = 0 if przycisk = 1 then gosub jeden if przycisk = 2 then gosub dwa...
Witam, mam mały problem z napisaniem kodu tak by wykorzystując cztery przyciski poruszać się po menu jak również ustawiać parametry i je zapisywać do eepromu . Menu wygląda tak 1.MENU 1.1 MENU 1.2 MENU 2.MENU 2.1 MENU 2.2 MENU itd . Proste Menu powiedzmy jednopoziomowe napisałem z instrukcją Case ale nie wiem jak wykorzystać te same przyciski , jeden...
Witam chciałbym aby w bascomie zaprogramować przycisk że po wciśnięciu i przytrzymaniu określoną liczbę sekund np 20 włączy program
Witam, na początek powiem ze jestem początkujący, więc prosze o wyrozumiałość. Problem w tym jak napisać programu który by za pomocą przycisków przesuwał tekst w prawo/lewo, lub góra/dół. Dołączam kod programu który napisałem i zdjęcie z proteusa. Z góry dzięki. http://obrazki.elektroda.pl/9491384700_1...
Witam. Jak napisać menu (np. 4 poziomy x 4 funkcje) W sieci jest kilka przykładów, ale wydają mi się strasznie skomplikowane. Do obsługi mam 5 przycisków: LEWO, PRAWO, MENU, POWRÓT i OK. Lewo i prawo to bez problemu (INCR/DECR), ale teraz chciałabym zatwierdzić konkretny wybór przyciskiem OK i przejść dalej, albo cofnąć o jeden krok przyciskiem POWRÓT....
Mam problem z PWM na 2313 w bascomie AVR (regulacja obrotów silnika DC) Regulacja działa, ale są problemy z zatrzymaniem i ponownym uruchomieniem silnika za pomoca jednego przycisku (pierwsze nacisniecie uruchamiać silnik a następne zatrzymać i tak dalej) Może ktoś ma jakiś pomysł jak to zrealizować.
Witam, Podczas pisania programu menu wyskoczył mi taki mały problem , może najpierw przedstawię kod [syntax=basic4gl] Config Pind.3 = Input Set Portd.3 Memo Alias Pind.3 Config Pind.4 = Input Set Portd.4 Smulti Alias Pind.4 Dim Nr_menu As Byte , Klucz As Bit , Step_ As Byte , Vfoab As Byte Nr_menu = 0 Do Cls Lcd Lookupstr(nr_menu , D_menu) On Nr_menu...
Witam. Czy mógłby ktoś podać jakiś dobry sposób na odczyt stanu przycisków, najlepiej jakiś kawałek kodu w bascomie.
Witam wszystkich.Zacząłem naukę programowania (Bascom),więc proszę o wyrozumiałość. Napisałem taki program zegara RTC z kwarcem 32768Hz i nie wiem jak dopisać mam guziki do ustawiania budzika.Siedzę dwa dni i nic mi nie wychodzi.Polski help i książka Marcina Wiązani w tym przypadku jakoś mi nie pomaga.Oto kod źródłowy: $regfile = "m8def.dat"...
Witam, Zamierzam stworzyć menu w którym będzie można ustawiać używając 3 przycisków temperaturę. Napisałem taki kod: $regfile = "m8def.dat" $crystal = 8000000 Config Portb = Output Config Pind.5 = Input Config Pind.6 = Input Config Pind.7 = Input Portb = &B0000000 Portd = &B0000000 Dim Tempzadana As Long Declare Sub Menu Declare Sub Normal...
Witam, Mam mały problem z napisaniem kodu tak aby ten program uruchamiał się za pomocą przycisku [syntax=basic4gl]Config Pinb.1 = Output 'linia pb1 jako wyjście Config Timer0 = Timer , Prescale = 256 'deklaracja timera jako czasomierza On Timer0 Przerwanie_co_2ms 'deklaracja jaka etykieta obsługuje Led Alias Portb.1 'alias dla wyjścia b.1 Dim Licznik...
https://obrazki.elektroda.pl/5625735500_... https://obrazki.elektroda.pl/5938892800_... https://obrazki.elektroda.pl/3855285300_... Witam. Postanowiłem wykonać sterownik do ogrzewania postojowego firmy Webasto. Same sterowniki analogowe są dość drogie - to około 700 zł. Można szukać kompletnych zestawów...
Z przyciskiem żółtym nie ma problemu - jeden pin do masy, a drugi do procka i załatwione (jak przyciśnięty to zwarty do masy). A z pozostałymi robisz tak ... najpierw rysunek: http://obrazki.elektroda.net/56_12521055... Dwa piny procka podłączasz do punktów A i B - to będą "wyjścia". Dwa piny procka podłączasz do X i Y - to będą "wejścia". Krok T1:...
Nie testowałem tego dokładnie, ale nie powinno być problemu. Tam jest AT90USB162 co oznacza, że oprogramowanie można wymieniać przez USB jako DFU (programem FLIP). Oryginalne oprogramowanie które znajdziesz w Atmel Studio ma chyba tylko jeden numer seryjny i do procy z Bascom trzeba mu włączyć filtr. Potem żeby pracował z powrotem ze Studio to filtr...
http://obrazki.elektroda.pl/8305155600_1... Witam! Jest to moja pierwsza konstrukcja na forum, więc może się przedstawię. Mam na imię Sebastian, jestem uczniem 2 klasy LO w Kielcach. Projekt, który dziś prezentuję to minutnik pracujący w dwóch trybach (o tym za chwilę). Powstał z potrzeby odmierzania i sygnalizowania danego czasu na...
seja4321 Napisałem kilka linii kodu ,jest to jedno z możliwych rozwiązań twojego problemu z przyciskiem . program przetestowałem. Moja rada to testuj program na kilku kilkunastu sekundach. powodzenia. Dodano po 46 Nie rozumiem dlaczego seja4321 został skarcony przez LordBlick, przecież pisze w dziale początkujący? Co do kodu, to jest dziwny, Piszesz...
[syntax=vbnet] ...... Do Debounce S1 , 0 , Pr1 ,Sub Loop End ' koniec pętli Pr1: Waitms 100 Serwo(1) =150 Waitms 150 Serwo(2)=250 Waitms 200 Serwo(2)=50 Waitms 250 Serwo(1)=50 Wait 1 Serwo(1)=150 Waitms 100 Serwo(1)=50 Wait 1 Serwo(1)=150 Waitms 100 Serwo(1)=50 Return [/syntax] Przy takim kodzie serwa działają jak bym chciał tylko procesor wykonuje...
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...
Żeby układ sam się resetował przy włączeniu zasilania , to opornik dajesz do plusa i kondensator z pinu reset do masy.
Cześć. Szukam sposobu, aby za pomocą dwóch wejść - K1 i K2 podciągniętych do VCC inkrementować zmienną (kejsy 0 i 3), ale na kilka różnych sposobów tzn: Sposób 1 - Dwa osobne przyciski lub przełącznik 2 pozycyjny. Dodano po 43 Tak, to część kodu. (Odpowiedź na usunięty wpis :) ) Rozwiązanie które podałeś załatwia sprawę sterowania włącznikiem stabilnym,...
Żeby zrobić za pomocą Timera - to nie możesz używać trybu PowerDown tylko Sleep - żeby właśnie Timery mogły działać to po pierwsze. W taki trybie jednak będziesz miał nieco większy pobór prądu niż w pełnym PowerDown. Więc wszystko zależy na ile ma wystarczać bateria o ile jest to coś zasilane z baterii. Bez PowerDown'a na pewno będzie to sporo krótszy...
Wszystko gra tylko co zrobic żeby przyciskiem S2 odejmowac?
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...
Dzieki Chris_W ale moja wiedza nie bardzo mi pozwala na skorzystanie z Twoich rad. Szukałem w helpie o tablicach ale nie wiele się dowiedziałem. Sam wykombinowałem coś takiego jak poniżej nie wiem czy to lepiej czy gorzej ale w symulacji chodzi tylko dużo zabiera pamięci. Może zapodał byś kawałek kodu na swój sposób to bym przy okazji poćwiczył z tablicami....
Uuups! Chyba się pospieszyłem z tym kodem ze strony skoro nie rozumiesz nawet swojego :D Ekonomiczniej jest, i tak się najczęściej robi, że mikrokontroler wykrywa zwarcie przyciskiem linii do masy. Wtedy na wejściu pojawia się Zero a nie Jedynka. W kodzie poniżej jedynki na pinach przycisków są cały czas a kiedy zewrzesz linie przyciskiem do masy to...
Witam Mam problem z odczytem zwyklego przycisku na tej atmedze. podlaczenie: gnd +rezys 10k+port.d=2 nastepnie podaje przyciskiem +5v na port.d2. kod: config PORTD.2= input config pinb.5=output set PORTD.2 . . Do if PIND.2=1 then waitms 30 if PIND.2=1 then Toggle pinb.5 end if end if loop Przycisk zapala diode ale jej nie gasi w/g mnie nie wraca do...
Fajne sposób ale wolałbym coś bez timera. Dałoby rade?? Bo timera używam do zegarka. Bo w moim programie chodzi o to by przełączać tym przyciskiem miedzy pokazywanie temperatur a zegarkiem. Jeszcze mam pytanie po wciśnięciu switcha zmienia sie stan z 1 na 0 na portd czyli i na pind.4, tak?? A czy on potem wraca do stanu 1? Sory za takie pytania ale...
2. Gdy ustawisz na pinie stan niski a następnie przyciskiem zwierasz do plusa to powstanie zwarcie. Masz takie możliwości: 1. Robisz tak jak prawie wszyscy czyli włączasz wewnętrzny rezystor pullup w atmedze i przyciskiem zwierasz do masy. 2. Dodajesz zewnętrzny rezystor pulldown (ponieważ atmegi nie maja wewnętrznego) i przyciskiem zwierasz do plusa....
Mam problem z zaprogramowaniem procesora, ściślej chodzi mi o napisanie programu pod niego w Bascomie . Jestem zielony w tym języku i proszę o podanie mi wyjaśnienia komend jakie w tym języku występują. Prydał by się kod źródłowy do jakiegoś prostego programu np. migacz led z jakimś tam przyciskiem po naciśnięciu będzie następowało najpierw miganie...
Nie bo gdy wchodzę do menu to przyciskam tym przyciskiem i taka sytuacja się nie dzieje.
Tak naprawde to potrzebuje to przeliczyć na milisekundy od momentu zaświecenia do zatrzymania przyciskiem licznika taktów. Wynik powinienem mieć w milisekundach. W sumie zakłądam że max to będzie kilka/kilkanaście sekund. Czyli rozumiem że jak mam np kwarc 1 MHz to po sekundzie jest 1000 000 taktów zegara. Jak to przeliczyć na ms?
WITAM Mam problem, nigdzie nie moge znalezc termostatu na DS1820. Temperature wlaczenia i wylaczenia powinno sie ustawiac przyciskiem GORA, DOL. Jesli ktos widzial cos podobnego to prosze o link ewentualnie jakis listing w BASCOMie. Wielkie THX
funkcje juz działają a teraz chciałbym drugim przyciskiem sterować szybkością czy można te dwie instrukcje tak połączyć ?? co proponujecie jakie rozwiązanie ?? $regfile = "attiny2313.dat" 'najpierw określamy typ proca $crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował Config Portb = Input 'port b jako wejścia Portb = &B11111111...
wader kod od ciebie nie działa , od macka działa po mojej modyfikacji działa pięknie :D (cały czas testuje i chodzi ok) Teraz chce zrobić sterować przekaźnikami czasowymi też tym samym przyciskiem jak by ktoś pomógł byłbym bardzo wdzięczny ma działać tak : -naciśnięcie przycisku chwyta 1 i 2 przekaźnik i 1 odlicza czas od 0-20 sek następnie rusza silnik...
Witam... Napisałem program w Bascom dla ATTiny13 do obsługi odbioru RC5. Mam pewien problem i nie wiem z czym jest on związany. pierwsze dwie pętle DO...LOOP zapamiętują przyciski (zmienne K1 i K2) trzecia petla DO...LOOP sprawdza czy został wciśnięty któryś z zapamiętanych przycisków na pilocie. (K1 lub K2) program działa bez zarzutu gdy się wciśnie...
Program to Bascom i po kompilacji przyciskiem F7 naciskasz Run Programmer czyli F4. Program do ściągnięcia z www.mcselec.com
proszę o pomoc jestem totalnie początkującym i robię sterownik do swiateł jestem na etapie pisania programu a dokładnie wyboru programu z menu mam coś takiego i działa ale tylko na jeden przycisk i dodaje mi wartość +1 ale chce żeby drugim przyciskiem odejmować Do If Pinb.5 = 0 Then Waitms 100 If Pinb.5 = 0 Then A = A + 1 If A > 4 Then A = 1 End...
Spróbuj zrobić tak Co4ms: 'procedura obsługi przerwania od Timera T/C0 wykonywana co 4ms Timer0 = 6 'załaduj do Timera0, żeby zliczył 250 (=256-6) impulsów Incr Licznik If Licznik = 6 Then 'zmienna Licznik liczy do 6 aby Licznik = 0 'sprawdzanie stanu przycisku następowało If Pind.0 = 0 Then 'co ok.24ms If Pomoc = 1 Then 'jeśli zmienna Pomoc...
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...
Każda metoda jest dobra jeżeli prowadzi do celu tak to jest na wolnym rynku ;-).Z tym sobie poradziłem ... ale teraz pracuje nad przyciskiem CLS w kodzie , którym kiedy napisałeś :-)
Witam Chodzi o Bascom AVR, MCU-tiny13. Myślę, że schematu nie potrzeba do takiego układu. PB.0 dioda 1, PB.1 dioda 2. Program mam już do odbioru RC5, zapala i gasi diodę 1 przyciskiem. Chciałbym zrobić by tym jednym przyciskiem zapalić i gasić diodę, która by migała. A drugą diode przyciskiem 2 zapalić i gasić tak aby zapalała się i gasła powoli (łagodnie)...
Może sam spróbuj ;-) Tak w zarysie : w pętli głównej musisz dodać warunek: jeśli przycisk wciśnięty to zwiększ zmienną "czas" o 1 jeśli puszczony to zmienna "czas" =0 następnie: jeśli zmienna "czas" = 123 (dla przykładu, bo nie wiem jak szybko ta pętla przebiega) to : zmień tryb pracy (to masz strasznie napisane, więc trudno ogarnąć)...
Standardowy błąd początkującego. Nie włączone wewnętrzne podciąganie (pull-up) na wejściach na których są switche.
sterowanie przyciskiem bascom bascom jednym przyciskiem bascom sterowanie przyciskiem
valeo szczotki mikrofon bezprzewodowy nadajnik dmuchawa bezpiecznik
blaupunkt limited bialoruśka wymiana pompy
Jak zresetować telewizor Hisense BXG144351 do ustawień fabrycznych? Reset BMS w hulajnodze RIDER po wymianie akumulatora