Siemka! Nie ma większego problemu i z paroma czujnikami. Rozwiązania tego problemu są conajmniej dwa. 1. Wrzucasz czujniki każdy na innym pinie portu mikrokontrolera i odczytujesz wynik korzystając właśnie z algorytmu dla jednego czujnika. Jedyna kwestia to tylko sekwencyjne przełączanie interface'u 1-Wire pomiędzy połączonymi z czujnikami pinami portu....
Przede wszystkim proponuję zrezygnować z funkcji writeeeprom i readeeprom, jeśli w Bascomie dostępne są lepsze metody na dostęp do eeprom'a ;) Proszę zapoznać się z możliwością zdefiniowania od razu zmiennej w EEPROM DIM Id1(8) As Eram Byte czy jakoś tak (mogę już dokładnie tego nie pamiętać) i potem chulaj dusza - z odczytem i zapisem do niej prawie...
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...
Z zapamiętaniem numeru w eeprom to dobry sposób. Jeśli do damy do tego procedurę porównania numeru z eeprom z odczytanym z czujnika to nie trzeba będzie nic robić, kiedy zmienimy czujnik. Oczywiście po zmianie czujnika może się zmienić kolejność więc i to trzeba przewidzieć w programie i np. zamieniać miejscami dane w zmiennych z numerami.
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 ........... i uzyskałem takie numery 2865C38905000025 28CB3E8905000020 28E28A8905000050 282E93890500003D Jak te numery wpisać do tablicy i jak potem odczytać temperaturę z czujnika o danym numerze ID Kod poniżej działa, ale po wymianie czujnika temperatury zamieniają się miejscami. jak zmodyfikować ten kod żeby wstawić tam tablicę z ściśle przypisanymi...
Niestety próbowałem sam, ale juz nie mam siły. Przeczytałem tematy na forum jednak nie widze w nich rozwiązania problemu, dlatego zacząłem nowy temat. Problem tkwi w tym, że otrzymuje z układu DS18B20 po dokonaniu odczytu z rejestrów wynik w postaci FFFF. Program piszę pod ATMega48. Czujnik połączony jest z zasilaniem z stabilizatora 7805. Najpierw...
Cóż, projekt, pomimo, ze na płytce uniwersalnej, to wykonany bardzo schludnie. Moim zdaniem jednak lepiej byłoby zastosować wyświetlacz 7-seg. Można znaleźc nawet takie 2 kolorowe i wtedy masz 2 temp w różnych kolorach. Co do samej nauki, to koledzy mają rację, ja też zaczynałem do bascom i cóż, owszem, język bardzo przyjemny na pierwszy rzut oka, o...
Temat chyba przekazał wszystko kod od 10 lat nie ruszany działający ale zachciało mi się aby zwracał błąd gdy nie ma jednego czujnika na magistrali kombinuję i stoję w miejscu. [syntax=basic4gl] Sub Odcz_temp K = 1 For J = Poczatek To Koniec 'Odczyt numeru seryjnego z eeprom Readeeprom Register_number(k) , J Incr K Next J Call Zap_num 'Wywolanie procedury...
Schemat poprawiłem. Zmieniłem w pierwszym poście. Faktycznie, aż miło popatrzeć. Sam czasem się wkurzałem szukając ścieżki. Pomierzyłem jeszcze prądy: Atmega + SD - 220 mA Atmega bez SD - 140 mA atmega bez LCD i bez podświetlania - 84,9 mA Atmega z LCD bez podświetlania - 88 mA W założeniu ma to być: - pomiar z siedmiu DS18B20 - pomiar z dwóch czujników...
Co do kodu, to wstawię coś wieczorem, jak wrócę z pracy. Jeśli chodzi o obsługę RFM12 to mam z tego wątku [url=http://www.elektroda.pl/rtvforum/to... z przed ostatniej strony ( jest tam też zresztą kilka moich postów ), natomiast nie ma tam ważnej linijki kodu, który odblokowywał kontroler w czasie pomiędzy odbiorem danych, a który...
Witam, postanowiłem dodać do programu pomiar temperatury mam czujnik DS18B20 , tylko że kod programu odpowiedzialny za sterowanie czujnikiem opóźnia działanie encodera ,gdzie jest tutaj błąd może czegoś nie uwzględniłem w tym kodzie ? poniżej cały kod [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
Witam, jako, że kończą się wakacje postanowiłem udoskonalić trochę soft piórnika - chcę dodać odczyt temp., tylko nie wiem gdzie ją umieścić. '***************************************... '* Program Piórnik Mini wersja 1.0 Beta *' '* Pomysł: FICU *' '* Programista: Jacek R (Black Jack) Kompilator:...
Witam, mam program (attiny2313) do obsługi termometru DS18b20 i wyświetlacza, układ posiada 3 przyciski +/M/-. Program reaguje na zwieranie przycisków do masy, a chciałbym zrobić tak by procesor reagował na przerywanie masy. Znajdzie się ktoś kto mógłby rzucić okiem na program i podpowiedzieć co trzeba zmienić?? [syntax=vbnet] $regfile = "Attiny2313.dat"...
I wszystko jasne! DS18S20 - nie ma siły uzyskać 0.1 rozdzielczości DS18B20 - tryb "niepełny parasite" (bez tranzystora pullup) - nie daje rady przetworzyć na 12 bit i mamy 0.5°C rozdzielczość Dopiero DS18B20 - tryb parasite z tranzystorem pullup lub z zewnętrznym zasilaniem jest w stanie przerobić temperaturę na 12 bit. ...Poza tym rozbijanie Waitms...
Witam, jeszcze proszę praktyczne rozwiązanie takiego problemu, gdyż program jest praktycznie ukończony, ewentualnie drobne poprawki kosmetyczne:), ale w obecnej wersji odczyt i zapis wykonywany jest z poleceniem "wait", przez co wskazywane temperatury nie są czasem poprawne - wyskakuje BRAK ds'a. Już nie mam pomysłu jak to zrobić, proszę tylko o jakieś...
Witam! Które się z nich opłaca cenowo jaki i również wyposażeniem. Oto kilka z nich : 1. tylko , że to nie jest Arduino tylko jakieś "Funduino" http://obrazki.elektroda.pl/4484036500_1... MEGA STARTER KIT + UNO R3 Bogaty zestaw startowy dla Arduino + Uno R3 Parametry Funduino UNO R3 - mikroprocesor ATmega328 + Atmega16u2, 100% zgodności...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
http://obrazki.elektroda.net/26_12188856... Termometr domowy wersja 2.0 by skomy Termometr wykonany jest z wykorzystaniem procesora Atmega8 (oprogramowanie w BASCOM): - posiada interfejs 1wire - do podłączania czujników DS18B20 (programowo ograniczone do 4) - wejście odizolowane galwanicznie transoptorem - do wyciszania aktywnych alarmów -...
Co do: Procesor32 napisał: Zapisujesz nazwy pod ten sam adres w EEprom Writeeeprom Q , 13 I odczytujesz też z tego samego adresu. Jeśli przeczytałbyś dokładnie post I po sprawie.Nie musisz pamiętać adresu pod który masz zapisywać i z pod którego odczytywać. Prosto i bez problemu. Jest to prosta metoda zapisu do EEProm, ale ma zasadniczą wadę. Użytkownik...
Juz byl taki temat ale został zamknięty. Moj problem polega na tym ze nie moge ruszyc ds1820 w C z wykorzystaniem bliotek rklib do obslugi ds. #include <avr/io.h> #include<avr/interrupt.h> #include<avr/eeprom.h> #include<string.h> #include "lcd.h" #include "ds18x20.h" #include "delay.h" uint8_t gSensorIDs[OW_ROMCODE_SIZE];...
Mam pytanko czy na linii SDA SCL może być złącze ISP chodzi głównie o TDA7318 i pamięć eeprom. Czy te scalaki nie ulegną uszkodzeniu, jeśli będzie układ programowany (ATMEGA32) ?
hmm ,mi wpadł inny pomysł a można by go zrobić na M8 czy M16 ,a mianowicie połączyć 4051 w kaskady dzieki czemu wystarczy kilka pinów uC do tylu czujników ,w tygodniu przetestuje pomysł.... Ps .nic nie stoi na przeszkodzie aby dopisać linie programu (np. jeden pin uC ,sprawdzany przy starcie programu ) która będzie programowała ID czujników i zapisywała...
Wiem że temat już ma już trochę czasu ale podepnę się widząc że pare osób go śledzi. Czy w tym ostatnim kodzie nie powinno być jeszcze 1wwrite &H48? bo kolejno mamy reset, skip rom, zapis do scratchpadu, bajt th, bajt tl, bajt ustawień, i brakuje funkcji kopiującej ze scratchpadu do pamięci nieulotnej EEPROM, chyba że się tutaj coś mylę.
Program ogólnie poprawny, choć: 1. Zamiast Waitms 750 postaraj się wszystko ztimingować na timerze. 2. Nie ma żadnych przeciwwskazań, żeby w normalnej aplikacji DS był blisko kwarcu. A co ma poza tym eeprom ds'a do odczytu temperatury? EEPROM jest zapisywany wtedy i tylko wtedy gdy wywołasz komendę zapisu konfiguracji temperatur alarmów i rozdzielczości...
dzięki - jakoś przegapiłem i już miałem zapytać jak to jeszcze zapisać do EEPROM'a. jeszcze tylko jedno pytanie - w pdf-ie pisze , ze nie wolno nadpisywać bitów od 0 do 4 i 7. czy one są blokowane automatycznie, czy trzeba wpisać jedynki ( i 0 dla7.) do Configuration Register
Więc tak: -wygaszacz aktywowany przyciskiem (Rc5) (godzina, temperatura (niekoniecznie, jest miejsce na DS18B20)) -czytanie tekstu z eeprom - 3 przyciski (Rc5) (aktywacja czytania, przewinięcie tekstu w doł, przewinięcie tekstu w górę) To by było na tyle - ma być to program prosty, chodzi głównie o odczyt tekstu.
Zapis raczej byłby realizowany szybko zaraz po resecie eeproma, kiedy temperatura maksymalna i minimalna by rosły/malały, natomiast po osiągnięciu tej maksymalnej/minimalnej zapisanej wartości już nie będzie zapisywać tego. Wszystko jest uzależnione w tym wypadku tylko jak często będzie zerowany eeprom w celu dokonania ponownego pomiaru, a sądze że...
Projekt fajny, choć ubolewam, że napisany w Bascom a nie w C. Ja też ubolewam nad tym bo C w porównaniu do Bascoma jest o wiele szybszy i ma ponadto inne zalety. Bascom jest intuicyjny od niego zaczynałem zabawę z mikrokontrolerami. Teraz uczę się programować w C. Czy wyznaczanie dnia tygodnia opiera się o algorytm wiecznego kalendarza Zellera czy...
Witam serdecznie Napisałem program w którym wykorzystuję czujnik DS18B20 do pomiaru temp. Funkcja zwraca poprawną wartość temp. z tym, że po restarcie procka, na LCD zwracana jest wart. 0. Ponadto mając taki oto kod jak poniżej program skacząc do "jakas_etykieta" ( malo wazna nazwa ;-) ) zapętla się gdyż wskazania sa ciągle 0st. natomiast gdy zaladuje...
Witam. Programuję w BASCOM AVR. Potrzebuję mieć zapisaną wartość zadanej temperatury do porównania z wartością otrzymaną z DS18B20. Nastawiam wartość operując bezpośrednio na zmiennej SINGLE, ale mam ją w pamięci programu, więc jak coś się wyłączy to już nie będzie działało tak jak trzeba. Muszę więc to gdzieś zapisać. Druga sprawa to jak zmieniać wartość...
Trochę masz to dziwnie napisane jeśli chodzi o odczyt temperatury. Co jak czas masz odświeżanie pętli głównej ?. Używanie rozkazu Skip Rom to lipa trochę. Jeśli masz ochotę to popraw to trochę tzn. warto odczytać przy starcie numery seryjne termometrów jak masz dwa i nie chce Ci się implementować procedury automatycznego przeszukania to poprostu odczytaj...
http://obrazki.elektroda.pl/4130382200_1... Witam wszystkich Przedstawiam urządzenie z serii " może się to komuś przyda " W sumie nie ma się nad czym rozpisywać jest to zegar z alarmem, który pokazuje: - godzinę - datę - dzień tygodnia - imieniny danego dnia miesiąca oraz posiada pięciopunktowy termometr. Sercem układu jest ATmega32...
Pisząc o adresowaniu nie masz na myśli ID czujnika, bo każdy DS18B20 ma unikatowy ID. Czujniki są na jednej linii, ale odczyt jest prawidłowy. Jeśli dobrze Cię rozumiem, to chodzi o to, aby mu bardziej "doprecyzować", który czujnik ma reagować na którą temp. Co prawda myślałem, że wykona proste porównanie wartości T1 z T_max i T2 z T2_max. Możesz mi...
elektrolit mam 220uF, nie mam żadnego ceramika. zaraz przy pinach procesora nie widziałem potrzeby dawać przy odbiorniku bo to 1cm dalej przewodami poprowadzonymi od kondensatora. zasilanie to 4,5V (3xAA) caly układ bierze 10mA (jest tam jeszcze eeprom i ds18b20) baterie wymieniłem 2h temu. a schemat... nic nowego nie wymyśliłem, narysowałem go przed...
W helpie jest napisane, że domyślnie Timer0, opcjonalnie Timer2. Czyli zostaje odbiór RC5 z dodatkowej płytki. A już myślałem, że Atmega644 jest jakaś trudniejsza w opanowaniu - są z nią większe problemy. Przyznam, że jeśli przy tej samej konfiguracji sprzętowej można uzyskać ten sam efekt a nawet "wyciągnąć" więcej to C staje się co raz bardziej kuszące....
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
e marcus Chciałbym trochę zrozumieć zasadę działanie programu a nie na sucho przepisać program. Dlatego proszę o podpowiedzi , abym sukcesywnie sam rozwiązał problem ale dzięki waszej pomocy.......... Kierując twoją uwagę do tamtej dyskusji j.w., nie miałem na myśli kopiowania programu, który i tak wymaga pewnej korrekty, ale na przeanalizowanie możliwości...
Dzięki za pomoc - dziś byłem w sklepie i kupiłem zenerki 3,0V i 3,3V. Pomyślałem później że szkoda się bawić i wlutowałem 3V - wykryło. Nie wiem dlaczego, ale mój avrdude zadziałał tylko ze starszymi sterownikami libUSB. Używam GUI o zadziwiająco chwytliwej nazwie 'AVR8 Burn-O-Mat v2'. Fajna rzecz, pobiera fusy z µC i sam je przelicza. Programowanie...
Tzn. chodzi o zakładkę Lock and Fuse bits ? Jeśli tak to mam w niej Chip Name: MEGA8 Calibration 0: 9F Calibration 1: 9F Calibration 2: 99 Calibration 3: 99 Lockbits FF Lockbit 65: 11 Lockbit 43: 11 Lockbit 21: 11 Fusebit 7D Fusebit C: 0:BODLEVEL 4.0V Fusebit B: 1:BODEN disabled Fusebit KLA987: 111101: Ext. Crystal/Resonator Medium Freq. Fusebits High...
Udało mi się trochę odchudzić program. Wykorzystałem tablice + inkrementacja numeru komórki w tablicy. Chciałem wykorzystać FOR - NEXT, ale coś nie działa jak trzeba Do Locate 1 , 1 Lcd A Locate 1 , 7 Lcd B Locate 2 , 1 Lcd C Locate 2 , 7 Lcd D Locate 1 , 13 Lcd E Locate 1 , 19 Lcd F 'If Szukaj = 0 Then Call Przeszukaj_i2c 'End If Loop End '***********************...
Witam :) Tak na wstępie brakuje mi działu dla piszących w C i ASM (będzie łatwiej coś znaleźć np szukam 2 DS18B20 i 99.9% wyników to bascom). Potrzebuję odczytać dane z co najmniej 2szt. DS18B20, problem polega na tym że jak adaptuje kod do odczytu 1 DS (z jednego portu) na odczyt 2 DS (z dwóch portów) to zamotałem się w funkcje zmieniające nr portu...
...Czy istnieje jakiś sposób, aby ostateczną zmienną 'Ss' (string) zapisać w zmiennej typu Single (lub innej?) aby umozliwic porównanie jej z tą zapisaną w eepromie? A może ktoś zna inną metodę na rozwiązanie tego problemu? Z Twojej wypowiedzi wynika , że nie wiele masz wspólnego z programowaniem uC - ale mniejsza z tym. Zmienna string jest potrzebna...
Ręce to opadają i masz rację ;) Masz błąd w definicji zmiennej do której wpisujesz ID czujników to nie jest jeden bajt tylko tablica 8x8bitów czyli 8 bajtów. Adresujesz nie istniejące czujniki bo ich adresy sa niepoprawne, wysyła procek ciagle ten sam bajt. Dim Adres1 As Byte 'adres pierwszego Dim Adres2 As Byte 'adres drugiego Dim Adres3 As Byte 'adres...
http://obrazki.elektroda.pl/2278309000_1... Witam. Chciałem przedstawić regulację pieca c.o. produkcji Dozamet, rok produkcji 1975, obecnie produkowany pod nazwą Camino. Ponieważ mam bardzo duży ciąg do komina, żadne regulacje fabryczne nie wchodziły w grę (otwarcie klapy na 1mm powodowało zagotowanie wody, od kilku lat miałem zaślepioną...
http://obrazki.elektroda.pl/5851782000_1... Jako że sezon na kąpiele w ogródku się rozpoczyna, to być może ktoś skorzysta z mojego opisu podgrzewania wody w basenie ogrodowym. Ogrzewanie skończyłem w zasadzie w maju i pod jego koniec i jakieś trzy dni po zalaniu 13-stopniową wodą miałem temperaturę 26 stopni, ale od początku... Na opis...
Hej, Potrzebuję przetłumaczyć kod Arduino do Bascom, a konkretnie chodzi mi o to, że posiadam moduł: [url=https://www.dfrobot.com/product-166... Gravity - analogowy czujnik TDS, czystości wody dla Arduino znalazłem [url=https://wiki.dfrobot.com/Gravity__A... dla Arduino, a dla Bascom...
Witam. Wiem, wiem powiecie wrzuć w wyszukiwarkę, a nie zawracaj nam głowy. Jednak wyszukiwarka dzisiaj ciągle wywala mi pustą stronę dlatego piszę tutaj bezpośrednio. A oto co mnie gnębi. Mam odczyty z DS18B20 temperatury zapisanej w zmiennej typu SINGLE. Dla utrzymania zadanej temperatury stworzyłem stałą liczbową instrukcją CONST i to mi działa. Nadszedł...
Czujnik już ładnie działa chociaż do końca nie wiem co było przyczyną. Udało mi się ustalić, że jeden czujnik działa a inny tego samego typu dopiero z dodatkowym rezystorem pokazuje prawidłową temperaturę. Czy wiecie może jak układ DS18B20 odpowiada w razie alarmu? Wiem, że się ustawia rejestry TH i TL w pamięci EEPROM. Następnie wysyłamy komendę 0xEC...
DO INNYCH UŻYTKOWNIKÓW MAJĄCYCH TEN SAM PROBLEM Wspomniany wyżej przypadek rozwiązałem już dawno, a piszę tą wiadomość aby nie pozostawić tematu bez ostatecznego wyjaśnienia na czym ów problem polegał. Otóż jak się okazało nie była to moja wina czy też wina programu do uC. Przeglądając posty tego forum natrafiłem na identyczny problem. Jak się okazuje...
ds18b20 eeprom eeprom ds18b20 ds18b20 bascom
wymiana chipsetu pavilion iphone zawiesza montaż telewizora ścianie
reset pieca buderus kabel brake radio
Dlaczego gaśnie płomień w lodówce Dometic? Przyczyny i rozwiązania Jak usunąć logger z aplikacji Solarman?