Nie testowałem 1wire na takich częstotliwościach. Wiem jednak z programowania w C, że warunki czasowe dla 1wire są bardzo ważne. Jeżeli nie są spełnione to magistrala się wysypie.
Hej! Twój problem polega na specyficznej konstrukcji magistrali 1Wire i tego że wszystkie czujniki są podłączone za pomocą jednej lini i w momencie gdy chcesz pobrać dane z jednego to zgłaszają ci się wszystkie na raz lub ten który jest szybszy. Miałem podobny problem gdy w układzie miałem podłączony czujnik temperatury oraz pastylkę dallasa i efekt...
Ad 2. magistrala 1wire pozwala na wysyłanie komendy do wszystkich podpiętych urządzeń z pominięciem adresowania - wtedy 1 komendą mamy zlecone dokonanie pomiaru przez wszystkie czujniki. Co do problemu - możesz wykorzystać arytmetykę stałopozycyjną i ręcznie dokonywać konwersji.
Przede wszystkim. Zejdź z taktowaniem do jakiejś normalnej wartości dla ATmega16 i przetestuj czy wtedy komunikacja z DS-ką jest prawidłowa. Jeśli nie to najpierw musisz naprawić sprzęt/algorytm by wszystko działało prawidłowo. Jeśli na niskim taktowaniu komunikacja będzie w porządku to będzie to oznaczało tylko to, że specjalne makra opóźniające jakie...
masy się łączą, odległość na razie to jakieś 30 cm ale docelowo ma być ok 30 m Drogi kolego omen_s ;) Szkoda Twojego cennego czasu na komunikację pomiędzy prockami magistralą 1wire , przy pomocy Bascom-owych funkcji 1wire , bo tak się po prostu nie da . Te funkcje pracują w trybie MASTER , a procek który ma odbierać dane powinien pracować w trybie...
Czy masz może w twoim kodzie: Config 1wire = Portb.0 (konfiguracja linii magistrali)
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,
Witam. A jak chcesz uaktywnić ten drugi , skoro "ogłuchł" po wybraniu pierwszego i nie reaguje na żadene polecenie :?: Jedynie RESET magistrali może go ożywić :) Piotrek
Mam pytanie związane z tym termometrem - czy BASCOM wymusza stan wysoki na linii danych DQ magistrali 1WIRE na czas konwersji temperatury, w celu realizacji zasilania typu "parasite"? Jeśli nie - to pomiar może być obarczony dużym błędem ze względu na zasilanie czujników jedynie przez rezystory 4k7.
Po prostu raz odczytujesz id termometrów i potem na stałe zapisujesz je w odpowiednich tablicach, zamiast stosować instrukcji wyszukujących układy na magistrali. --- Choć z tego co wiem o magistrali 1wire czujniki powinny być zawsze wyszukiwane w tej samej kolejności, stąd może masz jakieś błędy w komunikacji (np. poprzez za długi kabel złej jakości...
Tylko w bascom colage nie byl opisywany problem porzadkowania balaganu na magistrali jedenoprzewodowej (!WIRE), gdy podlaczony byl wiecej niz jeden czujnik :D
Witam, Musze zrobić teorie do pracy dyplomowej temat:Analizator magistrali 1WIRE i przykładowa przystawka - Pomiar temperatury. Urzadzenie mam juz zrobione ale musze napisac teorie, mam na to zaledwie pare dni bo goni mnie termin. Potrzebuje namiarow na jakas stronke alo gotowych prac odnoscnie takich elementow jak: -Atmel AVR AT90s2313 -HD44780 (dekoder...
Witam. Kolega w powyższym poście odpowiedział już, magistrala 1wire nie ma nic wspólnego z Timerami w Bascomie. Posiada własne procedury, nie wiem dlaczego przenosisz procedurę do Timera. Podczas pomiaru temperatury za pomocą DS18b20 w czasie pomiaru występuje Waitms 750 ale to opóźnienie nie pochodzi od Timerów.
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
Czy w Bascomie należy konfigurować porty używane jako magistrale danych, czy mają pracować jako WE/WY, czy bascom robi to automatycznie, gdy np. zadeklaruję port m. 1-Wire (Config 1wire = Portd.x ) lub używam UARTA sprzętowego lub wyświetlacza LCD ze sterownikiem HD44...
Po pobieżnym przyjrzeniu się programowi nasuwają mi się takie wnioski. 1. Zadeklarowałeś wejścia, ale zostawiłeś je jako "pływające". Powinieneś port-y przycisków podciągnąć do plusa, czyli ustwić stan wysoki =1 2. Nie widzę deklaracji dla magistrali 1wire dla DS-ów i całej procedury odczytu i zapisu danych do pamięci. Być może to celowe na tym etapie,...
Witam. Ponieważ jestem zainteresowany tematem automatyki domowej mam pewne pytanie. Otóż swojego czasu w prasie elektronicznej (choćby przy okazji kursów Bascom) było bardzo dużo na temat mikrokontrolerów Atmel we współpracy z różnymi magistralami, przede wszystkim i2c, 1WIRE. Natomiast odnośnie magistrali CAN, w moim przekonaniu, zawsze panowała cisza....
Witam. Poniżej zamieściłem program w bascomie który właśnie pisze (jeszcze nie skończony) i mam taki oto problem: Twój problem , to notoryczne ignorowanie pliku pomocy Bascoma ;) Powiedz mi , co to ca dziwolągi przy definiowaniu :?: '----KONFIGORACJA WYSWIETLACZA----.' Config Lcdpin = Pin , Db4 = Pa.5 , Db5 = Pa.4 , Db6 = Pa.3 , Db7 = Pa.2 , E = Pa.6...
Wskazówka :) Proponuję Ci żebyś zapoznał się z kartą katalogową tej pamięci. Na przykład tutaj http://datasheets.maxim-ic.com/en/ds/DS2... W tym dokumencie masz wszystko na temat komunikacji. Poza tym proponuję Ci poszukac sobie na elektrodzie przykładowych programów w Bascomie które realizują komunikację na magistrali 1Wire. a jeśli chodzi o troche...
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...
No to powodzenia z obsługą 1-wire w assemblerze. Jeszcze przez początkującego. Mój nauczyciel bawił się okrągły miesiąc i udało mu się :). I2c można dosyć prosto obsłużyć z poziomu asm, ale co do 1-wire to jak nie znajdziesz gotowca w assemblerze to sam nie zrobisz. Dla chcącego nic trudnego. Nazwy procedur mówią same za siebie. Magistrala na P1.7...
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...
ło matko ;) po opisie kolegi atom1477 i po tej informacji, że "Bascom coś kombinuje" można by uznać, że napisanie sotu do obsługi 1wire to rzecz prawie niemożliwa dla zwykłego śmiertelnika. Tymczasem to co robi Bascom to absoultnie nie żadna kombinacja tylko normalne zachowanie - ponieważ to podtrzymanie stanu wysokiego na pinie portu jest niejako przygotowaniem...
...Czytałem notę katalogową ale nie doszedłem do tego jak go obsługiwać... a wiesz chociaż z tej noty do czego jest ten scalaczek? czy tak poprostu wpadł ci w ręce, masz notę i nie wiesz w ogóle do czego on służy??? pytam o to bo trochę dziwne to twoje pytanie ... generalnie jest to układ (jak wynika z noty katalogowej), który porównałbym do popularnego...
Nieeeeeeee, zwraca liczbę urządzeń podłączonych do magistrali 1Wire (konkretnego pinu, np. B.0) Aaa sorki Xury za przesyłkę :)
Witam Temat jest taki. Posiadam magistralę 1wire na której są zamontowane termometry DS18B20 oraz przełączniki DS2407. Pracuje na tym sterowanie ogrzewaniem w mieszkaniu. Do tej pory sterowałem nią układem na bazie Atmega168 i działało to prawidłowo. Zbudowałem następny sterownik z Atmega32 na pokładzie i zaczeły się schody. Odczyt adresów układów prawidłowa....
Problem może być ... sprzętowy. Otóż Tiny2313 fabrycznie ma ustawiony zegar na 8MHz i preskaler zegara na podział przez 8 czyli pracuje na 1MHz. Jeśli nie manipulowałeś z Tinką to nie będzie zgodna rzeczywista częstotliwość taktowania uC z zadeklarowaną w programie. Magistrala 1Wire jest bardzo wrażliwa na czas poszczególnych impulsów i nie zniesie...
Na razie to tylko ćwiczenie mające na celu nauczenie się obsługi magistrali 1wire. Skoro mam w przyszłości z tego korzystać, na pewno użyję timera, ale tu powstaje pytanie: Mam włączyć przerwania i ewentualne opóźnienia w nich realizować?
A czy w takiej konfiguracji jak mam może niedziałać?Wieczorem bede testował te dwa rozwiązania.Czy jest możliwość zrobienia tego uśrednianai w bascomie?Jestem początkującym więc może jakieś przykładziki ktoś posiada? Dzięki za info
Witam, Przy budowie układu opartego o µP ATMega32 mam pewną niedogodność, która powstaje z niewiadomych przyczyn albo z mojej niewiedzy. Mianowicie do µP mam podłączony czujnik DS1820 poprzez magistralę 1W. Temperatura odczytuje się w pętli głównej programu co 10 sekund. Natomiast wyświetlana jest na dwóch wyświetlaczach 7seg Sterowanych...
...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
1. Magistrala 1wire jest przystosowana do obsługi teoretycznie nieskończonej liczby urządzeń. 2. Długość kabla jest chyba 100 stóp (wg normy amerykańskiej).
mam podlaczone dwa termometry ds18b20 do magistrali 1wire, steruje tym z basoma oto krotki fragment kodu Config 1wire = Portb.0 1wreset Dim W As Word Dim Id_cz1(8) As Byte Dim Id_cz2(8) As Byte W = 1wirecount() Id_cz1(1) = 1wsearchfirst() Do Id_cz2(1) = 1wsearchnext() Loop Until Err = 1 po tych...
Witam wszystkich mam taki problem potrzebuję wykonać coś takiego: np: A=200 portb.1=a czyli 11001000 tylko port zmienia stany od 0 do 7 odczytując to np. z zmiennej a podobnie jak w magistrali 1wire wiem że to chyba jest proste ale nie mama pomysłu jak to zrobić w bascomie proszę o jakiś przykład. Wielkie dzięki za wszelkie sugestie i przykłady
Witam, a 1wreset to ma magicznie wiedzieć którą magistrale ma zainicjować? :roll: Więc resetuje tylko tą magistralę która została ustawiona jako domyślna z użyciem Config 1wire . Pozdrawiam, GSM
VippeR -> dobra rada - jak chcesz zrobić komunikację pomiędzy dwoma (lub więcej) prockami to zrób to na I2C natomiast zapomnij o 1wire. Bo o ile I2C Slave nawet w Bascomie można sobie zrobić (rzeźbiąc własnoręcznie) to na 1wire zjesz zęby i nie zrobisz "1wire slave" (stracisz tylko czas a potem i tak pomyślisz o innej magistrali ;) poza I2C masz jeszcze...
Czy można słów kilka o konstrukcji karmnika widocznego na zdjęciach? Jak Obsługujesz ds18b20? Sprawdzasz CRC? Jak reaguje sterownik po odpięciu poszczególnych pinów czujnika? Kolego karmnik to tak naprawdę to urządzenie http://obrazki.elektroda.pl/3445746800_1... modyfikacje z mojej strony to: zmniejszenie obudowy i wyrzucenie przycisków....
Bardzo dobrym rozwiązaniem będzie jeśli kod do obsługi wyświetlacza umieścisz w przerwaniu od jakiegoś timera do { . tu w pętli głównej obsługa magistrali 1wire . } loop czas: { . tu obsługa przerwania licznika . } masz uniezależnienie od instrukcji wait mozesz naprzykład ustalić częstotliwość przerwań licznika co 1ms
ja mam własnie zamiar podpiąć 3 ds do jednego pinu. No własnie z helpa( z programu) spisałem sobie wszystkie 3 adresy moich ds`ow i w tym momencie się zastanawiam co zajmie więcej pamięci, podprogram odczytujące je,czy może ich sztywne wpisanie. Z tego co wyczytałem o magistrali 1Wire to żeby odczytać temperaturę z odpowiedniego ds`a należy wcześniej...
Czy to oznacza, ze już dolutowałeś kondensatory ? Nie, absolutnie nic przy układzie nie ruszałem, sam zaczął poprawnie działać po ostygnięciu pieca. Kondensatorami postaram się dziś zająć, aczkolwiek nie jest to prosta sprawa - mało miejsca. Zostawiłem to urządzenie włączone na noc, rano odczyty również były poprawne. Zakłócenia EM (lutownica transformatorowa...
Czy na pewno nie ma przerwy na magistrali 1Wire ? Ten program jest sprawdzony i należy szukać błędu w połączeniu i konfiguracji. Czy Atmega jest nowa tzn. bezpośrednio ze sklepu ?
Witam, chcialbym sie podlaczyc po ten topic gdyz mam pewien problem z obsluga DS1820 i DS18B20 z ATMega128 Mianowicie, po podlaczeniu w trybie 2wire (1 - GND, 2 - PinB.7/PinE.7 itp., 3 - Vcc 5V) do ATMega128 z kwarcem zewnetrznym 10MHz (innego uzyc nie moge) po wykonaniu komend w Bascom AVR: config 1wire= portb.7 dim rgn(8) as byte 1wreset wait...
Sprawdzenie obecności czujnika jest niemożliwe do zrealizowania. Jedynie można sprawdzić czy jakikolwiek czujnik na magistrali istnieje (w trakcie komendy RESET). Eeeeeh no panie kolego hotdog, ależ to jest do zrealizowania i to nawet w Bascomie - zresztą w dowolnym języku bo to nie jest zależne ani od języka ani od magistrali 1wire tylko od pomysłu....
Witam, od pewnego czasu meczę się z odbiornikiem IR na magistrali 1wire (dokładnie chodzi o tsop4836). Nie wiem jakie dane wyslac do niego... Pamiętam, że przy ds18b20 znalazłem sobie te dane w karcie katalogowej, ale w karcie tsop4836 nie ma takich informacji... Nie mogę znaleźć w internecie nic sensownego na ten temat... ...czy ktoś może pokazać mi...
Jak widzę będzie się kolega zmagał z programem w Bascom. Jeżeli chodzi o one 1Wire to możemy podłączyć to na 2 sposoby: - z dwoma przewodami - wtedy używamy tylko lini DQ (linia DQ powinna być podciągnięta do zasilania poprzez rezystor 3k3 - 4k7 do zasilania ponieważ porty mikro kontrolera mają zbyt małą wydajność) i GND. Zasilanie odbywa się przez...
Przykładowy programik, ale dla DS18B20: Dim Bd(9) As Byte 'tablica Dim T As Integer 'zmienne Dim T1 As Integer Dim T2 As Integer Declare Sub Read18b20 'deklaracja procedury Cls 'inicjacja wyświetlacza Deflcdchar 0 , 6 , 9 , 9 , 6 , 32 , 32 , 32 , 32 'def. znaku stopnia Cls Lcd "Temp:" Do 1wwrite &HCC 'rozkaz SKIP ROM 1wwrite...
Witam, czy jest jakiś ogólny sposób sprawdzenia obecności wybranego urządzenia na magistrali 1wire? Mam 4 x ds1820 i wszystko działa ok. Usuniecie jednego czujnika daje dla niego wynik pomiaru 128 stopni. I to mozna wykorzystać jako test. Ale co z innymi urzadzeniami? Wysyłam reset, potem MatchRom , adres urzadzenia i co dalej robić? W Bascomie widziałem...
Jarosław J --> po pierwsze postaraj się jak najszybciej robić odpowiednie wcięcia w kodzie to będzie łatwiej nie tylko nam tutaj na forum analizować twój kod - ale tobie samemu będzie łatwiej a to jest nawet ważniejsze ;) po drugie masz tam gdzieś w tej swojej pętli głównej coś takiego: Convallt ' "Convert ALL T on the 1w-bus" Waitms 1 czyli...
witam - czy ktoś z was pisał program obsługujący te pastylki (w BASCOMIE) bo ja mam straszliwe problemy.... a może w asm-ie ktoś ma ? też mile widziane:) pomóżcie bo trace mase czasu przez to i nic nie dzaiła.... wszystkie układy 1wire oprócz pastylek wykrywa a samych pastylek nie... nawet reset magistrali niedziała... niemam tutaj aoscyloskopu więc...
...A jak powinno być poprawnie ?? Przecież napisałem. Zadbaj o to, by w czasie obsługi magistrali 1wire, nie występowały przerwania. Najprościej jest wyłączać je na czas obsługi DS-a, ale wtedy, czasy załączenia ... dmuchania :-P trochę Ci się rozjadą. Można też użyć np. maszyny stanów, ale to raczej nie dla początkujących.
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.
Witam, czy mógłbyś po krótce wyjaśnić zasadę komunikacji z DHT11 ? Wiem, że jest on na 1Wire, jednak nie rozumiem jak dobrać się do jego rejestrów z danymi...w dokumentacji nie ma nic na ten temat, ani jakiegoś adresu ROM urządzenia (gdy mamy kilka urządzeń na magistrali), ani informacji jak zczytać dane...Tylko napisane, że całość zawiera 40 bitów...
Z 1wire może być nieco niewygodnie gdyż trzeba próbkować magistrale z dużą częstotliwością. Może lepiej I2C bo w niektórych prockach można moduł transmisji szeregowej przekonfigurować jako master lub slave I2C. BTW po co tyle procków??? To duża rozrzutność, lepiej dać jakieś multiplexery jak brakuje pinów, więcej flash w innym modelu, więcej zasobów...
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....
http://obrazki.elektroda.net/78_12422206... Ten prosty, dedykowany początkującym, projekcik powstał gdy potrzebowałem jednoczesnego pomiaru temperatury w 2 punktach innego układu elektronicznego. Jak to się mówi "potrzeba jest matką wynalazków" - i tak też było w tym przypadku. Zmontowanie układu, napisanie programu i uruchomienie zajęło ok....
To fakt, chodzi o program w Bascomie. Konkretnie wykorzystuje Bascomowy zegar z kwarcem 32767 Hz, z tego co wiem, pracuje to na Timerz 2. Co jedną sekundę odczytuje temperaturę z 4 DS18B20 na jednej magistrali. Nie wiem czy to wykorzystuje timer i który. Do tego w przerwaniach wywoływanych przepełnieniem Timera 0 lub 1, które miały występować z częstotliwością...
Jest jeszcze jedna sprawa. Otóż do mojej magistrali 1Wire będę miał podłączone nie tylko DS18B20 ale i inne kostkii Maxim-a pracujące na 1Wire jak np. IButton , switche ,itp. I teraz pytanie: Wiem że "serial" jaki zwraca dana kostka (dla przykładu DS18B20) zawiera: 8bit family Code + 48bit serial + 8bit CRC Z tego co widzę to dla DS18B20 ten Family...
Witam. Właśnie robię kuchenny minutnik z zegarem. Urządzenie to nie byłoby cały czas podłączone do prądu dlatego poszukałem trochę i dowiedziałem się że istnieje taki układ "real time clock" pobiera bardzo mało prądu i wysyła dane za pomocą magistrali 1wire, i2c i spi. I teraz problem jaki układ mam wybrać (chodzi tylko o godzinę) jak podłączyć i jak...
Witam Bardzo prosze o pomoc w dopisaniu procedury sterujacej ds18b20. w programowaniu stawiam pierwsze kroki. Ponizej dolaczam listing programu. abo jezeli ktos by chociaz przyblizyl mi jak to wykonac? przy okazji mam tez pytanie, czy przy komunikaci 1wire musze blokowac przerwania? wiem ze na poczatku trzeba skonfigurowac magistralem 1-wire nastepnie...
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-->...
Witam serdecznie !!! Mam taki problem z DS18b20 i ATmega16. Programuje w BASCOMie i wykorzystuję funkcję 1wirecount tak jak w programie poniżej i ciągle mi wyświetla że ilość podpiętych urządzeń to 0, nie wiem w czym tkwi problem. Podpiąłem zgodnie z nota katalogową tzn 1 do gnd 2 do uP i do tego 4,7k rezystor oraz 5v pod Vdd. oto 'Termometr DS18B20...
witam powiem tak to co ja czytalem odwoluje się tutaj do AVR nie wiem jak jest z '51. Ale jesli chodzi o AVR to moze byc jeden pin 1-wire tylko mozna do tego podpiac kilka ukladow wire bo jest takie cos jak ID urzadzenia. Czyli zapomoca ID mozna wybieraz urzadzenia z ktorego ma byc czytana informacja Tak oczywiście. Zdaje sobie sprawę z istnienia:...
A gdyby TAK: (od razu mówię że tego nie próbowałem) ... ale może ktoś z Was? Ta sekwencja: 'Odczyt danych z przyrządu podlączonego do 1WIRE Sub Odczyt_temp 1wreset 'inicjacja magistrali 1WIRE If Err = 1 Then 'W Przypadku Braku czujnika coś tam wyświetl End If 1wwrite &HCC 'żądanie zgloszenia się ukladu podlączonego do linii 1WIRE 1wwrite &H44 'Convert...
Witam, Wiem, że podobne tematy były na forum wałkowane dziesiątki razy, ale przejrzałem tamte posty i nie znalazłem w nich odpowiedzi na moje problemy. Próbowałem wykorzystać zawarte w nich, proste programy, testowałem sposoby w nich podane i nic. Ale do rzeczy. Mam układ taki jak na schemacie: http://obrazki.elektroda.pl/7365537400_1...
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...
Powiedz mi czemu sluzy ten fragment kodu w twoim termometrze? Config Timer0 = Timer , Prescale = 1024 Poza tym zastanow sie dlaczego w petli kazdorazowo konfigurujesz magistrale 1-wire? Odczyt_1czujnik: Config 1wire = Portc.3 <<<<TUTAJ!!!>>>> 1wreset Temp = 1wread Upperline Lcd Temp ; "'C" A tak na marginesie to...
Witam Wszystkim poprzednim komentatorom i mondralom odpowiadam, iz poprostu jest to czasem POTRZEBNE. Osobiscie robilem to w ten sposób, ze definiowałem dwie procedury i na początku każdej z nich konfigurowałem port 1wire. Działało! W nowym Bascomie można pisać np: 1wreset Pind , 4 1wwrite &HCC , 1 , Pind , 4 1wwrite &H44 , 1 , Pind , 4 Wait 1 'przerwa...
Witam. Dostałem 4 sztuki ds18b20 w samplach i konstruuję termometr do szkoły. Napisałem program,udało mi się połączyć z czunikami i wyświetlić temperaturę na LCD,wszystko było ok. Oba czujniki miałem zamontowane na płytce prototypowej(mam na niej zmontowany cały układ). Po pierwszych testach przylutowałem do jednego czujnika skrętkę o długości ok 30...
Witam wszystkich na forum. Buduje układ który miałby sprawdzić ile urządzeń podłączonych jest do magistrali 1wire (termometry ds18b20) i wyświetlałby kolejno odczytane temperatury. Do rzeczy, problem tkwi w tym ze mój atmel po wykonaniu instrukcji : 1wreset Il = 1wirecount() zawsze znajduje max. 2 termometry nie zależnie od tego ile jest podłączonych....
Poniżej krótki przejrzysty program do termometru. 1wwrite &H44 zmusza DS'a do wykonania pomiaru 1wwrite &HBE zmusza DS'a do "wyplucia" zmierzonej temperatury 1wwrite &HCC zmusza DS'a do zgłoszenia się bez podania adresu układu. Jest to uproszczenie kiedy mamy na magistrali jeden układ. Zmieniając podprogram możemy wysyłać adresy DS'ow. Do Gosub Wlacz_konwersje...
na początek uprzedzę - szukałem. to co znalazłem nie odpowiada na moje pytanie. otóż w jaki sposób przeprowadzić FIZYCZNĄ identyfikację czujników w magistrali 1wire. wiem jak programowo szukać i zapisać ich numery, potem odczytywać temperaturę, ale nie wiem w jaki sposób dowiedzieć się z którego czujnika to temperatura. mam kilka pomysłów, ale nie wiem...
'***************************************... '*********************************1 WIRE READ************************************... '***************************************... Ds1_read: 1wreset Pinb , 0 'reset magistrali 1WIRE 1wwrite &HCC , 1 , Pinb , 0 1wwrite &HBE...
Witam Jestem początkujący w sprawach programowania i robię sobie przykłady z książki Marcina Wiązania. Podczas pisania programu do odczytu z magistrali 1wire wyskakuje mi błąd takie błędy: Error : 40 Line : 0 Variable can not be used with RESET [PORT1] , in File : Error : 41 Line : 0 Variable can not be used with SET [PORT1]...
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...
Oki oki. Moja wina. Wiec procek to Atmega 168 do wprowadzania mam kursory lewa/prawa gora/dol no i Enter. Posiadam magistrale 1wire i na niej siedza DS18B20 i switche DS2405. Wszystko chodzi, ale.... . Ja tego po prostu jeszcze nie robilem w taki sposob. Cyfry od 1..9 wprowadzam i jest oki, ale teraz potrzebuje moc wpisac z tej klawiatury adres DS-ow...
Witam Mam problem ze skompilowaniem w Bascom 8051 procedur do DS18B20 'program obslugi termometru DS18B20 ' $regfile = "89c4051.dat" 'P3.7 - magistrala 1wire ( do termometru ) 'P3.5 - przycisk zwiekszajacy temperature 'P3.4 - przycisk zmniejszajacy temperature 'P3.2 wyjscie termostatu ( np. do sterowania grzejnikiem ) 'uwaga:...
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...
czujka już działa. Rozwiązałem to w ten sposób: Do Disable Int0 Disable Timer0 Dsid1(1) = 1wsearchfirst() 1wreset 'inicjacja magistrali 1WIRE While Err = 1 1wreset Wend 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE B1 = 1wread() B2 = 1wread() T = Makeint(b1 , B2) T = T * 10 T = T / 16 If T <>...
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...
Witam. Napisałem w Bascomie prosty program do odczytu 2 termometrów DS1820 i PCF8583 - właściwie jest to zarys gotowych procedur. Niestety przy kompilacji wywala mi masę wewnętrznych błędów - Internal Errors w ostatniej linii. GDZIE ROBIĘ BŁĄD? ... Błąd wynika z Twojej niewiedzy , ot co ;) Kompilator "powiedział" Ci , jakie błędy znalazł , a do Ciebie...
Mało kto pisze duże projekty w asmie - liczy się czas. Co do C- każdy kompilator ma błędy w GCC łatwiej to wychodzi na jaw - otwarty kod - dużo ludzie używa bo darmowy. Co do płatnych kompilatorów w pracy używamy CodeVision i GCC i osobiście jak widzę procedury do CV to mnie telepie (zwłaszcza 1wire;D) Co do GCC procedury trzeba Sobie Samemu 1 raz napisać...
Witam Jestem w trakcie tworzenia projektu mającego na celu zczytywanie temperatury z magistrali 1Wire i przesyłanie dalej za pomocą Ethernetu (Wiznet w3100a). Udało mi się skonfigurować Wizneta, pingował się świetnie. Ponieważ miałem problemy z utworzeniem serwera postanowiłem dodać kilka diodek za pomocą których mógłbym debugować program. Kiedy wgrałem...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
Dostalem ten program w Bascomie od kumpla, mozesz uzyc do sprawdzenia czy DS18B20 dziala. U mnie dziala. $crystal = 1000000 Config 1wire = Portb.1 'konfiguracja 1wire 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 * 1...
witam mój problem jest tego typu, że ma termometr, który wykorzystuje właśnie18d20 i wyświetla temperaturę na lcd tylko że nie liniowo;/ co jest nie tak podłączony jest przez rezystor podciągający a o to jak wygląda kod programu $regfile = "m8def.dat" ' zdeklarowane dla Atmegi8 $crystal = 8000000 ' Taktowanie wewnetrzne 1mHz Config 1wire =...
Witam serdecznie. Mam taki problem, otóż: Zaprojektowałem sterownik do pieca c.o. i kolektorów. Do pomiaru temperatury zastosowałem 3 x DS18B20 na magistrali 1Wire. Program napisany w języku BASCOM. Jeżeli jest taki przypadek, że nastąpi przerwa w torze transmisji jednego z czujników np.DS1 (nóżka Data) to mikroprocesor nadpisuje wartość temperatury...
Witam. Ze względu na warującą ostatnio na dworze temperaturę chciałem zrobić prosty termometr oparty na 89s52 i czujniku 18b20. Napisałem program i o ile pomiar temperatury działa należycie z dokładnością 0.5*C to mam spory kłopot z porównaniem i zapamiętaniem tej minimalnej- aby rano wiedzieć do jakiej spadła temp w nocy. Układ sprawuje się dobrze...
Jarosław J --> dzięki za opinię. Ja wprawdzie zaczynałem i zwykle zaczynam poznawanie każdej rodziny procków jeśli się już za nie biorę od asemblera. Ale jednak zanim zacząłem działać ostro w C - to wcześniej przeszedłem BASCOM'a. Przyznam ci, że w Bascomie próbowałem kiedyś robić podobny projekt i to na procku ATmega32. Wprawdzie nieporadnie ale jakaś...
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...
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...
Chodzi o te zaznaczone ustawienia z obrazka. Są wstawiane jako domyślne jeśli się ich nie wpisze do kodu. Chodzi o to, że kiedy Bascom skacze do jakiegoś Sub to odkłada na stos te wcześniej omawiane dwa Bajty. W takim Sub już może tego nie widać, ale tez skacze np. do procedury odczytu czujników 1Wire. To już np. cztery bajty a w tym momencie nadchodzi...
Witam Pracuję nad modułem, który z założenia ma pracować na magistrali RS-485. Odcinki bardzo krótkie - rozpiętość nie więcej niż 10m - wtedy chyba można nawet pominąć rezystory terminujące jak i 'rozgwieździć' magistralę ;) Zaplanowałem, że układem identyfikującym moduł w sieci będzie DS18B20 lub DS2401 - dzięki temu uzyskam id modułu na poziomie sprzętowym....
Declare Sub Read1820 'deklaracja podprogramu Declare Sub Temperature 'deklaracja podprogramu Dim Bd(9) As Byte 'deklaracja tablicy zmiennych Dim I As Byte , Tmp As Byte 'deklaracja zmiennych używanych przez program Dim T As Integer , T1 As Integer 'deklaracja zmiennych używanych przez program 'Dim X As Byte 'deklaracja zmiennych używanych przez program...
Witam! Prosze szanownych znawcow tematu o vopinie odnosnie projektu termometru 2 liniowgo. Mam z nim duzy klopot, mianowicie kod zajmuje 3244 no i do 2 KB procka raczej do nie wbije. :( Prosze o pomoc i wszelkie wskazowki....Nadmieniam ze projekt jest zlepka kilku projektow termometru poniewaz nie mam doswiadczenia w 1wire Config 1wire = Portd.0 'konfiguracja...
Witam Zachęcony sukcesami z płytką EVB 4.3 zaprojektowałem i zamówiłem swoją - na początek z AtMega8 w DIP. Do tego pamięć 24C32 oraz układ do RS485. Wszystkie układy mają kondensatory 100 nF ( stabilizator 7805 również + jeden elektrolit ). Całość ze złączem pod wyświetlacz 2*24 ( właściwe 4*12 ) Reset przez rezystor 10 K do +5V AtMega8L ( na 8 MHz...
Podejrzewam że problem jest z odbiorem danych z pilota. BASCOM i GETRC5 nie za bardzo sobie z tym radzi. No i czy masz na pewno pilota RC5? Dodano po 1 Zobacz to: [syntax=basic4gl] $regfile "m8def.dat" 'konfiguracja mikroprocesora $crystal = 4000000 'konfiguracja kwarcu Config Portb = &B11111111 Portb = &B11111111 Config Portc = &B1111101...
W związku z budową sterownika do pompy CWU, po przygotowaniu projektu analogowego, stwierdziłem że znacznie prościej będzie wykorzystać mikrokontroler. Urządzenie jest dość proste, mierzy regularnie temperaturę i jeśli wykryje wzrost załącza przekaźnik na określony czas. Niestety w pisaniu oprogramowania do µC jestem początkujący i prosiłbym o...
Witam, Proponuję spróbować tego, to kawałek kodu z mojego pliku pomocy w obsłudze termometru DS18B20: 'Odczyt temperatury z dokladnością do dziesiątych części $regfile = "89s8252.dat" $crystal = 12000000 Dim Odczyt(2) As Byte 'deklaracja dwóch zmiennych typu byte do których będą zapisywane dane z termometru Dim T As Integer , Przecinek...
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)...
Piszę w bascomie. Tam jest gotowa biblioteka do tego wyświetlacza. Wyświetlacz podłączony bezpośrednio do pinów mikrokontrolera, który też jest zasilany z +3,3V. A oto testowy kod: [syntax=vbnet] $regfile = "m1284pdef.dat" '$crystal = 18432000 $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 64 $lib "glcdeadogm128x6.lib" '$lib "glcd-ST7567.lib"...
magistrala 1wire 1wire magistrala 1wire bascom
zbiornik nadkole bosch chłodziarka panel wypadać zapłon zimny silnik
układy zasilające adapter bluetooth
Data Sheet for Sensor 204NS: Magnetic or Thermal? Szara plamka na wyświetlaczu Casio CT-X3000