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ąć)...
W stanie niskim na K2 i wysokim na K1 serwo jedzie do jednej pozycji ale w stanie niskim na K2 i K1 jeździ w te i z powrotem. Może inaczej. Sterujemy serwem B.2, wychylenie i prędkość regulowana B.3 i B.4 (ADC) Do sterowania mamy dostępne dwa wejścia B.1 i B.0 Obsługa opiera się na 1 - Jednym przycisku B.0 lub B.1, albo oba na raz (każde naciśnięcie...
Witam Buduję sobie zasilacz regulowany na moje potrzeby do zabawy elektroniką. Wymyśliłem sobie, że nastawę napięcia wyjściowego zrobię za pomocą enkodera. Na wyświetlaczu mam pokazane napięcie początkowe np.: 0,000V Czyli w kodzie będzie to zmienna String Teraz chcę każdą z tych cyfr z osobna zmienić, tzn ich wartość od 0 do 9. Chodzi mi o ustawianie...
Witam. Mam problem mianowicie potrzebuję edytować określone znaki w zmiennej string. Coś w tym stylu że jest zadeklarowana zmienna mająca 16 znaków a ja potrzebuję zmienić znaki od 8 do 16 nie ruszając znaków 1-7. w jaki sposób można tego dokonać z poziomu bascom-a. Udało mi się zrobić to wstawką w asm poprzez wstawienie danych pod odpowiednie adresy...
Witam. Od kilku dni próbuje napisać prosty,jak mi się wydawało kilka dni temu ,programik. Chodzi o to żeby zmieniać stan portu w odstępach czasowych z możliwością ich regulacji. Proszę o jakąś ,na razie drobną podpowiedż .
Czy można napisać program w ten sposób żę wartość zmiennej (string) będzie nazwą innej zmiennej np: A01 = "tekst1" A02 = "tekst2" A03 = "tekst3" B = "A01" I teraz potrzebuję wywołać np. LCD B tak żeby na wyświetlaczu wyświetliło się tekst1 Przepraszam za "zakręcenie". Nie mogę skorzystać z tablic.
Musisz mieć 2 zmienne. Jedna zmienna przechowuję informacje o temperaturze zczytanej z czujnika a druga zmienna przechowuje temperaturę zadaną. i robisz prosty warunek if zmienna1>zmienna2 then set porta.0 end if if zmienna1< zmienna2 then reset porta.0 end if ewentualnie możesz jeszcze dołączyć histerezę
Bez podania treści programu przed i po zmianie oraz podaniu, która zmienna jest naruszan to będzie "trochę" ciężko ! Jedyne co mi przychodzi do głowy to takie przypadki jak - stos programowy może włazić w obszar zmiennych przy wywołaniu podprogramu (teoretycznie powinno być to niemożliwe) - zmienna adresująca tablicę np. w pętli sięga "o jeden most...
http://obrazki.elektroda.net/7_123635472... Prawie rok temu, zainspirowany konstrukcją pana Kamila Przychodzenia http://obrazki.elektroda.net/18_12363549... http://obrazki.elektroda.net/82_12363551... Płytka sterownika oraz płytka organizacji połączeń http://obrazki.elektroda.net/62_12363543... http://obrazki.elektroda.net/80_12363591...
Witam Mam pytanie dotyczące obsługi encodera... ................. Przy zmianie kierunku pierwsza cyfra na wyświetlaczu zostaje "zamrożona" a zmianie podlega druga cyfra, znów w pętli. i tak dalej. Każda zmiana kierunku powoduje przeskok na kolejną pozycje wyświetlacza Jest to w zasadzie prosta operacja, lecz brakuje tu zasadniczego warunku –...
Czy tak jest poprawnie : [syntax=basic4gl] ' pulses zmienna word Vol = Pulses ' vol zmienna single Shift Vol , Left , 8 Vol = Vol + Counter0 Vol = Vol / Przep ' zmienna przepływówki zczutana z eeprom 250 i mozliwosć zmiany przez menu B = Vol ' b zmienna single C = B * Cena 'cena 1.36 zmiana przez menu W = B * Waga 'waga 1.36 zmiana przez menu ' wiem...
witam mam taki problem. jest zmienna x powiedzmy x=10. program działa w pętli głównej. nastepuje przerwanie z anteny gps. jest wszystko ok. po kilku przerwaniach zmienna x ma inna wartosc. jak to rozwiązać? pisze w bascomie avr. wiem ze w c jest funkcja volatile. pomóżcie bo mnie krew zalewa Proszę uzupełnić treść w niezbędne informacje/dane , bo w...
W Bascomie którego uzywam czyli Bascom AVR IDE, edytor sam zmienia nazwy zmiennych na wielkie litery, np z->Z. W przypadku wołania funkcji (w moim przykładzie T=x,y) z niezrozumiałych przeze mnie względów zmienia pierwszy argument na małą literę a drugi na wielką, niezależnie jak je użytkownik wpisze. Nie wiem czy to ma jakieś znaczenie, ale może właśnie...
Na wstępie chciałbym powiedzieć że piszę w BASCOM-ie AVR. Buduję urządzenie które ma wyświetlać wynik na wyświetlaczu 7-mio segmentowym (podyktowane warunkami środowiskowymi i widocznością). Napisałem program który działa (listing poniżej) ale dręczy mnie pytanie czy nie da się tego zrobić prościej tzn pobierać poszczególne cyfry bezpośrednio ze zmiennej...
A co jest w tym poprawnego? Dodano po 3 Może to że warunek nie będzie wykonywany przy każdym naciśnięciu przycisku? Wersja z Inc I If I > 4 Then I = 4 End If Faktycznie będzie robiła bezsensowne obliczenia, ale zauważ że każda przypadkowa zmiana zmiennej I (na przykład pod wpływem silnego impulsu elektromagnetycznego) zostanie od razu zauważona i...
To załóżmy taka sytuacje.. Obsluga przerwania Timera1 zlicza nam czas. Po okreslonym czasie,nastepuje zalaczenie portu. Jezeli licznik do zliczania czasu w WinAVR bedzie zadeklarowany jako zmienna lokalna i nastapi reset to czy licznik bedzie dalej prawidlowo zliczal?fakt ze wystapi zwłoka wynikajaca z kasacji zawartosci timera1. w bascomie juz taka...
Dzielnik przez 8 i 9 możesz zrobić na którymś timerze sprzętowym wbudowanym w procesor. A realizacja dzielnika przez 8,5 musi być programowa: Próbkujesz sygnał wejściowy i każda zmiana stanu sygnału wejściowego powoduje inkrementacje zmiennej co daję dwie inkrementacje na okres sygnału (stan wysoki i stan niski liczone osobno). A dalej pozostaje wykrycie...
W podprogramie obsługi przerwania powinno się wstawiać tylko niezbędne instrukcje, tak aby nie blokować na dłuższy czas innych przerwań. Wyświetlanie lepiej przenieść do pętli głównej lub umieścić w podprogramie. Metoda wyświetlania bez CLS jest dobra, jednak nie trzeba "kasować"wyświetlacza spacjami. Należy nadpisać dany fragment. Spacje można wyświetlić...
Może wkleję cały kod : $regfile "m32def.dat" $crystal = 8000000 Dim Zmianna As Byte Dim Porownanie As Byte Config Portc.1 = Output Config Timer0 = Timer , Prescale = 1 Config Int0 = Rising On Int0 Zero Porownanie = 255 Enable Interrupts Enable Timer0 Counter0 = 255 Glowny: Set Portd.2 Start Timer0 Do Loop End Zero: Stop Timer0 Reset...
Obejdzie się bez przesuwania i masek. Jeżeli mamy zmienną Z to wartość bitu b tej zmiennej można zmieniać odczytywać, zapisywać wysyłać do portu lub co komu się podoba poprzez Z.b . To tak jak Portb.1 itp. Odczyt bitu pierwszego to np. Wynik = Z.1 (bit zerowy to Z.0) Zapis to Z.1=1 Warunek If Z.1 = 1 Then ... i tak dalej.... Jeśli dotyczy to zmiennej...
Witajcie Jestem na etapie programowania układu zasilacza laboratoryjnego z ograniczeniem prądowym. mikrokontroler atmega16 Mój algorytm jest taki: Przerwanie co 8ms (ze względu na to że stosuje bascom i liczby zmiennoprzecinkowe nie mogę zejść niżej) W przerwaniu: - sczytane wartości napięć i prądów i porównanie ich z wartościami zadanymi -jeśli prąd...
Mam sprawdzać stan bieżący czy ilość przepełnień? To już zależy od Ciebie i od tego jak szybko chcesz puścić timer (z jakim preskalerem). Ale przy takiej precyzji wystarczy liczyć przepełnienia w procedurze obsługi przerwania. Jak wskazano wcześniej najrozsądniej jest użyć 3 zmiennych inkrementując wartość każdej z nich po przepełnieniu. Wciśnięcie...
Przeczytaj: http://avrhelp.mcselec.com/index.html Wykorzystaj opisaną tam zmienną (modyfikacja jej zawartości w przerwaniu) lub ustaw niski czas na starcie, a potem kontroluj czy Input zostało przerwane. Prawdopodobnie przy przerwaniu INPUT ustawiana jest dodatkowo zmienna ERR. Trzeba by zajrzeć w kod "tylnymi drzwiami". Dodano po 27 EDIT: Nie ma tak...
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
wymieniłem procesor i zamieniłem kolejność kodu ................ coś pomogło :) chyba zmiana kodu :) Raczej pomogła zmiana processora... Obie alternatywy kodu nie różnią się od siebie, ponadto patrz wyjaśnienia; mam jeszcze problem po przerobieniu na volty wyświetla mi np. 345 a powinno 3.45 stosuje: Pokaż w jaki sposób "przerabiasz" odczytaną wartośc...
Witam . Chciałem zrobic tester pomp opryskiwaczy . Chodzi o mierzenie wydajności pompy w litrach na minute a moje pytanie czy nie bedzie gubił impulsów podczas wykonywania przerwania . Pomiar co 1 sekundę a wydajność pomp od 40l do 260l / min Nie musisz obawiac się o gubienie impulsów z powodu wykonywania przerwań. Impulsy są zliczane przez Counter1,...
Witam, mam program (attiny2313) do obsługi termometru DS18b20 i wyświetlacza, układ posiada 3 przyciski +/M/-. Program reaguje na zwieranie przycisków do masy, a chciałbym zrobić tak by procesor reagował na przerywanie masy. Znajdzie się ktoś kto mógłby rzucić okiem na program i podpowiedzieć co trzeba zmienić?? [syntax=vbnet] $regfile = "Attiny2313.dat"...
Trochę więcej czasu niż myślałem zajęło mi przerobienie kursu FORBOT, sporo tez czasu straciłem na trawieniu płytek i ich lutowaniu, ale nieważne wszystko wyszło ok i sporo wiedzy sobie przyswoiłem, także wczoraj zacząłem czytać temat timerów http://diycenter.acid19.linuxpl.com/read... podany mi przez Tomq no i trzeba powiedzieć,...
Witam Chciałem zapytać, czy możliwa jest zmiana nazwy pliku w którym zapisują się wyniki - np co dziennie inna nazwa pliku ( np. powiązana z datą ) ? Używam PCF8583 i w sumie mógłbym brać informacje z zmiennych dnia i miesiąca lub dokonywać zmiany o 23:59:59. Używam standardowego kodu do zapisu: Sub Write_to_sd() Local Errorcode As Byte ''()...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
Witam kolegów. Potrzebuję sterownika pompki do C.O. Znalazłem program napisany w BASCOM i przerobiłem go nieco do swoich potrzeb. Działa wszystko prócz HISTEREZY. Przy powolnym narastaniu temperatury, która skacze +/- pompka włącza się i wyłącza, czyli histereza nie działa. Histerezę zrobiłem wg. porad z forum. Czy może ktoś pomóc? Oto kod: [syntax=vbnet]$regfile...
Witam, mam następujący problem z poniższym programem. Prosiłbym bardziej obeznanych kolegów o sprawdzenie, układ powinien działać tak: ustawiam temperaturę plus regulacja histerezy, gdy temperatura jest niższa układ załącza przekaźnik do czasu wyrównania temperatury, problem polega na tym że program załącza przekaźnik (grzanie) tylko na moment po czym...
Witam panowie od razu podkreślę że jeszcze uczę się bascoma więc proszę nie krzyczeć i nie usuwać tego postu do kosza Siedzę już nad tym 3 dzień i efekt mojej pracy nie najgorszy ale mam parę pytań po pewnych rzeczy nie rozumiem i nie mogę rozwiązać. Więc tak założeniem był pomiar temperatury przez ds18b20 wyświetlenie je na LCD i 4 wyświetlaczach 7...
Czy Kolega będzie może wiedział co jest nie tak od strony programistycznej ? Tzn. jeśli wyświetlam stałe wartości to jest ok, podobnie jak wyświetlam w pętli For... Next od 1 do 59. Dodałem jeszcze obsługę LCD, żeby widzieć, co się dzieje z czasem. Ale jak podepnę do tego PCF8563 i odczytuje czas z niego, a dopiero później wysyłam do SAA1064 to jest...
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
Witam Poniżej wstawiłem kawałek "kodu", który ma służyć ustawieniu parametrów alarmów, oczywiście nie jest skończony ( brakuje obsługi przycisków zmieniających wartości). Chodzi mi raczej o obsługę wyświetlania na MAX7219 - jako, że część się powtarza szukam sposobu, jak zrobić, żeby powtarzająca się cześć była wspólna. [syntax=vbnet] If Ustaw_alarm...
następna aktualizacja, mam nadzieje że to już ostatnia :) A więc, subik dorobił się obsługi poprzez pilota. Układ zrealizowałem na prostym zasilaczu + stabilizator 5V, Atmega8, PC827, BA6218, MOC3021, odbiornik IR TSOP1736. Czemu takie elementy, a nie inne. Ogólnie miał mi to ktoś zrobić, ale jak usłyszałem że mam za to zaplacić 300zł to zacząłem się...
Witam Walczę z programem w Bascomie (coraz mniej mi się on podoba) listing poniżej. Docelowo będzie to zegar na lampach nixe. Projekt bazujący na mirley, ale zmianę ustawień chcę zrobić na impulsatorze. Dlaczego funkcja Zmiana_godziny i Zmiana_minuty nie zwraca mi wartości? Edytowałem post umieszczając w tytule znacznik
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Pomysłu na teraz nie mam jak to rozwiązać, ale problem zapewne leży w tym, że kiedy przekaźnik = 1 to zmienna jest zwiększana z każdym przejściem pętli..stąd 2 potem 7 itp. Po prostu przez czas trwania stanu 1 na zmiennej przekaźnik, liczba się powiększa. Ciebie interesuje jednokrotne powiększenie. Czyli Przekaźnik = 1 i tylko raz incr zmienna. Trzeba...
A może masz czujnik DS18B20, upewnij się że jest to DS1820. Ale dziwne, najpierw termometr działał poprawnie a później przestał. Zastanawia mnie jeszcze to że (jak piszesz) czujnik reaguje na zmiany temperatury bo zmienia się zmienna T1, a nie da się odczytać temperatury. Ciekawe w czym jest problem.
Witam. Problem z histerezą polega na tym że histerezę ustalasz w liniach wykonywanych tylko raz po starcie procka, dlatego ona zawsze będzie wynosić 0+5 (zmienna przechowująca temperaturę zmierzoną po starcie programu będzie 0). zmienną histerezy musisz umieścić w pętli aby byłą aktualizowana cały czas wraz ze zmianą temperatury. Pozdrawiam
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...
Stary temat ale wyjaśnienia wymaga fragment kodo kolegi WOBI. Mianowicie czemu służy zmienna Lz? [syntax=vbnet]Lz = A[/syntax]
Można to zrobić w bardzo prosty sposób: Komenda GETRC Przeznaczenie: Określa wartość zmiany rezystancji lub pojemności. Składnia: zmienna = GETRC( port , numer ) gdzie: zmiennazmienna typu Word w której znajdzie się wynik pomiaru, portnazwa portu procesora, np.: PIND, numernumer końcówki do której podpięty został obwód RC. Schemat: pinx ----[fotorezystor]------|...
Program jest prosty do zrealizowania. Robisz sobie 2 podprogramy. W jednym wyświetlasz sobie jedną zmienna na lcd i inkrementujesz lub dekrementujesz. Podprogram powinien dzialac w petli. Drugi podprogram analogicznie a do przeskakiwania pomiędzy nimi użyj gosub.
po usunięciu drugiej linijki, czyli $lib "mcsbyte.lbx" i zmianie pierwszej z $regfile = "m16adef.dat" na $regfile = "m16def.dat" błędu nie wywala. Z helpa wynika, że : Biblioteka MCSBYTE.LIB jest zoptymalizowaną wersją, która obsługuje tylko liczby typu Byte. i zmieniając wpis na Dim A As Byte A = 255 Lcd A wtedy błędu nie wywali, ale zmienna a musi...
W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein zmienna - tu znajdzie się nasz wynik w mikrosekundach PIND - to port do jakiego się podłączymy 1 - pin portu do jakiego jesteśmy podłączeni 0 - wybieramy czy chcemy obliczać do czasu pojawienia się stanu niskiego, czyli 0 czy wysokiego czyli zapiszemy wtedy 1
Witam. Stworzyłem na mikrokontrolerze ATMEGA8 zegar RTC. Do procesora został podpięty kwarc zegarkowy - timer2 pracuje w trybie asynchronicznym. Program powstał z wykorzystaniem instrukcji BASCOMOWEJ Config Clock = soft: Kod: "Jeśli w programie użyto instrukcji CONFIG CLOCK, kompilator automatycznie generuje specjalne zmienne nazwane: _sec , _min ,...
Jeżeli to ma nic nie robić tylko generować impulsy, to po prostu może użyj Waitms. A jeżeli nie, zmieniaj wartość porównania w zależności od dodatkowej zmiennej. Np: $regfile = "m16def.dat" $crystal = 16000000 Dim A As Word 'Zmienna zwiększana i porównywana. Dim B As Byte 'Zmienna decydująca z jaką wartością będzie porównywana zmienna A. Config...
Czy liczba jest zawsze siedmiocyfrowa? Nie mówie że to jedyny sposób ale podam jeden z możliwych. Deklarujesz zmienną tekstową siedmioznakową. Taka zmienna ma w rzeczywistości osiem bajtów. Nie chcesz wysyłać ósmego NULL. No i OK :D Na te zmienną nakładasz bufor siedmiu bajtów. Kiedy zmienna Dword każesz zamienić Bascomowi na string to on zapisze komórki...
[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Przerwanie0 Dim Tmp As Word Tmp = 0 Dim Ptimer1 As Word Ptimer1 = 0 Do If Klawisz = 0 Then If Ptimer1 = 0 Then Ptimer1 = 100 End If If Ptimer1 < 95 And Klawisz = 0 Then Tmp = 1 End If End If If Tmp = 1 And Ptimer1 < 85 And Ptimer1 > 70 Then If Klawisz = 1 Then...
' Funkcja musi być zadeklarowana przed jej pierwszym użyciem ' ponieważ kompilator musi wiedzieć jaki jest rozmiar danych ' przesyłanych do funkcji i jaki jest jej typ wyniku ' Funkcja musi mieć zdefiniowany typ wyniku, tu Integer Declare Function Test(byval Liczba As Integer , Tekst As String) As Integer ' określenie byval przed nazwą oznacza,...
zmienna bascom bascom zmienna zmiana zmienna
osadzanie puszek elektrycznych przełącznik kolumna kierownica wymiana grzałki pralka
domofon bateria samsung ecobabel
Rozrusznik nie obraca silnika w Porsche 911 po wypadku Czerwony trójkąt z wykrzyknikiem w Samsung Galaxy Ace 2 - przyczyny i rozwiązania