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ć.
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,...
marco47 - przepraszam, nie zauważyłem. marek19951 - proste if-then nie załatwi problemu. Jeżeli masz zapał, a widzę , że masz, zacznij od procedury obsługi klawiatury , która nie powoduje opóźnień poprzez martwe pętle ( czyli m.in wait, debounce, bitwait itp). Ja to zrobiłem na przerwaniu programowym z timer1, które odliczało mi okresy 10 ms w połączeniu...
Żeby układ sam się resetował przy włączeniu zasilania , to opornik dajesz do plusa i kondensator z pinu reset do masy.
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)...
Witam Dziękuję za odpowiedź, jak znajdziesz chwilę czasu to zapodaj kod, jakieś punkciki polecą dla Ciebie. Mam też drugi problem z Timer'ami - sterowanie jednym przyciskiem dwoma funkcjami ( w zależności od czasu przytrzymania przycisku ). Temat poruszałem tutaj [url=http://www.elektroda.pl/rtvforum/to...
Chciałem zapytać w jaki sposób w Bascomie wykonać podtrzymanie przycisku monostabilnego? Chodzi o to, że kiedy nacisnę przycisk 1 to żeby procesor pamiętał ten stan logiczny do momentu naciśnięcia przycisku 2. Podobnie jak robi się podtrzymanie cewki stycznika przy pomocy styku otwartego (sterowanie impulsowe stycznika) - o takie działanie mi chodzi.
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, 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...
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 potrzebuję porady jak napisać prosty program do włącznika bistabilnego .Schemat jest banalny na portach B i D są podłączone przyciski ,zaś na portach A i C są podłączone układy ULN2003 ,z układów ULN wychodzi napięcie na przekaźniki. Próbuję coś robić ale schematy z kursów (Bascom) co są wrzucone do internetu są na jednej diodzie i jednym przycisku,jak...
Witam Napisałem program w Bascom do obsługi dwóch serwomechanizmów. Program jest prosty i po naciśnięciu przycisku załącza na pewien czas 1 serwo potem 2 następnie wraca obydwa . Odczekuje jakiś czas i ponawia cykl. Wszystko działa , ale chciałbym aby po naciśnięciu przycisku w dowolnym czasie program ruszał od początku. Próbowałem zrobić to instrukcjami...
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. Jestem początkujący w programowaniu mikrokontrolerów i mam prośbę do osób z większym doświadczeniem o wyjaśnienie zasady działania poniższego kodu. ‘Program obslugi jednego przycisku S1 za pomoca instrukcji Debounce ‘Krotkie przycisniecie S1 umozliwia właczenie i wyłaczenie diody LED1 ‘natomiast przycisniecie przycisku S1 na...
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 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...
Pragne zrobic uklad ktory bedzie mial za zadanie dokonywanie 2 pomiariw(czestotliwosci i temperatury) oraz wyswietlanie informacji na wyswietlaczu graficznym... zrobilem juz dosc duzo bo opanowalem pewne elementy ale, mam nastepujacy problem. pragne by moj uklad dzilal nastepujaco: 1. dokonywal obydwu pomiarow jednoczesnie. 2. sterowanie jest jedno...
Witam wszystkich .Chciałbym prosić o wskazówkę ,w jaki sposób uruchomić dwa niezależne podprogramy z jednego przycisku (nie wyłącznika)w baskom Przedstawiam część mojego programu którym załączam podprogramy z dwóch przycisków S! i S2 [syntax=basic4gl] Do 'poczatek petli nieskonczonej Debounce S1 , 0 , Pr1 , Sub 'jesli wykonasz IMPULS na S1 to skok do...
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 Niedawno zaczolem programowac w bascom chce napisac program do µP tak aby dzialal jak przelacznik Zrobilem cos takiego: Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111110 Portd = &B1110111 Dim K As Byte K = 0 Do If Pind.0 = 0 Then Incr K If K = 0 Then Portb = &B11111111 If K = 1 Then Portb = &B11111011 If K = 2 Then Portb...
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....
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"...
Jak zrobić coś takiego, że po jednym naciśnięciu przycisku ustawia się jakaś Flaga na 0, a po drugim naciśnięciu tego samego przycisku ustawia się na 1 ?
Witam. Czy mógłby ktoś podać jakiś dobry sposób na odczyt stanu przycisków, najlepiej jakiś kawałek kodu w bascomie.
Witam Mam oto taki kawałek kodu w bascomie Locate 3 , 2 Lcd " Dmuchawa " ; I If I < 255 Then If Pinc.1 = 0 Then I = I + 1 End If If I > 0 Then If Pinc.2 = 0 Then I = I -1 End If Xxx: If Pinc.5 = 0 Then Goto Bbb If Pinc.6 = 0 Then Goto Ppp Ttt: Portc.0 = 0 For A = 0 To B Step 1 If Pinc.5 = 0 Then Goto Xxx Wait 1 Locate 1 , 1 Lcd...
Proszę. Kod masz taki, delikatnie pisząc, rozwlekły :D Trochę poskracałem zmieniane fragmenty. Sprawa jest nieskomplikowana. Kiedy naciskasz przycisk wyboru wyjść to czeka aż puścisz przycisk bo inaczej to od razu by z tej procedury wyszedł. Czeka więc aż puścisz i potem powtórne wciśnięcie spowoduje że zmienna Exit_this dostanie wartość 1 a to jest...
A jak myślisz? Będziesz sterował przyciskiem? Czy przycisk będzie sterowany portem? Pomyśl to nie boli...Że milion projektów używa przycisków to już inna bajka...ale wiem na forum szybciej.
Może zrób tak: If Pind.2 = 0 Then 'i jest wciśnięty przycisk PIND.2 Incr Opoznienie_odczytu 'no bo przycisk ma drgania dłużej niż 237us- niech zwiększy 'to sprawdzanie powtórne do 17ms If Opoznienie_odczytu >= 70 Then 'dajmy mu na wygaszenie drgań 17ms If Temp0 = 0 Then ' i jest zezwolenie na zmianę stanu Gosub Ustawianie Temp0 = 1 ' zablokuj zezwolenie...
Kod jest już poprawiony. Ten działa w 100% Na pewno nie będzie działał brak zakończenia dwóch warunków w pętli Do -Loop oraz coś bardzo ciekawego : [syntax=basic4gl]Config Rc5 = Pind.2 If Command = 16 Then Portd.2 = 1 [/syntax] Najpierw deklarujesz jako RC5 a potem zmieniasz na nim stan ? . Coś mi się wydaje że za bardzo nie wiesz jak się do tego zabrać...
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 =...
Witam ! do dioda1 = 1 If przycisk1 = 1 and prycisk4 = 0 then dioda1 = 1 waitms 2 dioda1 = 0 waitms 20 end if loop itp. to początek resztę spróbuj sam Powodzenia życzę Stefan . GG6293398
Witam ! Chciałeś zmniejszyć liczbę to podałem: Decr odejmij Decr zmniejsza liczbę o jeden. Silnikami krokowymi nigdy nie sterowałem. Pozdrawiam. Stefan gg6293398
Dołóż do tego sterowanie dwóch przycisków które zmieniają zmienną czas w górę i w dół i po kłopocie
Witam Mam tak problem a mianowicie chodzi mi o sterowanie dwoma kanałami za pomocą jednego przycisku Mam taki program [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Portb.0 = Output Config Portb.2 = Output Config Portb.1 = Input P1 Alias Portb.0 P2 Alias Portb.2 S1 Alias Pinb.1 Reset Portb.0 Set Portb.1 Dim G As Byte Do If S1 = 0...
Robiłem tak (attiny13): POTRB.4 podciągnięty 10k rezystorem do GND, od tego kabel do microswitcha, od niego do VCC PORTB.3 - dioda led - VCC (dla testu) program: $regfile "attiny13.dat" $crystal = 4800000 Config Portb.3 = Output Config Portb.4 = Input Led Alias Portb.3 S1 Alias Portb.4 Do Debounce S1 , 0 , Pr1 , Sub Loop End Pr1: Toggle...
A może szybciej i wygodniej bedzie całe sterowanie zrobic na przekaźnikach?Jestem pewnien ze sie da to zrobić. Widziałem u mnie w firmie dzwi od komory chłodniczej sterowane własnie w ten sposób a sterowane tylko jednym przyciskiem wraz z krańcówkami. A przycisk można zastapić omawianym w pierwszym poście przekaźnikiem z odbiornika.
Jak w bascomie dokonać zmiany konfiguracji końcówek portu z wejść na wyjścia (lub odwotnie) w trakcie wykonywania się programu. Tak samo jak w początkowej konfiguracji ; - w wymaganym miejscu programu: config PORTx.y = output albo bezpośrednio edytuj rejestr: DDRx = &b???????? e marcus
napisz program bez obslugi girdera wlacz przechwytywanie w girderze wykonaj w programie operacje przechwyc ja girderem przypisz jej konkretny klawisz juz proste prawda
1.Konfiguruje się PORT 2.Podciąganie do plusa włącza się w PORT 3.Przyciski czyta się z PIN Sterować można PORT`em a sprawdza się PIN [syntax=basic4gl] Config PORT.x = Input 'nie podłaczamy driverow - port bedzie wejsciem PORT.x = 1 'sterujemy portem, podłączamy wewnętrzny rezystor Przycisk Alias PIN.x ' PIN PIN PIN PIN! [/syntax]
Możesz zrobić sobie podprogramy i w nich np. umieścić pętle, wg. mnie będzie poprawniej ale to kwestia gustu. Jeśli chodzi o przyciski to lepiej będzie jeśli końcówki uc będziesz zwierał do masy bo wtedy możesz użyć wew. rezystorów podciągających (pull-up).
Ok 24 wait-ów ćwierć sekundowych = raz na 6 sek jest sprawdzany przycisk... Nie kole w oczy?
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.
A ja mam do Ciebie takie pytanie Jak zrobiłeś te napisy na panelu i skąd masz takie przyciski ?
To znaczy że muszę wyzerować wszystkie zmienne do odtwarzania i wtedy będą zapełniane nowymi danymi nowej piosenki? A najgorsze jest to, że ten program działał właśnie w takiej postaci bezproblemowo bez dotyku a jedynie sterowany był dwoma przyciskami :)
Poczytam, zobaczę co z tego wyjdzie. Co do mostka to w moim rozwiązaniu wchodzi w rachubę coś niskonapięciowego dlatego raczej zastosuje np: DRV8833(DRV8835) albo pojedynczy HG7881C. Dodano po 3 Potrafię drobne operacje zrobić w Bascomie - kiedyś robiłem sterowanie czujnikami na mikroswitshach i to wszystko :) No to masz wszystko aby bez przeszkód...
Nawet jak dostaje gotowca to nie umie go wykorzystać.
Jesteś jak Picasso w Bascomie. Działa tak jak powinno. pytania: co to Boolean oraz dlaczego lepiej zczytywać stan przycisku zwierając do masy ?
Możesz to zrobić na funkcji Wait ale musisz inkrementować jakąś zmienną a w między czasie sprawdzać przyciski .
Chcę zrobic na tym pilocie sterowanie oświetlenia itp. Tylko mam problem ponieważ w linku poniżej http://www.elektroda.pl/rtvforum/topic21... są tylko kody 4 przycisków a ja chciałbym wykorzystac w tym pilocie Creativa również inne przyciski i prosiłbym o podanie ich kodów ! Niejestem na tyle doświadczony w tych sprawach aby sam to rozgryśc !...
Witam. 1./ Jeżeli definiujemy piny jako wejście najlepiej używać instrukcji config pinb.0=input ' przycisk pierwszy config pinb.1=input ' przycisk drugi config portd.0=input ' pin sterujący diodą LED 2./ Podłączenie przycisków do plusa zasilanie tak jak w tym kursie jest złe. przyciski powinny być podłączone do masy. Po prostu przycisk po wcisnięciu...
i zdecyduj się - używasz bascoma AVR (attiny2313) czy 8051 (at89c2051)
Jakoś nie widzę żebyś tu korzystał z przerwania od Timera... Bo nie musisz ;p mogłbyś pokazać jakiś przykład obsługi przycisku w przerwaniu timera ? Nawet jakiś URL do innego projektu. Więc chyba oczywistym jest że ten fragment kodu należy umieścić w przerwaniu od Timera.
Musisz przyjąć że pin normalnie jest wyjściem i steruje diodą. Co jakiś czas zapamiętujesz stan wyjścia, przełączasz na wejście, odczekujesz moment na ustabilizowanie się stanu na wejściu i pobierasz stan wejścia a następnie przełączasz port na wyjście i odtwarzasz jego stan z przed odczytu stanu przycisku.
1. Czy w kodzie do tej karty, aby dodać przyciski to wystarczy podać który pin jest wejściem i co program ma zrobić po wykryciu sygnału czy jeszcze coś trzeba zmienić ? 1. Ustawić piny jako wejścia. 2. Sprawdzać ich stan w głównej pętli 3. Przemyśleć sprawę wyeliminowania drgania styków 4. Zmienić stan portów sterujących. 2. Czy tak mają wyglądać wejścia...
Witam. Mam problem z napisaniem sterowania grzałką do wytrawiarki. Program ma za zadanie wyświetlać na LCD aktualną temp. i grzanie/niegrzanie płynu. Po naciśnięciu S1 wchodzę w opcje do ustawiania temperatury docelowej (S2 do góry, S3 w dół). Cały problem polega na tym, że przycisk S1 w ogóle nie reaguje (nie wchodzi do menu, wyświetla tylko sub praca)....
Może być na ATTINY2313 lub ATMEGA8/16. Język najlepiej Bascom.
Odpuść sobie BASCOM, jak już coś robiłeś w Bascomie to czas na przesiadkę na C. A jak nie to tym lepiej, nie będziesz miał złych nawyków. A tak poważnie, jak zaczynasz przygodę z mikrokontrolerami, obojętnie w Bascomie czy w C czy ASM, zacznij od najprostszych rzeczy, jak np sterowanie diodą LED, stanu przycisku. Inaczej zajedziesz się od razu i stracisz...
Saabotaz , wszystko rozumiem, tylko jak podczas normalnej pracy w pętli głównej (sprawdzanie przycisków sterujących silnikiem) wprowadzić z powrotem mikrokontroler w powerdown za pomocą INT?
Znana wyszukiwarka, 4 link od góry: http://feriar-lab.blogspot.com/2012/12/b...
W miejsce złej linii wstawiłem Przycisk Alias PINB.2 tak miałem zrobić? jeszcze proszę o podpowiedz pod które porty podłączyć przycisk i LED.
Piny wyświetlacza D0 - D3 pozostaw wolne wtedy sterowanie będzie cztero bitowe.
No masz moją wersje rozwiązania tego problemu. W symulatorze działa. Na uP nie testowałem. [syntax=basic4gl][/syntax] $regfile = "attiny13.dat" $crystal = 1000000 Dim Fp1 As Bit Dim Fp2 As Bit Config Pinb.3 = Input Config Pinb.4 = Input Config Pinb.1 = Output Config Pinb.2 = Output Set Portb.3 'podciagniecie do +5V Set Portb.4 Do If Pinb.3 = 0 And Fp1...
podciagniecie nic niedaje - oczywiscie testowalem przed napisaniem postu A<>4 i A<>0 jest dlatego ze to jest zakres w którym miesci sie wybrany program - w tym przypadku jest ich 4 ale to może sie zmienić
Jak najprościej? Wstaw licznik dziesiętny 4017. CLK podłącz do cykacza z cylindrów. RST połącz z sygnałem oznaczającym 1 cylinder. ENABLE do GND. Z licznika sygnały 0-3 podciągnij do cewek. Pamiętaj tylko że 4017 daje na wyjściu ze 2mA. Dla cyfrówki to wystarczające, ale nie wiem jak steruje się te cewki. Tu masz przykład użycia: [url=http://www.doctronics.co.uk/4017.ht...
I sama nazwa miała by taki wpływ na działanie? Aż sprawdzę ale nie jestem do tego przekonany że to wina tego, ale sprawdzę po południu. Aliasy masz dla PINx a to jest rejestr tylko do odczytu. Rejestr sterujący pull up nazywa się PORTx. Zrób set PORTx.
Że tak się zapytam, a gdzie oszczędzanie energii ??? Czy może zrobiłeś przyciski sterujące razem z podawaniem masy na uC ?
Jeśli wejście sterujące na PD.2 to przycisk, to czy ma podciąganie rezystorem? Programowego nie widzę.
Czyli nic nie zrozumiałeś z linkowanego programu. A szkoda... Zasada działania (podobnie jak dla wielu innych programów), to wykonywanie krytycznych sekcji w przerwaniach. Pętla główna może być zupełnie pusta. W programie głównym: 1. Zdefiniuj sobie 8 zmiennych (Parametr_x), które będą odpowiadały wartościom włączenia każdego z kanałów. Np. 100,47,198......
bascom jednym przyciskiem jednym przyciskiem bascom kolejne sterowanie przyciskiem bascom
renault schemat licznika scenic panasonic świecić czerwona dioda niska wydajność klimatyzacji
tester ogniw 18650 isotwin condens pompa
Parametry testera dla tranzystorów 2N6491 i 2N6488 Błąd 3.0 w sterowniku Skalar 2025 RTH - co oznacza?