Ok, to ja dorzucę swoje trzy grosze :) Przede wszystkim, aby procedury _delay_* działały poprawnie należy włączyć optymalizację kodu np -O1 Sprawdź może to powoduje problem. Po drugie, na czas odczytu i zapisu magistrali warto zablokować przerwania, tak żeby procedura obsługi przerwania nie rozjechała czasu poszczególnych okien. A na koniec moje procedury,...
Kilka kilkanaście czujników to nie jest jeszcze problem, ale już kilkadziesiąt to jest problem. Jeśli masz kilkadziesiąt czujników i interesują Cię tylko przekroczenia to wysyłasz do wszystkich komendy SKIP ROM i CONVERT TEMPERATURE, a następnie ALARM SEARCH. Jeśli są jakieś przekroczenia to zgłoszą się tylko te czujniki, które te przekroczenia zarejestrują....
...Czy w bascomie można zadeklarować tablicę dwu wymiarową Nie :!: Dla czego przy odczycie danych muszę ponownie resetować magistralę i podawać numer seryjny układu... Bo tak są skonstruowane - patrz tabelki w PDF-ku :) Czy jest możliwe najpierw wysłanie do wszystkich czujników polecenia mierzenia temperatury ... Jasne ;) '... 1wreset If Err=0 Then...
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...
Poniżej przykład. Zwróć uwagę, że w tym przykładzie komenda konwersji temperatury występuje na końcu, a nie na początku. Odczytana temperatura będzie zatem tą która została konwertowana po poprzednim odczycie. To oczywiście nie ma znaczenia dla tego jak adresować czujniki. Powodzenia ! PL Config 1wire = Portd.6 Dim Adresy(16) As Byte Dim T1 As Byte...
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
W bascomnie ciężko zrobić LED + Ds18b20 wszytko psuje Waitms 750. Zwiększ do 8 a jak możesz do 16MHz kwarc. A od kiedy to musimy czekać 750ms nie robiąc nic innego? Od czego mamy timery? Przepraszam najmocniej Kolegę, ale jeśli Kolega tego zrobić nie potrafi to: 1. Nie oznacza że się tego zrobić nie da - ja nie potrafię zbudować komputera klasy PC...
https://obrazki.elektroda.pl/4269875400_... Oryginalny DeepSeek jest raczej za duży, by uruchomić go na domowym sprzęcie, ale repozytorium Ollama oferuje ciekawą alternatywę bazującą na dostrajanych (tj. trenowanych w oparciu o rezultaty większego modelu) modelach LLama i Qwen. Występują one pod nazwami deepseek-r1:1.5b/7b/14b/32b...
Witam , chciałbym przedstawić mój emulator czujnika ds18b20. Celem projektu było zaprojektować i wykonać emulator, by skończyć z przypalaniem podgrzewaniem itp. czujników ds18b20. Pewnie nie raz każdy zmagał się z tym tematem podgrzewania czujnika, aby sprawdzić czy jego urządzonko działa poprawnie np. sterownik pieca czy wyłącza piec po przekroczeniu...
Witam wszystkich, projekt powstał na przełomie marca/kwietnia tego roku w wyniku zapotrzebowania na pompkę perystaltyczną potrzebną przy realizacji pracy magisterskiej. Nigdy wcześniej nie miałem do czynienia z elektroniką (nie licząc podłączania diod z rezystorem i prostych zasilaczy na LM7812) a tym bardziej z mikrokontrolerami. http://obrazki.elektroda.pl/2272591900_1...
Powiedzcie mi proszę co w moim przykładzie jest nie tak. Temperatura się wyświetla w obydwóch polach na wyświetlaczu, ale naprzemiennie. Jak zrobić żeby jedna była na jednym a druga na drugim? [syntax=c]#include "Nextion.h" #include "NexText.h" #include "NexGauge.h" #include <OneWire.h> #include <DallasTemperature.h> OneWire ds(7); // deklaracja...
Nie działa mi odczyt danych z DS18B20 Program który napsałem: // NIE DZIAŁA - odczytuje FF byte present = 0; byte data[9]; byte addr[8]; #include <OneWire.h> OneWire ds(A0); // DS18B20 pin void setup(void) { Serial.begin(9600); } void loop(void) { ds.reset(); ds.write(0x44);...
Witam Od kilku dni męczę sie z próbą odczytu temperatury z czujnika DS18B20 przy pomocy bibliotek rklibavr. Czujnik jest podpięty do portu PB0 w procesorze amtega8, rezystor podciągający ma wartość 4,74K dane zczytane z czujnika są wyświetlane na standardowym wyświetlaczu 2x16. Atmega pracuje na wewnętrznym oscylatorze 1Mhz, całość jest zasilana ze...
main.c [syntax=c]#define F_CPU 16000000UL //definiujemy F_CPU na 16MHz #include <avr/io.h> #include <util/delay.h> #include <avr/io.h> #include <stdlib.h> #include "HD44780.h" #include "DS18B20.h" char str[17]=" Termometr "; int main (void) { double temp; /* W tablicy zapisywane będą dane odczytane z układu ds18b20 */ unsigned...
witam, po raz kolejny powtarzam temat, nie znalzałem rozwiązania wertujac inne dlatego piszę. Złożyłem termometr wg kursu AVR GCC. I nie działa naturalnie tzn. na wyświetlaczu pokazuje się jedynie napis Termometr a kiedy odłącze czujnik pojawia się wartość temperatury czasem 0.0C a czaem 800C. Na czujnik nie reaguje. Wyświetlaz obsługuje hd44780 i działa...
taktowanie procesora: 16MHz atmega32a main.c: [syntax=c] int main(void) {/* sprawdzamy ile czujników DS18xxx widocznych jest na magistrali */ czujniki_cnt = search_sensors(); /* wysyłamy rozkaz wykonania pomiaru temperatury * do wszystkich czujników na magistrali 1Wire * zakładając, że zasilane są w trybie NORMAL, * gdyby był to tryb Parasite, należałoby...
Okej rozumiem , dziękuję za pomoc ;) Jeszcze przy okazji , aby nie robić nowego tematu specjalnie. Czy możecie sprawdzić program obsługi tego ds18b20? Program ma sterować diodą i optotriakiem podłączonym do PB1 oraz pośrednio (przez optotriak) triakiem do którego podłączona bedzie grzałka i w zależności od temperatury z czujnika DS18B20 uklad ma utrzymac...
Dodam, że pamięci zaczyna brakować, gdy chcę wykonać instrukcje if. Jeśli daje ją w komentarz to program używa 20.2%, a z nią 131% i data 206%. [syntax=c] /* Plik ds18b20.h (xyz.isgreat.org) */ #ifndef DS18B20_H #define DS18B20_H /* DS18B20 przyłączony do portu PD7 AVRa */ #define SET_ONEWIRE_PORT PORTB |= _BV(5) #define CLR_ONEWIRE_PORT PORTB &=...
Witam, przekopałem się przez wiele tutoriali, postów, wątków, i nie znalazłem rozwiązania, więc postanowiłem opisać własny problem. Mianowicie: mam podłączone do Atmegi8 dwa wyświetlacze 7seg multipleksowane, oraz termometr cyfrowy DS18B20. Chciałem aby zmierzona temperatura była wyświetlana na tych 7seg, oczywiście ze względu na dwa wyświetlacze jedynie...
Zgadza się czujnik to DS18B20 :) . Powiedz mi proszę jeszcze o co chodzi z "Strong PULLUP" w momencie odczytu temperatury bo nie bardzo się orientuje. Wysłałem do sensora sekwencje "RESET -> Read ROM -> Convert T" i z pomiaru mama same zera. Czy to jest problem z tym tak zwanym "Strong PULLUP" W roli uzupełnienia w jaki sposób jest podłączony sensor...
Nigdy nie zmieni :( DS jest grzecznym chłopcem(?) więc wykonuje tylko polecenia i odpowiada gdy jest pytany , poza tym milczy jak grób :wink: Pzdr. Piotrek Sz. To radze poczytac pdf'a :) CONVERT T This command initiates a single temperature conversion. Following the conversion, the resulting thermal data is stored in the 2-byte temperature register...
Może Reset 1Wire przed Skip ROM (0xCC) i Convert T (0x44) ?
https://obrazki.elektroda.pl/6483751800_... Witam, PROJEKT ostatecznie ukończony :D wersja ostateczna programów dla płytek MASTER Arduino Mega2560 i SLAVE ESP8266-12E Testowałem urządzenie przez kilka dni, w międzyczasie dokonałem kilku przeróbek, jak w kodzie tak i w połączeniach PIN itp. Usunięte zostały wykryte błędy, najważniejsze to...
Mowisz ze oszukuje do 0,5C przy konfiguracji 2-druty i 4k7 ? A jak zapodasz strong pullupa (tranzystor) to ile trzeba czekac na operacje Convert T ?
Czemu ludzie korzystający z tego przetwornika (DS18B20) "czekają' te 750 ms?? Czemu ludzie korzystający z tego przetwornika (DS18B20) nie używają narzędzi, które daje im tenże przetwornik? Oczywiście przy podłączeniu 3 przewodowym ;) If the DS18B20 is powered by an external supply, the master can issue read time slots after the Convert T command and...
Dobry wieczór. Przepraszam za tak dużą zwłokę, ale ostatnio miałem zakuwanie na egzaminy szkoleniowe do pracy i nie miałem kompletnie czasu by myśleć o tym:( Musiałbyś pokazać przykład swojego programu. Najpewinej efekty o któych piszesz wynikają z tego, że nie korzystasz z peryferii mikrokontrolera - m.in. timerów, przerwać itd. A na siłę starasz się...
... czy czujnik DS18B20 ma jakies rejestry ktore nie są zerowane po wylaczeniu zasilania. Tak , są takie 2 rejestry dla użytkownika. Wg. tego co wyczytalem z Datasheeta kod korygujacy powinien wygladac tak: A to czytałeś i zrozumiałeś :?: The DS18B20 output temperature data is calibrated in degrees centigrade; for Fahrenheit applications, a lookup...
Czy do układu DS18B20 masz podłączone zasilanie +5V, czy pracuje on w konfiguracji dwupinowej? W karcie katalogowej jest wzmianka "If the DS18B20 is powered by an external supply, the master can issue read time slots after the Convert T command and the DS18B20 will respond by transmitting a 0 while the temperature conversion is in progress and a 1 when...
Nawet jak sprawdzam zmienna err=1 i kaze wyswietlic tylko komunikat error na LCD nadal są problemy z transmisją jeżeli brak jednogo z DS'ow. 1wreset if err=1 then lcd error else 1wreset 1wwrite Skip_rom 1wwrite Convert reszta analogicznie
witam! przy wysylaniu polecen typu Convert czy skip ROM ktory bit powinien zostac wyslany pierwszy przez mastera?? LSB czy MSB??
Zamiast opóźnienia po komendzie converT 44h, dopisz sprawdzanie stanu linii i czekaj dopóki nie zmieni się na wysoki. Tia ... Niech no kolega weźmie słownik angielsko-polski , przetłumaczy poniższy fragment i nie pisze więcej o takich rewelacjach j/w :D If the DS18B20 is powered by an external supply, the master can issue “read time slots”...
ok znalazłem... teraz jeszcze zaimplementować: If the DS18B20 is powered by an external supply, the master can issue “read time slots” (see the 1-Wire Bus System section) after the Convert T command and the DS18B20 will respond by transmitting 0 while the temperature conversion is in progress and 1 when the conversion is done. If the DS18B20...
If the DS18B20 is powered by an external supply, the master can issue read time slots after the Convert T command and the DS18B20 will respond by transmitting a 0 while the temperature conversion is in progress and a 1 when the conversion is done. Czyli po prostu poczekaj aż czujnik wystawi 1 na magistrale i dopiero później wysyłaj następne instrukcje....
Dzięki za wyczerpujące odpowiedzi. Mam jeszcze jedno pytanie. Co się dzieje jeśli mamy trochę czujników zasilanych i trochę w trybie pasożytniczym. W dokumentacji, jest napisane If the DS18B20 is powered by an external supply, the master can issue read time slots after the Convert T command and the DS18B20 will respond by transmitting a 0 while the...
Niestety sprzeszukałem Internet i czytałem dadatasheet ... Nie wiem czemu , ale jakoś Ci nie wierzę :P 1wwrite &H33 'komenda convert T W/g dokumentacji , Convert T - i co Ty na to :?: Piotrek
Poniżej cytat z datasheet : "CONVERT T [44h] This command initiates a single temperature conversion. Following the conversion, the resulting thermal data is stored in the 2-byte temperature register in the scratchpad memory and the DS18B20 returns to its low-power idle state. If the device is being used in parasite power mode, within 10 µs (max)...
Musisz czekac, bo uklad musi obliczyc temperature - troche to trwa. w DS18B20 przy rozdzielczosci 0.5 stopnia czas konkwersji wynosi ok 100ms, wiec moze zmien scalak - chociaz to dookola.
Ja bym dał Disable Interrupts i Enable Interrupts pomiędzy wszystkimi operacjami 1Wire: [syntax=basic4gl]Sub Inicjowanie_ds: Disable Interrupts 1wreset Enable Interrupts Disable Interrupts 1wwrite &HCC ' &H CC skip rom Enable Interrupts Disable Interrupts 1wwrite &H44 ' &H 44 convert T Enable Interrupts End Sub[/syntax]
Pliczek do odczytu termometru z [url=http://www.elektroda.pl/rtvforum/to... tematu. [syntax=c] //**************Plik ds18b20.h****(xyz.isgreat.org)**********... int nrpin; // numer pinu sensora ds #ifndef DS18B20_H #define DS18B20_H /* DS18B20 przyłączony do portu AVRa */ unsigned char ds18b20_ConvertT(void); int ds18b20_Read(unsigned...
Pliczek do obsługi DS18B20 bez odczytu kodu :) może Ci się przyda [syntax=c] //**************Plik ds18b20.h****(xyz.isgreat.org)**********... int nrpin; // numer pinu sensora ds #ifndef DS18B20_H #define DS18B20_H /* DS18B20 przyłączony do portu AVRa */ unsigned char ds18b20_ConvertT(void); int ds18b20_Read(unsigned char []); void OneWireStrong(char);...
Dzień dobry, Korzystam z gotowego kodu na komunikację przez protokół 1-wire oraz odczyt temperatury z czujnika DS18B20. Dla tego kodu prubuję zmienić rozdzielczość czujnika z 12bit na 9bit. Proszę o weryfikację kodu, a w zasadzie miejsca moich zmian, czy w dobrym miejscu kodu zmieniam wartości bajtów rozdzielczości czujnika? Oraz czy w ogóle robię to...
Moja wersja odczytu z ds18b20 jest na pewno poprawna bo pracuje, wprawdzie na atmedze8 ale to chyba nie ma znaczenia. [syntax=basic4gl][/syntax] 1wreset ' 1wwrite &HCC 'komenda skip ROM 1wwrite &H44 'komenda convert T Waitms 250 Waitms 250 1wreset ' 1wwrite &HCC 'komenda skip ROM 1wwrite &HBE 'komenda read B1 = 1wread() 'odczyt z termometru B2 = 1wread()...
hym.. nie wiem czy rozszyfrowywac wszystko po kolei, jesli uznasz za stosowne napisz. powklejam kolejne wywolania. Funkcja ktora pisze (zle dzialajaca) wyglada tak: void ds18x20::pobierz_kod(uint8_t kood[8]) { if(!reset()) return ; write_byte (0x33); for(uint8_t i=0;i<8;i--) { kood[i]=read_byte();...
Witam, otóż posiadam czujnik dallasa ds1820 nie ds18b20 i mam taki problem ponieważ nie mogę znaleźć żadnego kodu by odczytać temperaturę, próbuję korzystać od ds18b20 ale wynik mam równy 4. Oto kod: main.c [syntax=c] if(ds18b20_ConvertT()) { /* 750ms - czas konwersji */ _delay_ms(750); /* Odczyt z układu ds18b20, dane zapisywane są w tablicy ds18b20_pad....
WItajcie Czy jest szansa, by w 2 kB 90s2313 zmieścić obsługę DS18B20 wraz z obliczeniami by uzyskać na LCD temperaturę z wartościami po przecinku. Walczę z optymaliacją programu i wszystko łacznie z LCD i komunikacją sie mieści, ale gdy dodam operacje obliczania temperatury to zawsze wychodzi mi ponad 2 kB. Jak do procedury DS18B20 i na jakich zmiennych...
Otrzymałem odpowiedź od prowadzącego. :spoko: Chodziło o dodatkowy tranzystor na linii 1-wire zwiększający prąd i poprawiający zbocza. Będę wdzięczny za komentarz od bardziej obytych w temacie użytkowników. Czy to ma sens? (*) Komunikacja w tym wątku przypomina konwersację dwóch ludzi na występie pantomimy. Jeden z nich jest głucho-niemy, a drugi niewidomy....
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
To jest kod z kursu i nie wiem czy mogę go tak umieszczać na forum ale najwyżej jeśli to niezgodne z regulaminem to proszę usunąć [syntax=c]/* Plik ds18b20.c (minimum kodu do odczytu temperatury z ds18b20) xyz.isgreat.org */ #include <avr/io.h> #include <util/delay.h> #include "ds18b20.h" /***************************************...
Proszę bardzo. Nie wiem jak to mogło się popsuć jak działało. A może z uC jest coś nie tak? [syntax=cpp] /* Plik ds18b20.c (minimum kodu do odczytu temperatury z ds18b20) xyz.isgreat.org */ #include <avr/io.h> #include <util/delay.h> #include "ds18b20.h" /***************************************... unsigned char ds18b20_ConvertT(void)...
Po kilku dniach pracy urządzania stwierdziłem że jednak przydało by się żeby serwerek dodatkowo wysyłał dane do "https://thingspeak.com/" chociaż z termometru domowego. Próbowałem na rożne sposoby ale nie mam pojęcia jak to zrobić. Może ktoś z Was jest w stanie zmodyfikować kod ? Może kolega (at)bart-projects czyta ten temat? ;) (to ten sam kod co w...
library convert visual convert video convert
alarm pastylka czujnik pralka bc238 oznaczenie
pralko suszarka toner zamiennik
Telewizor LG, Samsung nie reaguje na pilota i joystick – brak sterowania po włączeniu iBOX Swanky MP4 – komputer nie widzi odtwarzacza, sterowniki, tryb USB, naprawa połączenia