Long = GetAdc(0) Single = Long * 0.01955 String = Fusing(Single, "##.##") LCD String; "V"
Witam. Spróbuj nie czyścić ekranu starego wyniku poprzez CLS, ale zrób np. tak: ..... If Generator = 10 Then Wynik = Generator - Czujnik Generator = 0 Czujnik = 0 Locate 1,1 Lcd "WYNICZEK= ";" " 'tu jest 6 spacji między 2 i 3 cydzysłowiem Locate 1,11 Lcd Wynik End If Loop ..... Na dobrą sprawę ciąg "WYNICZEK= " jest stały i nie ma sensu go cały czas...
Akurat RS232 to coś nowego dla mnie :) "Clearserialinx" - szukam ale nic takiego nie ma. Nawet google nie wyświetla wyników.
Dokładnie tak jak pisze kolega xury. Być może wywołujesz jakiś podprogram, który wywołuje inny, który znowu wywołuje ten pierwszy albo gdzieś jest wyskok z podprogramu przez jakieś Goto. Jeśli używasz funkcji lub procedury z przekazaniem parametrów i nie zmieniłeś wielkości stosu to na 99% będzie to wina jego zbyt małej wielkości.
wyświetlanie wyniku zrób na przerwaniach , niezależnie co będzie robił procek wynik będzie musiał wyświetlic co określony czas
Witam Nie taki sposób programowania. Spróbuj na początek używać jednej pętli głównej programu Do..Loop Po -> Praca: nie masz Return, dodaj i program wróci do pętli, będziesz mógł sprawdzać. pozdrawiam
(at)ElektrodaBot Napisz program w Bascom dla Atmega8, który będzie liczył pojedyncze impulsy w ciągu 24 godzin z zapamiętaniem najkrótszego odstępu między tymi impulsami, wynik wyświetlał na wyświetlaczu 2x16 opartym na HD44780.
Siemka! Musisz wziąść pod uwagę fakt, iż zmienna single przechowuje wartości zmiennoprzecinkowe ze skończoną dokładnością i to może być zauważalne przy niektórych operacjach na tego typu zmiennych. Poszukaj w helpie od Bascoma i poczytaj o kodowaniu liczb zmiennoprzecinkowych i wszystko Ci się wyjaśni:) Pozdrawiam!! Widzę że dałeś kod.:) Mi się wydaje...
Jreżeli to mają być tylko komunikaty o jakich piszesz to najprościej wykorzystać transmisję RC5 Procek nadawczy robisz tabele z komunikatami i zbierasz dane Wartości przypisujesz do funkcji command i wysyłasz w odboirniku też masz tabele i odczytujesz kod z tablicy zostaje wyświetlić to na lcd Transmisja na taką odległość powinna zadziałać Kilka diod...
Moim zdaniem jeżeli jeszcze nie zacząłeś swojej nauki to nie myśl o Bascomie tylko od razu ucz się C. uC już chyba widzę wybrałeś, więc nie będę marudził, żebyś nie brał AVR :P Jak odbierać dane z czujnika ? Ano to już zależy. Niektóre się podpina pod przetwornik analogowo/cyfrowy i w programie przelicza wartość z przetwornika, niektóre mają już to...
Skoro coś się powtarza to zapisz to jako procedurę a potem ją tylko wywołuj. Poczytaj DECLARE SUB i DECLARE FUNCTION Funkcja przy okazji jeszcze zwraca wynik.
Wynik = Fusing(wartosc , "#.#") If Wartosc >= 0 Then Wynik = " " + Wynik End If
ale to jest procedura do DS18S20, który różni się nieco formatem podawanego wyniku od DS18B20 ;)
OmicronNs program jest ok tylko mi chodzi o to jak zrobić tak : na wejściu ADC jest napięcie 4.90v to na LCD ma wyświetlać 0.00 jeśli na wejściu ADC będzie napięcie 4.50v to na LCD ma wyświetlać 0.50
A może by tak skrócić te endify i zrobić Select Case Odczyt i dalej Case wynik itp. bo tyle endifów to aż razi ;)
moim zdaniem błąd tkwi w przypisywaniu zmiennym typu byte wartości zmiennych typu string,możliwe że dlatego wynik nie jest poprawny
Mama taki temat - potrzebuję przeliczyć dane z systemu hex na zmiennoprzecinkowy float (IEEE745). dane wejściowe hex np: 43 76 18 BA Po konwersji - wynik float: 246.1 Czy ktoś spotkał się z tym jak dokonać takiej konwersji w bascom. Przy odbiorze danych w PC i aplikacji to już coś innego tu nie ma takiego problemu. Pytanie również czy taka konwersja...
Naskrobałem coś takiego: $sim $regfile = "attiny2313.dat" $crystal = 1000000 Dim A As Integer A = 4 Print A Print Bcd(a) a = Makebcd(a) Print A End W wyniku symulacji dostaję liczby: 4 04 4 Przecież 4 to w kodzie bcd 0100 Dlaczego taki wynik nie wyświetla się w symulatorze?
Ponieważ Fusing zwraca zmienną tekstową więc deklaracja zmiennych stanowiących wynik tej instrukcji powinna być następująca: Dim V As String * 6 Dim A As String * 6 Dim P As String * 6 Dim R As String * 6 Dim Vod As String * 6 Zmienne są wystarczająco długie dla zakresu 99.9. Jeśli wartość przekracza 100 powinno być String * 7
Nie wiem ale albo ja coś źle pisze ale dalej mi wyświetla wynik z 9-cioma miejscami po przecinku .
Podaj schemat bo może coś nie tak z podłączeniem. Jeszcze kilka spraw. Podciągnij programowo INT0 Robisz dziesięć pomiarów, a wyświetlasz tylko jeden. Możesz z tym coś zrobić np. zwiększyć czas "łapania" lub cześciej wyświetlać. Zrezygnuj z array, bo mi w symulatorze coś nie chciało to działać. Zamiast tego użyj drugiej zmiennej typu byte. Proponowałbym...
Co do "0. 02542412280701754385" to w ten sposób "kalibruję" dzielnik napięcia aby pokazywał prawidłowy wynik. Jak podłączę lcd to funkcja fushing poprawnie działa i wyświetla odpowiednio sformatowany wynik pomiaru. Niestety teraz nie mam dostępu do układu. Jak tylko dopadnę się do płytki będę testował.
Witam. Chciałbym nauczyć się obsługi ADC w Bascom. W tym celu chciałbym zrobić prosty termometr, a raczej wskaźnik temperatury. Wyświetlanie wyniku za pomocą linijki led stworzonej z diod: czerwonej, żółtej, i dwie zielone. Mam tylko ten termistor do użycia w projekcie. Czytałem o obsłudze ADC w Bascom ale nie mogę zrozumieć jak przetworzyć otrzymaną...
Dzięki za cenne uwagi. Teraz wiem czego szukać. Generalnie zmiana kontrastu pokaże że dolna linia nie działa. Szpilki na zasilaniu przy LCD mogą się pojawić, nie dałem dodatkowego kondensatora. Inicjalizacja wyświetlacza co pewien okres czasu na pewno pomoże. Poprawki wykonam w Piątek lub Sobotę i się odezwę za tydzień. Kontrast jest regulowany dla...
janbernat --> Wystarczy przerwania wyłączać na czas przesyłania poszczególnych bitów w odpowiednich pętlach, które wysyłają całość. Pewnie, że to też co nieco zabiera ale o niebo krócej niż gdy wyłączać przerwania na całe te czasy które tu przytoczyłeś. Druga sprawa to oczywiście jak się wykorzystuje w ogóle przerwania, bo jeśli w tym sposobie o którym...
Zwarcia niema bo uart świetnie działa w jedną stronę. Niestety nie mam możliwości podłączenia lcd do drugiego procka. Ten układ sprawia wrażenie jakby podczas wysyłania instrukcja "print" umieszczała w buforze zmienną o wartości 1(jak w programie) i kolejna po niej funkcja "input" wyciąga tą zmienną bo najwidoczniej sygnał z drugiego procka nie zdążył...
Mam takie pytanie o troszkę inny kod a mianowicie zrobiłem odziwo działający sterownik PWM potencjometrem i wyświetlam to na led 7 seg , chodzi oto ze na wyświetlaczu wynik pokazuje 0-1024 a chce wartość napięcia ADC(0) . Co zrobiłem źle ? Przekonvertuj wartośc 'I' (odczyt ADC) na proprcjonalną wartośc napięcia. Zakładajac że napiecie referencyjne...
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
Cześć. Mamy 2 guziki, OK i NOK. Program ma zaliczać ilość naciśnięć i podawać wynik. Wszystko było by proste gdyby nie to, że wynik ma być wyswietlany w %. Czy będzie to jeden 3 cyfrowy wyświetlacz (OK) , czy dwa (OK/NOK) - jest mi obojętne, bo na razie zupełnie nie wiem jak podejść do tematu. Pozdrawiam.
http://obrazki.elektroda.pl/8609137500_1... Witam, przedstawiony układ umożliwia: -pomiar zarówno dodatnich, jak i ujemnych temperatur, -wybór jednej z dwóch częstotliwości powtarzania pomiaru, -pamiętanie najniższej temperatury (wyświetlanie po wciśnięciu przycisku, kasowanie po resecie uC), -prezentację wyniku na 4-cyfrowym wyświetlaczu...
Możesz użyć polecenia Format http://wiki.mcselec.com/bavr/FORMAT Tylko czy nie lepiej zrezygnować z Single [syntax=basic4gl]' Wynik z ADC (przykładowo 740) * 196 zamiast 0,0196 Dim Wynik As Word Dim Help as Long Dim String_ as String * 5 Help = Odczyt_z_ADC * 196 Wynik = Help /1000 String_ = Str(wynik) String_ = Format(string_, "0.0") '740 * 196 = 145040...
po pierwsze, program nie uśrednia wyników - usuń to w=getadc(0) po pętli for, a typ zmiennej w zmień na long to co Ci wyświetla to wartość pomiaru z adc * 0.0049 :D
Kurcze nie wiem jak to rozwiązać. Najwięcej trudności mam z tym wyświetlaniem i odświeżaniem wyniku na LCD. Potrzebował bym pomocy jak zrobić, aby akcje przycisku były zczytywane co 4ms. Następnie pomiar temperatury był zczytywany co 1s, i wyświetlany na LCD, odświeżanym co 1s. Pomiar napięcia byłby zczytywany z przetwornika co 100ms i wynik wyświetlany...
Witam! Mam tu taki kawałek kodu: Dim Tick_time As Single Dim Length As Single Dim Mps As Integer Dim Fps As Integer Dim Fff As Single Dim Tick_count As Integer Dim Czas As Single Tick_time = 0.000096 Czas = Tick_count * Tick_time Mps = Length / Czas Fff = Length / Czas Fff = Fff * 10 Fps = Fff / 3 Tick_count = 0 Cls Lcd Mps Lcd " m/s " Lowerline...
Witam! Przypuszczam, że masz źle ustawione tzw. fuse bity. Domyślnie ATtiny2313 pracuje z wewnętrznym generatorem 8MHz i prescalerem 8, co daje w wyniku 1 MHz. W programie jest 4 MHz, można zmienić w programie na $Crystal=1000000 i zobaczyć co wtedy się bedzie działo. Dodatkowo, przy pomocy potencjometru wyregulować kontrast wyswietlacza. Powodzenia...
[syntax=vbnet][/syntax]Witam; Małe pytanko odnośnie wyświetlania wyników - dokładniej chodzi o temperaturę ujemną [syntax=vbnet]1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &H55 1wverify Dsid1(1) If Err = 0 Then 1wwrite &HBE T = 1wread(2) T = T * 10 T = T / 16 S = Str(t) S = Format(s , " 0.0") Lcdgoxy 1 , 3 Lcdstr S , 2 , 0 Lcdupdate[/syntax]...
Witam. Robię miernik do zasilacza z electronic-lab i chciałbym dodać wyświetlanie mAh do swojego miernika ale nie mam pomysłu jak to zrobić. Może macie jakieś pomysły? Też mam problem z napięciem i prądem i wpadłem na pomysł żeby robić np 5 pomiarów i wyświetlać wynik uśredniony, sprawdzi się? też się tak zastanawiam czy opłaca się dawać pwm do regulacji...
Wynik po przecinku skacze, bo DS18B20 mierzy temperaturę z rozdzielczością do 1/16 st. C. Tak więc nie ma najmniejszego sensu wyświetlać temperaturę z dokładnością do 2 miejsc po przecinku.
Witam Może dla większości proste pytanie, ja niestety nie umiem sobie z tym poradzić. W zmiennej single mam wartość z kilkoma miejscami po przecinku i teraz mam pytanie: czy jest możliwość odcięcia zbędnych cyfr po przecinku tak, aby w/w zmiennej fizycznie pozostała pożądana wartość? np: wartość w zmiennej 1.2345 potrzebna 1.2 lub 1.23 Dodam tutaj,...
No nie schodzi :P Dlatego jeśli Sekundy to bajt ..to odjęcie od zera jedynki powoduje że że wynikiem jest 255 [syntax=basic4gl] Decr Sekundy If Sekundy = 255 Then Sekundy = 59 Decr Minuty End If[/syntax]
... Ale niestety jak na razie pisze tylko tak jak potrafie :( No tak ... hmmm ... każdy orze , jak moż... umie ;) Męcze się z tym co kolega tutaj podał, teraz odświerzanie to raz na sekunde :( Dopisałem to do podprogramu "save" aby na bieżąco, od razu po obliczeniu uaktualniał dany słupek, tzn Nie wiem czy zauważyłeś , ale podany przeze mnie "podprogram"...
Próbowałem. Dodawałem odczyt do programu głównego za getrc5, a wyświetlanie temp w Sub Wys_czas na końcu za Lowerline. Efektem tego było wyświetlanie d dolnej linii na wyświetlaczu: Wynik: 0.0 C Us. Czyli coś namieszałem, bo powinno być najpierw w dolnej linii: Ustaw godzinę, po ustawieniu dopiero temperatura.
To może się okazać bardziej skomplikowane, niż się wydaje. Wszystko zależy od tego, jaki jest algorytm wyświetlania w tym częstościomierzu. W każdym razie, w najprostszym przypadku można próbować coś w tym rodzaju: 1. utworzyć tablicę na 7 cyfr wyświetlacza. 2. ustawić timer na generowanie przerwań z prędkością > 100 razy na sekundę. Lepiej nawet rzędu...
Z tego co wiem, mach jedynie podłączone enkodery używa do pomiaru i wyświetlania wyniku, nie działa to jak sprzężenie zwrotne na bieżąco nadrabiając zgubione kroki. Chyba, że źle słyszałem. Wiesz kolego jak podłączyć to w machu, żeby działało jak sprzężenie?
Różnica jest oczywista. Bez CLS, za kolejnym razem dopisuje wynik dalej. To nie jest przyczyna problemu o którym pisałem. Natomiast Fusing powoduje właściwe wyświetlanie, co jest bardzo cenne. PL
jak zmienię na tajmer 1 działa tak samo. Jeśli podstawię pod zmienną licznik ręcznie jakąś wartość wtedy wyświetla ją poprawnie ale jak próbuję zrobić pętlę for next lub do loop aby same cyferki biegły w górkę to nie działa, wyświetla tylko 001 i na tym koniec.... :(
Wszystko jest nie tak. Typy i atrybuty danych, algorytm. Nie zamieniasz wartości cyfr na obraz segmentów. Niepotrzebnie wołasz sprintf() kiedy nie masz nowych wyników. Wyświetlasz w pętli z amiast w przerwaniu timera. Przeprogramowujesz wejście na wejście (ono już jest wejściem). Ustawiasz stany wyjść po ustawieniu kierunku (błąd).
Niestety nie znam C , ale może logicznie się da. Pisałem oscyloskop który miał na ekranie zarówno pisać linię i napięcie obok, oraz skalę, problemem było gdy w instrukcji "For next" było wszystko, wywaliłem za tę pętelkę wszystko prócz zapisania tablicy wynikami i Lcd linią. Może też zrób coś jak "For next" dla wyświetlania samego wyniku reszta po za...
... Jak ktoś lubi Basic'a, to może sobie przerobić. Procedura przekształca zwykłego int'a w kod BCD, oczywiście zakres liczb jest od 0 do 9999. W Basicu z Bascoma , jest do tego gotowa funkcja x=Makebcd(x) , choć operuje tylko na Byte(unsigned char). Piotrek
Znalazłem jeszcze taki kod: http://www.elektroda.pl/rtvforum/viewtop... Uproszczony do maksimum. I = 1wread(2) S = I / 16 T = Fusing(s , "##.#") Locate 1 , 1 Lcd "Temp:" ; T ; Chr(0) ; "C" Program pobiera wynik, dzieli przez 16 i wyświetla na LCD.. Tylko czemu dzieli akurat...
W Twoim pomyśle sam mikrokontroler pełni drugorzędną rolę. Po pierwsze należy przyjąć kilka założeń: 1. W jak szerokim pasmie miałby działać Twój układ 2. W jaki sposób miał by wykrywać obecność sygnału radiowego 3. Czy konieczne było by określenie parametrów tego sygnału - częstotliwość, natężenie pola, rodzaj modulacji Z tego, co wiem, nie produkuje...
Witam. Mam problem z przerwaniami w atmega8. Wcześniej nie potrzebowałem przerwań więc to zagadnienie mnie nie interesowało. Potrzebuję wywołać przerwanie zewnętrzne int0 które uruchomi timer1, a ten zacznie odmierzać czas. Proszę o pomoc. Pierwsza zasadnicza uwaga to nie zauważyłem w programie konfiguracji interruptu0- coś np. takiego: config INT0=...
Zastanawiał się ktoś nad tym że multipleksowanie startuje od razu a wyniku konwersji jeszcze nie ma? Niedawno pisałem taki termometr i żeby w pierwszej sekundzie do momentu aż zmienne otrzymają swoje wartości termometr miał coś do wyświetlenia to wyświetla "Init" :D Mogłem wyświetlać cztery óswmki jako test segmentów wyświetlacza, ale to brzydko wyglądało...
Zdefiniuj zmienną Temp jako Word. Jak ci ma wyświetlić 600 jesli zmiena Byte może przyjąc max wartość 255. Właśnie powyżej tej wartości będą ci sie wyświetlać dziwne rzeczy. No to może wytłumaczę jak to zrobić na zmiennej typu Byte według wyżej wspomnianej ideii. $crystal = 4000000 $regfile "attiny2313.dat" Dim Pomiar As Single Dim Temp As...
Witam. Zadeklarowałem zmienną x typu Single. Przypisuję do zmiennej wartość np. 2 czyli: x = 2 Następnie zmienną x podnoszę do kwadratu. x = x^2 i wartość w zmiennej wynosi 0. Natomiast jak zrobię x = x * x Wynik wyświetla się poprawnie: nowa wartość to 4. Czym jest to spowodowane? Czy to błąd kompilatora?
Witam ! Probuje napisac w Bascomie program ktory prezentuje odczyt temeperatury z DS18b20 na 7 segmentowym wyswietlaczu, a dokladniej na 4. Temperatura ma byc wyswietlana na pierwszych 2 a na 3 i 4 ma byc znak stopni Celcjusza, z tym sie juz uporalem. Nie umiem natomiast zaprezentowac samego wyniku, na wyswieltaczu 1 i 2 jest caly czas 00. Oto listing...
https://obrazki.elektroda.pl/7406837400_... Chyba siła wyższa musi w tym maczać palce, bo przymierzałem się od kilku lat(!) z publikacją tego projektu i ciągle albo brak czasu albo skleroza... a tu trafił się konkurs no to jak nie skorzystać :) Urządzenie o, którym mowa w temacie to bardzo prosty i niezwykle przydatny (przynajmniej...
http://obrazki.elektroda.pl/5724768100_1... Witam, Aktualnie buduję/remontuje niewielką tokarkę, do zastosowań domowych. Jej mechanika jest dość prymitywna, co za tym idzie nie posiada żadnych podziałek, ani automatycznych posuwów. Wobec tego chciał bym zaopatrzyć ją w liniał, który będzie pokazywał pozycję imaka na wyświetlaczu LCD....
Witam. Ostatnio wykonałem sobie zasilacz w którym też mierze spadek napięcia na rezystorze 0,1Ω tyle że mam jeszcze podłączony do tego wzmacniacz operacyjny. Wynik pomiaru tez strasznie mi skakał ale zrobiłem sobie wyświetlanie wyniku z 50 pomiarów. Dzięki czemu wynik nie skacze i jest stabilny. Oto kod jak to zrobić: Odczyt = 0 For Krok = 1 To...
Zrób taki test zatem: 1. usuń komendę Disable Interrupts przed 'wyślij komendę skip rom i convert t: to te komendy = tu jest na nie dedykowane miejsce i sprawdź czy dalej miga. 2. przywróć instrukcję usuniętą w punkcie pierwszym i usuń tę samą instrukcję przed 'tu dokonaj odczytu temperatury z termometru i daj znać czy dalej miga. Dodano po 1 Oczywiście...
Sprawa ma się tak: Sterowanie zrobię na mikroprocesorze AVR, program w Bascomie. Odnośnie programu będe miał jeszcze dużo pytań, ale to później. Narazie zacząłem pisać program do wyświetlania czasu. Nie wiem jednak czy cały program zmieści się do jednego mikrokontrolera. Pozatym Bascom demo ma ograniczenie do 4kB kodu. Zastanawiam się czy licznik wyników...
Program to komputer pokładowy w samochodzie. Wszystko wyświetlane na LCD od siemensa, program do wyświetlania napisany przez Ciebie :) I teraz tak: program do wyświetlania wyświetla to, co ma w zmiennej Text (as string * 13). W kilku podprogramach obliczam przejechaną drogę, spalanie, itd. Jak obliczam spalanie, to mam np. wynik 115 (co oznacza 11,5...
Witam, Zamierzam zrobić sobie zasilacz laboratoryjny i wpadłem na pomysł, żeby zamiast miernika na ICL7107 dać jakiś mikrokontroler. Szukałem, ale nie znalazłem takiego jaki by mi pasował. Musi być na wyświetlaczu LED 4 albo 3 cyfrowym i ma być na jakimś małym procesorze np. Attiny26 bo on ma te przetworniki ADC. I jeszcze najlepiej żeby był w BASCOM'ie...
Witam, Czy istnieje możliwość z - poziomu języka Bascom - sterowania wybranym polem/polami wyświetlacza (2*20)? Chodzi o to, że program się wykona, wyświetli wyniki na wyświetlaczu a ja chciałbym np. naprzemiennie wyświetlać sekwencję znaków w jednym miejscu nie tracąc z wyświetlacza wyników z poprzedniej operacji... Proszę w swoich wypowiedziach używać...
Najwięcej czasu procka zajmuje komenda LCD W tym przykładzie w pętli jest wyświetlanie danych w każdym przejściu pętli for - next ale jest to zrobione tylko do celów symulacji. Normalnie "wynik" wysyłany jest jako zmienna ustawiająca counter1 timera. W docelowym programie te zmienne wynikowe nie są wyświetlane, służą do czego innego. W zamieszczonym...
Jest rok 2015 teraz robi się to tak: DS18B20 moze być zasilany z linii transmisji bądź trzecim pinem. Jeśli masz podłaczone 5V na stałe podczas pracy programu czyli do DS`a idą trzy przewody to DS może dla Ciebie przygotować temperature i poczekać spokojnie aż ją odczytasz. Czyli każesz mu przygotować temperaturę i wracasz po nią za sekundę. Kiedy wracasz...
Dziwne wartości wyświetla. -2950.2 Reset T.15 Lub T = T + 32767 T = T * -1 Ta sam wynik -2950.2 Locate 4 , 1 LCD T ; " " If T.15 = 0 Then 'Ciepło + temperatury Locate 1 , 1 Lcd "T:" ; T ; "," ; Ti ; "C " End If If T.15 = 1 Then 'Zimno - temperatury T = T + 32767 T = T * -1 Locate 1 , 1 'Lcd "T:"...
Akurat też buduje termometr na ds18b20 tylko że w Bascomie, ja też miałem problem z ujemną temperatura. Co do ujemnej temperatury trzeba do obliczeń zamienić ujemną liczbę na dodatnią bo ds podaje np . dla 0 stopni zwraca wartość 0 co mnoży się dalej * 0,0625 daje 0 ale dalej dla ujemnych daje wartość -1 , -2 , -3 itd. Trzeba otrzymany wynik zamienić...
Co z tego, że są "w stanie 1"? No zgadza się, że przyciski są tylko tymczasowo, ale one mogą załączyć podczas jednego naciśnięcia przerwanie nawet kilkaset razy. W dodatku w przerwaniu masz operację mnożenia na zmiennej SINGLE co nie jest dobrym rozwiązaniem. Jeszcze raz sugeruję by wywalić LCD z pętli. Najlepiej ją zostawić pustą. Wynik wyświetlać...
Witam Sprawa generalnie dość prosta a tym bardziej że masz zakres od 0 do 100 stopni Celsjusza z rozdzielczością 1 st. W pierwszej kolejności należy zasilić czujnik napieciem np. 5V - tym samym co procesor, Podłączyć woltomierz na zakres 2V i mierzyć temperaturę. Sposób prezentacji wyniku w tym wypadku jest chyba znany i nie trzeba go opisywać. Następnie...
Witam Panowie Dzięki za zainteresowanie i poświęcenie czasu . Dzięki użyciu FLAGI "B" program w pętli głównej nie marnuje czasu na LCD i wyświetlanie wyniku zmiennej A . Nie najlepszy to przykład dla przedstawienia konceptu stosowania flag. Poniżej masz trochę zmodyfikowany twój przykład reagujący wyświetleniem wyniku V z pomiaru ADC tylko w przypadku...
Witam. Znalazłem stronkę gdzie jest podana obsługa tego lcd w bascomie: http://evertdekker.com/Joomla/index.php?... Wszystko ładnie działa ale mam z nowu problem. Wykonując jakąś pętlę chciałbym wyświetlać jej wynik, tylko jak to zrobić biorąc przykład z podanej strony? Przykład: a=a+1 (jak zapisać w...
Niestety nie posiadam takowego. W zasadzie wszystko robiłem "z ręki" bez schematu. Jedynie płytka w eagle (atmega32 smd). Program jest w bascomie ale mało komentarzy, także podejrzewam, że trudno Ci będzie go zrozumieć. Najpierw załatw sobie czujnik, podłącz i spróbuj odczytać. Dopiero jak będziesz to wiedział, bierz się za wyświetlanie wyników. ps...
... przy pierwszym pomiarze rzeczywiście nie wyświetlisz, a później w chwili wyświetlania będą pokazywane wyniki z poprzedniego pomiaru. Druga sprawa: czemu chcesz mierzyć aż przez sekundę? Czy musisz mierzyć czas wszystkich 50 okresów? Może wystarczy zmierzyć tylko kilka i wynik uśrednić?
Witam wspólnotę chciałbym zaznaczyć że z wykształcenia jestem mechanikiem, a z programowaniem nie miałem wcześniej styczności. Przeczytałem książeczkę która mowiła o programowaniu w jezyku bascom, i stworzyłem taki o to kod programu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 'licznik do odmierzania...
Witam wszystkich,Panowie mam do Was takie pytanie, walczę od jakiegoś czasu z transmisją między dwoma atmegami8,jedna atmega mierzy temperaturę na piecu Co i wyświetla ją na wyświetlaczu lcd ,druga atmege też z wyświetlaczem mam po drugiej stronie ściany, i chce wynik temperatury z tej w kotłowni przesłać za pomocą UART-u do tej drugiej,używam polecenia...
jeżeli chcesz mieć przecinek zawsze w tym samym miejscu to niestety musisz przed wyswietleniem sprawdzić wartość (długośc) wyniku i odpowiednio zmienić współrzędne wyświetlania, inaczej chyba sie nie da. czekanie 16 sekund wynika pewnie z tego, że procesor ma nastawione wolniejsze taktowanie niż przypuszcz compilator, sprawdż ustawinia Fuse bitów na...
Ja traktuję liczbę stałoprzecinkową jako liczbę całkowitą gdzie sam ustalam w którym miejscu ma być przecinek ale tylko gdy przychodzi do wyświetlania. Działam na C dlatego taki przykład dam:[syntax=c]int zmienna; zmienna = 945 + 57; //np. 9,45 + 0,57 lub 94,5 + 5,7 zmienna = 2458023; //np. 24,58023 lub 2,458023 // zależny jak liczbę tą potraktujesz...
Problem polega na tym, że odczytujesz wartość ADC z uC zamiast z DS18xxx. Brakuje ci obsługi DS18B20. Poniżej fragment kodu działającego u mnie. [syntax=vbnet] Config 1wire = Portb.0 '0,1,2 NOP 3,4,5,6,7 works good ON MY Equipment Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms...
niewiem skąd wziaść jakiś schemat ukłądu który sterowałby tą tablicą tzn. wyświetlał TYLKO wynik np meczu koszykówki i żeby za pomocą przyzisku lub pilota można było zmieniac wyświetlaną punktacje :( To trzeba sobie zaprojektować, w końcu praca dyplomowa ma pokazać tego typu zdolności. W sumie do sterowania logiką wystarczy wziać jakiś procek atmela...
no nareszcie mam troche czasu, sory że się nie odzywałem ale miałem inne zajęcie do rzeczy mam dwie wersje w bascomie, jedna całkowicie w bascomie a druga oblicza dft w assemblerze pierwsza działa tak sobie chociaż nie wiem dlaczego słupki podskakują dość chaotycznie ta w assemblerze to wcale nie działa albo się zawiesza albo wynikami są zera tak w...
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...
Witam , projektuje sobie stacje pogodową która mierzy temperaturę i ciśnienie z jednego czujnika (MS5803). Ma on dwie możliwości sterowania po i2c oraz SPI . Ja chcę odczytywać z niego dane po i2c i tu mam pytanie jak się zabrać za to ? Prosiłbym kogoś o zaglądniecie do DS i naprowadzenie mnie czy dobrze kombinuje z odczytem po i2c. Napisałem taki program...
Witam PCF8583 zwraca wynik w kodzie BCD. Musisz zamienić ten kod na kod dziesiętny i dopiero wyświetlać dane. To samo tyczy się danych które chcesz wysłać do PCF. Najpierw trzeba przekodować je na kod BCD i dopiero do niego wysłać. To tak po krótce :) Pozdrawiam
Piszę program i muszę wkorzystać jeden przycisk,który bedzie działać jak przerzutnik D służączy do wyboru jednego z dwóch algorytmów. O tak : If S1=0 Then Algorytm 1 sterowania wyników na LCD If S1=0 Then Algorytm 2 sterowania wyników na LCD i tak w kółko :D Nie wiem jak sprytnie napisać program by mieć za pomocą jednego przycisku taki wybór. W bascomie...
Witak chciałem skorzystać z pamięci 24C32N umieszczonej ns ds3231 i nie chce mi działać Napisałem prosty programik i wyświetla mi cały czas 255 skanowałem I2C i wyszłomi że adres &HAE to adres tej pamięci $regfile = "m328pdef.dat" $crystal = 16000000 Config Scl = Portc.5 Config Sda = Portc.4 Config Twi =400000 I2cinit $lib "glcdSH1106-I2C.lib"...
If K > 5 Then Sing = Sing * 1.25 - filtr górno przepustowy (analogowy) coś zamocno tłumił i musiałem to wzmocnić programowo bo płytka była juz dość mocno pogmatwanai niebyło miejśca na przerubkę. poprostu wzmacnia górną transformate. Sing = Sing / 0.775 -to niepamiętam po co pewnie żeby mi się ni przesterował Sing = Log10(sing) Sing = 20 * Sing -...
Chciałbym poradzić się Kolegów w sprawie takiego pomiaru potrzebuje zmierzyć napięcie zmienne o f=60-65Hz przewidywane napięcie mierzone to od ok 50mv do max 1v.Czy dobrym pomysłem jest wyprostowanie i wyfiltrowanie i następnie mierzenie ? czy może mierzyć bezpośrednio zmienne ? do jakiego poziomu ew. wzmocnić napięciowo ? jaki procesor użyć ? czy wystarczy...
Mam pytanie odnośnie wyświetlania wyniku na wyświetlaczach led temperatury z czujnika DS18b20 odebranej z RMF12. Ramkę ładuję do bufora i wyświetlam na lcd; [syntax=c]lcd_locate(0,0); lcd_char(test[0]); lcd_str("-"); lcd_char(test[1]); lcd_str("-"); lcd_char(test[2]); lcd_str("-"); lcd_char(test[3]);[/syntax] Następnie chcę wysłać te dane do wyświtalacza...
Tak wygląda odbiór w dwóch różnych terminalach, 1 to Bascom a 2 to przykładowy dorzucony do komponentu comport, widać na nich że nie ma żadnego problemu z transmisją w obie strony, po wysłaniu do uC "1" kontroler odpowiada zmierzoną temperaturą. Dlatego od początku mówiłem że problem jest z prezentacją odebranego wyniku w aplikacji, gdybym każdy odebrany...
Używam normalnej biblioteki bascom'a , ponadto problem został już rozwiązany. Chodziło o to że oscyloskop był wywoływany "goto (Sub)" , jak go wywoływałem z przycisku to były ten błąd , jak teraz jest od razu w podprogramie bez potrzeby naciskania przycisku to działa... a teraz mam jeszcze gorszy problem. Mianowicie nie wiem jak pogodzić częstotliwość...
Sądzę po wszystkich wypowiedziach, że problem tkwi nie w nieprawidłowym, czy źle działajacym programie, a w jego organizacji logicznej. Dla wyświetlaczy led Bascom prawdopodobnie nie dodaje sam z siebie żadnych opóźnień, natomiast dla lcd to i owszem. Inkrementacja zmiennej może w programie przebiegać z szybkościa "wolnego elektronu na wysokości lamperii",...
Coś mącisz a całego kodu pokazać nie chcesz. Przecież taki zapis nie ma sensu bo Round zaokrągla typy Single więc nie może zaokrąglić Long do Long do A a na końcu piszesz : Obsługa wyświetlacza LED zrealizowana jest prawidłowo, gdy napiszę B = 123456, to to się ładnie wyświetla. Może zapisuj wynik do B jeśli to B ostatecznie wyświetlasz :D Co to za...
Witam; Na wstepie chciałbym zasygnalizować, że programowania w Bascom-ie ucze się dopiero od niedawna :) Mam takie pytanko: mam sobie wyświetlacz LCD 16*1 i prosty układ który sobie zlicza detale. Na wyświetlaczu pojawia się napis: ilość sztuk 123 jak zrobić żeby liczba którą wyświetla zawsze była wyrównana do prawej strony? Aktualnie zrobiłem coś takiego:...
Stoper podczas zliczania czasu nie musi wszystkiego pokazywać, wystarczy, że będzie wyświetlał z dokładnością do 0.1s lub 1s, dopiero po zatrzymaniu można wyświetlić wynik z dokładnością do 0.01s. W zależności, czy przy odświeżaniu wyświetlania będziesz wyświetlał całą linijkę, czy tylko jeden znak - cyferki będą mniej lub bardziej zamazane (zależy...
Witam Próbuję w pętli zwiększyć wartość zmiennej a następnie podstawić ją do Locate : for a=0 to 7 locate a,1 lcd wynik next Niestety na graficznym lcd nic się nie wyświetla (lcd sprawny , działa z innymi programami) Jeśli zamiast "a" na sztywno dam np. 1 to działa . W jaki sposób zautomatyzować zwiększanie pozycji na lcd ?
Witam. Problem jest następujący: Chciałbym uśrednić pomiar napięcia z adc i tak to sobie wymyśliłem: Tworzę tablicę np. 100 elementową. W pętli głównej wczytuję wartość z adc do tablicy, i liczę średnią ze wszystkich elementów, wyświetlam. Gdy indeks dojdzie do 100 trzeba było by przesuwać elementy w tablicy i wynik z adc zapisywać w ostatniej komórce...
to tak podsumowując jaka jest moja potrzeba: obliczenia odbywają się na singlach ja potrzebuję WYŚWIETLIĆ wynik w postaci dokładnie 5 cyfr XXXXX bez kropek i części ułamkowych a czy one będą zaokrąglane czy obcinane to już mniejsza o to :) chciałbym najszybszym sposobem uzyskiwać zapis np: 00055 01342 00002 12345 zawsze 5 znaków (teraz myślę, uwzględniając...
Witam, buduje obrotomierz oparty o czujnik hala, Proszę o sprawdzenie programu do tego schematu. I o wszelkie wskazówki co można by było zmienić. Mam jeszcze pytanie jak w programie bascom ustawić up żeby chodził na zewnętrznym kwarcu 8Mhz? [syntax=basic4gl] $crystal = 4000000 $regfile "attiny2313.dat" Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2...
Witam, Przy zastosowaniu układu PCF8591 to już chyba nie powinien być aż taki hardcore ;) A żeby ułatwić to powiem o co konkretnie chodzi : aplikacja ma dokonywać pomiaru napięcia w zakresie 0-5V, podawanego z czujnika ciśnienia ( MPXH6400 ) i jego aktualną wartość na wyświetlać na LCD a wszystkie wartości występujące "po drodze" archiwizować w pamięci...
ds18b20 wyświetlanie wyniku bascom wyświetlanie wyświetlanie bascom
silnik klatkowy wirnik chromowa aluminium programowanie pilota zamka centralnego
dobra turbina wiatrowa kopia posektorowa
Gdzie kupić pompę z turbiną do zmywarki Ariston LV460 A? Dlaczego nie uziemiać stanowiska spawalniczego?