To tylko potwierdza że trzeba jednak kwarc zewnęrtzny. Ja przeprowadziłem wiele prób i doszłem do wniosku że ten wewnętrzny to można ustawiać dla magistrali I2C,1wire tylko dla odczytu numeru (pomiar temperatury już jest błędny). Pozdrawiam i czekam na efekty pracy.
Staram sie napisać programik w Bascom, który odczyta mi numery seryjne z termometrów dallasa DS1820 (docelowo 3-4 termometry) ma go zapisać w pamieci eeprom procesora, a nast ma być odczytany. Na końcu użyłem komendę dla wyświetlenia na lcd ale jakoś mi to podejżanie działa ponieważ nie wyświetla mi znaków a tylko jakieś "9". Może źle odczytuje lub...
Witam, Czasówki 1wire do zmiany. Sprawdzaj CRC numerów seryjnych.
W ogóle skoro nie potrafisz odczytać tego co napisałem wyżej to znaczy że do końca nie rozumiesz co to tablica. Wyjaśnię najbardziej łopatologicznie. Wyobraź sobie, że tablica to pociąg z wagonami od 1 do 8. Każdy wagonik może przewozić daną liczbę. A cały pociąg ma swoją nazwę np. pociąg "Kopernik" Więc. Ds1(1)=9 Oznacza, że mamy tablicę o nazwie "Ds1",...
Witam, Czy ktoś z Was ma doświadczenie jak szybko w OWFS pojawia się podłączony układ 1wire? Nie pytam o odczyt na przykład temperatury, ale zanotowanie podłączenia nowego układu, czyli odczyt unikalnego numeru. Załóżmy że RaspberryPi jest włączone, OWFS odpalony w tle, jakiś dowolny układ 1wire podłączony do odpowiedniego pinu i włączamy mu zasilanie....
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....
Witam ! Skopiowalem sobie z Helpa bascomu taki oto kod... chce to skompilowac ale wywala blad najpierw przy: W = 1wirecount(ar(1)) pozniej: Ar(1) = 1wsearchfirst() Ar(1) = 1wsearchnext() Posiadam taki procesor jak jest zadeklarowany w kodzie...ale za Chiny nie chce to ruszyc :( '---------------------------------------... ' 1wirecount.bas...
informującego o zmianie temperatury co 1 stopień w górę lub dół To są założenia więc co każdy stopień ma być krótki sygnał. Warunek If T >= 200 then spowoduje że przekroczenie 20 stopni spowoduje sygnał. Muszę chwilę pomyśleć. Trzeba badać także różnicę pomiędzy odczytem poprzednim a następnym. Sprawdź to: (zmień procesor, konfigurację LCD, portów,...
A to niby dlaczego nie wolno stosować waitms ??? U mnie jakoś działa przy wielu czujnikach na jednej linii i co to ma wspólnego z wysyłaniem przez uarta ? W tym przypadku waitms nie zakłóca obsługi przerwań, wiec nie widzę problemu. Kolega namieszał trochę w procedurze "odczyt". Na początku wyszukujesz czujniki na linii 1wire, a później, w procedurze...
;* ;***************************************... ;*PROCEDURY OBSŁUGI MAGISTRALI 1-Wire DLA MIKROKONTROLERA AVR ;***************************************... ;* ;*Nazwa pliku :AVR_1Wire.asm ;* ;*Przeznaczenie :dowolny AVR, za wyjątkiem AT90S1200 ;*Kwarc :4MHz ;* ;*******************************OPIS****...
To nie jest poprawny zapis http://obrazki.elektroda.pl/3954802400_1... Życzę miłego dnia
Witam Przerzucając masę stron w internecie nic nie znalazłem na temat związku jak w temacie. Czy oprócz odczytu numerów ID oraz temperatury zrobił ktos coś ciekawego opierając się na magistrali 1wire? Proszę o podanie przykładów a głównie o obsługę DS1921. Pozdrawiam
...Kiedyś wyczytałem że można podłączyć je na osobnych portach i w trakcie programu po poleceniu config 1 wire przełączać z którego chce się robić odczyt... A teraz nie możesz wyczytać w helpie , że to co piszesz jest nieprawdą :?: ;) Config 1wire jest dyrektywą "jednarazowego użytku" :idea: By osiągnąć to o czym marzysz ;) , należy używać alternatywnej...
Ja to robię tak jak w kodzie poniżej. Od razu jest zabezpieczenie przed błędnym odczytem klucza np. gdy pastylke szybciej odłączymy niż procek zdąży ja odczytać. Często się zdarza ze odczytane zastają pierwsze bity a reszta to FF w układzie daje rezystor podciągający 4.7K Sub Odczyt Disable Interrupts Odczyt_poprawny = 0 1wreset Waitms 50 1wreset If...
Hey czyli problem jest w instrukcji Ss = Format(ss , " 0.0") wrzuć ten program i powiedz czy wszystko gra jeżeli tak będę pisał co zrobiłem. [syntax=basic4gl]$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza...
Tak się "macha" magistralą 1wire ;) //inicjacja DDRC&=~(1<<PC0); //PINC bit numer 0 - wejście PORTC&=~(1<<PC0);//bez pull-up'a - high impedance //reszta operacji DDRC|=(1<<PC0);// 1wire=0 DDRC&=~(1<<PC0);// 1wire=1 x=PINC & (1<<PC0);//odczyt 1wire Złożyć do kupy,dopisać...
Pt100 i DS18B20 to całkiem różne czujniki temperatur i o ile sam wskaźnik/regulator nie jest przystosowany do obsługi obydwu rodzajów czujników to nie da się ich zamieniać. Czujnik Pt100 jest czujnikiem rezystancyjnym. Zbudowany jest z cienkiego drutu platynowego, którego opór elektryczny się zmienia pod wpływem temperatury. Im większa temperatura tym...
Cokolwiek co jest TYLKO do odczytu można skopiować, jedyne rozwiazanie to użycie elementu który pozwala działać na zasadzie "zapytanie" - "odpowiedź". Np układy 1wire z algorytmem SHA albo drugi mikroprocesor który tylko ma algorytm generowania odpowiedzić. Można użyć np karty goldwafer odpowiednio przyciętej do rozmiaru małego SIM`a i złącza do karty...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Ile procent pokazuje niesprawne PSP, wlaczone na ladowarce i z bateria w srodku. Podejrzewam, ze PSP nie komunikuje sie z bateria (srodkowy pin gniazda bateryjnego jest magistrala danych 1wire, dzieki ktoremu PSP moze odczytac dane o baterii [nr seryjny, temperature, napiecie i pobor pradu]). Bez odczytu numeru seryjnego baterii, PSP nie wlaczy sie...
zamiast takiej plątaniny kabelków, rezystorów i Bóg wie czego w SMD lepiej zastosować: 1* stabilizator napięcia (do zwykłego COM) / ft232RL (do USB) 1* DS2480B i mamy piękny adapter do urządzeń 1wire (nie tylko pastylek iButton) współpracujący m. in. z oprogramowaniem 1 wireviever --- co do zabezpieczenia tymi pastylkami, to wystarczy zastosować jakiś...
Podłączyłem układ DS1820 (dokładnie ten numerek) do pinu PB0 układu ATTiny2313. Linia danych jest podciągnięta do Vcc rezystorem 1kΩ. Taktowanie wewnętrzne 8MHz. Fragment kodu odpowiedzialny za odczyt czujnika: Numer seryjny16 163 113 94 2 8 0 170 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt:...
Tzn. już dowiedziałem sie o co chodzi. Mam podłączyć do mikrokontrolera przez szynę 1wire kilka switchów (konkretnie układów DS2405) i odczytać z nich numery seryjne i jeszcze chyba stan wyjśćia PIO. O ile z numerami seryjnymi mam tylko taki mały problem, że jak zmieścić 8 bajtów w 1 bajcie?: opis z pomocy Bascoma: Dim Ar( 8 ) As Byte czyli oznacza...
[syntax=basic4gl] $regfile = "m8def.dat" 'deklaracja procesora $crystal = 8000000 'deklaracja czestotliwosci taktowania Config Lcd = 16 * 2 'typ wyswietlacza i konfiguracja pinow Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32 'definicja...
Po resecie DS-a wysyłając do niego #33h wywołujemy funkcje która umożliwia odczytanie jego numeru unikatowego. ... Hmmm.... Powyższe dotyczy sytuacji , gdy na magistrali jest jeden DS.Skoro jest jeden , to po co nam numer seryjny :?: Jeżeli na magistrali jest więcej niż jeden DS , to rozkaz #33h (read rom) możemy "wynieść do piwnicy", a skorzystać...
Funkcja może przyjąć argument od 0 do AMOUNT-1 i wysyła na linię DQ rom'a z tablicy. [syntax=c] /***************************************... Wysyła 64-bitowy numer identyfikacyjny ROM, z tablicy rom[AMOUNT][8] wybranego urządzenia. ****************************************...
Niestety jakoś mi ten sposób odczytu nie chce działać. Obecnie używam takiego sposobu odczytu: Config 1wire = Portc.6 1wreset 'reset magistrali 1-Wire 1wwrite &HCC 'opuszczenie zapisu numeru ID 1wwrite &H44 'start pomiaru temperatury Waitms 750 'opóźnienie na czas pomiaru 1wreset 'reset magistrali 1-Wire 1wwrite &HCC 'opuszczenie zapisu numeru ID 1wwrite...
Tu masz prosty programik, który kiedyś pisałem. Przedstawia obsługę zarówno wersji B jak i S. [syntax=basic4gl] $regfile = "m8def.dat" 'deklaracja procesora $crystal = 8000000 'deklaracja czestotliwosci taktowania Config Lcd = 16 * 2 'typ wyswietlacza i konfiguracja pinow Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5...
Witam, próbuję podłączyć czujniki DS18B20 do atmegi328p. Atmegę kupiłem na allegro, posiada ona wbudowany Kwarc oraz załadowany Bootloader. DS18B20 działa na raspberry pi b+. LCD działa poprawnie, potrafię na nim wyświetlać dane. Termometr do atmegi podłączyłem w następujący sposób korzystając z opornika 4.7k Ohm: https://obrazki.elektroda.pl/8029225900_...
Witam, Mam pewien sterownik-czytnik, który po podłączeniu do niego pastylki DS1990 automatycznie czyta jej numer; nie wiem jak to robi ale zakładam, że zapewne co jakiś czas wysyła sygnał Reset i czeka na odpowiedź układu na magistrali - sygnał Presence. Jako, że ten temat jest (jeszcze) mi dość obcy zastanawiam się, czy znając numer seryjny (8 bajtów)...
https://obrazki.elektroda.pl/3897021500_... Opisany poniżej miniaturowy zamek elektroniczny z układami 1WIRE w odróżnieniu od setek podobnych projektów posiada pewną specyficzną cechę: współpracuje nie tylko z układami DALLAS DS1990 czy RW1990, ale w zasadzie z każdym układem z interfejsem 1WIRE posiadającym własny niepowtarzalny adres...
Witam mam taki problem. Otoz posiadam krotki programik do zmiany i odczytu stanu wyjscia ww switcha 1Wire. W programie do odczytu stanu powinna słuzyc komenda "Stan = 1wread(1 , Pind , 5)" jednak wlasnie na tym program sie wiesza. Jezeli to wyremuje to chodzi tylko wlasnie po co. Jak odczytac ten stan aby miec nad nim kontrole programowa a nie tylko...
Najbardziej trafnym sposobem odczytu ROM poszczegolnych czujników jest przypinanie je pojedynczo do układu i zapisywanie ich numerów w pamięci EEPROM. Następnie odczyt EEPROMU przy pomocy programatora. Sposób sprawdzony, wszystko działa. Najbardziej trafnym sposobem jest ich odczyt i wyświetlenie np na LCD jak ktoś już wyżej napisał, albo odczyt i...
Ok tutaj masz kody zrodlowe z ksiazki "Programowanie mikrokontrolerow AVR w BASCOM". Proponowalbym na tym etapie zakonczyc temat! '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...
Tutaj masz wszystko... 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input 'linia PB1 jako wejściowa Config...
możesz stosować 2x config 1wire ale musisz wtedy tą linijkę umieścić przed odczytem danych z danego ukłądu, żeby obsłużyć 2 scalaki na 1 pinie trzeba odczytać z każdego serial number poleceniem 1wiresearch, 1wirecount 1wirenext i wywoływać je tymi numerami
No hej! Więc miło że ktoś poruszył temat tego „badziewia” od Dallasa… Wszystko robię mniej więcej tak jak napisałeś… tzn. póki co nie bawię się numerami seryjnymi. Co do różnych przykładów dostępnych na stronach Dallasa, to też z nimi walczyłem… ale do sedna. Udało mi się odczytać pierwszy bajt numeru seryjnego mojego czujnika,...
Witam, przeszukałem już cały portal i nie znalazłem odpowiedzi. mam kod obsługi 3 x DS18X20 z numerami układów zapisanymi w EEPROM i jeżeli chcę odczytać właściwy ROM to muszę użyć sekwencji jak w kodzie w sekcji 1 (bez skoku do podprogramu) 'program odczytujący obecność układów 1WIRE i sprawdzający ROMy z EEPROM $regfile = "attiny2313.dat"...
Z braku sukcesów w programowaniu funkcji search_rom 1Wire rozwiązałem problem następująco: 1) użytkownik podłącza jeden czujnik pod 1Wire, program wykonuje funkcję read_rom, użytkownik ustala numer czujnika który aktualnie podłączył. 2) program zapisuje tak odczytany ROM do pamięci EEPROM procesora 3) z każdym czujnikiem użytkownik podstępuje dokładnie...
Witam. Mam problem z programem który w inny urządzeniu działa jak należy. Program odczytuje numer ID z DS18B20 zapisuje w pamięci a później odczytuje go z pamięci i dzięki niemu odczytuje temperaturę z jednego z dwu czujników. Problem w tym że tej temperatury nie odczytuje. Procesor "widzi" czujniki bo wyświetla ich ID. Same czujniki też mogę odczytać...
Program działa, ale mam pytanie... Czy ktoś się spotkał że w czujnikach DS1820 temperatura jest wyższa o kilka stopni ? Ja dla sprawdzenia włożyłem czujnik w folii do lodowatej wody (woda z lodem), temperatura powinna wskazywać coś koło zera, jednak pokazywało minimalnie 5 st. C; dlatego też w czujniku drugim odejmuję jeszcze 5 stopni. Drugie pytanie...
Odczyt pastylki zrobiłem już wcześniej. To mi akurat wyszło. Działa normalnie. Oto cały program: $regfile = "m8def.dat" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.6 , Rs = Portb.7 Config Lcd = 16 * 1a Config 1wire = Portd.5 Config Scl = Portd.0 Config Sda = Portd.1 Dim...
Witam, projektuje urządzenie wykorzystujące pastylki DS1990 i w czasie pisania programu natknąłem się na problem z prawidłowym odczytem numeru klucza po przyłożeniu pastylki do czytnika. Nikiedy na wyswietlaczu otrzymuje calkiem przypadkowe dane. Błąd występuje w przypadku około 5% odczytów. Okrojony do minimum fragment programu: $regfile = "attiny2313.dat"...
Przepisujesz z ksiazki? :cunning: Popatrz dobrze czy np. jest tam cos takiego: $regfile = M8def.dat Tutaj masz poprawny kod: 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości...
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...
Tak to wygląda. Układ wyjścia JP5 jest zgodny z kolejnością wyjść na LCD + dwa dodatkowe do zasilenia podświetlenia - razem 16 pin http://obrazki.elektroda.net/38_12294457... A to początek kodu 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku...
Witam Szukałem w internecie odpowiedzi na swoje pytanie ale nie znalazłem konkretnej odpowiedzi. Straciłem 3 dni na doświadczenia i nic mi nie wychodzi. Pracuję nad urządzeniem które odczytuje temperaturę w czterech różnych miejscach. Dopóki wszystkie czujniki działają nie ma problemu. Jeżeli padnie któryś z czujników pojawia się problem bo po jego...
Opcja z jedną linią 1Wire (czyt. tak jak teraz masz): Musisz dodać tryb konfiguracji do programu, w nim uruchamiasz procedury 1WireSearch i odczytujesz jakie są ID czujników. Następnie np podgrzewasz czujnik nr 1, program sprawdza który to numer 1 i zapisuje go w eepromie pod pozycją 1. Robisz tak dla wszystkich czujników na magistrali. W programie...
Hm a może wina nie leży w części programu odpowiadającej za odczyt ds'a tylko w częci komunikacji. ja odczytuje 2 termometry na 2 odrębnych pinach i na trzecim pinie pastylkę pamięci. nie mam najmniejszych problemów wyciągam termometr i mam napis Sensor 1 uszkodzony.. albo 2-gi zależy który wyciągnę, ale cała reszta programu chodzi idealnie. mogę ustawić...
witam, mam problem z obsluga czujnika temp. ds1820, polaczony jest przez 1Wire na plytce testowej AVT2500. Przykladowy program do obslugi pobralem ze srtrony http://as.rumia.edu.pl/artur/a/bascom/Te... Kompilacja programu przebiega bez zadnych problemow. W momecie uruchomienia uProca uzyskuje staly odczyt "- 0.5 C". z gory dzieki za pomoc. <--TERMO.BAS-->...
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...
Czy program uwzględnia odczyt numerów ID i przypisanie ich do konkretnego miejsca (tzew, twew)? Niech ci się zepsuje jeden czujnik, to jeśli masz szczęście, podczas wstawiania nowego nie zamienią ci się one miejscami tak że Tzew i Twew będą na właściwych wyświetlaczach, a nie na odwrót. Widzę, że kolega nie przeczytał dokładnie tematu, nie możliwa...
Można... $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza LCD Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 Config Lcd...
Zmienilem na takie cos i wogole nic nie wysyla, wiec cos gdzies sie zatrzymuje.. $regfile = "attiny2313.dat" $crystal = 8000000 Config Pind.5 = Input Config Portd.1 = Output $hwstack = 32 $swstack = 10 $framesize = 40 $baud = 300 Config 1wire = Pind.5 Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single...
plik numer 1wire.c #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include <math.h> #include <stdlib.h> #include <stddef.h> #include "my_lib.h" unsigned char wiersz=0; unsigned char kolumna=0; int main(void) { lcd_init(); char *tekst1=PSTR("Temp:"...
Witam. Mam problem z programem z książki "Programowanie mikrkontrolerów AVR w języku BASCOM" listing nr 8.19. Przerobiłem z Atmega8 na Attiny2313 ponieważ plik .bin ma pjemność 1,20 kB. Po pierwszym wgraniu na wyswietlaczu wyświetlało się byle co tzn. temperatura ujemna lub brak układu. Zmieniłem w linii : If temperatura(2) = 0 Then na If temperatura(2)...
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...
czesc dzieki za odpowiedz- chyba dobrze zrozumiałeś - dokładnie chodzi mi o sterowanie czyms - oprogramowanie ok, a jakie urządzenie / układ jak to się nazwa co może sterować prądem 230 - sterowanie pompami chyba tak dziala puszcza się prąd jak ma się zmienić. więc rozumiem podłączam coś - do tej magistrali co będzie widoczne przez system czyli będzie...
Tworzę sterownik który będzie operował na 4szt DS18b20 Program jest pisany w bascom Czy w bascomie można zadeklarować tablicę dwu wymiarową Tablica (4)(8) Dla czego przy odczycie danych muszę ponownie resetować magistralę i podawać numer seryjny układu. Podobno po wysłaniu za pierwszym razem numeru układu inne milczą a wskazany nadsłuchuję 1wreset 1wwrite...
Nie znam bascoma, ale po tym co piszesz problem masz natury błędnego podejścia. Jak zabierzesz jeden czujnik to oczywiste jest, że urządzenie przy 1wire search zwróci czujniki w innej kolej kolejności. Np jak zabrałeś czujnik zwracany jako pierwszy (z "najmniejszym" numer seryjnym) to drugi czujnik stanie się pierwszym. Masz 2 wyjścia: - zapmiętać numery...
To zależy jak są podpięte DS'y. Do tej pory wykorzystywałem max 2 DS'y, a podpinając je do '51 stosowałem oddzielne piny. Coś takiego: 1wire_1 Alias P3.3 'DS 1820 ch1 1wire_2 Alias P3.4 'DS 1820 ch2 ... ... 1wreset 1wire_1 1wwrite &HCC 1wire_1 1wwrite &H44 1wire_1 1wreset 1wire_2 1wwrite &HCC 1wire_2 1wwrite &H44 1wire_2 Jeśli podpinasz wszystkie razem...
Chciałbym aby dla danej temperatury zalaczał mi dane urządzenie przez mikrokontroler. Nie wiem jak to sie robi takze przy rezystancyjnych czujnikach, ale chyba dużo prościej niż przy DS'e(chodzi mi o kod programu). Obsługa DS'a jest prosta, skoro decydujesz się na C i szukasz gotowca to rozumiem, że coś kumasz z tego języka - ja tak średnio... jesli...
Poprawiłem kod, cos mi sie wydaje że to nie jest ten co był w procesorze i dlatego nie wyświetla drugiej linijki. Podaj jaki numer wersji Bascoma używasz? Sprawdzilem na mojej płytce prototypowej i wszystko działa. Wykasowałem to co było niepotrzebne a ta pętla next nie działała bo źle jest napisana, trzeba inaczej ostrzeżenie o śliskości ułożyć. na...
$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega16 $crystal = 8000000 'deklaracja cześtotlwiości pracy 'Deklaracja portów od wyświetlacza LCD Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Cursor Off '**** Termometr **** Config 1wire =...
Kolego coś takiego wymyśliłem :[syntax=vbnet] $regfile = "m16adef.dat" $crystal = 80000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Input 'port A jako wejścia Config Portb = Output 'port B jako wyjścia ' Config Portd = Input 'Port D Jako Wejścia Config Portc = Output 'port C jako wyjścia Config Sda = Portc.1 'konfiguracja pinu magistrali...
Przedstawiam działający kod na atmega32. Można go adaptować na większą liczbę czujników. Mam dwa podłączone i działa bez problemu. Kod nie jest zoptymalizowany. 'Odczytanie Id czujników Sub Termometr_id Ilosc_czujnikow = 1wirecount() Cls Lcd " test term " Lowerline Lcd " wcisnij prg" Wait 1 Upperline Prg = Prgp If Prg = 0 Then 1wreset Ilosc_czujnikow...
1. Te układy różnią się też nieco dopuszczalnym napięciem wejściowym i napięciami progowymi wejść – DS2413 traktuje <0,8 V jako "0", natomiast DS2406 wymaga <0,3 V, w związku z czym trzeba byłoby zwiększyć pojemność C1. Układy 1-Wire i tak mają niepowtarzalne numery seryjne, więc właściwie trudno znaleźć zastosowanie dla dodatkowej pamięci...
może sie przyda - program właśnie na czujnik 18s20 ' BASCOM College ' (EdW 2001.01 str. 20) ' Temat : "Termometr z Dallas DS1820" ' wersja 1.1 (20.03.2001) ' Compiler : BASCOM 8051 LIBRARY V 2.06 ' Used ROM : &H7A3 1955 (dec) > Ok ' Poprawki do ver. 1.0: ' - poprawiony błšd odczytu temp > 41,5...
Według mnie to nie jest żadne zabezpieczenie. Unikalny numer, nic więcej. Tym wcale nie zabezpieczysz układu przed możliwością aktualizacji zawartości bez możliwości skopiowania. A czym że jest unikalny numer jak nie kluczem. Co z tego że skopiujesz układ jak nie uruchomisz całości bez klucza. Jeśli przełożysz klucz (którym jest DS2401)z oryginału...
Witam z kolegą robimy projekt schemat już mamy http://obrazki.elektroda.net/67_12514534... Kod do obsługi termometru i wyświetlacza już mamy znaleziony w sieci i przerobiony na początku dodałem obsługę sda i scl lecz dalej nie wiem co robić to robiłem bez żadnej książki nie posiadam 'Stacja METEO $regfile = "m8def.DAT" 'deklaracja...
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...
'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksišżki "Mikrokontrolery dla Poczštkujšcych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwo�ci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17...
Tak właśnie mam tak zrobione. Ale wolałbym jednak móc podawać ID czujnika do odczytania do funkcji np tak: Declare Function Myfunction(Byval I As byte) As string Z = Dsid1(1) ' ID czujnika 1 T = Myfunction(z) Function Myfunction(byval I As Byte ) As String 1wreset 'Resecik 1wwrite &H55 'Będzie odpowiadało tylko urządzenie...
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...
Tak, AVCC jest podłączone. Program w Bascom: http://obrazki.elektroda.pl/8556711100_1... http://obrazki.elektroda.pl/5791017800_1...
Witam Mam układ, który mierzy dwie temperatury ( DS18B20 ), dwa napięcia ( PCF8591 ( pobiera czas ( PCF8563 ), a z powodu niedużego wyświetlacza ( 12 x 4 ) wskazania są zmieniane do 10 sekund po przepełnieniu Timer1. Układy PCF8563 i PCF8591 są podpięte z "zewnątrz" przewodami około 10 cm. Magistrala I2C ma obniżoną prędkość przez Config I2cdelay =...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
problem polega na tym ze wyswietla sie "- 0.1" stopnia czy jest czujnik czy go nie ma jesli odejme 4,7k od +5 to jest "0.0"stopnia program wyglada tak. co jest nie tak? $crystal = 4000000 $regfile "attiny2313.dat" Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 Set Portd.6 Config 1wire = Portd.5 Set Portd.6 Dim Odczyt(2) As Byte...
Kod jest dość spory więc wkleję najważniejsze fragmenty odpowiedzialne za RC5 ,SD i 1Wire. RC5 '***************************************... '****************************PROCEDURA ODCZYTU RC5**************************** '***************************************... Readir: Disable...
Niestety problem jest dalej. Program wyświetla w pierwszej linii zawartość bufora, ale nie wiem jak tę zmienną wykorzystać dalej - chciałbym mieć możliwość jej sprawdzenia - tzn. sygnalizacji, że odczytana zawartość bufora jest zgodna z zapisanym wcześniej numerem - chodzi mi o porównanie z inną zmienną #include <stdlib.h> #include <lcd.c>...
Witam serdecznie, Chcę zrobić sterowanie wentylatora w łazience takie, żeby wentylator włączył się gdy wilgotność powietrza przekroczy pewną wartość. Nabyłem więc czujniki DHT11 pracujące pod 1wire. Walczę z problemem już jakiś czas i nie mogę sobie poradzić. Znalazłem artykuł na ten temat : https://serwis.avt.pl/manuals/AVT3079.pd... Przystosowałem...
Tak jak to czytam to logiccznie powinno działać ale po przekroczeniu temperatury pojawia sie napis !!PIEC!! program odgrywa dwie nuty i tyle. Wiec działania przycisku nawet nie mozen sprawdzić. ale bez nacisniecia przycisku po obniżeniu temperatury i znów podwyższeniu do temp. alarmowej znów wlacza sie alarm(dwie nuty) i koniec. regfile = "m8def.DAT"...
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...
If I3 > 0 Then .Nie wiem właśnie, w którym miejscu robię błąd, bo w sumie przepisuje wynik pomiaru do I3 i procedure If, then, else, end if.
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...
a ja się zastanawiam jakie jeszcze istnieja czujniki dzialajace na 1-wire ? jakos nie moge tego znalezc :( A patrzyłeś na stronie producenta? Z tego co pamiętam głównie są termometry, ponadto przetwornik A/C, układ 1 bitowego portu I/O, układ "rozgałęźnika" 1wire. Pozatym jest cała seria układów podobnych elektronicznie do iButton czyli układy z samym...
Do pełni szczęścia , brakuje Ci funkcji wyszukującej numery seryjne urządzeń , podłączonych do madistrali 1wire. Możesz odczytać pojedynczo te numery i zapisać je na stałe w pamięci programu , czy w eepromie , ale to takie .... prostackie(?) :D http://pdfserv.maxim-ic.com/en/an/AN187.... Piotrek
Projekt to klon adaptera DS9490 firmy maxim, nie jest tak malutki ale ma za to plusy: LED ;-), 2 zlacza RJ12, nie jest tak filigranowy (oryginal mysle ze przy ostrej ekspolatacji moze sie zlamac albo moja pojawic sie 'zimne luty'). Na elektrodzie jest juz podobny projekt ale - duza plytka, nie jest latwo dobrac obudowe, brak zgodnosci ze zlaczem RJ12...
Oczywiście do tego służy 1wiresearchfirst/next Jeśli korzystasz z megi lub innego uC z wbudowanym eepromem zapisuj numery do wew. pamięci lub zew. np AT24C16 i porównuj ze znalezionymi przyporządkowując im numery lub nazwy. Ten sam problem mam zamiar dziś przez noc rozwiązać ale na pierwszy rzut oka nie powinno być kłoipotu pozdr
Witam panowie od razu podkreślę że jeszcze uczę się bascoma więc proszę nie krzyczeć i nie usuwać tego postu do kosza Siedzę już nad tym 3 dzień i efekt mojej pracy nie najgorszy ale mam parę pytań po pewnych rzeczy nie rozumiem i nie mogę rozwiązać. Więc tak założeniem był pomiar temperatury przez ds18b20 wyświetlenie je na LCD i 4 wyświetlaczach 7...
Czy wysłanie liczby 0xcc mam traktować jak znak ascii o tym numerze?? Ponownie sie zapytowuje jak wysłac liczbe na port. Jezeli to przystawka z 1wire na rs232 to sadze ze trzeba odpowiednio przetłumaczyc to na C++. 1wwrite &HCC // wysłac liczbe 0xcc na port 1wwrite &H44 // wysłac liczbe 0x44 na port Waitms 750 // Sleep(750) 1wreset // wysłac 0x00 na...
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 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...
$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza LCD Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 Config Lcd = 16...
http://obrazki.elektroda.net/60_12870844... Witam. Termometrów na elektrodzie było już dużo, w tym projekcie nie ma nic specjalnego, poza tym że wykorzystuje w miarę nowy procesor LPC1343. Projekt umieszczam w sumie tylko po to żeby podzielić się źródłami. Mam nadzieje że komuś się przydadzą. Jak wiadomo, kto stoi w miejscu, ten się cofa....
Witam. W dziedzinie mikrokontrolerów jestem początkujący więc proszę o wyrozumiałość. Mam problem zaprogramowaniem Atmega8. Programator zrobilem sobie według schematu z tego posta 'Termometr 4 punktowy DS18b20 $regfile = "m8def.DAT" $crystal = 1000000 'Deklaracja portów od wys'wietlacza LCD Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1...
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]...
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...
No i przedobrzyłem Dokonałem optymalizacji kodu, oszczędzając kilkanaście procent pamięci FLASH, ale... sygnał z pilota NEC ( takie małe płaskie na baterie pastylkową ) przestał być odbierany - brak jakiejkolwiek reakcji na naciśnięcie przycisku w pilocie. Poniżej kod: Print Command w przerwaniu Infrared , żeby sprawdzić, czy coś odbiera - reakcji brak,...
Nie bardzo wiem jak to napisac :-(, a czy jesli mam tylko jedno urzadzonko na 1wire to musze sprawdzac jego kod? Nie chodzi o numer urządzonka , tylko o to , że nie sprawdzasz czy odpowiedziało na sygnał RESET. jest ... one_wire_reset();//wystawia sygnał RESET na magistrali i zwraca kod błędu //gdy była odpowieź PRESENCE PULSE , funkcja zwraca...
1wire numer odczyt 1wire 1wire numer seryjny
tablica autobus kondensator kosiarka podłączenie ładowarka pakiet
gwarancja opony aparat słuchowy
Lokalizacja czujnika prędkości ESP w Mercedesie W169 Supreme Soft 26 – brak pobierania solanki, czyszczenie inżektora, diagnostyka zmiękczacza