Czyli DS pewnie jeszcze zyje :) A czy na tej twojej uniwersalnej płytce zrobiłeś podciągnięcie do zasilania 1-wire tj. czy dałeś opornik podciągający np 3,3k od 1-wire do 5 V ??? pozdr KN
Jak zwykle czasu nie ma, ale nie mogłem się powstrzymać. Nakręciłem pierwszy klip - ahahahaha :D No musiałem się pobawić edytorem. Efekt to półtora minuty magii :D Ahahaha miałem kupę zabawy z tym :D Przy okazji możesz zobaczyć jak się używa wbudowanego symulatora by zadawać wartości ADC ;) Twój pomniejszony kodzik też poniżej, tylko używając poza symulatorem...
Sam kiedyś z ciekawości i chęci sprawdzenia jak mają się pomiary różnymi czujnikami do siebie zbudowałem taki układ z termoparą, LM35, DS18B20 i czujnikiem NTC. Jeśli te pomiary Ci się w kodzie "nie spieszą" to może przyda Ci się taka prosta metoda. Jako że ADC czyta się do Word bo ma więcej niż pomieści Byte to pozostaje w tej zmiennej dużo wolnego...
Spróbuj zamienić kolejność odczytu, teraz masz najpierw "humidity = dht11_gethumidity();" a dalej "temperature = dht11_gettemperature();". Zobacz co wyjdzie jak dasz najpierw odczyt temperatury. Ogólnie ten program jest zły. Podłączyłeś port szeregowy?
Witam, nie mogę sobie poradzić z uruchomieniem scalaka max31855 w współpracy z atmega16. nota : http://datasheets.maximintegrated.com/en... z tego co mi wiadomo układ max31855 miał być zamiennikiem poprzedniego układu max6675 ale niestety coś u mnie nie za bardzo. na początku do odczytu chciałem wykorzystać sprawdzony kod który działa w...
Witam Nie trzeba żadnego schematu. Zerknij do notki katalogowej mikroprocesora i zobacz na której nóżce masz wejście przetwornika A/D i do niego podłącz LM35. Cała reszta to kwestia programu, który musisz napisać i wpisać go do mikroprocesora. Prawdę mówiąc przekombinowałeś z tym ATmega, prościej byłoby zbudować termometr na LM3914 (linijka diodowa)...
Pierwszy link jest złamany.
Jak najbardziej tak.
Rzuć okiem tu https://4programmers.net/Forum/Delphi_Pa...
Witam Temat może i wałkowany kilka krotnie, ale siedze nad tym jeż 3 dni i nie mogę odczytać temp z DS1820 i wyświetlić na LCD 16x2, na AT89S52 wszystko działa mi elegancko czujniki sprawne, napisze drugi program pod Atmege, wykrywa mi czujnik, i wyswietla komunikat jak odepne, ale ciagle mam 0 stopni, może ktoś ma na 100% sprawdzony program, moze jakieś...
generalni to szukam działającego programu do odczytu temperatury na atmega 32 ,c++ , max Na razie poskładałem program co podałem wyżej i chcę odczytać temperaturę i wyświetlać na LCD Konkrety podane wyżej
Dokładność pomiędzy rzeczywistą temperaturą a wskazaniami tych czujników według noty wynosi 0.5st Może wykonaj jeszcze test umieszczając czujnik na przewodzie. Co tak dokładnie mierzy temperaturę w Twoim pokoju że ufasz bardziej temu urządzeniu? Wszystko zależy gdzie te urządzenie mierzy temperaturę. W sezonie grzewczym myślę że w różnych miejscach...
Prawdopodobnie źle konwertujesz zmienne ,które przychodzą z DS1302. Warto podłączyć analizator i zweryfikować jak się ma to co wyświetla wyświetlacz do tego co odbiera i wysyła atmega 328 .
Dim Sc(9) As Byte 'w tej tablicy beda dane odczytane z czujnika Dim Temperatura As Integer 'tu obliczona temperatura Dim Blad_crc As Bit 'a ten bit bedzie ustawiany w razie bledu CRC odczytu '... program ... 1wreset 1wwrite &HCC 1wwrite &HBE Sc(1) = 1wread(9) 'odczytujemy wszystkie bajty z czujnika If Sc(9) = Crc8(sc(1)...
Nie to sprawdzałem. Wygląda to jakby procedury odczytu DS-a działały bo ta temperatura wyświetlana -0.1 o tym świadczy. DS jest zasilany z 3,3V i wyczytałem że przy takim zasilaniu rezystor podciągający linie DQ ma mieć około 2k i taki mam. Ale z rezystorem 4,7k też nie działało. Gdzie to wyczytałeś? Datasheet nic na ten temat nie mówi, poza "Can be...
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 ?
Kod do pomiaru temperatury ze sprawdzeniem CRC pobrałem z internetu, więc nie wiem czy na 100% działa, lecz teraz nie mam możliwości go wkleić tutaj, ale tak samo są absurdalne odczyty temp. W temperaturze pokojowej około 20-22st. C. atmega czasem pokaże ponad 300st, lub poniżej -40.
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ą...
Sprawdzona [syntax=c]/* * dht11.h * * Created on: 23 mar 2014 * Author: miszczo * http://mikrokontrolowanie.elektroda.eu/d... */ #ifndef DHT11_H_ #define DHT11_H_ //--------------------------------------... //**************************************...
Atmegę kupiłem na allegro, posiada ona wbudowany Kwarc i Bootloader. ATMega nie posiada wbudowanego rezonatora kwarcowego, lecz wewnętrzny oscylator. Nie ma też wbudowanego bootloadera. Czy pin 11 jest odpowiednim pinem do podłączenia 1Wire? W jakiej obudowie jest ATMega DIP28, czy TQFP?
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....
Program zajmuje 50%. Może i jest źle napisany ale działa.. Ja bym to stwirdzenie troche skorygował; Program działa tak jak jest napisany!... bo - "Jest jeszcze jeden problem." Co jakiś czas temperatura podskakuje o 10 stopni a czasami nawet do 200 podskoczyło co spowodowało zbędne załączenie przekaźnika. Z czym jest problem? Popatrz na pracę timera0,...
Witam. Mam dom mieszkalny na "działce", często użytkowany zwłaszcza latem z dala od miejskiego zgiełku. Wiadomo, w zimie trzeba jeździć i ogrzewać chałupę żeby mróz nie wszedł. Głowię się z pewnym udogodnieniem dla mojego ojca. Gdy nadchodzi zima do piwnicy nie chce się chodzić (wejście do piwnicy tylko od zewnątrz). Zastanawiam się nad zbudowaniem...
Resetu i zasilania jeszcze nie podłączałem ale kwadraty są wyświetlane również po ponownym rozłączeniu pinów. Dodano po 4 Skoro nie uszkodziłem atmegi (w każdym razie tym połączeniem) to czy możliwe bym skasował program przy próbie jego odczytu lub weryfikacji.
Chodzi o to że czasami odczytujesz nie cały wiersz lecz jego fragment. [syntax=delphi]var P:Integer; begin ComPort.ReadStr(Str, Count); Memo.Text:= Memo.Text+Str; P:=Pos(#13,Str); if P>0 then begin Str:=Memo.Lines[Memo.Lines.Count-2+Ord(P... T1:= Copy(Str,1,4); T2:= Copy(Str,6,4); Label3.Caption:= 'Temperatura IGBT [T1] = '+T1; Label2.Caption:=...
Dosyć dawno temu "popełniłem" takie coś: http://www.freepgs.com/robkry/?t=termo może się przyda.... fakt, teraz lepiej użyć jakiegoś atmega i wbudowanego przetwornika A/C Pozdrawiam
#include <mega8.h> #include <stdio.h> #include <delay.h> #include <math.h> // 1 Wire Bus functions #asm .equ __w1_port=0x15 ;PORTC .equ __w1_bit=5 #endasm #include <1wire.h> unsigned int status=0, error=0; int temperatura=0, temperatura_zadana=0; unsigned char rom_codes[5,9]; unsigned char devices, ii; int ds1820_status=1,...
Mam 2 mikrokontrolery (atmega8 i atmega 16). Chciałbym je połączyć magistralą I2C ale nie bardzo wiem jak się za to zabrać. W atmega 8 używam przetwornika do odczytu temperatury z 2 termometrów. Następnie przeliczoną wartość chciałbym przesłać raz na minutę do atmega16. Zacząłem czytać o tej magistrali ale nadal mam z tym problemy. Proszę o pomoc. Piszę...
fusing jest super tylko jak sie robi odczyt ds-a na ATMEGA 8 lub kosci z wiekszą iloscią pamieci ;)
Tak teraz napisy nie mrugają, ale odczyt temperatury jest błędny od ujemnej do 256. Dziękuję za pomoc, spróbuję sam powalczyć. pomógł.
Poniżej przykład. Zwróć uwagę, że w tym przykładzie komenda konwersji temperatury występuje na końcu, a nie na początku. Odczytana temperatura będzie zatem tą która została konwertowana po poprzednim odczycie. To oczywiście nie ma znaczenia dla tego jak adresować czujniki. Powodzenia ! PL Config 1wire = Portd.6 Dim Adresy(16) As Byte Dim T1 As Byte...
A jednak wkradł się bug. Okazuje się że na koniec miecha zamiast miesiąca wzrasta minuta :). Wszystko przez literówkę gdzie zamiast miennej MI jest M. Przepraszam za ten błąd i wrzucam poprawioną wersję. Pozdrawiam PS. Jak ktoś chce to mogę dać program do odczytu temperatury z LM335.
Witam! Poszukuję pomysłu na połączenie dwóch uC Atmega bezprzewodowo w celu odczytu na I piętrze domu temperatury z czujnika DS18b20 umieszczonego na kotle w piwnicy. Znalazłem co nieco na temat nadajników i odbiorników 443MHz ale czytałem, iż to pasmo nie jest najlepsze (pasmo krótkofalowców). Więc wybór padł na pasmo 868MHz. Czy ktoś z was ma może...
Chodzi o to, że po włączeniu sterownika do prądu (resecie mikrokontrolera) pompa od razu jest włączana nawet bez procesora. Wyłączona zostaje dopiero po pierwszym odczycie temperatury. Uchroni cię to przed nie pożądanym wyłączeniem pompy gdy np. ulegnie uszkodzeniu czujnik temperatury. Po każdym odczycie zeruj licznik watchdog. Wówczas nawet gdy odetniesz...
Witam. Stworzyłem sobie układ, który wygląda jak na zdjęciach. Problem tkwi w tym, iz atmega nie trzyma żadnych ustawień(ustawiłem rtc, po zrestartowaniu godzina i data jest całkiem inna od tej ustawionej), za nic nie mogę zmusić dht11, aby wyświetlał temp. Co robię źle? Kod wygląda tak: [syntax=c] #define przycisk1 9 #define przycisk2 10 #define d...
Witam, zrobiłem projekt w którym w dwóch niewielkich domkach steruję ogrzewaniem. Program na PC napisany jest w C# a program Atmegi w winAVR w (języku C). Przy połączeniu przez port szeregowy z komputerem, uzyskałem możliwość sterowania ogrzewaniem niezależnie w każdym z pomieszczeń. Również logi z temperaturami zapisują mi się na dysku C. Chciałbym...
Witajcie ! Wiem, że temat był wielokrotnie sygnalizowany na forum, przejrzałem wszystkie tematy z tym problemem związane i niestety nie uzyskałem satysfakcjonującego rezultatu. Cała idea jest w tym, żeby całą obsługę odczytu temperatur z 4rech DSów, połączonych na oddzielnych liniach, wcisnąć w obsługę przerwań. Krótko mówiąc, chodzi o to, aby odczyt...
STM32L031K6: Przy wewnętrznym zegarze 131kHz, w temperaturach -40+55, kod wykonywany z RAM, pobór prądu bez peryferiów 21uA max. Z włączonym licznikiem i RTC to będzie 36uA max. I nie trzeba obniżać napięcia do 1,8V :) Można też zejść do 9uA przy zachowaniu zliczania impulsów i bez wybudzania przez 20s (i więcej). Inna opcja to zliczanie impulsów w...
Witam Mam 7 układów DS18B20 i chciałem dokonywać ich odczytu w kolejności. W przerwaniu od Timer0 ustawiam co 4 sekundy flagę, która ma spowodować wywołanie programu odczytu. ................ Tylko, że wstawienie tego w Case nie ma chyba sensu, bo w momencie wyboru z Case, dane jeszcze nie są obliczone. Pierwsza uwaga to nie dajesz wymaganego czasu...
Tutaj masz gotowy przykład bez użycia float-ów (oszczędność pamięci): http://mikrokontrolery.blogspot.com/2011...
Żeby zrobić menu - potrzebujesz dodać kolejne funkcje obsługi odczytu i wyświetlania temperatury. Obsługę wyświetlania i poruszania się po menu itd. Ponadto istniejącą procedure obsługi PCF musisz rozszerzyć o procedury odczytu i zapisu daty oraz obsługę budzika. Kolejna sprawa to wprowadzenie przerwań. Tzn. Ustawiasz w PCF odpoowiednią datę budzika...
witam wszystkich. W jaki sposob moge zapisywac szereg zmiennych w eepromie avr'a pod jakas tam nazwa a potem je odczytywac. np. mam trzy akwaria "A" "B" "C" i w akwarium A mam trzy zmienne temperatura dawka jedzenia czas swiatla. kazde z tych trzech akwariow ma inne parametry i chodzi mi o to by po przeniesienu urzadzenia z akwarium A do akwarium B...
1. No ale tu blokujesz działanie całego procesora na niepotrzebnie długi czas. Przy 9600 nadanie 1 bajtu to wieczność. Procesor może wtedy zatańczyć kankana. I to 2 razy ;) 2. Bo można to szybciej zapisać jako: "\r\n" w ciągu formatującym wyświetlanie liczby (printf) 3. Oj wygląd się liczy. I to bardzo. Jak napiszesz program liczący tysiące linijek...
Witam mam ten sam problem albo 127 albo 85, nadmienię iż program napisany w c jeden czujnik widzi i odczytuje (pomijana jest identyfikacja rom), natomiast po odłączeniu tego czujnika, podłączeniu innego (oczywiście zresetowany układ), juz wskazuje wartość np 127 a dla następnego (innego) np 85 (dla tego samego programu). Obecnie posiadam 4 czujniki...
Czy nie lepiej by było wykorzystać tu dodatkowej kości tylko dla DS wszak to przy tylu DS-ach ułamek ceny, a później czy to po SPI czy po RS-ie odebrać w głównym procku zebrane temperatury... Tak się tylko zastanawiam głośno ;)
A propos float oraz wyświetlenia temperatury na LCD: http://mikrokontrolery.blogspot.com/2011...
FLASH/EEPROM, bo będziemy potrzebować sporo pamięci. flash może nie wystarczyć, szczególnie po Polsku, gdzie gramatyka jest złożona. Raczej karta pamięci. Attiny do dajacych sie zrozumiec komunikatów głosowych - chciałbym to zobaczyc. Cortex bo kosztuje tyle co atmega a ma wszystkie wymagane mechanizmy i peryferia
Witam! Zrobiłem urządzenie do mierzenia temperatury w czterech punktach. Urządzenie działa poprawnie gdy do uC (atmega 32) podłączone są 3 czujniki (dallas 18b20) natomiast gdy podłącze 4 to odczyt temperatury jest błędny. Na wyświetlaczy LCD pokazują się same 0. Posiadam wyświetlacz hd44780 4x20. Gdy podświetlenie wyświetlacza zgaśnie to odczyt działa...
Tak, jak już pisałem, nie tędy droga. Trzeba zrozumieć, ze Menu czyli interfejs programu z człowiekiem powinno być tylko jego nakładką graficzną. Nie może być tak, że kiedy jesteś w Menu to program zaniedbuje cały system, na przykład nie pilnuje zadanych temperatur. Pomyśl co by było gdyby termostat sterował grzałką w akwarium a Ty sobie radośnie wszedłeś...
wiem wiem, że tak to się robi mam to napisane w programie dokładniej ten fragment jest za to odpowiedzialny: ................. Tyle, że czujnik ds18b20 nie podaje temperatury tak po prostu do procesora np.: 20 stopni Celsjusza tylko trzeba to troszkę przekonwertować za co odpowiedzialna jest ta część programu: fajnie miło i przyjemnie jeśli temperatury...
Jestem w potrzebie skonstruowania rejestratora parametrów pracy. Ma odpowiadać za monitorowanie napięcia, natężenia i temperatury. Będzie współpracował z laserem diodowym. Bardzo przydatnym byłaby możliwość utworzenia i zapisu wykresu z podanymi parametrami. Przekopałem multum projektów na Arduino, lecz nie znalazłem żadnego z tymi czterema warunkami....
kiedy , np. wartość ADC wynosi 256 to cały czas skacze ona z 256 na 257, potem znowu 256 itd... To że przetwornik dla pewnych napięć skacze o swoją jednostkę nie jest jakieś tragiczne bo to oznacza że zakłócenia mają amplitudę mniejszą niż jego rozdzielczość. Sedno problemu jest w tym że ADC ma akurat rozdzielczość 2,5mV a TMP ma 10mV/stopień i jeśli...
Problem polega na tym, że odczytujesz wartość ADC z uC zamiast z DS18xxx. Brakuje ci obsługi DS18B20. Poniżej fragment kodu działającego u mnie. [syntax=vbnet] Config 1wire = Portb.0 '0,1,2 NOP 3,4,5,6,7 works good ON MY Equipment Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms...
w gre nie wchodzi wymiana wyswietlacza to nie zmieni tutaj czytelnosci. Najwiekszy budynek ma 36 m korytarza wyswietlacze sa co 6m czyli jest 6 na jednej stronie i drugie tyle na drugiej. Jesli nie ma osoba dostepu do PC musi niestety kontrolowac pewne wskazania i przejsc sie przez caly korytarz sprawdzajac dane chodzi tutaj tylko o odczyt 4 temperatur....
ATMega328 ma własne napięcie odniesienia ADC 1.1V, więc nie wiem co koledze pływa. Sama ATMega może być zasilana napięciem od 1.8V bo przecież 4MHz zegara wystarczą w zupełności, a nawet jak nie to od 2.7V można 10MHz zapodać.
Kontroler i tak nie będzie prawie wcale obciążony, więc RS485 można zrobić programowo, LAN też można programowo + jakiś moduł. Zwykła ATmega podoła, wszystko zależy jaki masz budżet, ile czasu na to (dostępność bibliotek, chyba, że chcesz własne pisać) oraz tego, która architektura Ci najbardziej odpowiada. Gdybym robił własną płytkę to bym użył jakiegoś...
Zrobiłem juz wiele sterowników używając nie jednego, dwóch a nawet więcej liczby ds'ów i zawsze działa bezbłęnie, nie tylko w BASCOMIE. A Ty Piotrusiu trochę pokory. Cóż, wierzę Ci na słowo. Co za problem z przesuwaniem liczb zakodowanych w U2 ? Nie rozumiem No właśnie :| Gdybyś rozumiał , to zapewne 1-sze zdanie z Twojego poprzedniego postu , nie...
Czy mógłbym poprosić szanownych forumowiczów o zweryfikowanie dwóch schematów? Pierwszy z nich w zamierzeniu ma umożliwiać bezprzewodową komunikację komputera z peryferiami. Został zbudowany w oparciu o: - mikrokontroler Atmega8 – odpowiedzialny za odbiór transmisji UART i przekazywanie jej do modułu komunikacji bezprzewodowej - układ FT231XS...
https://obrazki.elektroda.pl/8673232200_... Witam, chciałem przedstawić Wam mój najnowszy projekt jakim jest rozlutownica. Przymierzałem się do niego już jakiś czas z powodu dużej straty czasu i nerwów przy wylucie elementów THT o większej ilości pinów - głównie przekaźniki, złącza. W końcu wziąłem się w garść i udało mi się coś wykombinować...
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,...
Witam. Mam problem z programem który w inny urządzeniu działa jak należy. Program odczytuje numer ID z DS18B20 zapisuje w pamięci a później odczytuje go z pamięci i dzięki niemu odczytuje temperaturę z jednego z dwu czujników. Problem w tym że tej temperatury nie odczytuje. Procesor "widzi" czujniki bo wyświetla ich ID. Same czujniki też mogę odczytać...
Witam. To: [syntax=c]temp=(float)((temp1+(temp2*256... było prawie dobrze, ale konwersję jawną trzeba wykonać przed operacją, gdzie będzie wykorzystywana, a nie na sam koniec, czyli: [syntax=c]temp=((float)(temp1+(temp2*256... a najlepiej dodatkowo rozdzielić te obliczenia na kilka linijek, bo czasem GCC ma problem ze skomplikowanymi...
Witam ! DS18B20 jest fabrycznie ustawiony na rozdzielczość 0,0625 stopnia co wymaga czasu pomiaru min 750 ms, Zaś w programie jest 500 ms. Próbowałem u siebie DS18b20 na atmega 16, kwarc 16MHz. Korzystałem z przykładu z książki pana M.W. Niestety pokazywał błędną temp gdyż to jest przykład na DS1820. Więc napisałem sobie wszystko w asemblerze i działa...
Twój LM75 jest na I2C, zakładam więc że umiesz odczytać z niego te dwa bajty z wartością temperatury. Sprawdzasz najstarszy bit, starszego bajtu w odczytanym z czujnika wyniku. jeśli jest równy 0, to znaczy że temperatura jest dodatnia i wynik liczysz poprzez: 1. przesunięcie otrzymanego z czujnika wyniku o 5 bitów w prawo 2. pomnożenie rezultatu tej...
Nie wykluczam, ze to może być błąd w połączniu, przy moich zdolnościach jest to nawet całkiem możliwe. całość wygląda tak (niestety nie mam schematu) https://obrazki.elektroda.pl/9589847900_... A tutaj jeszcze moj kod: [syntax=c]#define przycisk1 9 #define przycisk2 10 #define d (3000) #include <LiquidCrystal_I2C.h> #include...
Nie mogę znaleźć rozwiązania problemu z czujnikiem DS18B20 w wersji w obudowie SO8 - mianowicie czujnik nie odczytuje poprawnie temperatury. Przykładowy kod programu (nie sugerujcie się procesorem bo to działało i na mniejszych, a że pod ręke wpadł akurat 1280 to chyba raczej nie istotne. ) $regfile = "m1280def.dat" $crystal = 8000000 '-------------------------...
Kolega sprawdza przecież CRC. Być może nie wyrabiasz się czasowo. Kiedy masz otwarte IDE Bascom naciśnij na klawiaturze klawisz F1 i w otwartym pliku pomocy wpisz "Using the 1WIRE protocol". Wyczytasz tam między innymi (ale zachęcam do przeczytania całości) : The BASCOM scanning of the bus is finds about 50 devices / second , and reading a specific...
Witam Jak powinna wyglądać procedura odczytu temperatury z 4 czujników, ale żeby id brało z eeprom i pomiar z odpowiedniego czujnika zapisywał do zmiennych t1,t2,t3,t4. Procedurę do zapisywania id do eeprom juz mam. Program pisze w bascomie. Dodano po 53 Sub Odcz_temp(czujnik As Byte) If Czujnik = 1 Then For I = 1 To 8 Readeeprom Id(i)...
Witam Poddaje się... nie mam siły walczyć z tym dallasem. Wszystko wydaje się być zrobione dobrze. ow_reset działa - wykrywa dallasa, jak odłączę wywala, że brak. #define F_CPU 1000000UL // 1 MHz #include <avr/io.h> #include <stdio.h> #include <util/delay.h> #include <string.h> void delay_ms(int ms) { volatile long...
Witam urzytkowników... Programuje juz blisko 4 dni ten mikrokontroler i zero efektu. Odczyt zawsze -0.02.... Dlatego mam prośbę czy ktoś byłby w stanie udostępnić swój działający program na atmege 32 który dobrze czyta temp z ds ? Jezeli znajdzie się taki chętny to odrazu zapytam się na jakiej czestotliwosci działa jego atmega ... Mam nadzieje że uda...
http://obrazki.elektroda.pl/8836607800_1... Witam Chcę przedstawić konstrukcję termostatu 4 Kanałowego z wyborem trybu pracy. Układ wykonany na Atmega 32 a program napisany w poczciwym Bascomie. Wyświetlacz ma 4 wiersze po 20 znaków Zastosowane czujniki temperatury firmy Dallas DS18B20 Sterowanie jest za pomocą 4 przycisków (menu, up,...
Witam Używam Attiny2313 do pomiaru dwóch temperatur z DS18B20. Wynik ( Integer ) przesyłam bez żadnej obróbki przez UART przewodem 40 cm do Atmega328. Atmega rozbija odebrane dane i jest obróbka Kod Attiny2313 $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 4800 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5...
Po milionach problemów, dwukrotnym zablokowaniu atmegi(jakim cudem? nie wiem) udało mi się zainstalować DS18B20 na Atmedze8. Zmieniłem zasilanie na bardziej solidne z zasilacza 9V AC i jedynym zauważalnym efektem jest jaśniejsze świecenie wyświetlacza,szybkie palenie wszystkich diod i efektowne topienie płytek stykowych przy zwarciach. Termometr pokazuje...
Czyli przy tym 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 Config Pinc.5 = Output 'linia PB1 jako wejściowa...
dzielnik czestotliwosci (division factor) ustawilem na 4 (atmega pracuje z zegarem wew 8 MHZ). a moze jeszcze kwestia wysiwetlania cyfr: program zwraca mi zawartosc ADCH (8 bit) zmienna TEMP to jest suma tych bitów temperature prezentuje nastepujaco dzies = temp%10; dzies = temp/100; jedn = temp%10; jedn = jedn/10; po takim czyms temperatura skacze...
Jeśli zmienia się temperatura jak ogrzewasz czujnik to znaczy że problem tylko z przeliczaniem ewentualnie z faktem że pracujesz na innej rozdzielczości niz przypuszczasz... w tym temacie jest kilka sprawdzonych programów ... Przetestuj je
Raczej problemem jest sama komunikacja po uart bo cały program bez niej działa jak należy. Mam jeszcze jedno podejrzenie co może być nie tak. Jak sprawdzę to napiszę. Dodano po 38 Myślałem że to budowa ramki danych jest problemem ale niestety nie. Wielkość ramki $framesize mam ustawione na 150. Dodano po 15 Dodaję uproszczony program jak Pisałeś. [syntax=vbnet]...
Obudowa fajna, a płytka bardzo ładnie do niej dopasowana. Razi jedynie to okno z LCD i przyciski na wierzchu...można by to wykończyć ciut lepiej. Co do dalekich transmisji do SHT11, to można zastosować komunikacje RS485. Co prawda mamy wtedy 2 procesory (jeden do odczytu i wysłania temperatury-wilgotności i drugi do odbioru i sterowania ale dane możemy...
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"...
Prąd od grzałki nie popłynie bo układ zbudowałem na kolejnej płytce bez peryferiów - jedynie atmega i wzmacniacz - objawy takie same. Przeciąłem ścieżkę która idzie do pinu Vss wzmacniacza (nr 4). Pomiar zachowuje się tak jakby termopara była wypięta z układu. Pomiar prądu pomiędzy GND a Vss to 0,03mA. Wówczas wskazanie pokazuje wartość zero. Sprawdziłem...
Mam problem z odczytem Temperatury z TC77, podłączonym do Atmegi 32A Atmega -- TC77 2 MISO PB6 --1 SIO 3 SCK PB7 --2SCK 44 PB4 --7CS Co robie źle ? [syntax=c] void Inicjacja_spi1(void) { DDRB = ( 1 << PB5 ) | ( 1 << PB7 ) | ( 1 << PB4 ); //MOSI, SCK, SS' jako wyjścia SPCR = ( 1 << SPE ) | ( 1 << MSTR ) | ( 1 << SPR1...
Przy inicjalizacji rejestrów określających prędkość transmisji wymagana jest kolejność UBRRH a potem UBBRL. Ogólnie w AVRach przy dostępie do rejestrów 16-bitowych wymagana jest przy zapisie kolejność HIGH, LOW a przy odczycie LOW, HIGH. Odczuwalne podniesienie temperatury ATMEGA przy normalnej pracy świadczy albo o uszkodzeniu układu albo błędach w...
Zacznij od odczytu temperatury i wyrzucenia jej na terminal. Jak to zadziała, to możesz zacząć próbować coś wyświetlić na tym twoim wyświetlaczu. Są pewnie jakieś gotowe biblioteki do arduino na ten wyświetlacz. Nie wiem bo się w to nie zagłębiam. Sam sobie pisałem bibliotekę na AVR w C pod 8x7SEG właśnie na MAX7219. MAX7219 obsługuje się przez interfejs...
Witam, Mam podpięty ds18b20 pod atmęgę, korzystam z CodevisionAVR i mam parę pytań może te pytania pozwolą mi na znalezienie błędu w kodzie. 1. Czy taka definicja portu dla 1wire jest poprawna(w CodeVisionAVR): // 1 Wire Bus functions #asm .equ __w1_port=0x07 ;PORTE .equ __w1_bit=1 #endasm Głównie mi chodzi czy później jak się odwołam do samej funkcji...
Witam Przedstawiam projekt miernika energii elektrycznej 3 fazowy który został wykonany w celach edukacyjnych w efekcie końcowych działa w warunkach domowych bez żadnych problemów. Konstrukcja oparta jest na pomyśle http://obrazki.elektroda.pl/6049601700_1... http://obrazki.elektroda.pl/2466438500_1... http://obrazki.elektroda.pl/2177793100_1...
programik który był obsługiwał i sterował: -czujnik temperatury na 1-wire -czujnik wilgotności za pomocą przetwornika acc -styk otwarcia drzwi -sterowanie grzałką która zmieniała temperaturę 2,5stC na 1sekundę -sterowaniem wentylatorem wyciągowym -sterował silnikiem nawilżacza powierza -sterował oświetleniem -wyświetlanie wszystkiego aktualnie wykonywanego...
Witam! Mam problem a polega on na tym że: Mam procka atmega 8 oraz trzy czujki temperatury ds18b20. Czujki temperatury skonfigurowane są na 1wire, rezystor podciągający tych czujek to 4,7 kohm. Połączenie czujek jest trój przewodowe. I problem jest w tym że co jakiś czas temperatura podawana przez czujki jest albo 0 albo 85 st. Mierzy dobrze temperaturę...
main.c [syntax=c]#define F_CPU 16000000UL //definiujemy F_CPU na 16MHz #include <avr/io.h> #include <util/delay.h> #include <avr/io.h> #include <stdlib.h> #include "HD44780.h" #include "DS18B20.h" char str[17]=" Termometr "; int main (void) { double temp; /* W tablicy zapisywane będą dane odczytane z układu ds18b20 */ unsigned...
Poradziłem sobie już wystarczyło zadeklarować A jako Long i wtedy moglem użyć funkcji Round. Mam jeszcze pytanie bo nie chcę zakładać kolejnego tematu . Jak ustawić timer aby w poniższym programie aby robił pomiar ciśnienia co minutę ? [syntax=basic4gl] $regfile = "m644pdef.dat" $crystal = 16000000 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3...
Ja również miałem problem z multiplesowaniem wyświetlaczy i jednoczesnym odczytem 1wire. Pomysł z wyłaczeniem przerwań od timera na czas transmisji 1wire okazał się prawidłowy. Ponieważ w trakcie pomiaru świeci się jeden wyświetlacz aby efekt był nie zauważalny możemy dokonywać pomiaru temeperatury rzadziej. Oto mój programik : $regfile = "m8def.dat"...
temperatura początkowwa na jakom jest ustawiony termostst czyta swicze Widzę że kolega ma problem z pisaniem w języku polskim ale do rzeczy... 1wr ma być call 1wr . Założę się że program nie jest twój... Patrząc dalej: If Tust1 > Tust Then Portb.2 = 1 znowu nie zadziała... Co do histerezy to lepiej zrealizuj ją tak: Temp = Temperatura(1)...
Właśnie nie podoba mi się że działa to co jest dosyć prostą sprawą no ale jak konkret: -Klawiatura AT(przydałoby się odczytywanie w przerwaniu) -Karta SD -Programowanie ISP :D(dla mnie spory sukces ze ruszyło od razu) -Ledy -Podświetlenie -Przerwanie od toucha -Komunikacja RS232/485 -Wszelkie ADC... -Zegar -LCD... -Temperatura -Bluetooth -Niektóre kanały...
Witam, mam dziwny problem, pomoże mi ktoś go rozwiązać? Chodzi o to, że buduję urządzenie, które na żądanie będzie mierzyło temperaturę układem DS18B20. Żądanie odbywa się poprzez naciśnięcie odpowiedniego przycisku na pilocie RC5. Całe moje urządzenie to dwa AVR: Atmega8 (jako dekoder RC5, który wysyła odebrany adres i komendę poprzez USART do drugiego...
Witam Wprowadzacie trochę zamieszania: - Pt100 nie jest liniowy, wystarczy zaglądnąć do PDFa, są wzory (np. http://www.reissmann.com/_media/produkte... strona 4) - zasilanie XTR105 nie jest problematyczne, XTR105 jest zasilany z pętli prądowej pomiarowej i napięcie nie musi być stabilne, w związku z czym można to zasilić napięciem...
A przekształcał ktoś ten wzór dla stopni celsjusza ? Potrzebuje wzór, który przelicza rezystancję od razu na stopnie Celsjusza, bez zamiany K -> C. Chciałem zaoszczędzić pamięć w uPC Atmega. Bez sensu, zysk z usunięciea jednego odejmowania będzei znikomy, lepiej zależność temperatury od rezystancji przybliżyć funkcją odcinkami liniową i w tej postaci...
tzw. średnia krocząca (średnia ciągniona alias programowy filtr dolnoprzepustowy) średnia = (średnia * 3 + aktualny_odczyt)/4; wyświetl_srednią; można średnią liczyć z 3,4,5...pierdylion pomiarów. Zawsze potrzebujesz tylko jednej zmiennej średnia i nie musisz pamiętać wszystkich poprzednich odczytów. oczywiście zmienna średnia musi pomieścić liczbę...
No to bardzo dziwne z tym kwarcem bo u mnie jest tylko miganie pixeli pojednczych a kolko nigdy sie ukazuje. Mam kolejny problem. Sciągnąłem nową wersje bascoma oczywiście full wersja i napotkałem w ustawianich fusebitów strasznie dużo funkcji :/ W załączniku podjae SS. I teraz mam problem bo ustawiłem tak jak na SS ale atmega chodzi tak jak przy 1Mhz...
Witam Mam zbudowany układ na atmega 32 i do niego podpięte 4 czujniki DS18B20. Po włączeniu przez kilka godzin wszystkie pokazują właściwą temperaturę. Po tym czasie trzeci czujnik co jakiś czas pokazuje trzecie miejsce po przecinku, a czwarty czujnik również co jakiś czas pokazuje niewłaściwą temperaturę - w okolicach 130 stopni ( rzeczywista temperatura...
Arduino, czy raczej ATMega, ma przetwornik ADC, więc jedynym co potrafi odczytywać jest napięcie. Nie ważne więc czy czujnik temperatury jest rezystancyjny, czy napięciowy to do MCU ostatecznie i tak trafia sygnał napięciowy. Tyle, że przy T12 trzeba dodatkowo zsynchronizować cykle odczytu temperatury z cyklami zasilania grzałki (aby się odbywały naprzemiennie).
Czujnik ma być czuły np. jak dmuchnę powietrzem w czujnik to temperatura ma się zmienić od razu. Od razu to znaczy ile? 100ms, 500ms, 1000ms? DS18B20 potrzebuje na to min 750ms. Jeżeli to ma być "od razu" to szukaj jak najmniejszych (bezwładność cieplna).
atmega temperatura temperatura atmega odczyt wejsc atmega
volvo ustawienie uszkodzony czujnik obrotów wirnika dwufunkcyjny ustawić
Schemat elektryczny okapu Mastercook - jak znaleźć? Jak zapisać ułamek niewłaściwy w Excelu?