Chwilowo straciłem ten kod postaram się go znaleźć ale opierałem się na projektach z internetu. No bez jaj. Na 99% nic nie masz tylko czekasz na gotowca. Ale dobra, zlituję się na święta :D Pomijając całą beznadziejność kodu do multipleksowania wyświetlacza, takie coś powinno działać: $regfile = "ATTiny2313.dat" $crystal = 8000000 Dim Jednosci...
co prawda w C, ale zasada ta sama: http://mikrokontrolery.blogspot.com/2011...
Raczej schemat zgodny jest z programem. Jedynie z Portd.6 nie do końca wiadomo co zrobić. Prawdopodobnie trzeba do niego przyłączyć diodę świecącą wskazującą na wartość ujemną, a diody na schemacie nie ma, podobnie jak DS18B20.
Sprawdzenie czy temperatura jest dodatnia czy ujemna, tylko w wypadku tej drugiej przed wyjściem z if'a trzebaby umieścic procedurkę wyświetlającą/zapamiętującą ten znak. Grzesiek.
Kombinujecie jak koń pod górkę. Nie trzeba robić żadnej "obsługi" temperatur ujemnych. Wystarczy jedno: Ss = Format(ss , " 0.0") i to od razu zapewni poprawne wyświetlanie temperatur dodatnich i ujemnych.
Jaca Dziękuje pięknie teraz wszystko działa jak należy. Zaraz wystawie czujnik za okno i zobaczę co się stanie przy ujemnych temperaturach. Pozdrawiam
Dzielenie przez 16 to to samo co przesuwanie bajtu w prawo o 4. Czyli jest to wywalenie jakby 4 najmłodszych bitów, czyli odczyt temp będzie z dokładnością do 0,5 stopnia. Zajrzyj do notki. 5 najstarszych bitów to znak czy dodatnia czy ujemna, a 4 najmłodsze oznaczają miejsca po przecinku. Rozumiem ze zmiana z systemu binarnego na dziesiętny jest znana?...
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ć...
Wader, w większości programów które znalazłem, nawet to czekanie waitms 750 było na końcu tak jak miałem wcześniej. Może i coś jest nie tak z tym kodem, ale nie będę się zastanawiał co, skoro działa bez żadnego przesuwania bajtów, itp. Nawet nie robię żadnej specjalnej obsługi wyświetlania temperatur ujemnych, a jakoś je wyświetla :)
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
Czy przypadkiem zmienna I nie zwraca ci temperatury ujemnej gdy ona występuje? Znak jest zawarty w drugim bajcie => patrz datasheet.
wartości mają być też ujemne... dodaj to do programu i jakiego typo ma być wtedy zmienna?
Mam problem jestem początkujący napisałem program który ma za zadanie regulować włączanie wiatraka i czas z jakim ma dmuchać , jednocześnie mierzy temperaturę i nie działa tak jak powinno : Temperatura pokazuję co jakiś czas błędny pomiar np 124 , 32 , 98 procek się resetuje chińskie znaki raz na jakiś czas w programie można było ręcznie zmieniać czas...
http://obrazki.elektroda.net/22_12752238... Witam. Dzisiaj chciałbym zaprezentować mój projekt zegara VFD na lampie IW-18. Jest to kontynuacja wątku kolegi Pier -> http://obrazki.elektroda.net/95_12752233... Wszystko tak szybko się odbywa że wyświetlacz w ogóle nie miga :D Program został napisany w BASCOMie - zajmuje ~64% pamięci Flash....
(zakładam, że używasz jakiegoś AVRa z przetwornikiem AC) Chyba nie doczytałeś że kolega chce użyć z 8051. Więc bez przetwornika A/C się nie obejdzie jeżeli to koniecznie ma być LM35. Podobno DS'y nie są zbyt stabilne chociaż ja tego nie zauważyłem, więc je polecam o ile możesz je użyć. DS18B20 jest dobry gdyż wyliczanie ujemnych temperatur jest proste.
Tak teraz napisy nie mrugają, ale odczyt temperatury jest błędny od ujemnej do 256. Dziękuję za pomoc, spróbuję sam powalczyć. pomógł.
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...
http://obrazki.elektroda.pl/2929008000_1... Witam. Po raz pierwszy zdecydowałem się przedstawić na łamach forum swoją konstrukcję. Chciałbym zaprezentować swój pomysł na Termometr Samochodowy. Podczas upalnego lata zauważyłem że po zainstalowaniu instalacji gazowej moje auto ma bardzo duże wahania mocy silnika w zależności od temperatury...
niestety ujemnych liczb cgba nie obsługóje , chociaz może ??? co do zaokrąglania to mozna dać Lcd Fusing(Wynik , "#.##") i powinno działać pozdrawiam
Zrobiłem juz wiele sterowników używając nie jednego, dwóch a nawet więcej liczby ds'ów i zawsze działa bezbłęnie, nie tylko w BASCOMIE. A Ty Piotrusiu trochę pokory. Cóż, wierzę Ci na słowo. Co za problem z przesuwaniem liczb zakodowanych w U2 ? Nie rozumiem No właśnie :| Gdybyś rozumiał , to zapewne 1-sze zdanie z Twojego poprzedniego postu , nie...
A rodzaj zmiennej ma znaczenie w tym przypadku? Bo kombinuje i z byte i integer. Zdecydowanie ma , a także znak liczby.Jeżeli spodziewasz sie pomiaru temperatur ujemnych, to całe Twoje obliczenia temperatury i podzielenia je na "cyfry" , biorą w łeb :| Radzę poeksperymentować w symulatorze - można nieźle się z(a)dziwić :)
witam problem raczej standardowy bym powiedział :) zakładam, że wolisz wersję skróconą bez wykładu a dlaczego tak itd :D 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Makeint(odczyt(1) , Odczyt(2)) Tspr = T T = Abs(t) T = T * 10 : T = T / 16 Przecinek = T Mod 10 T = T / 10 1wreset...
Witam W załaczeniu program napisany przeze mnie i działający bezbłędnie tak w zakresie dodatnich jak i ujemnych temperatur. Program w "BASCOM AVR". Mikrokontroler Attiny2313, wyświetlacz 3xLED, "minus" temperatury na płaskiej diodzie LED (zasilana z +5V, katoda przez rezystor do uC)
Widzicie. Ja walczyłem z timerami, przerwaniami,DS'ami i wyświetlaczami, chyba wewszelkich możliwych kombinacjach. I stwierdzam, że bardzo trudno jest w Bascomie ustalić wybraną częstotliwość przemiatania z jednoczesnym odczytem czujnika. Nawet jeśli pozornie wszystko działa to przy ujemnych temperaturach czas konwersji jest na tyle długi, że nie da...
Przecież JmL(TM) dość szczegółowo ci napisał jak to wykonać. Chyba że liczysz na gotowca, jeśli tak to nie tędy droga. Zrób sobie zmienną i w niej zapamiętaj wynik pomiaru. Przy kolejnym odczycie od tej zmiennej odejmij aktualną temperaturę: - jeśli wynik tej operacji będzie ujemny to temperatura spadła i strzałka w dół. - jeśli wynik równy jest 0 to...
DS18B20 i magistrala 1-Wire. Najprościej. Do tego kawałek kodu w Bascomie i zadziała. Dlaczego koniecznie musisz to zrobić na 8051, przecież to już staroć Jak nie masz nic do powiedzenia to się nie odzywaj. Czasami ktoś musi coś zrobić bo mu to jest potrzebne, a nie dlatego, że w EP napisali, że to proste z kawałkiem kodu w BASCOMie. Co do '51 i starocia...
Witam ,jestem początkujący w tej dziedzinie, posiadam program termostatu, niestety program nie porównuje temperatury, nie wiem w czym problem już zmieniałem porównanie wartości Us z T1, obecnie zmieniłem na Tmp, ale niestety nadal nic się zmieniło nadal na wyjściu układu czyli P3.2 jest stan "0" oto program napisany w Bascomie51": 'cyfrowy termostat...
Witam Mam podobny problem atmega8 i DS18B20 bascom u mnie dzieje się coś takiego że do 40°C pokazuje dobrą temperature przy rezystorze podciągającym 2,2kΩ ale przy wyższej temperaturze to ją podwaja i tak sobie miga na przemian dobra temp i podwojona, czasem wskoczy jakaś ujemna albo jeszcze coś innego, a przy jeszcze wyższej zrywa komunikację...
Dobrze nawet zrozumiales z tym znakiem. ale jesli temperatura jest ujemna to negujesz calosc i odejmujesz 1 zeby miec poprawna temperature (potem dzielisz na 16). i tyle filozofii.. a swoją drogą nie masz zamrazalnika? wez kostke lodu i sprawdz.... ;]
Zawsze kiedy pojawia się sterownik akwariowy to... Zawsze zawiera ten sam spsób na ugotowanie akwarium, tzn [syntax=basic4gl]Temperatura_t(1) = 1wread(2) 'jesli blad lub ujemna temperatura... If Err = 1 Or Temperatura_t(2) >= 128 Then Temperatura = 99 Else[/syntax] Czyli uszkodzenie czujnika, zalanie go (nietrudno o to w akwarium) = dostaniemy od razu...
Witam!!! Kolega nie doczytał poprzedniego postu lub go nie zrozumiał - DS18S20 ma 9-cio bitowe przetwarzanie temperatury i tylko ostatni bit jest w ujemnej potędze, więc po przecinku możesz mieć 0 lub 5 i więcej z niego nie wyciśniesz. DS18B20 ma przetwarzanie 12 bitowe (zakres temperatur taki sam co ds18s20), ale ma aż cztery bity w ujemnej potędze...
Prosiłabym o wyrozumiałość i pomoc w nakierowaniu mnie na rozwiązanie problemu. Spróbuję nakierować :) Jeśli zapis ID do eeprom ma być jednorazowy, w kodzie programu deklarujesz (wcześniej innym programikiem i LCD odczytane) ID $eeprom Termometr2: 'nr seryjny termometru 1 Data 40 , 25 , 0 , 133 , 2 , 0 , 0 , 196 Termometr1: 'nr seryjny termometru...
Witammój problem polega na tym że podłączyłem do megi termometr i po wywołaniu tego kodu im T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String * 1 Sub Temp 1wr 'podprogram 1wr 1wwrite &HCC 'komenda skip ROM 1wwrite &H33 'komenda convert T Waitms 250 Waitms 250 1wr 'podprogram 1wr 1wwrite &HCC...
Witam. Mam termometr na Atmedze8, program napisany przez kolegę Ducha. Chciałbym dodać funkcję zapisu do eepromu najniższej zarejestrowanej temperatury przez termometr, lecz nie jest to możliwe ponieważ ostateczny format temperatury zapisywany jest w zmiennej typu string. Program ma porównywać, czy aktualna temperatura jest mniejsza od zapisanej w eepromie,...
Układ pod którym ma działać program. http://obrazki.elektroda.pl/8890958900_1... Program ma za zadanie sterowanie 3 wentylatorami (załączanie w tej samej chwili). Dobrze by było gdyby miał histerezę. Układ posiada 1 czujnik temperatury. Chcę aby wentylatory utrzymywały zadaną temperaturą w pomieszczeniu. Po przekroczeniu granicznej temp włączają...
znowu troche asm-a. zrób tak ( np ): zmiennej d1 - pierwszy odczytany bajt zmienna d2 - drugi odczytany bajt 1 - zerujesz w pierwszym bajcie 4 najmłodsze bity ( mnożysz logicznie przez 11110000b ) 2 - wymieniasz mładszy pół bajt drugiego odczytanego bajtu z młodszym półbajtem pierwszego odczytanego bajtu ( ciekaw jestem ile razy bedziesz czytał ten...
Witam, Proponuję spróbować tego, to kawałek kodu z mojego pliku pomocy w obsłudze termometru DS18B20: 'Odczyt temperatury z dokladnością do dziesiątych części $regfile = "89s8252.dat" $crystal = 12000000 Dim Odczyt(2) As Byte 'deklaracja dwóch zmiennych typu byte do których będą zapisywane dane z termometru Dim T As Integer , Przecinek...
Czy można przez konwersję BCD wyciągnąć znak (temperatura dodatnia/ ujemna) . Spróbuj dopasować sobie ten code. [syntax=basic4gl][/syntax ... $regfile = "m8def.dat" $crystal = 4000000 $baud = 9600 $hwstack = 32 $swstack = 16 $framesize = 40 Dim Scratchpad(9) As Byte Dim Temp As Integer At Scratchpad Overlay Dim Ds18b20_temp...
Witam Oto przykładowy program w BASCOM AVR obsługujący dwa czujniki o znanych numerach seryjnych: '***************************************... 'Konfiguracja AVR '***************************************... $regfile = "m162def.dat" $crystal = 16000000 $baud = 2400 Config Porta = 255 Porta = 255 Config Portb = 255 Portb = 255 Config...
próbuje zrobic temomert z czujnikiem wilgotności. Odczyt temperatury jest dodkonywany z DS 18B20 $crystal = 16000000 $lib "mcsbyte.lbx" $regfile = "m16def.dat" $baud = 19200 Config 1wire = Porta.0 Deflcdchar 0 , 238 , 234 , 238 , 224 , 224 , 224 , 224 , 224 'definicja symbolu "stopień" Config Portd = Output Config Scl =...
tzn. lepiej będzie tak: Dodano po 1 Czy używając MakeInt( ) nie będzie problemu z ujemnymi temperaturami ? Bo przy histerezie to jest istotne
http://obrazki.elektroda.net/78_12422206... Ten prosty, dedykowany początkującym, projekcik powstał gdy potrzebowałem jednoczesnego pomiaru temperatury w 2 punktach innego układu elektronicznego. Jak to się mówi "potrzeba jest matką wynalazków" - i tak też było w tym przypadku. Zmontowanie układu, napisanie programu i uruchomienie zajęło ok....
:arrow: MarekS6 Wiem, że działa, bo sam też go przerobiłem ;-) tylko nie poskładałem jeszcze fizycznie układu, a symuluje całość w Proteusie (bez modułów radiowych, tylko bezpośrednie połączenie procesorów). Nadajnik też mam na m8 i okrojony kod od kolegi :arrow: wojlej . W kodzie nadajnika jest tylko pomiar temperatury z czujnika DS18b20, wyświetlenie...
Witam Chciałbym przy użyciu dwóch przycisków ( nawet jednego, bo pewnie tak się da ) zmieniać czujnik DS18B20, a właściwie wskazania które pokazuje. Mam dwa układy DS18B20 i przy założeniu ( teoretycznym ), że mam mało miejsca na wyświetlanie, więc dobrze by było mieć możliwość zmiany ( na przemian jednym przyciskiem lub dwoma - pierwszy-drugi ). Samo...
Tego fragmentu zdania , nie jestem w stanie pojąć I tu się nie dziwię. Za co przepraszam i postaram się wyjaśnić co miałem na myśli W Czasie przeszukiwania forum znalazłem taki kod konwersji T = Makeint(odczyt(1) , Odczyt(2)) 'zrób z dwóch bajtów jednego integer'a Tspr = T 'teraz sprawdzam jaki jest wynik 'interesuje nas tylko...
Witam ! DS18B20 jest fabrycznie ustawiony na rozdzielczość 0,0625 stopnia co wymaga czasu pomiaru min 750 ms, Zaś w programie jest 500 ms. Próbowałem u siebie DS18b20 na atmega 16, kwarc 16MHz. Korzystałem z przykładu z książki pana M.W. Niestety pokazywał błędną temp gdyż to jest przykład na DS1820. Więc napisałem sobie wszystko w asemblerze i działa...
Nie wiem jak dodać konwersję czasu i ile ms. Skąd się biorą te wartości 255 (248) 16 10 26 ? i za co odpowiadają jak zmieniam wartości 16 na większe lub mniejsze to termometr koryguje temp w dół lub w górę ale źle wskazuje na całym zakresie od -50 do +150 stC ( ustawie temp zgodnie z innym termometrem wzorcem i jest ok ,wystawie czujnik za okno to na...
Witam. Ja kiedyś napisałem program który zawierał odczyt z ds18b20. 'tablica temperatury po przecinku Tabtemp(1) = 0 Tabtemp(2) = 1 Tabtemp(3) = 1 Tabtemp(4) = 2 Tabtemp(5) = 3 Tabtemp(6) = 3 Tabtemp(7) = 4 Tabtemp(8) = 4 Tabtemp(9) = 5 Tabtemp(10) = 6 Tabtemp(11)...
witam Mam problem z odczytem bloku DATA - chcę pętlą odczytywać id dsów i mierzyc temperaturę i tak dla 10 po kolei, problem w tym że już na początku jest coś nie tak z pierwszej linii data zamiast 28,18 odczytuje mi się 08,95 potem każde pierwsze 2 bajty to 2 ostatnie z poprzedniej linii. Oto fragment kodu [syntax=basic4gl] Odczyt_ds: 1wreset 1wwrite...
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....
Dostalem ten program w Bascomie od kumpla, mozesz uzyc do sprawdzenia czy DS18B20 dziala. U mnie dziala. $crystal = 1000000 Config 1wire = Portb.1 'konfiguracja 1wire Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String * 1...
Książka to "Programowanie Mikrokontrolerów AVR w jez. BASCOM" Program termometra. Przykład z książki. 'Program obsługi jednego układu DS1820 dołączonego 'do magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler...
Odpaliłem i idziała :) Problem w tym, że pokazuje coś nie tak. Temperatura dodatnia błąd na plus około 2 stopień. Zamiast 22 pokazuje 24.3 a przy ujemnej (zwykły termometr) pokazuje -13 zamiast - 18 Do 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 250 Waitms 250 1wreset 1wwrite &HCC 1wwrite &HBE Lsb = 1wread(): Msb = 1wread(): Tempa...
Witam Próbuje przerobić kod obsługujący kilka DS18B20 na jednej linii i drugi obsługujący kilka DS18B20 na kilku liniach. Niestety jak na razie efekt jest taki, że działa tylko pierwsza linia, czyli dwa DS18B20. Jeśli chodzi o konfiguracje, to celowo nie ma Config 1wire = Porta.1 gdyż wpisanie tego portu, jako 1WIRE powoduje wyświetlanie 0.0 dla pierwszego...
Witam. Jak kolega wskazał udało mi się zamontować dodatkowe kondensatory i układ działa bardziej stabilnie ale jeszcze mu coś brakuje. Przy pozycjonowaniu sporadycznie ale lcd się wysypuje ale już nie zauważyłem błednych odczytów Ds18b20. Natomiast w miedzyczasie musiałem na bojlerze założyć zawór elektromagnetyczny 230v 10w i znowu z nim DUŻY problem....
Jestem ponownie. Projeckt mam prawie ukonczony i mam jeszcze pytanka. To jest kod do termomertu na DS18B20 i zegarka. I teraz mam taki problem. Odczyt temp jest bardzo niestabilny. Cyfry po przecinku skacza tak o 2-3 jednostki. Raz jest 22.4 za sek 22.7 a za nastepna 22. 5 itp itp. Mam inny kod z forum ktory nie obsluguje temp ujemnych dla proby i tam...
Witam Muszę stworzyć układ w którym bedę używał 8 czujników DS18B20 , i każdy musi pracować na osobnym pinie. Nie mogę podpiąć wszystkich na jednej linii i odpytywać ich po ich ID. Kiedyś robiłem sterownik w którym odczyty robiłem w ten sposób: Sub Odcz_temp1 Config 1wire = Portb.0 1wreset 1wwrite &HCC 'opuszczenie zapisu numeru ID 1wwrite &H44 'start...
A ja mam takie pytanko. Bo sam próbuje zrobić temorstat na ds18b20 i myślałem żeby wynik pomiaru przepisać do zmiennej i zrobić warunek większy bądź równy. Najlepiej przedstawie: ..... I3 = I3 * 10 I3 = I3 / 16 Termostat = I3 * 10 Termostat = I3 / 16 If I3 > 0 Then 'korekta przesuniecia znaku st C przy przejściu z temp ujemnej na dodatnią Ss = Str(i3)...
Przykładowy programik, ale dla DS18B20: Dim Bd(9) As Byte 'tablica Dim T As Integer 'zmienne Dim T1 As Integer Dim T2 As Integer Declare Sub Read18b20 'deklaracja procedury Cls 'inicjacja wyświetlacza Deflcdchar 0 , 6 , 9 , 9 , 6 , 32 , 32 , 32 , 32 'def. znaku stopnia Cls Lcd "Temp:" Do 1wwrite &HCC 'rozkaz SKIP ROM 1wwrite...
Witam, zaczynam "zabawę" z uC i programowaniem. Na pierwszy strzał chciałem zrobić prosty (tak na początku mi się wydawało) sterownik. Planowane opcje to: zegarek, termometr i obsługa 2-6 wyjść 230V. Wszystko chciałem stworzyć na atmedze8 ewentualnie 16. Założenia: - LCD na którym będą informacje prawdopodobnie będzie 4x20 - czas + ewentualnie data...
Do kolegi "KUNIARZ" Właśnie wgrałem sobie Twój programik i u mnie DS18B20 śmiga (mam 6 szt. - 5 nowych i jeden z przed 2-3 lat) (chociaż nie wiem dlaczego w Twoim programiku na wyświetlaczu cały czas mi text się przesuwa) Ale nie do tego zmierzam. A mianowicie wgrałem poniższy programik (taki mały termostacik) No i mam problem z czujnikami !!! ponieważ...
http://obrazki.elektroda.pl/4380379400_1... Cóż, takich termometrów było już wiele, ale mój wyróżnia się kompaktową budową i obudową idealnie pasującą do auta. Wygląda jak fabryczny. Po włączeniu zapłonu przez minutę pokazuje napięcie w instalacji samochodu (u mnie podczas grzania świec i potem przez resztę czasu po uruchomieniu diesla),...
Piszę program do prostego sterownika pieca, w książce "Programowanie mikrokontrolerów avr w j. Bascom" mam opisana obsługę czujnika DS1820, w sklepie elektronicznym w moim mieście mieli tylko DS18B20, myślałem że nie będą się może różnić za wiele, mogłem zajrzeć do noty katalogowej ale już za późno. Przeglądałem noty katalogowe tych dwóch układów, z...
Wczytaj dane z DS do tablicy dwuelementowej Byte, a później oba bajty wtłocz do zmiennej integer albo word np. przez Makeinit. Dla temperatur tylko dodatnich można użyc zmiennej word , natomiast jeżeli wystąpią temperatury ujemne bezwzględnie trzeba zastosowac tu zmienną interger ; inaczej wystąpią absurdalne interpretacje odczytów temperatury. Dla...
Witam. Napisałem taki program lecz mieszkam w internacie i nie mam przy sobie fizycznie układu. Proszę kolegów o teoretyczne sprawdzenie programu, czy dobrze to zrozumiałem. Pozdrawiam [syntax=basic4gl] ' Termometr DS18B20 $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6...
Witam ponownie, Może mi ktoś poweidzieć co jest źle, bo mryga mi cały czas napis z tej linijki: Lcd "0" ; Chr(1) ; "C 10" ; Chr(1) ; "C 20" ; Chr(1) ; "C 30". Chodzi tu zapewne o graficzne przedstawienie na alfanumerycznym LCD wartości "Wart_temp" (temperatura(?) Pomysł nie jest wcale zły, ale gorzej z jego realizacją. Ogólnie brak jest poprawnej synchronizacji...
http://obrazki.elektroda.pl/1523592300_1... W schemacie pominąłem zasilanie i podłączenie LCD. Kod: (został wzięty z książki M. Wiązania - "Programowanie mikrokontrolerow AVR w jezyku Bascom", usunąłem kod od obsługi LCD bo mam go ustawionego w bascomie) $regfile = "m8def.dat" $crystal = 8000000 Config 1wire = Portc.5 'konfiguracja...
Program wygląda dużo lepiej. I = 1wread(2) pobiera dwa bajty w których znajduje się temperatura. Polecam zajrzeć do karty katalogowej DS18B20 str.4. W I znajdzie się liczba 16 bitowa, gdzie pierwsze 4 bity to znak, następne 8 bitów to część przed przecinkiem, a cztery ostatnie to to co po przecinku. Liczby ujemne są w kodzie U2. S = I / 16 Powyższe...
Jak sprawdzić czujniki ds18b20 czy prawidłowo wskazują temperaturę bo słyszałem że są niektóre fabryczne ,,felerne,, .Umnie wszystkie 5 zawyżają o 2stC , a może jest błąd w kodzie. dziękuje $regfile = "M16def.dat" $crystal = 8000000 '****** KONFIGURACJA PORTÓW ********* Config Porta = Output 'wysw ABCDEFG Config Portc = Output 'zasilanie W4,W3, W2,...
Witam Używam Attiny2313 do pomiaru dwóch temperatur z DS18B20. Wynik ( Integer ) przesyłam bez żadnej obróbki przez UART przewodem 40 cm do Atmega328. Atmega rozbija odebrane dane i jest obróbka Kod Attiny2313 $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 4800 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5...
Witam Mam problem z programem, który został umieszczony w książce (osła łączka). Program został napisany pod attiny2313 lecz niestety podczas kompilacji wyskakuje błąd: Reserved word may not be used Proszę kod umieścić w znacznikach code! Robak
A gdyby TAK: (od razu mówię że tego nie próbowałem) ... ale może ktoś z Was? Ta sekwencja: 'Odczyt danych z przyrządu podlączonego do 1WIRE Sub Odczyt_temp 1wreset 'inicjacja magistrali 1WIRE If Err = 1 Then 'W Przypadku Braku czujnika coś tam wyświetl End If 1wwrite &HCC 'żądanie zgloszenia się ukladu podlączonego do linii 1WIRE 1wwrite &H44 'Convert...
Jest program napisany dzieki waszej pomocy. A tu program w razie jakiś błędów piszcie. Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd = &B1111111 Config 1wire = Portd.5 : Dim Odczyt(2) As Byte , A As Byte , T As Integer Do 1wreset : 1wwrite &HCC : 1wwrite &HBE 'odczyt z DS1820...
Jeżeli ktos posiada DS1820 lub DS18S20 to mam prośbe aby przetestowal program zamieszczony ponizej poniewaz posiadam DS18B20 a w nim inaczej odczytuje się temperature. Sprawdzałem to na symulatorze w Bascomie AVR i działa. Odczyt temperatury z dokładnośćią 0.5 st C bo mam wątpliwosci czy z DS-a o przetworniku 9-cio bitowym da się wycisnac dokładniej...
Witam. Chciałbym odczytać temperaturę z czujnika DS18B20 przez długie i krótkie migania diodą. Np gdy mamy temperaturę 25 stopni to dioda sygnalizowała by dziesiątki za pomocą dwóch długich piknięć a jedności poprzez 5 krótkich. Dopiero zaczynam zabawę z Bascomem i kompletnie nie wiem jak się za to zabrać. Poniżej wklejam fragment kodu z odczytem temperatury....
Nie wiem jeszcze jak więc, liczę na pomoc do kodu poniżej chciałbym dodać funkcje sygnalizacji piknięciem z głośniczka na płytce, informującego o zmianie temperatury co 1 stopień w górę lub dół. płytka EvB 4.3 procesor - Atmega32 kod napisany w Bascomie ' Termometr DS18B20 $regfile = "m32def.dat" $crystal = 16000000 Config Lcdpin = Pin , Rs...
Witam Przerzucam się z Bascom na C. Niestety jest to odrobinę bolesne. O ile LCD już ogarnąłem, to kłopot sprawia mi DS18b20. Zaraz po uruchomieniu układu, temperatura wyświetla się w miarę dokładnie. Niestety po kilkudziesięciu sekundach wyświetlana jest temperatura ujemna (!). Czyli najpierw pokazuje ok 22-23 st. i nagle przeskakuje na -8st. Wygląda...
Mam swój program bardzo podobny i też właśnie na symulatorze dobrze pokazuje. A mógłby ktoś powiedzieć jaki dodatkowy pin trzeba podłączyć?? .:EDIT:. Już wszystko ładnie działa. Pokazuje wszystkie 4 linie Zmodyfikowałem program DUCHa. Został on przerobiony do LCD 4 liniowego oraz dodana obsługa temp. ujemnych http://img178.imageshack.us/img178/1674/...
http://obrazki.elektroda.pl/5924959500_1... Witam ponownie! Kilka dni temu chwaliłem się projektem "PALM v1.0 BETA Atmega128", a dziś chciałbym przedstawić komputerek do motoru lub roweru jaki zrealizowałem już jakiś czas temu na zamówienie. Urządzenie miało zastąpić oryginalne psujne, mechaniczne zegary. Funkcje i założenia: *Wyświetlanie...
Usunąłem Wait 1 przy konwersji z DS18B20, działa, bez problemu ( na trzech przewodach ), tylko wyniki są opóźnione - tzn. wyświetlany wynik nie jest z aktualnego pomiaru, tylko z poprzedniego. Dodałem jeszcze dwa czujniki DS18B20. Ich zapis razem z godziną i datą na karcie jest jak najbardziej w porządku, tylko wyświetlanie trochę szwankuje - tzn. czasem...
Tzn. wiem, że zmienna typu bajt nie może być większa niż 255, ale zapomniałem, że nie robi się operacji na różnych typach zmiennych razem [syntax=vbnet] Solar_mid_mod_temp = Solar_mid_mod_temp \ 2 ' srednia z dwoch czujnikow = 283 [/syntax] co prawda przekracza 255, ale wynik z dzielenia przez 10 i Modulo 10 już nie, czyli 28 i 3 [syntax=vbnet] Solar_mid_dec...
Witam. Dostałem 4 sztuki ds18b20 w samplach i konstruuję termometr do szkoły. Napisałem program,udało mi się połączyć z czunikami i wyświetlić temperaturę na LCD,wszystko było ok. Oba czujniki miałem zamontowane na płytce prototypowej(mam na niej zmontowany cały układ). Po pierwszych testach przylutowałem do jednego czujnika skrętkę o długości ok 30...
http://obrazki.elektroda.pl/4192018300_1... Witam! Postanowiłem przedstawić mój projekt urządzenia do rejestracji danych na karcie SD (tzw. data logger). Urządzeniu nadałem nazwę MADACU stanowiący skrót od szumnej nazwy Measurement And Data Acquisition Control Unit. Urządzenie miało być uniwersalne tzn. służyć do pomiaru temperatury,...
Witam zainstalowałem najnowszą wersję bascoma 1.11.8.3 i chcę skompilowac program z kursu mikroprocesorowej oslej łączki co32g jest to podwójny termometr , wgrywałem go starą wersją bascoma do procka 90s2313 i działał. Teraz chcę skompilowac soft pod ATtiny2313 i wyskakuje mi Error file not found , co robie nie tak za pomoc dziękuję a to soft ' C032g...
Procek to At89S8252 napisane w Bascomie. Korzystałem z tego . Dim Disp4 As Byte Dim T As Integer Dim T1 As Integer Dim Bd(9) As Byte Dim Tmp1 As Integer Dim Tmp2 As Integer Dim Tmp3 As Integer Declare Sub Showmetemp Declare Sub Read1820 Anoda1 Alias P3.7 Anoda2 Alias P3.5 Anoda3 Alias P3.4 Anoda4 Alias P3.3 '***************************************...
a wiec zaczal mi dzialac po tym jak odpialem zasilanie i dziala obecnie w trybie parasite (bez mosfeta ktory jest na schemacie w instrukcji do ds- a ) ale.... wykorzystalem rozne programy i bzdury mi pokazuje temperatury po 250stopni albo minus 70 skacze bardzo temperatrura jak go tylko dotkne.... czy to oznacza ze ukladzik mam juz zwalony :)) czy...
Witam, mam problem z odczytem poprawnym temperatury. Niestety nie znalazłem tematu, który by pasował do mojego problemu. Atmega odczytuje poprawnie adresy czujników po czym odczytuje mi na wszystkich jednakową temperaturę (85*C). Czujniki podłączone są równolegle do jednego portu z podpiętym rezystorem podciągającym 4,7k pomiędzy DQ a VCC 5V. Nie mam...
Witam. Może od razu na wstępie zaznaczę że dopiero zaczyna przygodę z programowaniem w "bascomie" więc proszę o wyrozumiałość. Zbudowałem sobie termometr na wyświetlaczach 7seg. led na ds18b20 termometr działa poprawnie i pokazuje temp ujemną. Na wszelki wypadek jeszcze napisze jak by ktoś nie wiedział albo się nie domyślił po co użyłem aż 6 wysw led....
Witam! Jako że zaczynam dopiero z bascomem mam mały problem z napisaniem sensownego kodu do termometru. Na tą chwilę z materiałów znalezionych w internecie udało mi się zlepić coś takiego: $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności...
Witam Na wstępie chciałbym zaznaczyć iż jestem początkującym programistą i dlatego proszę o wyrozumiałość. Robię termometr na lampach nixie, ale nie działa mi poprawnie komunikacja z ds18b20 i ds1820. Problem polega na tym, że na lampach pokazuje się wartość -00.1 tak jak by wyjście czujnika było zwarte bezpośrednio z + , a nie jest . Czujnik jest podpięty...
Jeszcze się zastanawiam, czy nie lepiej będzie zamiast Lsb i Msb odczytanej temperatury pobierać obliczoną wartość przed przecinkiem i po przecinku ? Tzn. wynik pomiaru temperatury będzie przesyłany przez RFM12 - chyba prościej będzie mieć gotowe, czyli wysyłam: Dodano po 4 Jednak coś nie tak jest. Zrobiłem to tak: Dodano po 2 Nie rozumiem. Po dwóch...
Niedawno miałem podobny problem i kolega ZUMEK mi pomógł przerobił swój program na moje potrzeby może tobie sie przyda do wyciągniecia wniosków u mnie działa bezproblemowo: $regfile = 89c2051.dat $crystal = 11059200 Const Displays = 4 ' liczba wyswietlaczy LED Const Cyclespushall = 45 'ilosc cykli od przepelnienia T0 , do jego "przeladowania" Const...
Dzień dobry, Zbudowałem termometr cyfrowy oparty na układzie Atmega8 i czujniku DS18B20. Do tego podpięty jest wyświetlacz LCD. Termometr "pamięta" i wyświetla temperaturę maksymalną i minimalną z ostatnich 12 godzin. Do tego wszystkiego podłączyłem diodę RGB tak jak na schemacie: http://obrazki.elektroda.pl/6410117800_1... Zadaniem...
Witam, postanowiłem dodać do programu pomiar temperatury mam czujnik DS18B20 , tylko że kod programu odpowiedzialny za sterowanie czujnikiem opóźnia działanie encodera ,gdzie jest tutaj błąd może czegoś nie uwzględniłem w tym kodzie ? poniżej cały kod [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
witam wszystkich - to jest moj pierwszy post i oczywiscie jest tez prosba uporania sie z problemem napisalem program ktory odczytuje temperature z 1 czujnika i wyswietla ja na 2 wyswietlaczach 8 segmentowych niestety nie potrafie go przerobic odpowiednio do odczytu z dwoch czujnikow one_wire_reset(); one_wire_byte_write(SKIP_ROM);//...
Tak, AVCC jest podłączone. Program w Bascom: http://obrazki.elektroda.pl/8556711100_1... http://obrazki.elektroda.pl/5791017800_1...
dzięki działa:) dodałem jeszcze buzzerek, ale mam takie pytanie układ ma działać jako termometr informujący o danej temperaturze i bliskości zagotowania wody w obiegu. Kod napisany teraz po przekroczeniu temperatury 70 C zacznie odgrywać melodyjkę, po przekroczeniu 80 inna, a 85 na bardzo piskliwą. Ale potrzebuje coś aby spełniało taka cechę: np. idę...
Podałem wyraźnie, że oprogramowanie napisałem w WinAVR ;) Nie uznaję czegoś takiego jak bascom (wystarczyło mi raz w życiu się na nim przejechać...). Przedstawię "odchudzone" kody źródłowe - aby były całkowicie funkcjonalne należy troszkę dopisać. Ogólna idea jest przedstawiona. Sam main w programie jest niewielki. Dla przykładu pokażę jak zrealizowałem...
Nie wiem czy dobrze ustawiłem dim'y Wyswietlanie,Trybprzycisk, Trybpomocnicza1 mają być Byte ? W takim układzie przyciski będzie zczytywało co 4ms, ale co z odświerzaniem LCD co 100ms i 1sek ? Aha i gdzie mam określić port przycisku PORTA.7. [syntax=vb]$regfile = "m16def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o częstotliwości...
Po przeczytaniu wielu postów napisałem program który ma wyświetlać na wyświetlaczu LCD Napięcie , prąd oraz temp. Chciałem to wykorzystać do zasilacza, którego właśnie buduje. jednak po zaprogramowaniu procka wyświetlacz mi się nie inicjuje (zaświecają się kwadraty w pierwszej lini). Czy jest jakiś błąd w moim programie ? Proszę o sprawdzenie. $regfile...
bascom ds18b20 ujemny temperatura ds18b20 ujemny ds18b20 temperatura ujemny
schemat wycieraczki sterowanie oświetleniem komputer otwiera klapa
teltonika konfiguracja sprzedam tp118
Czy Google spowalnia Firefox na YouTube? Jak sprawdzić sprawność miernika IMI Robin?