Niestety, inaczej nie sformatujesz single. Zapis zmiennej z przecinkiem jest dość skomplikowany (mantysa, wykładnik) i znalezienie przecinka nie jest prostą sprawą. Jakie działania potrzebujesz wykonać na single? Może nie trzeba jej używać. Wykonałem próbę w symulatorze najpierw single na string za pomocą fusing(), potem z powrotem na single za pomocą...
Nie używałem nigdy BASCOMa, ale chyba powinno się dać w nim zrobić coś takiego: wynik = round(liczba*100)/100
Hej! Zobaczcie jak ja to robię, może komuś sie to przyda: 'Powiedzmy ze zmienna Liczba(single) wynosi 22.62555426 Temp = Int(liczba) ' dzieki temu poleceniu odcinam czesc setna czyli ' zmiennej Temp(byte) przypisuje liczbę 22 Liczba = Frac(liczba) ' dzieki temu poleceniu odcinam czesc ' dziesiętną czyli zmiennej Liczba(single) przypisuje ' liczbe 0.62555426...
To nie w tej linijce - gdzieś wcześniej jest komenda fusing - o niej poczytaj nieco
W symulatorze jest wszystko OK, może zwiększ stos? A jeśli chodzi o czyszczenie to chodziło mi o CLS. Próbowałeś zaokrąglić wynik przed wysłaniem go na LCD, przez funkcję np Round ?
Witam Mam taki problem: chciałbym sterować Ad9850 w taki sposób jak to przedstawia rysunek http://www.astat-emc.com.pl/grafika/test... Co mam na myśli, chcę to sterować tak: częstotliwość wzrasta do pewnej wartości następnie maleje coraz wolniej aż do zera i znów zaczyna wzrastać najpierw powoli później z pewną stałą wartością do jakiejś...
Pomnóż przez 2, zaokrąglij do wartości całkowitych, podziel przez 2, i wyświetl z rozdzielczością do 1 miejsca po przecinku.
Witam. Wybrałeś dość trudny temat na początek nauki 1./ przed wysłaniem danej na wyświetlacz skasuj go instrukcją CLS. 2./ pomiary z przetwornika różnią się, należałoby wykonać np. 10 pomiarów co 25ms i wyciągnąć średnią. 3./ wynik aby był czytelny należy zaokrąglić do np. dwóch miejsc po przecinku można zastosować funkcję Fusing
To sobie zapisuj w postaci całkowitej i pamiętaj ile miejsc po przecinku dla wszyskich liczb jest przesunięcie, a resztę zaokrąglij.
Wgrałem, ale wynik pokazuje się tylko na ułamek sekundy i później czysty LCD. Tak w pętli. Wynik dalej jest bardzo różny skacze co odświeżenie. Wyniku zaokrąglonego w ogóle nie pokazuje.
Nie znam się na Bascomie, ale chyba po prostu zadeklarowałeś omyłkowo zmienną Temp jako Byte zamiast Int i nie pozwala ci to na wyrażenie odpowiednio dużych wartości. Przed podzieleniem przez 100, dodaj do otrzymanej wartości 50, tj. zamiast: Pomiar = Timer1 * 0.60 zrób: Pomiar = (Timer1 * 60 + 50) / 100 - uzyskasz sensowne zaokrąglenie w górę...
Dzielisz liczbę przez 100, masz setki. Dzielisz przez 10, masz dziesiątki ;-) Jeśli będziesz operował na byte to powinien zaokrąglić. Dim A As Byte Dim A100 As Byte Dim A10 As Byte Dim X As Byte 'zmienna pomocnicza A = 235 A100 = A / 100 X = A100 * 100 A = A - X A10 = A / 10 X = A10 * 10 A = A - X
Istnieje funkcja Round(), która zaokrągla zmienną do najbliższej wartości całkowitej. Może wystarczy daną wartość pomnożyć przez 100, zaokrąglić i podzielić przez 100?
Witam ! Jak zaokrąglić, a w zasadzie obciąć cyfry w liczbie do 0.1 w Bascomie ? Zrobiłem tak: a=1.1625 'liczba przykładowa b=a*10 b=int(b) b=b/10 lcd b efekt np. 1.099999 To zapewne wynika z niedoskonałości operacji na liczbach zmiennoprzecinkowych. Może ktoś wie jak to zrobić bez sztucznego sprawdzania i dopisywania końcówek. PL
Więc pytanie zasadnicze. Jak zaokrąglić otrzymany wynik zmiennoprzecinkowy w bascomie AVR? Wykorzystywanie liczb zmiennoprzecinkowych do odczytu temperatury z DS18B20 jest lekko mówiąc mało rozsądne, zwłaszcza że "po przecinku" może być tylko 16 różnych wartości. Takie rzeczy to się zaokrągla na etapie pisania programu, który potem operuje wyłącznie...
Witam Odkurze ten temat, bo mam w związku z nim jedno pytanie dotyczące kodu, który podał hunterhouse ... Da się jakoś ten wynik co wychodzi zaokrąglić/przekonwertować do jednego/dwóch miejsc po przecinku :?: Za podpowiedzi z góry dziękuje :D P.S. Ten programik pokazuje ujemne temperatury, czy trzeba go dopiero jakoś zmodyfikować :?:
Witam Potrzebuję zaokrąglić liczbę zmiennoprzecinkową do liczby całkowitej (do późniejszego wyświetlenia na wietlaczu LED (rozbijanie liczby na pojedyncze cyfry działa poprawnie). Do tego celu wykorzystałem funkcję Round. Zgodnie z instrukcją Bascoma należy zrobić to tak: [syntax=vbnet] dim A as Long, B as Long A=Round(B) [/syntax] Rozumiem, że gdyby...
Nie będę sie rozpisywał: Dim T1 As Single , T2 As Integer ... T1 = -123.50 T2 = T1 'bez części ułamkowej T2 = Round(T1) 'zaokrągli zgodnie z prawami arytmetyki ... Pozdrawiam Piotrek
Na mój gust do skoro mnozysz zmienną WORD przez stałą CONST o dokładności 0.0001 to dlaczego chcesz mieć wynik z dokadnością 1000 razy większą. To nie komputer PC. Ja bym zaokrąglił wynik do sensownej pozycji używanej przez kompilator ( w twoim przypadku 0.0001) i wynik się przecież zgadza. Problem jest typu: mmnożenie zmiennych typu SINGLE a wynik...
Witam kolegów! Mam taki problem, na początek troszkę teorii: ROUND Przeznaczenie: Zwraca liczbę zaokrągloną do najbliższej wartości całkowitej. Składnia: zmienna = ROUND( wartość ) gdzie: zmienna- dowolna zmienna typu Single, do której wpisana będzie wynik działania funkcji, wartość- liczba którą całkowita część powinna być zwrócona. Opis: Funkcja dokonuje...
Poprawiłem błędy, w tym ten związany z częstotliwością a nie z okresem sygnału. Dodałem zmienną typu Single Czestotliwosc, do obliczeń zmiennoprzecinkowych. W Timer0 wpisuję na starcie 131, Config Int0=Rising. Czy dobrze to robię, czy we właściwych miejscach kodu? Pytania: Jak zaokrąglić wynik ze zmiennej Czestotliwosc do dwóch miejsc po przecinku?...
Odjąć od badanej liczby jej zaokrąglenie, jeśli wyjdzie 0 to jest całkowita, jeśli nie to nie;)
Podłączać oczywiście, że możesz, ale nie zawsze jest to dobre rozwiązanie. Wewnętrznie zwarta jest tylko masa cyfrowa i analogowa i to nie we wszystkich mega8 (łatwo to sprawdzić miernikiem). AVCC i VCC w żadnym AVRe nie jest zwarta. W nocie do megi8 masz pokazane jak podłączać AVCC (dławik + kondensator). Napięcie zasilania jest za mało stabilne na...
Witam! Podejrzewałem, że z wywołaniem tej funkcji może być coś nie tak. Jedank przeszukiwanie internetu jak i lektura książki dotyczącej bascom-a nie pomogła mi rozwiązać tego problemu. Dlaczego zwracasz moją wagę na zaokrąglenie zmiennej il jest zle zadeklarowana ? Proszę o więcej światła także na operację wywyołania. Dziękuje i pozdrawiam!
Witam! Jak zaokrąglić liczbę typu single (6 miejsc po przecinku) do 1 lub 2 miejsc po przecinku, tak aby to można później wyświetlić na LCD. Jest jakiś inny sposób niż komenda format?
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...
Błąd chyba tkwi w sposobie liczenia a dokładniej w sposobie zaokrąglania liczby, napisz dokładnie w jakis sposób liczysz część ułamkową. Przypuszczam że gdzieś zaokrąglasz coś w góre a przy sumowaniu to zaokrąglenie powoduje "przekręcenie" się licznika częsci dziesiętnej temperatury.
Nie potrafię wstawić komendy, która zaokrągla wynik do 2 miejsc po przecinku. Cały program (bez zaokrąglania) wygląda tak: $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektywy mikrokontrolera $crystal = 8000000 'informuje kompilato Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E...
Oto kod jednego z programów z którym mam problemy: 'C029f.bas Generator impulsów prostokątnych ' UWAGA! Wejsciem EN(able) modułu LCD steruje końcówka PB.1 ' do wyjscia PB.3 dołączona przez rezystor 1k anoda diody LED (katoda do masy) Dim Impuls As Word , Przerwa As Word , Czas As Single , Zmiana As Bit , Napis As String * 9 Config Timer1...
Zobacz funkcję FUSING() ze strony 199 pomocy [url=http://www.pe.ifd.uni.wroc.pl/Basco... Bascom PL Pozdrawiam Dawid
:) Komenda mod to taka reszta z dzielenia czyli: zmienna = liczba mod 4 zmienna - miejsce gdzie zostanie wpisana reszta z dzielenia liczba - zmienna która jest dzielona przez 4 (w miejsce 4 możesz wstawić inną liczbę lub zmienna) Dodatkowo w Bascomie są dwa rodzaje dzielenia znak / i \ pierwszy (/) używamy do dzielenia z resztą (w przypadku zmiennej...
Po konwersji część ułamkowa zostaje "utracona". Zmienna przyjmuje wartość jedynie części całkowitej bez zaokrąglenia, czyli: 2,9 (single) po konwersji na integer to 2
Tutaj masz wsaszik do atmegi 8. Tylko delikatnie zamotane jest zaokrąglanie liczby.
Bo fusing robi stringa proszę szanownego kolegi:) To nie tędy droga...PS może nie zaokrąglanie a histereza?:)
http://obrazki.elektroda.net/37_12172812... Dzisiaj chciałbym przedstawić zegarek który zrobiłem dla swojej drugiej połówki. Zegarek powstawał przez prawie 3 tygodnie, w głównej mierze przez dopracowywanie softu napisanego w Bascomie - zajmuje 8190 bajtów. Ostatnie 4 dni zajęła mi obudowa. Ale po kolej. Sercem układu jest Atmega8, która odpowiada...
No bo zmienne nie mają nieskończonej dokładności. A liczba 0.1 w kodzie binarnym nie jest liczbą okrągłą i musi być zaokrąglana.
Witam wszystkich. Problem kształtuje się następująco: W programie wynik wrzucany jest do zmiennej typu SINGLE. Jest to wartość prędkości na poziomie około 2 m/s Wynik wyświetlany jest na wyświetlaczu LCD zawsze do 9 miejsca po przecinku: Np. 1.945674391 chciałbym, aby wyswietlanie było tylko dwa miejsca po przecinku, czyli np. 1.94, nie jest istotne...
Witam Tworze sobie prosty termometr na wyświetlaczu 7 segmentowym. Napisałem kod w bascomie i wrzuciłem na płytę testowa z atmega32 i śmiga jak trzeba. Kolejnym krokiem było wrzucenie tego na na atmege8 (zmieniłem m32def.dat na m8def.dat i taktowanie na 1MHz ) atmega świeża , fusebity nie zmieniane. No i jak zwykle u mnie to bywa, rzecz nie działa....
Można to zoptymalizować i nie przeliczać na Volty w ogóle, ale tak bedzie prościej zobrazować. Jeśli napięciem odniesienia jest AVCC to znaczy że 5V trzeba teoretycznie podzielić przez rozdzielczośc 1024 i wyjdzie 0.00488 no i to się często zaokrągla do 0.0049 Teraz żeby odczytać napięcie wystarczy pomnożyć odczytany wynik przez te 0.0049, ale to wymusza...
A jeszcze mam takie pytanko o zaokrąglenia ponieważ funkcja ROUND nie do końca prawidlowo działa. Powidzmy otrzymuję wynik liczbowy z przetwornika ADC, dzielę go przez powiedzmy 3 i mnożę przez 100. Liczba po przeliczeniu to powiedzmy 325.4286. Jeśli zastosuję na tej liczbie funkcje ROUND mój wynik to 325 .0 Nie mam pojęcia jak się pozbyć tej kropki...
Zainteresuj się poleceniem FUSING. Przeczytaj helpa i zobaczysz, że da się zrobić.
Kol. _Matik_ określił przyczynę problemu, ja natomiast chciałem zasugerować rozwiązanie. W Bascomie jest instrukcja ROUND(x). Sądzę, że to jest najprostsze wyjście.
Właśnie czas pomiedzy impulsami da ci wiarogodny wynik. Chyba, że czas pomiaru będzie na tyle długi, że da ci zadowalającą dokladnosc. Np. na wolnych obrotach w samochodzie(ok 900 obr/min) masz 15 obr/sek (co ok 60ms) natomiast przy 10000obr/min masz impuls co 6ms. Przy podstawie pomiaru 50us (liczenie czasu pomiedzy impulsami) masz dobrą dokładność...
Użyj funkcji do zaokrąglania FUSING
Tzn co konkretnie? Przypisać? Można: Zm_integer = Zm_single Oczywiście BASCOM dokona zaokrąglenia.
Jak dla mnie to nie bascom, to skończona dokładność...
Ogranicz ifami, zaokrągla się funkcją round.
(A). Czy w Compare0a = 186 mogę wstawić liczbę w zakresie 0-255? (B). by uzyskać interwał =~100ms to 9 600 000Hz/ 1024 /37,5 (połówek pewnie nie można używać wiec zaokrąglę do 38 to będzie 247Hz (C). natomiast dla interwału 50ms to 9 600 000Hz/ 1024 /75 to będzie 125Hz czy dobrze to rozumiem? Nie dobrze , .. (at)A. -formalne/teoretycznie możesz w Compare0a...
Dzięki za tak ekspresową odpowiedź. Jeszcze takie jedno pytanie: Czy jest taka funkcja, która zaokrągla do 0,01?
Witam, już wcześniej na podstawie tego fragmentu kodu, który podałeś mówiłem, że program ten wykorzystuje płynne sterowanie jasnością tylko ty tam wstawiłeś stałą o wartości 70. Mówiłem też, że skoro nie wiadomo jakie jest taktowanie procka to ciężko powiedzieć co z czego wynika. Ale teraz widać jak na dłoni potwierdzenie tego co pisałem, jest to typowe...
musze przyznać, że i tak dostałeś bardzo duże zbliżenie... Do twoich celów najlepszym sposobem i najpewniejszym będzie użycie zaokrąglenia. Pewnie bascom posiada tą funkcję.
No tak, tu obliczenia robi na liczbach całkowitych i z pewnością wystąpi z tego tytułu niedokładność jakaś przez zaokrąglanie, ale nie sądzę aby to było jakieś 20% wyniku i tylko w dolnym zakresie.
Masz ATmega8, czyli masz ADC i masz timer połączony z pinami I/O, czyli za pomocą timera możesz generować przebiegi na wyjściu. Rzecz wręcz banalna. Za pomocą ADC wykonujesz pomiar napięcia. przeliczasz go na okres, albo odrazu częstotliwość, nie wiem jak to w bascomie wyglada. W każdym razie częsottliwość ustala się przez zapisanie w odpowiednim rejestrze...
Witam Mam liczbę integer 47 którą zamieniam na single i dzielę przez 10 , wynik to 4.69999806 . I teraz w jaki sposób uzyskać dwie liczby integer całkowitą czyli 4 i ułamkową po zaokrągleniu czyli 7 ?
Może w przypadku wagi trzeba obcinać. Ale normalnie to raczej wypadało by zaokrąglać. A funkcja zaokrąglająca zajmuje z tego co sprawdzałem, mniej. W zasadzie sama funkcja jest jedna, a wyboru dokonuje się na podstawie wzorca (czyli w procesorze siedzą i tak obydwie wersje). Ale to było dawno jak sprawdzałem i już nie jestem pewien.
No ale przecież 133/16 to nie jest 41998000! Bo to po pierwsze nie jest dzielenie w systemie 16stkowym tylko dziesiętnym w programie. Poza tym brakuje koledze funkcji fusing(), a jak podzielimy 133 w hexie czyli 307 w dziesiętnym systemie przez 16 to otrzymamy 19stopni i mniemam że taka temperatura jest ustawiona. A druga linijka jest zła ze względu...
Też by tak mogło być ale... Fclock nie jest liczbą wielokrotną 2, co skutkuje że podczas dzielenia 2^32/Fclock już wychodzi mi liczba ułamkowa i dochodzi do zaokrąglenia lub obcięcia miejsc po przecinku (w najprostrzej wersji). Potem po przemnożeniu niedokładność wzrośnie. Ale chyba nie bede wyważał otwartych drzwi i pozostawię konwersję na zmiennoprzecinkowej....
Takie mam problemik. Otóż mam w stringu wartość typu "843.30" - przecinek może być na różnej pozycji, czyli może to być np. "3.423" Potrzebuję toto zamienić na wartość liczbową, więc przepisuję do zmiennej typu SINGLE. Ale - dla stringu "84.2" otrzymuję wartość zmiennej 84.199996946 Jak sądzę, jest to problem konwersji do single - czy jest jakiś sposób,...
Co do konfiguracji portu C hm mam najnowszego bascoma i nie ma żadnych błędów po kompilacji i robot zaprogramowany tylko z czujnikiem lini lub tylko z czujnikiem wykrycia przeciwnika działają poprawnie. Co do zmiennej Word to jest to liczba całkowita bez znaku, od 0 do 65535, ok zgodzę sie bo zmienna Volt nie będzie całkowita i jest zaokrąglana do 0...
Tak wiem że nie wygaszam go całkowicie. W ogóle z tym był majstersztyk, aby ta część programu działała prawidłowo otóż: Zakres PWM jest od 0 do 255, niby łatwo powiedzieć, podziel przez 2,55 to mi wyjdzie ładne 100% ale przy podziale 254/2,55 wychodzi mi 99,........ - ładny ułamek, a zaokrąglenie tego przy pomocy funkcji w bascomie zajmuje aż 10% pamięci,...
Problem polega na tym że program pisze w asm - w bascomie też nie miałem problemu ale za duży kod - brakuje pamięci. Może ktoś wie czy algorytm ADD-3 można zastosować do liczb powyżej 8bit - zamiana 32bitowej liczby na BCD też by załatwiła sprawę. :arrow: natalia. Autor wyraźnie napisał jakiego języka programowania chce użyć(używa). ... 3. mnożysz...
Możesz liczyć za pomocą jednego z nich... Nie znam się na silnikach mechanicznych. Nie wiem jak to jest rozwiązane. Ale dla rozwiązania "liczenie impulsów" jeżeli jest 1 impuls to jeszcze gorzej, bo przy 100ms będzie ich o połowę mniej więc dokładność będzie jeszcze dwukrotnie niższa. Więc jedynie "liczenie czasu pomiędzy impulsami". Powodzenia życzę.....
O zasilaniu czy sprawności kodu nie pisałem z prostych przyczyn: Piszącego w Bascom interesuje tylko to by program działał a nie ciągnął mało prądu (zasilanie bateryjne i Bascom? Nigdy nie słyszałem by ktoś to łączył) Piszącego w Bascom interesuje by progam działał niezależnie czy musi użyć procka z 16kb czy 32kb Ja wolę by program mieścił się w 1kb...
Najpierw zamień godziny na minuty potem dodaj do tego minuty. Następnie trzeba sprawdzić czy minutyFull nie są przypadkiem mniejsze od minuty Start ( przypadek 23:00 -> 1:00 ). Wtedy przedział czasowy należy policzyć jako czas do północy + czas po północy. Podzielić uzyskany przedział czasowy na liczbę stopni sterowania PWM. Odliczanie czasu do Full...
m.bartczak : Zauważ, że jak by nie patrzeć zmienna A posiada pewną wartość, oba dodawania powinny dać ten sam wynik, problem polega na tym, że wygląda to tak, jak by dodawanie powodowało zmianę jednego z argumentów - tak jak by funkcja realizująca dodawanie nie robiła kopii zmiennej A tylko na niej robiła operacje. Dodatkowo zaokrąglenie 0.0001669...
Zadanie można rozwiązać na kilka sposobów: 1. Powielacz częstotliwości razy 100 zrealizowany na układzie pętli fazowej 4046, potem zliczasz przez 1/10 s częstotliwość wyjściową generatora VCO pętli i wyświetlasz ją z przecinkiem między cyfrą dziesiątek i jednostek. 2. Pomiar okresu sygnału przy pomocy mikroprocesora np. Atmega8, program piszesz w języku...
Tzn. ja napisałem tego potworka na podstawie wzoru: [syntax=text] Wieczny kalendarz - oblicza numer dnia tygodnia na podstawie daty dzień tygodnia = ([23m/9] + d + 4 + y + [z/4] - [z/100] + [z/400] - 2 (if m >= 3) ) mod 7 gdzie [ ] oznacza dzielenie bez reszty z zaokrągleniem w dół mod - funkcja modulo m - numer miesiąca (od stycznia = 1 do grudnia...
I jeszcze jedno ten program natychmiast poprawisz używając symulatora w którym co pętlę wyświetlisz wartości wszystkich zmiennych. A jak myślisz dlaczego na początku tych kodów jest $sim ? co z tego , że później potrzebujesz zmienną Z Nie później, a w trakcje wykonywania pętli. W tej pętli ta zmienna bardzo szybko się przepełni bo jest zbyt małej pojemności...
http://obrazki.elektroda.pl/8074661000_1... Witam. Mam na imię Michał. Uczę się w pierwszej klasie technikum na profilu: elektronik. Zdecydowałem się po raz pierwszy opisać w tym dziale swoje urządzenie. Chciałbym przedstawić układ testowy modułu GSM ZME3030 (znany też jako MG3030). Docelowo moduł ten będzie współpracował z popularnym...
Witam goreckidiy. Twój projekt spełnia funkcę, którą chciałeś osiągnąć. Ale jest ale :) Niezwykłe zbiegi okoliczności sprawiły, że to działa (mam nadzieję) prawidłowo. Spójrz na zdjęcie. http://obrazki.elektroda.pl/9690955600_1... W programie masz coś takiego:[syntax=text]'*********WAŻNE!!!*... data1 = data_in - 1048574 'tyle suwmiarka...
Witam serdecznie! Mam problem z inkrementacją zmiennej Z, ponieważ wszystko opiera się o dokładność przedstawiania liczby zmiennoprzecinkowej. Zamiast 0,1 pokazuje 0,09. Próbowałem już fusing(), frac() (wskazywanie liczby po przecinku, chciałem tą resztę zaokrąglać round() ) , może format() ale tu trzeba non stop konwertować zmienne na znaki z liczb...
ok, no tak przecinek... wstyd się przyznawać :) dzięki bardzo za szybka odpowiedz. Doradzam , by dla tak prostych obliczeń jak również niewielkiej pamięci programu , zpomnieć o istnieniu SINGLE i FUSING - no chyba że potrzebne Ci są super dokładne dane(zaokrąglenia).Szkoda flsh'a ;) Można np. $regfile = "m8def.dat" $crystal = 8000000 Config...
Witam ponownie No ja walczę z całym kodem, żeby go trochę zoptymalizować, ale nie bardzo się daje. zajęte 77% a nie mam konwersji danych z sht11 jeszcze zrobionych, coś mi się wydaję, że będzie trzeba się przesiąść na M32. Przykładem może być np. zapis temperatury z dokładnością do jednego miejsca po przecinku. Przecież wystarczy do tego zwykły, dwubajtowy...
Witam Mam problemy z fazami w domu. chciałbym mieć stały pomiar wyświetlany na LCD i w przypadku przekroczenia napięcia 240V zapalaną diodę led podpiętą do nóżek procka(docelowo będą to przekaźniki) i sygnał dźwiękowy na syrence. Wykonałem w bascomie miernik faz na atmega8, tryb zaokrąglania wyniku zaczerpnąłem z jednego kodu z forum. Płytka z układem...
Niewiem czy dobrze rozumiem ale chyba będzie problem bo na moim kalkulatorze wychodzi że 16000000/15000=1066,7 a w nocie pisze że dla Timer1 prescaler może być max 1024 75 ? Czy to się jakoś zaokrągla do pełnej liczby?
Nie bardzo rozumiem Twoje uśrednianie: Skoro U2=C to po pętli For U2 będzie równe U2*9. Następnie dzielisz to przez 8 za pomocą operacji Shift, więc w efekcie końcowym U2=U2*9/8. Czyli tak naprawdę to nie jest uśrednianie, tylko przemnożenie pobranej próbki przez współczynnik 9/8. Uśrednianie (na zasadzie filtra dolnoprzepustowego) powinno wyglądać...
czy będziesz miał temperatury ujemne? i co oznacza zmienna "Liczba" Liczba jest typu byte (0-255) jak ma być <0 ? odczyt temperatury: w kodzie ująłem zmienną znak dim znak as bit znak = 0 wartość dodatnia znak = 1 wartość ujemna znak = 0 'zakładam że wartość jest dodatnia 1wreset If Err = 0 Then 1wwrite &HCC 1wwrite &HBE Ds_1 = 1wread()...
Czyli coś takiego ? Chcę aby dystans też obliczany był z tych pierwszych nieuśrednionych jeszcze bo potem już z uśrednionych. [syntax=vb] Wartadc = Getadc(6) Paliwo = 200 '20 litrow na start Restore Dane If Wartadc > 175 And Wartadc < 579 Then For Licz = 1 To 177 'bo 177 wpisow Read Tab If Tab < Wartadc Then Decr Paliwo Next Licz Else Paliwo...
'Minął ponad rok'... i ciągle robisz ten sam błąd(!). Ponieważ ciągle mam tę samą książkę - autor - Marcin Wiązana. Czyżby autor tej książki się mylił? Przecież to z Jego książki zaczerpnięty jest fragment kodu odmierzający 1 sekundę. Mało tego - ten fragment kodu funkcjonuje poprawnie! A Ty mi piszesz, że LOAD i "=" jest ignorowane przez compiler...
Witam Miałem podobny problem z wyświetlaniem. Trzeba prawidłowo przypisać typy zmiennych a formatowane umieścić w poleceniu LCD "123";Fusing(X, #.##);"123". Tylko takie umieszczenie formatowania rozwiązało mi problem z wyświetlaniem całkowicie. Odpowiednie akcje na zmiennych należy wykonywać po zaokrągleniu do całości instrukcją np Round(Vol) lub Int(Vol)...
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...
Łap. Voltomierz będzie działał stabilnie, ale wiedz, że Ty masz błąd logiczny w swoim kodzie. Pomysl. Jeśli u Ciebie "Steps" to zaokrąglone do całych poprzez Round "Angle" to jest to wartość ustalana przez napięcie czyli w pewnym momencie będzie stała. A tu zmienna "Kroki" jest porównywana z ta zmienną ""Steps", ale po porównaniu dodajesz lub odejmujesz...
A jest możliwość zapisu danych w do MS Excela lub do csv w postaci tabel? Dlaczego 11 bajtów przy czterech naraz (a nie 8)? Niestety nie ma możliwości zapisu do excel'a, i ja nie potrafie tego zrobić. Wykres można zapisać do pliku *.grf Po otwarciu go w notatniku wygląda tak: Kurve 255 1462 0.00000000000000E+0000 0.00000000000000E+0000 9.99999999999446E-0004...
Witam. Założenie jest proste czyli zwykły licznik w zakresie 0 - 99 km/h. Czujnikiem ma być powiedzmy kontaktron. Niestety mam problem z napisaniem programu. Wg mojej koncepcji przerwanie od timera ma zwiekszać stan zmiennej co 1ms. Po wykryciu sygnału od czujnika wartość czasu ma być przepisana do kolejnej zmiennej i dalej liczona dopiero predkość...
(...)po "polskiemu" mało o tym jest. To trzeba się angielskiego zacząć uczyć :D Gwarantuje Ci, że to o wiele ułatwia życie. Ja dopiero po przejściu na poziom w miarę dobry z języka byłem wstanie zrobić cokolwiek poza miganiem diodą, napisami na lcd i termometrem :D ---- ale że mam dziś dobry dzień do dobrych uczynków... na przykładzie at24c16: http://obrazki.elektroda.pl/1832315300_1...
http://obrazki.elektroda.pl/1927979800_1... Witam. Będzie to moja pierwsza konstrukcja, którą postanowiłem Wam zaprezentować, choć nie pierwsza, którą wykonałem. Jest to ukończony zasilacz oparty na znanym większości osób projekcie z wprowadzonymi pewnymi zmianami co do wersji oryginalnej. Pierwszy mój zasilacz był tranzystorowy. Jego...
Podaje program z komentarzem. $regfile = "attiny2313.dat" 'najpierw określamy typ proca $crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował Config Portd = &B11111111 ' ustawienie całego Portu B jako wyjscia Portd = &B11111111 ' stan spoczynkowy wszystkich wyjsć ustawiony na 1 Config Portb = &B0000000 ' ustawienie...
Jeżeli między znakami masz jedną kolumnę odstępu, to na pierwszej stronie będą dwie, a nie jedna kolumna z drugiego znaku, no ale to szczegół ;) Nie wiem, jak masz zapisaną "czcionkę". Jak na moje oko, to może być po bajcie na każdą linię i takich linii 7, jedna po drugiej, potem następny znak itd. Nieużywane bity (te z prawej, znaki wyrównane sa do...
Witam W prockach dopiero raczkuje. Robię obrotomierz do samochodu (choć można zastosować to wszedzie). Oparłem to na atmega16 bo taki akurat teraz mam, ale docelowo ma byc na 2312.Na razie jest wszystko w fazie testowej na biurku, ale założenia są takie: na kole zamachowym umieszczam siakiś czujnik, podaje to na układ formowania impulsu, z którego będę...
https://obrazki.elektroda.pl/6308270300_... https://obrazki.elektroda.pl/7950037100_... https://obrazki.elektroda.pl/2820859900_... https://obrazki.elektroda.pl/4982848200_... https://obrazki.elektroda.pl/9158760600_... https://obrazki.elektroda.pl/9318570600_...
Triangle Deluxe - Zaawansowany system oświetlenia http://obrazki.elektroda.net/26_11981998... Przedstawiam mój kolejny bardzo długo zresztą wyczekiwany projekt. Jest to jak dotąd największe z moich przedsięwzięć wykonane zupełnie samodzielnie od początku do końca. Jest też najdroższe gdyż z grubsza licząc kosztowało ponad 1000zł. Wstęp. Było...
ZDALNIE STEROWANY SAMOBIEŻNY MANIPULATOR OPERACYJNY DO ZADAŃ SPECJALNYCH http://obrazki.elektroda.net/20_12096489... Chciałbym zaprezentować mój kolejny duży projekt, będący zarazem moją pracą inżynierską. Praca jest dość złożona, wymagała dużego nakładu pracy, wykorzystania narzędzi do projektowania i obejmowała głównie trzy nurty - mechanikę,...
Witam ,właśnie zaczynam wzmagania z operacjami matematycznymi w BASCOM (jak dotąd nie były mi potrzebne) ;) Zauważyłem pewne zjawisko ,że po przekroczeniu 90% Flash przy kompilacji zaczynają się dziać dziwne rzeczy ,jakby stos czy ram niszczył zmienne i pojawiają się dziwne wyniki ,stąd z ATTINY2313 ,przeskoczyłem na Atmegę8. Ten sam program bez jakichkolwiek...
Witam serdecznie! Najpierw może podzielę się kodem: [syntax=basic4gl] $crystal = 8000000 $regfile = "m644pdef.dat" Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1 Dim Plynnosc As Integer Dim Plynnosc_r As Single Dim Plynnosc_t As Single Dim Reszta_pwm1b As Integer Dim Ustaw_czasu_ms As Integer...
zaokrąglić kolumna zaokrąglić ścieżek zaokrąglić liczbę całkowitą
blokada kluczyk excel porównanie komórek zawory skoda octavia
napęd bramy piszczy technics ch950
Transformator głośnikowy do wzmacniacza lampowego 12W push-pull Domowe sposoby na smarowanie uszczelek samochodowych