Napisałem prosty skrypt w Pythonie, aby odczytywał po serialu sterownik solarów i wysyłał dane do domoticza. Oto jego kawałek - odpowiedzialny za wysłanie jednej z 5 wartości: Dodano po 2 Nikomu nie muszę dziękować, bo w końcu sam sobie poradziłem. Nie chciałem się wdrażać w pythona, bo to mi chyba nie będzie potrzebne, ale że nikt mi nie pomógł to...
Witam. Mam pytanie dlaczego mój termometr nie działa poprawnie. Zapamiętuję temperaturę maksymalną lecz nie zapamiętuje temperatury minimalnej. Minimalna temperatura jest tylko zapamiętywana tylko przy minusowych temperaturach. Oto program: Config 1wire = Portd.5 : Dim Odczyt(2) As Byte , A As Byte , Dim T As Integer , Tmin As Integer ,...
Witam Mam taki program który wyświetla temperaturę potocznie zwany termometrem. Problem w tym ze nie wyświetla mi znaku minus przy ujemnych temperaturach. Po wsadzeniu do zamrażarki mija temperaturę 0 st C i idzie dalej niby w dół, ale bez minusa. Przeglądałem sporo źródeł na elektrodzie i w innych miejscach i nie mogę sobie z tym poradzić. Oto kod:...
Pytanie: Jak mogę dokonać pomiaru wartości analogowej, jeśli w moim systemie pozostało tylko jedno GPIO na FPGA/mikrokontrolerze? Odpowiedź: Zamiast przetwornika analogowo-cyfrowego można zastosować przetwornik napięcia na częstotliwość. Ponieważ zapotrzebowanie na funkcje pomiarowe staje się coraz bardziej powszechne w nowoczesnych aplikacjach medycznych,...
Witam Mam problem z odczytaniem temperatury z 2-uch ds18b20 program napisałem w C w oparciu o znalezione pliki owire.c i owire.h program się kompiluje jednak na wyświetlacz nie trafiają informacje o MSB i LSB (na początku chcę przetestować na jednym ds18b20 bez konwersji na temperaturę) jedyną modyfikacją jaką wprowadziłem było zdefiniowanie typu u08...
Printf + float na tym procesorze to proszenie się o problemy. Te para ma spore wymagania pamięciowe i można się przejechać przy małych procesorach. Wszystko jeszcze zależy od tego z których bibliotek korzystasz. Konwersję temperatury z DS można wykonać w prosty sposób bez używania floatów.
Witam, problem tkwi w wyświetleniu temperatury na LCD. Czujnik działa w trybie 12 bitowym. Szczytuje pierwsze 12 bitów z pamięci scratchpada, sprawdzam czy temperatura jest + czy -, a następnie dokonuje konwersji temperatury na string. Na wyświetlaczu pokazują się jednak dziwne rzeczy. Użycie funkcji typu sprintf odpada (zajmuje za dużo miejsca). Konwersja...
Witam. Posiadam inkubator i sterownik do niego. Wszystko jest okej gdy program działa na wait'ach. Chcę przepisać go do przerwania na timerze ale program mi się zawiesza po wgraniu. Po uruchomieniu nie zawsze pokaże temperaturę, po wyjściu z "menu" również czysty ekran zamiast pomiarów. Cała konstrukcja składa się z: *czterech przycisków Sw1-Sw4 *dwóch...
W moim projekcie sterownika do kotłowni mam problem z odczytem temperatur. Mam 9 czujników, problemu nie było, gdy były podłączone testowo na krótkich przewodach (3 przewody na czujnik). Czujniki DS18B20 są na przewodach o długościach od 2m do 10 m (najdłuższy 10m). Do momentu, gdy podłączonych jest 7 czujników wszystko działa poprawnie, problem pojawia...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: Dzięki za upomnienie, faktycznie gdzieś to przeoczyłem, na schemacie ideowym nawet masa wisi :) Poniżej zamieszczam poprawiony schemat ideowy i płytkę w EAGLE. Widząc duże zainteresowanie kodem wrzucam wsad w BASCOM. Załączam również program współpracujący z urządzeniem. Program może działać...
Witam W ramach dalszego eksperymentowania z AVR i Bascom popełniłem połączenie odczytu z DS18B20 z sterowaniem wyjściem uC ( przez tranzystor FET ) + dodatkową atrakcję - buzer, który sygnalizuje wł/wył tranzystora/wyjścia. Chciałem dodać możliwość zmiany temp max i min, przez proste menu. Menu zrobiłem w oparciu inny mój kod obsługujący ustawianie...
Witam. Złożyłem sobie termometr na tym sławnym czujniku. Wszytko chodziłoby ok, gdyby nie to, że powyżej temperatury 34 stopnie wszystko zaczyna wariować. Zaczyna pokazywać na zmianę dobrą temperaturę i podwojoną -zmienia się co kilka sekund i nie zawsze w tym samym odstępie czasowym. Czujnik jest podłączony w ten sposób: Rezystor jak na schemacie 4,7kΩ....
Program przepisałem całkowicie z zmieniłem tylko port na PC5. Najpierw podłączyłem dobrze i otrzymywałem takie coś: -16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00... No w moim mieszkaniu to tak ok 24°C. Potem wyciągnąłem układ i wpiąłem źle (odwrotnie masę z zasilaniem)....
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....
Zacznijmy od tego, że ten wyświetlacz w wywołaniu lcd.str_lcd() musi mieć podany tzw. string, czyli łańcuch znaków. Nie możesz tam wstawić wprost danych, musisz je przekonwertować do typu char. Służy do tego wiele standardowych i nie-standardowych funkcji języka C. Zapoznaj się np. z takimi: itoa / ltoa / ultoa / dtostrf / sprintf i pewnie jeszcze parę...
Podepnę się pod temat, aby swojego nie zakładać. Zrobiłem taki program(jak poniżej). Kostka DS18B20 odpowiada(obserwuję oscyloskopem) na sygnał Reset z mikrokontrolera. Czyli kostka "żyje". Ale nie reaguje później na żadne rozkazy(Skip ROM, Convert T, czy inne). Okna czasowe są realizowane według zaleceń z datasheet układu DS18B20. Więc co tu może nie...
To mój pierwszy raz z DS18B20. Mam problem z odczytem temperatury z DS18b20. Pierwszy odczyt z układu daje warość 0x0550 czyli defaultowa wartosc po resecie. Jednak nastepne odczyty dają wartość 0x07FF. WTF? Poniżej listing. Procek taktowany 16MHz z zewnętrznego oscylatora. (F_CPU zdefiniowane na 16000000) int main () { uint8_t a=0; uint8_t...
Problem pewnie leży w procedurze. therm_read_temperature(temp); Tam zapewne masz jakiegoś delay-a ustawionego (na czas potrzebny na konwersje temperatury przez DS-a). Musiał byś pokombinować, żeby przebudować tą funkcję a delay-a wbudować najlepiej w obsługę przerwań z timera z którego korzystasz. Np. Timer przerywa częściej, za każdym razem...
Witaj Być może masz zbyt słabe zasilanie i jak wymusisz we wszystkich dallasach konwersję temperatury jednocześnie oraz włączysz podświetlenie to masz spadek napięcia na zasilaniu i dallasy przeprowadzają złą konwersję albo powstają błędy przy transmisji.
Witam mam wielki problem z ds18B20 kość podłączyłem zgodnie z załączonym tematem pobranym z neta soft też pobrany a nic nie działa wyświetlacz ciągle pokazuje 95 bez względy czy sie podgrzewa czy nie...... najdziwniejsze jest to że około roku temu układ działał bez problemu na tym samym sofcie i schemacie, jedynie zmieniłem attiny bo tamto wykorzystałem...
witajcie. mam problem z konwersją temperatury na czujniku ds18b20 wszystko jak w manualu, ale... 1wire działa dobrze. vcc jest zewnętrzne, data jest podpięte do portu i do vcc poprzez rezystor 4.7K jak w datasheet. uklad dziala, ale pokazuje temperatury o jakieś 80 stopni C za niskie. to znaczy jak w pokoju mam 20 stopni, to na lcd mam -60 (około)....
Witam Pisze program pod termostat na 89c4051 - lm35 i przetwornik PCF 8591. Znalazłem gotową procedure odczytu czterech kanałów i mam problem z konwersacją pomiaru 1 na temperaturę - napięcie odniesienia PCF 8591-1,2v.(lm 385/1,2V) Config Scl = P1.0 Config Sda = P1.1 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P1.2...
Witam Oto kod czy ktoś mógłby rzucić okiem gdzie jest błąd? Ogólnie wyświetla przez cały czas 85 stopni. Tak wygląda sama konwersja w czujniku: void LCD_18b20_multidrop(/*unsigned char posx, unsigned char posy,*/ unsigned char *adrr) { unsigned char i,tablica[4]; signed char alarm; int temp; ow_reset(); ow_byte_wr(0xCC);...
Witam !!! Zaczynam sie uczyc jezyka C z ksiazka "Jezyk ANSCI C" i bede raczej czesto potrzebowal pomocy od kogos kto zna ten jezyk :) Dzis problem polega na tym ze przepisalem z ksiazki program ktory wypisuje zestawienie temperatur w skali Fahrenheita i ich odpowiednikow w (stustopniowej) skali Celsjusza jednak gdy kompiluje i uruchamiam program za...
Widzę, że większość pytań o d18b20 jest w tym dziale więc chyba tutaj najsensowniej zadać pytanie. Mam 10 termometrów ds18b20 podłączonych w trybie parasite. Problem jest tym, że odczytanie po kolei wszystkich zajmuje trochę czasu. Z tego co się orientuję, to pomiar temperatury wygląda tak, że wysyłamy do termometru polecenie Convert T i czekamy z wysokim...
Firma Linear Technology Corp. wprowadziła na rynek układ LTC2996 – wysokiej dokładności czujnik temperatury, dostosowany do pracy z systemami zasilanymi napięciami od 2,25 do 5,5V. Układ mierzy temperaturę „roboczej” diody z dokładnością +/- 1oC i temperaturę własnej struktury półprzewodnikowej z dokładnością +/- 2oC, jednocześnie...
Witam. Koledzy mam pytanie dotyczące tego czujnika. Dlaczego w bascomie z powodzeniem i bez błędów działa odczyt temperatury z tego czujnika bez oczekiwania na czas konwersji temperatury? Od jakiegoś czasu stosuje taki właśnie sposób odczytu ds-ów i teraz przy budowie sterownika c.o. zacząłem się temu przyglądać, czytać i wychodzi że czas konwersji...
Witam wszystkich Elektrodowiczów! Otóż muszę użyć układu DS18B20 do pomiaru temperatury. Sięgnąłem po niego, gdyż kiedyś go używałem i działało wszystko OK ;) - jednak nie tym razem :/. Chcę wykonać po prostu zwykłą pojedynczą konwersję temperatury i odczytać ją ze ScratchPada. Wykonuję: 1. Wysyłam Presence Pulse do DS18B20. 2. Otrzymuję "1". (zapala...
Witam mam napisany już cały program lecz mam problem ze zmianą znaku na temperaturze minusowej lecz nie w czasie rzeczywistym tylko zapamiętaniu minimalnej temperatury kod: [syntax=basic4gl]$regfile = "m8def.DAT" 'deklaracja procesora, Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja...
Witam ! Dokonuje odczytu temperatury z ds18b20. Otrzymuje dwa bajty danych. Te bajty to nie są takie normalne bajty, bo jak wiecie pierwsze 4 bity młodszego bajtu, to część ułamkowa, 5 najstarszych bitów starszego bajtu to znak, a cała reszta, to temperatura, gdzie najmłodszy jej bit ma wagę 2^0. Teraz mam problem jak dokonać konwersji. Bo jak użyję...
Witam Po przesunięciu w prawo w miejscu gdzie mamy informacje o temperaturze +/- są uzupełniane automatycznie bity 0000 i nie mamy możliwości rozpoznania tego znaku Dlatego stosujemy maskę i wszystko wraca do normy Jeżeli kolega zumek ma inne rozwiązanie to proszę o przedstawienie kilku linijek kodu Jestem ciekaw jak to robią inni Ten kod był sprawdzany...
a umiesz może programowac w bascomie, bo ja już około 10 godzin przeznaczyłem jak nie więcej na próbę odczytu temperatury z proteusa (ale wpierw kod trzeba w bascomie zrobić) no i nie działa. Już mnie ch_ujnia strzela. Mój program wygląda tak (ale był 100 razy zmieniany i żadna wersja nie działała): Do Spiinit 'Inicjalizacja SPI oraz portów Set P3.1...
ADT7410 jest cyfrowym czujnikiem temperatury o wysokiej dokładności. Zawiera w swojej strukturze półprzewodnikowy czujnik temperatury (oparty o zjawisko zmieniania się przerwy energetycznej półprzewodnika w funkcji temperatury) oraz 13 bitowy przetwornik analogowo cyfrowy do digitalizacji pomiaru z rozdzielczością równą 0.0625°C. Za pomocą zmiany jednego...
Dopiero teraz bo po pracy jestem, kod zmieniony wszystko działa dziękuje wszystkim za pomoc. Poniżej zamieszczam kod może komuś się przyda. Temat Rozwiązany !!! ' Termometr DS18B20 $regfile = "m32def.dat" $crystal = 16000000 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 'standard...
Witam, Jako autor oryginalnego opracowania wtrącę swoje trzy grosze (Autor postu poinformował mnie mailowo o tym wpisie). Przede wszystkim jestem zaskoczony, że ktoś odgrzebał tego mojego starocia jeszcze z czasów licealnych:) Co ciekawe jakiś czas temu znalazłem oryginalny prototyp tego wynalazku w starym pudle ale niestety puściło jakieś lutowanie...
Co do odczytu rezystancji to nie lepiej skupić się na odczycie temperatury? a nie bawić się w konwersję omów na temperaturę. Są przetworniki analog cyfra i na odwrót, może to jest dobry kierunek poszukiwań. Kwestia przesyłania bezprzewodowego to już do wyboru BT , Wi-Fi.
Wklejaj kod w znaczniki C, przykład podjęcia decyzji grzać czy nie grzać: [syntax=c] if(PomiarTemp<(nastawaT-histT) ) { grzej=1; } else if( PomiarTemp>(nastawaT+histT)) { grzej=0; } [/syntax] Przykładowo dla nastawy 20 i histereza=1 zmieni grzej na 1 przy mniej niż 19, albo zmieni grzej na 0 przy >21. Zresztą pokazany kod do kosza, wywal delay,...
Spróbuj zwiększyć czas konwersji.
Uchyb w °C jest rownowazny uchybowi w Ω, rezystancje czujnika platynowego latwo przeksztalcic na temperature z rownania R = R0(1+αΔT), natomiast wymyslilem juz, ze potrzebna jest za regulatorem konwersja rezystancji (temperatury) na napiecie. Zastanawiam sie tylko jak dobor konwersji wplynie na jakosc regulacji. Domyslam sie, ze taki...
Taka modyfikacja nie rozwiązuje problemu ( cykliczny zanik świecenia wyświetlaczy na około 1sek). Kod: Temperatura2: Config 1wire = Portb.4 1wr 'podprogram 1wr 1wwrite &HCC 'komenda skip ROM 1wwrite &H44 'rozkaz konwersji temperatury wait 1 'odczekanie jednej sekundy Return
Pokaż cały program. Masz podłączone w trybie parasite, musisz więc ustawiać stan wysoki na linii danych podczas konwersji temperatury.
DS18B20 potrzebuje na to min 750ms. To znaczy 750ms to jest maksymalny czas konwersji temperatury przy rozdzielczości 12 bitowej. Nie koniecznie taka jest wielokrotność stałej czasowej takiego czujnika związana z odpowiedzią na skok jednostkowy. Jest to zależne od rodzaju zastosowanej obudowy.
Witam tronics ja wiem jak mierzyć temperatury poniżej zera, jak byk jest to rozrysowane w manualu, mówię o zakresie temperatur podawanym dla konkretnego modelu przez producenta, zobacz dla przykładu jaki rozrzut cen występuje u jednego dostawcy (np. TME) najtańsze są te o zakresie 0-100, nie wnikam co się dzieje, charakterystyka jeździ poza założone...
W kodzie widziałem _delay_us(2), _delay_us(15) przy obsłudze magistrali 1W bez wcześniejszego użycia cli(). Sprawdzałeś jak długo wykonują się twoje przerwania? Dotyczy to sytuacji: //wykonanie funkcji w tym miejscu powoduje błędne wyświetlenie lecz nie powoduje migania Miganie zaś (gdy wynik pomiaru ok) jest spowodowane tym, ze w przerwaniu masz _delay_us(15)...
Ja bym obstawił że to wina zasilania pasożytniczego. Jako że one nie są selektywne to ładują się wszystkie podczas transmisji, za mocno może przysiadać napięcie a przez to źle dokonuje się konwersja temperatury.
Tym oczekiwaniem jest odświeżanie wyświetlacza (i napisałem że jest beznadziejne :D). Poprawiłem tylko to co sprawiało kłopot, czyli temperatury ujemne. Ale oczywiście też uważam że ten cały kod jest skrajnie błędny. Napisany na kolanie po prostu. No więc widzisz, nie obrażaj się, ale jednak taka pomoc na kolanie też nic nie da komuś kto nic się jeszcze...
Naukowcy stworzyli odporny na wysokie temperatury emiter cieplny, który może znacząco poprawić wydajność ogniw słonecznych. Nowy komponent został zaprojektowany do konwersji ciepła słonecznego na promieniowanie podczerwone, które może być później absorbowane przez ogniwa słoneczne do wytwarzania energii elektrycznej. Technologia ta znana jest jako...
Jaki sens miałaby ta funkcja, gdyby tyczyła się tylko stałych? ano taki, że możemy chcieć wyświetlić dane z flash, szczególnie jeśli to są stałe. Generalnie, przez to wyróżnianie FLASH, RAM robi sie sporo kłopotów. no niestety ... ale ma też zalete nie trzeba bawić sie linkerem. Fajniej jest np w sdcc dla pic, tam zmienne globalne const są w pamięci...
Może ten artykuł wyjaśni Twoje wątpliwości:
Prawdopodobnie dlatego że ten czujnik używa kodu U2. Tutaj więcej informacji. [url=]Link EDIT: Napisz jeszcze co oznaczają zmienne (szczególnie scratchpad)
Witam, próbuję odczytać temperaturę z mojego czujnika jednak wynosi ona ciągle -0.1, a gdy próbuje pobrać odczytać ID wyświetla mi puste miejsca lub krzaczki. Przy próbie podłączania za pierwszym razem niestety źle spojrzałem na schemat i odwrotnie podłączyłem zasilanie więc teraz nie wiem czy to wina kodu czy może jednak układu. Chociaż jakby coś z...
Teraz muszę wykonać polecenie: "Tak jak pisałem wcześniej, domyślnie funkcje printf i sprintf nie obsługują liczb zmiennopozycyjnych. Zatem trzeba też w menu "Makefile->printf() options" zaznaczyć opcję "floating point"." ??? Do tak prostych obliczeń nie potrzeba używać liczb zmiennoprzecinkowych: i nagle program wynikowy staję się króciutki.
Nie sprawdzałem programu, ale od razu sugeruję pozbyć się zmiennej typu double, a temperaturę odczytywać następująco: Druga uwaga: Nie definiuj F_CPU w kodzie z tych powodów: Masz jakieś warningi po kompilacji?
Problem polega na tyn, że odczytana z czujnika temperatura wynosi niezmiennie 85 C. Po wydaniu rozkazu konwersji odczekuje 1 sekundę zanim zacznę odczyt temp. czas wydaje mi sie wystarczająco długi, żeby ds zdążył z konwersją. Próbowałem również po wydaniu rozkazu konwersji próbkować stan linii danych i przechodziłem do odczytu, gdy ds zwolnił magistrale....
Gdybyś miał termistor NTC tobym Ci poradził żebyś wygrzebał z jego dokumentacji parametry do równania Steinharta-Harta a w razie braku ww. zmierzył temperaturę termistora w trzech punktach i te parametry wyliczył. Następnie radziłbym wybrać(na początek) do dzielnika napięcia opornik o oporności zbliżonej do oporności termistora w temperaturze pokojowej,...
Witam, chciałbym lepiej sterować prędkością obrotową silnika MT78, aby nagrzać termistor. Z tego co wiem to stawia on spory opór więc np. sygnał 50 PWM raczej go nie ruszy. Wrzucam poniższy kod [syntax=c] #include <PID_v1.h> #define Krec 7 #define PWM 6 double Input, Output, Setpoint, _Output; //float gap; const int sampleRate = 1; // how fast...
Cyfrowy czujnik MS5839-02BA firmy TE Connectivity zapewnia dokładne pomiary ciśnienia oraz temperatury w aplikacjach, w których występuje wysoki poziom chloru i soli. Sensor ten jest odpowiedni do stosowania w zegarkach do pływania, monitorach fitness, pojazdach podwodnych i sprzęcie do nurkowania. Wypełniony żelem czujnik jest dostępny w kompaktowym...
Chciałem zaprezentować tutaj swoją pracę magisterską, jaką jest rozproszony system pomiaru temperatury z wykorzystaniem do transmisji danych technologii Bluetooth. System składa się z: - jednostki bazowej (na pierwszym foto) - jednostek zdalnych - komputera z odpowiednim oprogramowaniem Sercem jednostki bazowej jest ATMEGA16 (sprzętowo starczyło by...
Witam, zmieniłem trochę program oraz czujnik w tryb parasite power . Sytuacja trochę się poprawiła ale niewiele . Czujnik cały czas pokazuje temperaturę 128.0 stopni . Na początku jak dałem mu za mały czas po komendzie konwersji (0x44) to podawał 85.1 stopnia czyli jak to było gdzieś już powiedziane na forum to nie wyrabiał się z konwersją . Po zwiększeniu...
Witam. Mam problemy z obsługą transmisji linii 1-Wire. Układ mój wyposażony jest w Atmege32, czujnik temperatury DS1820 podłączony do portu A0, oraz tymczasowo zestaw diod sygnalizacyjnych podłączonych do portu B ( docelowo zamierzam dokupić wyświetlacz LCD). Obsługę lini 1-wire starałem się pisać zgodnie ze zaleceniami manuala DS1820. Czujnik reaguje...
Witaj! Z czujnikiem (NTC = 10k), który ja stosowałem poradziłem sobie w następujący sposób. Włączyłem go szeregowo z rezystorem 10k pomiędzy wyjście napięcia referencyjnego i masę analogową mikrokontrolera. Przetwornikiem A/DC mierzyłem bezpośrednio wartość napięcia na termistorze. Ze względu na znaczną nieliniowość takiego układu pomiarowego nie zdecydowałem...
Zespół naukowców z MIT zaprezentował pierwsze na świecie urządzenie, zdolne do pokonania teoretycznego limitu, ograniczającego wydajność ogniw fotowoltaicznych. Od roku 1961 wszyscy wiedzą, że limit, tzw Limit Shockleya-Queissera ogranicza klasyczne, krzemowe ogniwa słoneczne na poziomie 32%. Oczywiście od tego czasu opracowano wiele strategii, aby...
dziękuję za podpowiedź ale zostanę już przy arduino (pomału zaczynam ogarniać kuwetę). potrzebuję rozwiązać problem pomiaru z ds-ów. Dodano po 13 wymotałem taki kod [syntax=c]#include <DallasTemperature.h> #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <OneWire.h> #define ONE_WIRE_BUS 0 OneWire oneWire(ONE_WIRE_BUS);...
Witam!!! Częśc programu która cie interesuje to: TEMPLOOP: MOV ADCMODE, #12H ; INITIATE A SINGLE AUX CONV JNB RDY1,$ ; Wait for conversion results ; conversion result ready ; a value of 80h in AD1H=0degC MOV A, ADC1H ; 80h=0, FFh=+127, 00h=-128 CLR C SUBB A, #80H ; convert to 2's comp ; FFh=-1, 80h=-128, 00h=0, 7Fh=+127 W akumulatorze pozostaje temperatura...
$crystal = 4000000 'deklaracja częstotliwości pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaki stopnia Config 1wire = Portd.5 ' konfiguracja portu PD.5 jako wejścia magistrali 1-wire Dim Odczyt(2) As Byte , A As Byte , Licznik...
Racja, mój bład. Mam taki kod. $regfile = "m16def.dat" $crystal = 16000000 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Config Lcd = 16 * 2 Config Portc = Output Set Portc.1 Cursor Off Config 1wire = Portd.5 ' + jumper J2 B-C Dim Odczyt(2) As Byte , A As Byte , Licznik...
1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms 750 'przeczekaj czas konwersji 1wreset 'reset 1wwrite &HCC 'rozkaz adresowy SKIP ROM 1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu DS18x20 Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2)...
Chciałem zapytać czy obsługa przerwań musi być włączona aby można było przeprowadzić konwersję? Mam następującą funkcję wyłączającą w moim programie. Chciałbym aby przerwania były wyłączone żeby nie włączało mi przekaźników. Zanim PortD zostanie wyzerowany(wtedy następuje wyłączenie) muszę doprowadzić do odpowiedniej temperatury komorę urządzenia, które...
Witam! mam problm z odczytaniem danych z tgo czujnika. Resjstry skonfigurowałem tak: /***** ustawienia SPI *****/ PINSEL0|=0x5500; // SCK0, MISO0, SSEL0, MOSI0 S0SPCCR=0x8; // predkosc SPI = 3[Mhz]/8=375[kHz] S0SPCR|=0x0020; // tryb master S0SPCR|=(1<<2); // wybranie ilosci bitow, ramka 16 bit IODIR0=(1<<7);...
Pisząc "surowa wartość" miałem na myśli to, co zawierają rejestry %AI, ale rozumiem w czym rzecz. Albo konwersja na liczbę zmiennoprzecinkową i potem dzielenie przez 20 (nie tracimy dokładności, ale wykonujemy operacje na liczbach zmiennoprzecinkowych), albo możemy tylko pomnożyć wartość z rejestru %AI przez 5 BEZ wcześniejszej konwersji sygnału i wtedy:...
co prawda w C, ale zasada ta sama:
Witam. Mam problem z przekonwertowaniem wyniku ciśnienia z czujnika BMP085 na wyświetlacz LED 7-segmentowy, 4 pola. Sam czujnik działa poprawinie, gdyż przy transmisji po RS232 wynik jest prawidłowy. Na wyświetlaczu poprawnie też idzie odczytywać wartości temperatury i wysokości, natomiast właśnie jest problem z przekonwertowaniem wartości ciśnienia...
Zintegrowane rozwiązanie upraszcza projektowanie systemu akwizycji danych Układ ASAD3022 firmy Analog Devices wykonany w opatentowanej technologii iCMOS® to dedykowane rozwiązanie do akwizycji danych w aplikacjach przemysłowych. Układ ten integruje w swojej strukturze 8 kanałowy multiplekser, wzmacniacz o programowalnym wzmocnieniu z przetwornikiem...
Podaj może cały projekt z VS to może jakoś pomożemy bo to co napisałeś to mało mówi, a konwersja jaką używasz jest ok i u mnie działa. Dokładniej: Sprawdzę w najbliższym czasie ... i dam znać czy zadziałało bo nie znałem dokładnej składni tej komendy ;] To jest tylko przykład tego jak ja użyłem, lepiej powiedz faktycznie jak budujesz ramkę bo ma to...
Witam. We wstępie chciałem zaznaczyć, że szukałem podobnych problemów, lecz bezskutecznie. Mój problem polega na tym, że po wgraniu poniższego kogu do mikrokontrolera atmega8, na wyświetlaczu LCD wyświetla się napis "*temperatura* wynik: -0,1 stopnia C", brak reakcji na zmiany temperatyry czujnika cały czas -0,1stopnia. [syntax=basic4gl] $regfile...
Witam. mam problem z nastawą temperatury, a mianowicie zadeklarowałem drugą zmienną od nastaw, która się wyświetla na LCD, lecz program nie chce się skompilować. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5...
Poza niepotrzebnymi delay sekunda, 200ms itp wywołujesz requestTemperatures() Dodano po 11 W biblitece masz funkcję "setWaitForConversion". Wywołają ją "setWaitForConversion(0)", wtedy requestTemperatures nie będzie czekać. Po likwidacji delay w loop umieść Dodano po 3 Dobrze byłoby sprawdzać statusy operacji. Nie robisz tego przez co nic nie wiesz...
Witam wszystkich MAm pytanie jak sie dokonuje teoretycznie konwersji wyniku binarnego albo hexa na zmiennoprzecinkowy w przetwornikach A/C majac dane napiecie referencyjne np przypomiarze temperatury gdziewynik mamy zapisany w hexa. pozdrawiam
A wiec... dziekuje za odpowiedź:) teraz małe sprostowanie, nie uzywam układów DS18B20 tylko DS1820, odczyt ID pastylki przeprowadzam jednorazowo, zwierajac jedna z czterech zworek na płytce podłaczajac tylko jeden czujnik i właczajac układ co powoduje zapis ID do EEPROMA, czynnosc ta powtarzam 4 razy dla czterech ds-ów za kazdym razem przykładajac tylko...
Witam Wszystkich, Nasz sterownik jest w stanie przesyłać dane poprzez RS232 jako bajty w ramkach (bit startu.... dana... bit stopu/parzystosci. Dana ma wielkosć 1 bajtu) Odczyt odbywa sie w ten sam sposób. Mamy dostępne następujące piny... TxD, RxD, +5V, GND. Czujka którą chcemy wykorzystać wymaga pełnych możliwości wysterownia RS'a. Aby odczytać z...
wynik temperatury mam w temp_calk; jest tam wartosci calkowita; chce to wyswietlic na lcd... //liczba calkowita char temp1; char temp2; char wynik; char bajt_j; char bajt_dz; temp1=temp_calk& 0x0F; temp2=(temp_calk>>4) & 0x0F; temp2=temp2*16; wynik=temp1 + temp2; bajt_j=wynik % 10; wynik=wynik/10; bajt_dz=wynik % 10; bajt_j= bajt_j + 48;...
Witam Nie myli się kolega Dareks do DS 18B20 trzeba inny program. Mam coś takiego 1wreset 'reset 1wwrite &HCC 'jedna kostka więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms 750 'poczekaj czas konwersji 1wreset 'reset 1wwrite &HCC 'rozkaz adresowy SKIP ROM 1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu Odczyt(1)...
Ewidentnie brakuje jednego bitu (piątego, nr. 4 licząc od 0). Dlatego zamiast 31 (16+15) wyświetla się 15 (brakuje 16, czyli 2^4). Jakaś pomyłka w kodzie. Nie chce mi się analizować twojego kodu. Dodano po 4 Mam tu jakiś kod ze szkolenia napisany przez jednego z moich kursantów. Atmega16, hd44780, DS18x20. Zobacz jak wygląda konwersja temperatury. I...
Załącznik z wykresami przesyłam spakowany. Zauważyłem, że podczas konwersji temperatura rdzenia procesora wzrasta z 51°C do 66°C (na I rdzeniu) oraz z 46°C do 58°C (na II rdzeniu). Poza tym zauważyłem także, że zużycie rdzeni wzrasta z 2% do 88-94% (w przypadku I rdzenia) oraz z 1% do około 70% (w przypadku II rdzenia).
Wstęp Witam, projekt nie jest jeszcze zakończony, ale już w zasadzie działa, toteż postanowiłem go tutaj zamieścić. Zaczęło się od tego, że mój dobry kolega otworzył swoją pizzerię. Niestety pośród wielu problemów, jakie sie przytrafiły okazało się, że zakupiony używany piec do wypieku pizzy nie reguluje temperatury. Mimo posiadania schematów do pieca...
Witam! Chciałbym prosić o pomoc w zdiagnozowaniu problemu polegającego na tym, ze gdy uruchamiam podprogram odpowiedzialny za pomiar temp z LM35CZ cały program na procku staje. Wcześniej pisałem coś takiego na ATmega8 i tam działało wszystko idealnie. Na Atmega16 program przeniosłem niemal wprost z ATmega8 zmieniłem tylko wejścia na przetwornik bo te...
Niniejszy artykuł stanowi tłumaczenie anglojęzycznego skrótu artykułu opublikowanego przez autora w miesięczniku Радио. Po zbudowaniu kilku różnych (opisanych w innych artykułach na stronach autora) mierników temperatury i wilgotności autor zdał sobie sprawę, że praktycznym rozwiązaniem byłoby posiadanie takiego urządzenia...
Witam, Zgodnie z lekturą próbuję odczytać temperaturę. Przepisałem wszystko tak jak jest w dokumencie, sprawdziłem kilka razy - wydaje mi się że błędu nie popełniłem. Mimo to odczyt temp. nie działa. Otrzymuję wynik -0.1 Oto kod: /* * ds18s20.h * */ #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> // makra #define WE...
Powiem tak. Kupiłem ten procesor z uwagi na to, że często gram w MS Flight Simulator X. Tam głownie potrzebny jest właśnie komputer z wysoko taktowanym procesorem i mniej wymagającą kartą graficzną. W zasadzie idealny byłby I3 K ale takich nie ma. Tego I5 4690K przetestowałem takim programem Gigabyte Easy Tune i wyszło, że stabilnie może pracować nawet...
Witam, Dokonuję pomiaru dwóch temperatur przy użyciu DS18B20. Dane przesyłam po RS232 (MAX232) - docelowo chciałbym wysyłać cztery parametry na komputer. Podczas próby konwersji ciągu string z RS232 na zmienną typu "integer" lub "float", otrzymuję komunikat: EConvertError: is not valid integer value. Sprawa wygląda tak: próbowałem już konwersji zarówno...
W jakim trybie podłączone są Dallasy? Dwoma, czy trzema przewodami? Nie miałem w domu czterech DS`ów luzem, więc na zdjęciu tylko dwa. Ten kod zajmuje ponad 50% mniej niż Twój i na nic nie czeka. [syntax=basic4gl]'### TERMOMETR 4xDS18B20 ### $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 16 $framesize = 48 Config Submode = New Config...
Poszukuję osoby ze znajomością języka Python i bibliotek Kivy do konwersji amatorskiego programu z Arduino na Raspberry Pi. Program służy do obsługi domowego kotła grzewczego. 1. Posiadam działający program na Arduino 2. Program obsługuje 2 wejścia cyfrowe (czujnik temp) oraz 3 wyjścia cyfrowe (sterowanie pompą oraz 2 grzałkami poprzez przekaźniki)....
Trzy niepokojące rzeczy: 1) Twój kod nie wyświetla na konsoli tego, co oczekujesz. Oczekujesz komunikatów w postaci "Temp: %d\n\r", a dostajesz coś typu "42\n". Sprawdź najpierw, czy komunikacja po COMie jest poprawna. 2) ciąg znaków "char tab[10] = "";" jest za krótki i nie obsłuży wszystkich int'ów. Nawet nie zauważysz, jak program zacznie "pisać...
Klimatyzator przenośny ma poważne wady - generuje straty: - karbowaną rurą wyrzucającą gorące powietrze która działa jak kaloryfer. Karbowanie to rozwinięcie powierzchni (podobnie jak w kaloryferze) co sprzyja oddawaniu ciepła z powrotem do pomieszczenia. -wytwarza podciśnienie przez wyrzucanie powietrza rurą w konsekwencji zasysa ciepłe powietrze innymi...
dlaczego wyświetla mi nie dokładną wartość po przecinku w esp8266 wifi np. 28.50 ,34.00 ,25.50 ,22,50 a wcześniej było 34.12 lub 28.18 Witaj na forum! Zgaduję, że problem, który opisujesz, dotyczy nieprawidłowego wyświetlania wartości odczytanych z czujnika na module ESP8266. Wydaje się, że wartości są zaokrąglane do najbliższej .50 lub .00, co sugeruje,...
leci to mniej wiecej tak Tmp = 255 ' przykladowa temperatura Dziesiec = Tmp/100 ' wynik =2 A1 = Tmp /10 ' wynik 25 B1 = dziesiec * 10 ' wynik 20 jeden = A1 - B1 'wynik = 5 C1 = Dziesiec * 100 ' wynik 200 D1 = jeden *10 ' wynik 50 dziesiatki = c1 + d1 'wynik = 5 doswiadczalnie mozna oczywiscie zmniejszyc ilosc zmiennych
Tak tak jak napisał elektryk w urządzeniu na które będe podawał to napięcie mogę zmienić zakres i nie będzie to wtedy 0-10V a 2-10V bo powiem szczerze nie jest dla mnie ważny dokładyn odczyt tego napięcia tylko jakaś wartość przy pewnej temperaturze interesuje mnie tylko wartość tego napięcia a i tak dalej nie będe poddawał tego obróbce tylko na wejscie...
Znam dobrze ds18b20 ale o trybie ciągłej konwersji temperatury nie słyszałem ani nie czytałem. Zresztą jak to sobie wyobrazasz ?. DS wykonuje pomiar i co z nim robi dalej, przecież jemu ten pomiar jest do niczego nie potrzebny, a wysłać na zewnątrz może tylko jako SLAVE.