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ą...
http://obrazki.elektroda.pl/2126980700_1... System monitorowania środowiska, oparty o interfejs LoRa IoT składa się z stacji bazowej zbudowanej z wykorzystaniem modułu Arduino Mega z bramką LoRa oraz zdalnych stacji opartych na Arduino Feather, które łączą się z stacją bazową poprzez radiowy interfejs LoRa. System pozwala na monitorowanie...
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...
Witam Przeglądając tematy na Elektrodzie nie znalazłem odpowiedzi na 2 konkretne pytania. Jak przydzielane są DSy? Czy o kolejności rozpoznania czujników decyduje ich numer ID. Czym starszy numer, to czujnik następny w kolejności? Rozumiem że podłączenie 1Wire- GND i Vdd razem, DQ podciągnięte do 5v. Na odczyt potrzeba 750ms. A co z połączeniem 2Wire,...
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...
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:...
Do czego to doszło ;p Może od nowa, wersja z i2c chce dopiero teraz wprowadzić jak na razie jest po Bożemu znaczy sie wyswietlacz ze sterownikiem znajduje się na 2pietru kamienicy układ wykonawczy i wyłącznik (countera) znajduje się w piwnicy. Z i2c to dopiero mam zamiar zrobić bo zależy mi na dwóch wyswietlaczach jednym w piwnicy drugim na 2pietrze....
Tak wygląda mój kod nadajnika Wyslij_rfm12 wywołanego przez flagę Flaga_wyslij
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ć...
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...
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...
A jak chcesz to obliczyć :?: Znając numer rozkazu i czasy logicznej "1" i "0" można ten czas obliczyć choć przyznam, że to nie jest poprawne rozwiązanie. 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 Masz rację, to sterownik inicjuje...
Rezystory są już dane na płytce, zresztą zegar na PCF działa bez zarzutu ( no może trochę śpieszy, ale to kwestia kondensatora przy kwarcu ) sprawdziłem połączenia - nóżki 5 czyli SDA ( 24C02 i PCF8583 ) są podłączone do 23 nogi uC, czyli PC1-SDA. Podobnie z SCL. Teraz zrobiłem tak, że odczyt jest po włączeniu/resecie ( przed pętlą główna ), a zapis...
Witam Szanownych Kolegów. Tworzę właśnie sobie hobbystycznie driver do urządzenia 1wire (popularny termometr). Napisałem kod na AVR i odpaliłem podłączając na magistralę narazie tylko jeden czujnik. Po resecie otrzymuję presence pulse jak jest podłączony i nie otrzymuję nic jak nie jest podłączony zatem zachowanie ok. Następnie wysyłam komendę SEARCH...
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,...
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...
Witam Zmieniłem sposób obsługi wyświetlania. Początkowo miałem tak : [syntax=basic4gl] '************ Zegar 8 wyswietlaczy LED + 74HC595 + PCF8563 $regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 32 ' rozmiar stosu sprzętowego $swstack = 32 ' rozmiar stosu programowego $framesize = 32 $baud = 9600 '************ deklaracje portow - 74HC595 Config...
Witam forumowiczów, zacząłem realizować projekt zegarka, kalendarza i termometrów z owego linku: http://obrazki.elektroda.pl/6128170300_1... Proszę o porady i sugestie jak można rozwiązać ten problem :P
Chciałbym dowiedzieć się, czy istnieje jakaś możliwość sprawdzenia, czy na szynie 1-Wire znajduje się układ zaadresowany komendą MATCH ROM. Z tego co widzę, nie ma jakiegoś potwierdzenia poprawnego zaadresowania. Spotkałem się z poradą, żeby odczytać dane ze slave'a i jeśli nie będzie on obecny, to zwrócone zostaną bajty 0xFF. Tylko, że wartość 0xFF...
Witam W oparciu o projekt Kolegi _Duch - rejestrator pogodowy zrobiłem swój ( na razie prosty ) rejestrator. Wykorzystałem podane w wątku pliki config_mmc.bas i Config_AVR-DOS.BAS . Na płytce testowej EVB 4.3 v.4 . Podłączenie z SD standardowe. Niestety nic się nie zapisuje na karcie SD ( próbowałem 2 Gb Kingston i 1 Gb Sandisk - formatowane na FAT...
Witam, napisałem w C funkcje do odczytywania i wysyłania danych na magistralę 1-wire, próbuje przetestować czy odczytywane numery seryjne zgadzają się z rzeczywistością. Odczytałem 8 bajtów od ds1820, pierwszy to numer rodziny 10h i to się zgadza, kolejne 6 bajtów to numer seryjny ale ten już się nie zgadza z tym co jest wygrawerowane na obudowie. Mam...
Dokonałem optymalizacji kodu, rozmiar zmniejszył się o 2 %. Pilot RC5 działa, można zmienić czas/date, obsługę wyświetlania przeniosłem do przerwania Ale mam kłopot z wyświetlaniem kropki [syntax=basic4gl] '************ Zegar 6 wyswietlaczy LED + PCF8563 $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 ' rozmiar stosu sprzętowego $swstack =...
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 =...
witam :) Szukam układów 1-wire: - umożliwiającego określenie stanu przełącznika/urządzenia czy jest włączony czy wyłączony - licznika impulsów 0/1 (przełączeń) rudi
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...
Chce odczytac dane z ds18b20 o danym ID. Czy to jest poprawna metoda? one_wire_reset(); one_wire_send_command(SKIP_ROM,numer id); one_wire_send_command(CONVERT_T,nume... id); one_wire_reset(); one_wire_send_command(SKIP_ROM,numer id); one_wire_send_command(READ_SCRATCHPA... id); tb1=one_wire_byte_read();...
Witam!! Posiadam obudowaną już pastylkę DS1990A wraz z czytnikiem z którego wychodzą dwa przewody, gdzieś wyczytałem, że jeden z nich to przewód informacyjny DATA a drugi to GND czyli masa. Chciałbym skomunikować się z tą pastylką za pomocą sterownika, który posiada RS232. Czy jest to możliwe, jak to zrealizować, w jaki sposób, chodzi mi o komendy będę...
Witam Po raz pierwszy ( lepiej późno niż wcale ) wykorzystałem wyjście CLKOUT układu PCF8563. Oczywiście podciągnąłem przez 10K do VCC. Dzisiaj po pierwszym kilkugodzinnym braku prądu, rano zegar był wyzerowany. Podejrzewam, że to przez podciągnięcie CLKOUT do Vcc. Jeśli to jest to, to może wystarczy włożyć diodę np. Schottky pomiędzy wyjście CLKOUT,...
Witam, Zajmuję się problemem standardu IEEE 1451, ale mój problem jest raczej uniwersalny. Sytuacja wygląda następująco. Mam 8 urządzeń - czujników inteligentnych. Sygnały wyjściowe każdego z tych urządzeń to sygnał analogowy (wartość jaką pomierzył czujnik) i sygnał cyfrowy (1-wire - chodzi o komunikację z pamięcią eeprom, która jest "przyklejona"...
Całkiem słusznie się gubisz, po prostu wariacja nastąpiła tuż po napisaniu postu. Jest tak: - po przekroczeniu temperatury ok. 70°C odczyt z małego pieca ustaje. Pokazuje się tylko wartość kalibracji (w moim wypadku 6 stopni), niekiedy powiększona o kilka stopni (góra 4). Niekiedy pokazywana wartość jest o kilkanaście stopni niższa od rzeczywistej....
Mam problrm z zapisem i odczytem danych do DS18B20. Program wykrywa czujnik jednak po podaniu komend do pomiaru temperatury a następnie odczytaniu danych z DS w zmiennych temp1 i temp2 są same jedynki. W tej postaci na wyświetlaczu mam "Ok11111111" Kod programu: [syntax=c]#define F_CPU 1000000 /* 1MHz zegar procesora */ #define CYCLES_PER_US ((F_CPU+500000)/1000000)...
Mam pytanie dotyczące magistrali 1 WIRE> Mianowicie nei mogę się doszukać w internecie dokładnej ramki tejże magistrali. Chciałem napisać procedury do obsługi tej magistrali w assemblerze ale nie mam ramki i nic niestety nie mogę zrobić. Jeśli ktoś chciałby jakieś procedury na I2C lub RC5 napisane w assemblerze dla 89cxx to piszcie maila. I jeśli ktoś...
Witam, mam pytanie. Może dla niektórych wydać się śmieszne i zbyt proste, jednak szukam i nie moge znaleźć na nie odpowiedzi. Załóżmy że mam 10 termometrów ds18b20 na jednej szynie. komenda schear rom określi mi ilości i rodzaje układów slave. Czy mogę w jakiś sposób podglądnąc ile ich jest oraz ten adres jaki jest zapisany w każdym z nich?? Drugie...
Witam, Uczę się bascoma, i stworzyłem sobie programik z zegarkiem i termometrem, lecz na LCD temperatura miga mi na przemian z godziną oto kod: [syntax=basic4gl] 'definicja użytego procesora $regfile "m32def.dat" 'prędkość taktowania 16MHz $crystal = 16000000 $eeprom 'piny podłączenia LCD i definicja jaki LCD | 16x2 Config Lcdpin = Pin , Rs = Portb.0...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Na stronie producenta: http://www.nordicsemi.com/index.cfm?obj=... jest datasheet, zwięzły, opisane to co najważniejsze, jest graficznie przedstawiony algorytm nadawania i odbioru. Transmisja jest bardzo prosta, zależy kto w jakim języku pisze, ja robię w avr-gcc ale robiłem też w bascomie, przykład w avr-gcc - tylko kawałek...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
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.
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 ! 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...
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...
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....
...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...
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...
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,...
Bardzo dziękuję za pomoc. Działa jak należy. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config 1wire = Portb.0 Config Portc.5 = Output S1 Alias Portc.5 Config Portc.4 = Output Buzz Alias Portc.4 'konfiguracja pinów Declare Sub Pomiar Declare Sub Lon Declare Sub Short Dim T(2) As Byte Dim Dziesiatki As Integer Dim Jednosci As Byte Dim...
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...
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
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ś...
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...
spróbuj umieścić obsługę 1wire w innym miejscu. być może podczas odczytu termometru obsługiwane jest np. jakieś przerwanie. w Bascomie b. trudno poustalać zależności czasowe i o ile program nie biegnie gładko dookoła, to często robi takie numery.
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ć...
Całego kodu nie mogę podrzucić, bo: - nie mam odczytu z eepromu, - nie wiem, czy zapis do eeprom ma być jednorazowy w momencie programowania procesora, czy ma być jednorazowy po pierwszym uruchomieniu programu, czy ma być wielokrotny w dowolnym momencie np. po zmianie termometru i wciśnięciu - dajmy na to - dowolnego guzika, - nie mam zrealizowanego...
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 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
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...
1wire numer odczyt 1wire 1wire numer seryjny
budowa światła forscan światła brother wymiana
zmywarka wirpool zmywarka wirpool
Osie łożysk bębna w pralce Candy Smart - identyczne? Projekt obudowy bass-reflex do B&C 15PS100-4