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.
tych czujnikow nie mozna laczyc szeregowo . Laczysz je rownolegle wiec wszystkie + razem podobnie GND i linie 1wire do procka. Jednak na samym poczatku po napisaniu programu musisz je dolaczac pojedynczo aby odczytac nr seryjne po tym zabiegu juz moga one razem pracowac. Inicjujesz 1wire wysylasz konkretny numer seryjny odczytujesz temperature resetujesz...
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...
Możesz napisać sobie na dowolny procesor program wykonujący taką funkcję. Jeśli chodzi o numer seryjny to rozważ zastosowanie jakichś układów zawierających unikalne numery, np. coś z 1wire.
Jest jeszcze cos takiego jak: DS2411. Jeśli DS1820 chciałbyś użyć tylko jako numer seryjny to lepiej użyć właśnie DS2411 - jest tańszy. W TME cena DS1820 przy 100 sztukach (bez żadnych dodatkowych rabatów) 3,99zł a cena DS2411 przy 100 sztukach 2,89zł. A może jest jeszcze jakiś tańszy układ 1wire?
a spróbuj wyswietlać od razu na wyświetlacz czyli: printhex 1wread() może to pomoże. Jakoś niemogę znaleźć noty do tego układu powyżej 2 stron(jakieś dema czy co?) Czy aby napewno &h33 odczytuje zawartość?
Witam, Czasówki 1wire do zmiany. Sprawdzaj CRC numerów seryjnych.
Kiedyś przerobiłem na szybko jedną z dostępnych bibliotek na obsługę kilku ds18b20 na różnych liniach: [syntax=c] //#ifndef 1wire //#define 1wire #include "hardware.h" ////////////////////////////////////////... // ROM commands #define DS18B20_ROM_SEARCH 0xF0 #define DS18B20_ROM_READ 0x33 #define DS18B20_ROM_MATCH...
no wlasnie tylko jak ma wyglądać taki program do emulacji ? Dodano po 50 czyli poprostu mam zrobić urządzenie SLAVE na interfejscie 1Wire z danym numerem ID ? Chcę zaemulować tabletkę DS1990A
Z opisu wynika, że potrzebny jest konwerter z Portu Uart na 1wire. mam gotowe rozwiązanie - RS485/1wire. trochę mnie jednak martwi wysyłanie przez was po jednym bajcie danych, ciekawi mnie też jak wygląda sprawa z odbiorem ( też po jednym bajcie?) moja ramka którą musicie wysłać do konwertera wygląda następująco: > " znak początku" 01H "adres" 02H "typ...
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...
I jesteś pewien, że masz wszystko poprawnie podłączone. Rezystor podciągający szynę 1Wire (środkowa noga DS18B20) do zasilania około 4,7k jest? Pod który pin(numer nogi) procesora masz podłączoną szynę 1wire? Jaki masz kwarc na płytce?
Witam, Programuje w Bascomie i chcialbym zrobic uklad slave dla magistrali 1wire dla 90S2313, w bascomie jest malo instrukcji do obslugi 1wire, ja chcialbym nadac mojemu uC unikalny numer id i ukladem master moc modyfikowac w nim jakas zmienna Ma moze ktos jakies pomysly jak to zrobic? Pozdrawiam,
Z tego co widzę to odczytany numer masz w zmiennej WireBuffer :)
KanGu :arrow: Jak zmieniasz pin magistrali 1wire , może poprzez Config 1wire=Portx.x :?: Jeśli tak , to ten numer nie przejdzie - trzeba tak , jak to pokazał polik80 . Piotrek
;* ;***************************************... ;*PROCEDURY OBSŁUGI MAGISTRALI 1-Wire DLA MIKROKONTROLERA AVR ;***************************************... ;* ;*Nazwa pliku :AVR_1Wire.asm ;* ;*Przeznaczenie :dowolny AVR, za wyjątkiem AT90S1200 ;*Kwarc :4MHz ;* ;*******************************OPIS****...
Nie da się, jak kupujesz czujniki to są trochę pomieszane i ich numery seryjne losowe (może jakbyś kupił u producenta większą ilość to da się nad tym zapanować). Jedyne rozwiązanie jakie widzę to dołożyć w urządzeniu dodatkowy jeden port 1wire, w nim odczytywać numer i dopisywać do listy adresów. W innym przypadku pozostaje tylko wspomniana metoda na...
Może nie posługujesz się prawidłowo numerami unikatowymi, podając je nie możesz zapomnieć o sumie CRC.
no widzisz u mnie nie wykrywa tego błędu. Wersja mojego 2.0.6.0 full wersion :) Zgadza się v2.0.8.0 też nie protestuje 8O A tak apropos Bascom-owego assemblera czy wiesz że można korzystać z wbudowanych w niego asm-owych procedurek :idea: Do wersji 2.0.11.0 (jeśli się nie mylę)Bascom nie miał takich przydatnych funkcji 1wire jak: 1wirecount(),1wseachfirst(),1wsearchnext...
Witam! Chciałbym zmieniać port lub też bit portu 1wire, na którym jest termometr DS1820... Skorzystaj z dobrodziejstw języka C i użyj wskaźnika , oraz zmiennej. Adresy portów we wskaźnikach , a numer bitu w zmiennej i ... po krzyku ;) Piotrek
Witam Pawelp11 będę bronił EEPROMu na płytce, może być też inna pamięć, ale co do zasady jest to często potrzebne, dajemy klientowi płytkę z zapisaną konfiguracją wyświetlacza, numerami czujników 1Wire czy też adresami urządzeń I2C. Jeśli klient dostaje cały oprogramowany komplet razem z RPi to nie ma problemu, w innym wypadku jest to dość przydatne....
Pastyli DS1990 to taka uboższa wersja wszystkich innych Dallasów chodzących na 1wire, bowiem wszystkie one mają swój unikalny numer. Pastylki DS1990 oprócz tego numeru nie mają nic więcej, zatem jeśli inne układy Dallasa ci chdzą, to DS1990 powinny chodzić tym bardziej. Pooglądaj sobie przykładowe procedurki załączone do BASCOMa. Powodzenia :spoko:
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....
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ć...
polecam DS1820 , ma 1wire łatwo go oprogramować , każdy scalak ma także unikalny numer identyfikacyjny co pozwala użyć kilku czujników na magistrali. Koszt scalaka to 12-17zł. Choć w niektórych sklepach żadają za niego nawet 35-40zł :( Jeśli chcesz koniecznie i2c to masz też DS1621. Choc impletacja magistrali 1wire nie jest trudna , są gotowe procedurki...
Dzięki pętli mogę odczytać tylko id w formacie HEX ,BIN lub STR. numer wygląda tak: HEX = 2830C5B80000008E BIN = 0010100000110000110001011011110000000000... STR= 4048197184000142 :?:
nie ma żadnych komplikacji, wszystko zależy od oprogramowania jak masz wolne porty to możesz na nich zrobić a jak nie to na numerach seryjnych możesz czytać temperaturę i nie ma z tym żadnego problemu. pozdrawiam
Witam Głowie się nad problemem autoryzacji dostępu. Widziałem kiedyś takie fajne zamki gdzie się przykładało pastylkę i zamek się odblokowywał. Zapytałem się google i znalazłem że takie pastylki robi dallas. Nie wiem czy dobrze rozumiem ale na TME doczytałem sie że oprócz takich które mają numer wypalony w środku (DS1970) są jeszcze takie które mają...
1WIRECOUNT Przeznaczenie: Zwraca liczbę urządzeń podłączonych do magistrali 1Wire. Składnia: [syntax=basic4gl]zmienna = 1WIRECOUNT( ) zmienna = 1WIRECOUNT( port , pin )[/syntax] A także: [syntax=basic4gl]1wverify Reg_no(1) Print Err 'Err=1 gdy nie ma takiego numeru[/syntax] Zwróć uwagę na tajemniczą zmienną Err, która jest zaszyta w programie.
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...
[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...
ja swojego niestety też nie umiem skończyć. Mam problemy z komunikacją. Kupiłem moduły 433MHz chyba takie same jak autor użył gdyż pasują do rozstawu i otworów na PCB i jakoś tylko raz na sto transmisji, ta dociera jak należy. Dodatkowo zasięg jest tak marny że już sam nie wiem co z tym zrobić... Mogę śmiało powiedzieć że mój termometr stanął w martwym...
Każdy uklad DS1820 ma unikalny 64bitowy numer identyfikacyjny, jak chcesz podpiąć kilka wystarczy odczytać numery wszystkich układow podpiętych pod magistralę 1Wire zapamiętać je i już wiesz z którym układem chcesz "gadać". Ja wpisałem na sztywno adresy żeby nie pomylić czujników (jeden z nich regulowal pracę pompy). Pozdrawiam WERWOLF
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...
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
Witam Również pracuję nad czytnikiem do DS1990. Chcę go wykorzystać jako immobilajzer do zabezpieczenia samochodu (np. odcięcie zapłonu). Jako sample zamówiłem w DALLAS'ie (nie w Microchip'ie jak twierdził przedmówca) DS1996 - oprócz unikalnego numeru posiada również 64kb pamięci NVSRAM. Ale niestety nie nauczyłem się go jeszcze obsługiwać - narazie...
1. Podrobienie układu DS2401 nie jest żadnym problemem, nawet dla początkującego, ale znającego 1wire. Tak samo trudno zrobić 1wire slave jak i 1wire master. Wystarczy do tego dowolny uK, nawet najtańszy, najmniejszy. 2. Jeśli będziesz trzymał kopię numeru seryjnego w eepromie lub nawet samym bootloaderze to po co będzie sam układ DS2401? Odpowiednio...
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...
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...
Dawno nie uzywalem digitempa, ale od czego jest manual do niego i google? Bylo cos, ze na poczatku, wykonywalo sie digitemp -i aby zinicjalizowac go, ew. trzeba bylo dodac chyba -s /dev/ttySx, gdzie x jest numerem portu com pod ktory masz podpiete czujniki. aha widze, ze masz 1wire pod usb podpiete, to zagleb sie w helpa/manuala i znajdz przelacznik,...
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...
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...
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...
...odczekuję ten czas zapytania (łatwo można go obliczyć) A jak chcesz to obliczyć :?: i wysyłam mu ten numer zwykłą Bascomowską instrukcją 1wwrite... Zły pomysł ;) Poczytaj sobie specyfikację magistrali 1wire i zastanów się , kto w układzie czytnik-mikrokontroler udający DS1990 jest master , a kto slave. Piotrek
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...
Witam dostałem do rozgryzienia urządzonko z czujnikiem temperatury z komunikacją po 1 przewodzie podobne coś jak 1wire ale to nie to zdechł czujnik bo pokazuje 0.1 stC podpinałem ds18d20 i nie został wykryty, uruchomiłem sobie skaner 1 wire (ATmega8+LCD) i jakiegokolwiek ds podepnę działa a jak podepnę ten uszkodzony czujnik to "odczytany" zostanie...
Dziekuje za odpowiedz Tego kodu probowalem i wiem ze dziala.mam pytanie czy po zaniku napiecia badz restarcie programu czujka raz zapisana jako pierwsza zawsze edzie pierwsza a druga zawsze druga? co sie stanie jak jedna prestanie dzialac z sieci np 8 czujek? ale ja mam jeszcze inne zmartiwienie. powiedzmy tych czujek mam 8 i z kazdej spisalem adres...
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....
Niestety "czarny wyświetlacz" coś nie tak podeślij kod to może coś przerobie No odnośnie tego poprzedniego kodu to tego nie kumam [syntax=basic4gl] Sub Znajdz_czujniki: Ilosc_ds = 1wirecount() ' pytamy ile czujnikow jest na magistrali 1Wire '=======================================... If Ilosc_ds > 0 Then Ds_id(1) = 1wsearchfirst() 'Znajdź...
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....
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...
Witam, Zastanawiam się nad problemem ogólnego charakteru. Załóżmy, że piszę soft z założenia z jakimiś opcjami zablokowanymi (takie DEMO). Potem, po sprzedaży daję możliwość uaktywnienia pewnych opcji odpłatnie. Tylko jak to zrobić by było pewne i odporne na rozpowszechnianie. Myślałem o jakimś kodzie aktywacyjnym ale to wymagałoby programowania każdego...
ale wtedy cala idea 1-wire legnie w gruzach. Zeby zmniejszyc to co tam chcesz stosuje sie oporniki okolo 150 ohm do kazdej gałezi sieci. A tak nawiasem mówiac są specjalne uklady Dallasa do sterowania linia numeru nie pamietam. Wpina sie to w linie i mozna dalej ciagnąc długi przewód co na zasadzie wzmaczniaczy stosowanych w telefoni przewodowej.
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...
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,...
Właśnie... Jest jeszcze motyw taki, że PIN, którym podłączam się do 1Wire to INT0, przerwania na oba zbocza. Zbocze opadające zeruje timerek a zbocze narastające sprawdza ile upłynęło czasu (ile trwał impuls). Jeśli czas trwania impulsu oznacza RESET PULSE od mastera, zaczyna się cała obsługa w moim SLAVE. W nocie katalogowej jest napisane, że jeśli...
To nie jest poprawny zapis http://obrazki.elektroda.pl/3954802400_1... Życzę miłego dnia
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...
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...
A skąd taki wniosek? Pozostałe linie działają bez zmian. [syntax=c] #define CLEAR_1W(port, bit) port|=(1<<bit)//_BV(bit) // 1 - wy #define SET_1W(port, bit) port&=~(1<<bit)//_BV(bit)// 0 - we unsigned char RESET_PULSE(volatile unsigned char *port, unsigned char pin) { unsigned char PRESENCE; CLEAR_1W(DDR(*port), pin);//CLEAR_1wire; _delay_us(500);...
Ok. Czyli pierwszy błąd jaki zrobiłem udało się odnaleźć - Dzięki. Problem jednak w tym, że nawet na samym początku w podprogramie "Powitanie" (jeszcze przed samym dokonywaniem pomiarów) jest tylko wykrycie czujników, ich zliczenie i potem wyświetlenie ich liczby i niestety to już nie działa. Jeszcze co do błędu, który zauważyłeś - wgrywałem do uC programy...
Witam, opis jest bardzo jasny. Ale ja potrzebuje urządzenie do którego będę podłączał za każdym razem inny zestaw czujników ds18b20, nie znając ich numerów id. Więc to odpada. Chyba, że będę korzystał z funkcji 1wsearchfirst(),1wsearchnext() ale to może komplikować program. 1wire przeniosłem na p1.0 i nic zmieniłem tez wersje kompilatora na nową dostępną...
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...
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. ****************************************...
http://obrazki.elektroda.pl/6850537700_1... Witam. Posiadam czujkę dymu i ciepła Hekatron MTD 533X. Czujka komunikuje się z centralą prawdopodobnie za pomocą protokołu 1wire ponieważ do czujki podlaczone są tylko 2 przewody- masa i zasilanie(+)przewód spełniający również funkcję komunikacji- transmisji danych. Każda czujka posuada również...
To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...
http://obrazki.elektroda.net/23_12758251... Witam, chciałbym zaprezentować konstrukcję termostatu którą wykonałem na zaliczenie przedmiotu na studiach. Do budowy termostatu wykorzystałem: atmega8, cyfrowe czujniki temperatury DS18B20 oraz wyświetlacz 2x16 znaków. Program: Program do atmegi napisany jest w asemblerze. W programie zaimplementowana...
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-->...
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...
O mistrzu to jest to czego szukałem !! Dzięki. Ale znów nasuwa mi się pytanie. W systemie będę miał 4-6 pastylek DS1990A i oczywiście adaptery do tego. Nigdy jeszcze ich nie używałem i zastanawiam się jak one się rejestrują i komunikują. Wydaje mi się że tak: 1.Rejestruję sobie taką pastylkę "nr.1" -czyli przykładam do adaptera-czytnika i uruchamiam...
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...
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
Witam Na podstawie http://www.nongnu.org/avr-libc/user-manu... chciałem zrobić przekazywanie parametru do funkcji, którym jest adres portu. Dla jednorazowego przekazania tego parametru do funkcji sposób działa jednak ja mam pytanie co w zrobić w sytuacji, gdy przekazuję parametr funkcji, którym jest właśnie dany port uP do jednej...
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ś...
Sprawa pierwsza czyli instrukcje konfiguracyjne w kodzie. Chodzi o to, że jeśli nie wstawisz takiej instrukcji a użyjesz w kodzie chociażby jednej instrukcji PRINT, INPUT albo innej związanej z UART to cudów nie ma, trzeba skonfigurować UART i kompilator musi przeliczyć prędkość dla UBRR i ustawić bity konfiguracyjne. Dane musi skądś wziąć więc weźmie...
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...
przykładzik z numerami seryjnymi, dla bascoma usuń zbędne funkcje "print" oraz to czego nie potrzebujesz. gdybyś miał kłopoty to pisz euromatic(at)tlen.pl Config 1wire = P1.1 Dim Bd(9) As Byte Dim Z As Integer, Tmp As Integer Dim T As Integer, T1 As Integer Dim Aa As String * 2 Dim Bb As Byte Dim C As Byte Dim I As Byte Declare Sub Temperatura Do Call...
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_...
(at)ElektrodaBot jak działa przeszukiwanie magistrali 1wire, możesz wytłumaczyć, czy szukanie sortuje w jakiś sposób te numery ?
Prawdopodobnie jest to zwykły koralik na lini zasilania. DS2490 konwenter USB--1Wire tego nie zamienisz raczej niczym. BAV103 dioda do montażu powierzchniowego w obudowie LL34 co do LM to chyba żle przepisałeś oznaczenie bo wydaje się że jest to przetwornica/stabilizator 3,3V. Niestety nie mam tego numeru EP
Schematu jeszcze nie mam jak narazie zajełem się softem, ale zamierzenia są takie: - magistrala 1wire podłączona do Pind.6 - diody sygnalizujące stan pracy urządzenia Pinb0- Pinb3 - przekażniki podłączeone do Pinb.4i Pinb.5 kontrolera przez układ ULN2800. Układ w zamierzeniach sterować ma elektro ryglem furki przy wejściu na posesję. Jak opanuję soft...
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ć...
wiem ze tematem nie jest 1wire ale dla samej ideii nie warto obic czegos co nie ma duzego sansu. a powracajac do tematu nie mam pojecia jak napisac procedure uniwersalna bo nie ma zadnego rozkazu ktory operowal by na pinie ktorego numer zalezy od jakiejs wartosci.
Dzięki za cenne uwagi. Teraz wiem czego szukać. Generalnie zmiana kontrastu pokaże że dolna linia nie działa. Szpilki na zasilaniu przy LCD mogą się pojawić, nie dałem dodatkowego kondensatora. Inicjalizacja wyświetlacza co pewien okres czasu na pewno pomoże. Poprawki wykonam w Piątek lub Sobotę i się odezwę za tydzień. Kontrast jest regulowany dla...
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
Witam, napisałem program do nadajnika, mógłby ktoś zerknąć, lub ewentualnie wnieść poprawki. Proszę o pomoc. $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config 1wire = Portd.5 'deklaracja magistrali 1-wire Dim W As Byte Dim I As Byte Dim Temperatura As Integer ' deklaracja zmiennej I wykorzystywanej do petli for next 'deklaracja...
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...
Nie wiadomo jak są nadawane numery przed Dallasa więc trudno określić jakie będzie rzeczywiste prawdopodobieństwo zdublowania tak obciętego numeru. Musisz założyć brak unikalności lub utworzyć własną bazę i przed przekazaniem użytkownikowi sprawdzić unikalność. Sam konwerter można zrobić na pierwszym lepszym uP. JarekC A można prosić o jakieś konkrety?...
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...
Kolejnośc , w jakiej zostaną odczytane(wyszukane) numery seryjne , zależy wyłącznie od programisty.To ON decyduje , jaką odpowiedź (stan) wystawi na magistralę 1wire , przy 1-szej niezgodności bitów w numerze identyfikacyjnym układów podłączonych do tej magistrali. Piotrek
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...
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:...
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,...
Tu mas fajnie wyjaśnione komendy 1wire. http://www.jaglarz.com/ja/elektronika/ds... A tu jest program z komentarzami w BASCOM. http://www.portalnaukowy.edu.pl/index.ph... Numer czujnika jest 8 bajtowy czyli 64 bity. Jeśli czegoś...
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...
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...
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...
a poza tym, to zastanów się, czy to będzie praktyczne rozwiązanie.. 1/ styki kart ulegają jednak zużyciu i co jakiś czas będzie trzeba wprogramowywać nowe egzemplarze (odpalanie samochodu wykonuje się częściej niż operacje autoryzacji elektronicznej..) 2/ karta jest stosunkowo duża (chyba, że użyjesz amerykańskiego standardu kart :-) ), więc jest średnio...
zapomnialem dodac ze pisze to na AT89S8252 a nie AVR'a :) jezeli mam jeden czujnik podpiety i odczytuje temp z niego nie pobierajac numeru seryjnego czujnika to dziala bez problemu....problem sie dopiero pojawia jak wysylam komendy do danego czujnika. Dodano po 6 kwarc 16MHz, Config 1wire napewno jest ok bo na jednym czujniku dziala:) jak wpisze zeby...
... zumek, zastanawialem sie nad ta funkcja, nie wiem co tam jest zle, funkcja pochodzi ze strony dallas semiconductor gdzie opisana jest kominukacja 1-wire, z tamtad tez sa zastosowane czasy opoznien przy komunikacji http://www.maxim-ic.com/appnotes.cfm/app... A ja , myślę sobie tak:" masz podaną na talerzu gotową funkcję, a rozbudowujesz...
1wire odczyt numer 1wire numer seryjny czujnik 1wire
prądnica wzbudzić automatyczna pompa renault kangoo przekaźniki
zanussi piekarnik przetwornica 24vdc 12vdc
Uszkodzony układ zasilania wiatraka - diagnostyka i naprawa Peugeot 308 – niedziałające spryskiwacze przedniej i tylnej szyby, bezpieczniki, pompka, BSM