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...
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.
Czy przypadkiem zmienna I nie zwraca ci temperatury ujemnej gdy ona występuje? Znak jest zawarty w drugim bajcie => patrz datasheet.
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
wartości mają być też ujemne... dodaj to do programu i jakiego typo ma być wtedy zmienna?
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 :)
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ć...
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...
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ł.
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ć :?:
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...
(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.
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....
Dzięki za program, udało mi się odczytać 2 bajty. Niestety nie posiadam wyświetlacza alfanumerycznego i korzystam z 4 wyświetlaczy sterowanych multipleksowo, więc mam problem z rozszyfrowaniem znaczenia bitów. Z moich obserwacji pierwszy bajt ma duży wpływ na temperaturę, ale nie pokazuje on chyba prawidłowej temperatury w kodzie dzisiętnym... Na drugim...
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...
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...
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...
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...
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...
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...
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...
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.... ;]
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ę...
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)
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...
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ć :)
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 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...
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...
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...
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...
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)...
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. 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....
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. 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...
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...
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 ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
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. 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 Dzięki pomocy elektrody i 2 mądrych książek udało mi się coś takiego naskrobać. Przez moment używałem 2 timerów ale po jakimś czasie wyszło coś takiego: $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = 255 'wszystkie końcówki jako wyjścia Portb = &B11111111 'na początek wygaś Config Portd = &B1111111 'dwie najmłodsze jako...
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...
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. 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)...
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...
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! Pracuję na AVR, piszę w WinAVR w C+. Otóż gdy temperatura schodzi do zera, to w momencie przejścia przez 0stC pojawia się -0.1, a potem już leci do góry i pokazuje wartość bezwzględną temperatury (znika -0.1 i dalej są same dodatnie wartości). Szukałem tutaj sporo, ale wiekszość jest pod bascoma, a ja piszę w C+... Kod (ściągnęty + oryginalne...
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...
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...
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...
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...
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...
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...
: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 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....
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...
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....
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 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
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. 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,...
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...
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...
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ą...
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 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);//...
Witam, Na tej stronie znalazłem opis jak podłączyć czujnik DS18B20 do wyświetlacza LCD http://www.portalnaukowy.edu.pl/termomet... Oto kod: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksiażki "Mikrokontrolery dla Poczatkujacych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja...
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),...
Witam wszystkich! Pewnie pomyślicie "znowu to samo", no ale zlitujcie się w Wigilię i przeczytajcie te kilka zdań :D Walczę z problemem od kilku dni. Nie potrafię skonfigurować Timera by konwertował dane z 1wire poza główną pętlą. Nie mogę sobie pozwolić na waitms, bo wtedy mam problemy z poruszaniem się w menu. Mam już działający Timer1 odliczający...
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...
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...
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 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...
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ę...
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...
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 =...
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...
Witam na wstępie chciałem powiedzieć, że nie jestem dobry w programowaniu, bo dopiero zaczynam i mnie to powoli wciąga. Mam parę pytań i postanowiłem napisać. Chce zrobić sobie taki mini komputer pokładowy do Fiata Cinquecento 700. Ten mały układ ma wskazywać temperaturę w środku samochodu i na zewnątrz a tak, że będzie pokazywać napięcie, jakim jest...
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...
Zobaczcie w linku jest komputer samochodowy na wyświetlaczu LCD 4*20. Tam przy temperaturach są znaczniki: "t1" i "t2". http://pl.youtube.com/watch?v=yJMelf8jW1... Zajmuja one jedno pole wyswietlacza. Jak wprowadzic te znaczniki do tego kodu, potrzebowalbym: t1, t2, t3, t4 $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal...
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 '***************************************...
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[syntax=basic4gl]' ----------------------------------------... ' The support for this display has been made possible by Peter Küsters from (c) Display3000 ' You can buy the displays from Display3000 or MCS Electronics ' ----------------------------------------...
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
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...
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...
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...
[syntax=basic4gl]'Projekt sterownika na podczerwień '12 kanałów binarnych sterowanie załącz/wyłącz 'oraz 2 kanały sterowane sygnałem PWM do regulowania 'układ posiada system chłodzenia składający się z trzech wentylatorów 'każdy wentylarot załacza się przy innej temperaturze 'przy temperaturze >=40 stopni celcjusza działają wszystkie wentylatory...
Witam, mam taki problem. program wg mnie powinien po przekroczeniu ustalonej temperatury wyswietlac na LCD napis, wlaczac Buzzer oraz zapalic diode. A po nacisnieciu przycisku wyłaczyc to wszystko. I problem jest taki ze wylacza wszystko oprocz diody. Tzn po wlaczeniu sie alarmu dioda wogole juz nie gasnie ani po obnizeniu temperatury ani po nacisnieciu...
Tak, AVCC jest podłączone. Program w Bascom: http://obrazki.elektroda.pl/8556711100_1... http://obrazki.elektroda.pl/5791017800_1...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Witam Chcąc zbudować termometr wraz z alarmem, natknąłem się na forum Elektroda o temat "Termometr wraz z alarmem do CO - http://www.elektroda.pl/rtvforum/topic18... Termometr opiera się na projekcie użytkownika DUCH__. W kodzie widnieje błąd program ten ma wadę, że czujniki dobiera sobie losowo (czyli piec nie zawsze będzie piecem). Czy jest...
Znalazłem poniższy kod na "Elektrodzie" załadowałem do procesora, pomiar napięcia jest zrealizowany zgodnie z przykładem z książki o Bascomie, niestety coś jest nie tak, ponieważ mimo że do ADC1 nie przykładam żadnego napięcia na wyświetlaczu pokazuje napięcie 1,96-2,03 V, po przyłożeniu napięcia 5V wskazanie wyświetlacza jest prawidłowe. [syntax=basic4gl]...
Możesz pokazać przykład jak wykorzystując multiplexowanie zrobić taki termometr, oczywiscoie musi wzkazywać ujemne temperatury. No i oczywiscie musi sie zmiescić do proca. W c++ na pewno taki ter,mometr jest możliwy, ale mnie chodzi o bascoma.
Witam mam pewien problem . Jakiś czas temu szukałem gotowego schematu i wsadu procesora aby zrobić termometr 4 kanałowy na wyświetlaczy 16x2. Zrobiłem płytkę, zaprogramowałem w bascomie mikrokontroler gdy podłączyłem wszystko, na wyświetlaczu w 1 linijce mam tylko kwadraty i tak cały czas, nie znam się na programowaniu ale staram się jakoś tego uczyć...
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ż...
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...
ds18b20 ujemne temperatury ujemne ds18b20 ds18b20 ujemne
rozebrać pompa skrzynia crunch części żelazka
czemu zalewa swiece czemu zalewa swiece
Błąd L2 w kotle Buderus GB24 - zapłon i detekcja płomienia Funkcje przycisku na liczniku przy kaloryferze