http://obrazki.elektroda.pl/9385220000_1... Na początku chciałbym zaznaczyć, że projekt został zrealizowany dzięki koledze Markowi Szymczakowi. Układ składa się mikrokontrolera ATMEGA8 wraz z podłączonym do niego wyświetlaczem graficznym o rozdzielczości 128x64 piksele i sterownikiem KS0108B (HD61202/3). Jako czujnik temperatury został...
Witam ponownie. Ze względu na częstą potrzebę wykonywania pomiarów temperatury w dość długich procesach postanowiłem ulżyć sobie i stworzyć coś co zrobi to za mnie. Efektem moich przemyśleń jest urządzenie oparte o mikrokontroler Atmega8 i czujnik temperatury DS18b20. Dodatkowo urządzenie wyposażone jest w wyświetlacz, na którym można odczytywać mierzoną...
W Notepad++5.6.2
Spróbuj tak: /* zmienna globalna */ static uint8_t regulacja_temperatury = 1; if(bit_is_clear(PRZYCISKI_PIN_PO... { MOC3041_1_ON; MOC3041_2_ON; MOC3041_3_ON; regulacja_temperatury = 1; } else if(bit_is_clear(PRZYCISKI_PIN_PO... { MOC3041_1_OFF; MOC3041_2_OFF; MOC3041_3_OFF;...
problem tkwi w tym, że program masz do obsługi układu DS1820, a podpięty masz DS18 B 20 (różnią się one rozdzielczością i sposobem zapisu temperatury w rejestrach). W internecie znajdziesz masę programów pod BASCOM i nie tylko obsługujących ten termometr.
Zajrzyj do dokumentacji LM, tam jest pokazane, jak należy go podpiąć, żeby mierzył ujemne temperatury.
Polecam lm75 - ma 3 bitowy adres (8 układów na jednej magistrali), programowane parametry: rozdzielczość, alarm przekroczenia parametru, histereza. Niska cena. Oczywiście trzeba się liczyć z parametrami elektrycznymi I2C.
Oznacza to, że nie jest to takie proste, jak się wydaje :) Korzystając z dzielnika musisz wybrać pomiędzy dobrą liniowością a wysoką dynamiką (rozdzielczością) - przy okazji rezystancja dzielnika w całym zakresie pracy musi być dużo mniejsza, niż rezystancja wejściowa przetwornika A/C. Sugeruję wykonanie kilku wykresów funkcji Vout(T) dla różnych wartości...
Witam Gdyby dalej były problemy z uruchomieniem transmisji to mogę podesłać kod źródłowy do takiego urządzenia, bo sam coś takiego zrobiłem z tym że wynik podawany jest na 3 wyświetlacze LED. Transmisję zrealizowałem bardzo podobnie tylko za pomocą bascomowego polecenia Inkey(), odbierane są zawsze dwa bajty i na podstawie ich zawartości określane jest...
Tutaj masz gotowy przykład bez użycia float-ów (oszczędność pamięci): http://mikrokontrolery.blogspot.com/2011...
Rozważ takie rozwiązanie, ale dobrze byłoby podłączyć jeszcze jeden pin do mikrokontrolera żeby rozpoznawał czy mamy zasilanie i od tego uzależnił co ma robić program. Po co ma odpytywać czujniki na baterii. Na dodatek po wznowieniu zasilania musiałbyś użyć komendy Initlcd http://obrazki.elektroda.pl/4984761000_1... W FuseBitach nie...
Witaj na naszym forum. Prosiłbym o podanie jakiegoś interesującego linku dla początkujących. Proszę bardzo: http://mikrokontrolery.blogspot.com/p/sp...
80 stopni to jeszcze w miarę znośna temperatura pracy dla mosfeta, aczkolwiek, tak jak koledzy wyżej wspomnieli, przydałby się tutaj radiator.
Tylko jak się zdecydujesz to musisz oprogramować I2C w trybie Slave. A to juz nie wiem czy w Bascomie takie proste. Nie znam Bascoma ale z tego co się orientuje standardowe komendy dotyczą I2C w trybie Master. W sumie I2C będzie łatwiejsze z technicznego punktu widzenia, no i bardziej przyszłościowe np jak zrobisz kolejny moduł. Tylko musisz pamiętać...
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...
Jeżeli wymieniłeś baterię i przez jakiś czas działało prawidłowo, to wskazanie będzie na baterię. Problemy z kwarcem też mogą wystąpić przy takich temperaturach (-20*C), ale wtedy układ nie traciłby danych z pamięci tylko notowałbyś opóźnienia. W skrajnych przypadkach, bardzo niska temperatura i duże drgania (duży prąd, co nie dotyczy PCFa) kwarc pęka....
na termistorze więcej nie zdołasz uzyskać, w końcu to element półprzewodnikowy.
1. Makro "bit_is_set" jest zdefiniowane w pliku nagłówkowym sfr_defs.h. Sprawdza ono czy dany bit w rejestrze mikrokontrolera jest ustawiony. Nie koniecznie musi to być pin (nóżka). Polecam wpisanie w goolach "avr bit_is_set" - w pierwszym czy drugim linku znajdziesz kod tego makra i dokładny opis wspomnianego pliku nagłówkowego. 2. Literówka. Powinno...
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ść....
proponuje sprawdzenie samych L298 bez żadnego uC , połącz wejścia i sygnał Enable przez rezystory 4,7kΩ do masy bez żadnego obciążenia ( silnik , diody ) stopień mocy nie powinien pobierać praktycznie żadnego prądu układ powinien być zimny , jedynie część logiki ( + 5V ) powinna pobierać prąd , jeżeli w takiej konfiguracji układ nadal się grzeje...
Kod jest mi nie potrzebny - zasada jest taka - masz określone formaty danych i tak np. temperatura składa się z 3 cyfr i kropki, znak stopni jest stały, podobnie jak reszta napisów. I teraz masz stare odczyty, powiedzmy tak: ___DOM____POLE__ __21.5_C__12.2_C Potem dajesz locate, w tym przypadku (1,2) i wyświetlasz nową temperaturę, która przy okazji...
Nie za bardzo: - AGND masz połączone z masą przez kondensator, ma byc bezpośrednio - AREF ma być połączone przez kondensator do masy - AVCC ma być połączone przez dławik do VCC - RESET - wywal wszystko co masz na tym pinie, obecnie masz go na stałe zwarty do Vcc, co uniemożliwia programowanie - GND stabilizatora jest niepodłączone - jeśli jako Vref...
W funkcji pomiart1() nie czekasz na koniec pomiaru. Dlaczego?
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...
Spróbuj zmienić kolejność na taką: '--------konwersja temp dla wszystkich dsow 1wreset 1wwrite &HCC 1wwrite &H44 Wait 1 1wreset 1wwrite &H55 2 1wverify Dsid1(1) 'wysyłamy adres pierwszego czujnika 1wwrite &HBE I1 = 1wread(2) '--------------------------------- 1wreset 1wwrite &H55 1wverify Dsid2(1) 'wysylam adres drugiego czujnika...
...Jakieś pomysły?? Źle "składasz/sklejasz" odczytany bajt :( //procedura odczytu bajtu z urzadzenia unsigned char wire_read_byte1(void) { unsigned char bajt, tmp, i; bajt = 0; for(i = 0;i<8; i++) { tmp = wire_read_bit1(); tmp = tmp << i; bajt = bajt | tmp; } return bajt; } Ja zrobiłbym to tak: //procedura...
Na temat fuse bitów był osobny temat wałkowany i to dobrze ale narazie ich nie ruszaj bo "uwalisz" procka. DS-y są "wyczulone" na czas w którym następuje konwersja i jesli bedzie nieodpowiedni(wg noty 750ms) to DS moze wariowac i w ogole nie mierzyc(nie zdarzy wykonac konwersji). Jesli chodzi o ADC to w zasadzie różnica jest taka ze przy standardowym...
Pomyśl nad zastosowaniem rejestru przesuwnego. Np 74HC595. Można te układy łączyć. Potrzebne będą trzy linie procesora. Jedna do ustawienia wprowadzanego bitu druga to zegar rejestru przesuwnego a trzecia służy do przeniesienia danych z rejestru na wyjścia. Układ ma 8-io bitowe wyjście czyli do podwójnego wyświetlacza będą potrzebne dwie takie kostki....
kamil1cos7 --->, tak, czujniki mam w trybie pasożytniczym, po pracy podmienię rezystor na 2k; snnaap ----> tak, powyżej 10st. Celsjusza wyświetla prawidłowo, wg termometru, w pokoju mam 22st, więc raczej nie przekłamuje. Pierwsze co to wyświetl na ekranie co masz w zmiennej Ss po odczycie wprost z czujnika przy tem poniżej 8 stczyli : Ss = Str(i1)...
Pt100-pt1000
Atytmetyka 8-io i 16-sto bitowa: http://www.atmel.com/dyn/resources/prod_... i kody źródłowego do tego http://www.atmel.com/dyn/resources/prod_... Dodano po 41 i jeszcze to: http://www.atmel.com/dyn/resources/prod_...
Po pierwsze to kup nowego DS a tego wyrzuć- bo gdzieś go schowasz, zapomnisz że zepsuty- a za jakiś czas będziesz się znowu użerał. Ale zanim go wyrzucisz zmień us na ms na końcu programu. Zresztą powinno być 900ms a nie 200.
Zegarek oprócz funkcji wyświetlania czasu ma pokazywać temperaturę i mieć możliwość sterowania z pilota (RC5). Normalnie (by default) Bascom używa Timer0 dla RC5. Jeżeli Timer0 masz zajęty do inego celu, więc potrzebujesz skonfigurować Timer2 dla RC5. e marcus
a 8MHz masz?:> Sprawdź PCB Rezystor 4.7kΩ masz na linii danych? Może podaj konkretnie co pokazuje sie na lcd. "Przyczepiliście się" :D do sprzętu , a żaden z Was nie zajrzał do kodu ;) A błąd ukrył się sprytnie , w deklaracji zmiennej T1 , która powinna być typu Integer , a jest ... :?: Piotrek
Wynik temperatury jaki uzyskał jest efektem odczytania samych jedynek z magistrali 1wire, czyli czujnik nie odpowiedział.
jack63 to wcale nie jest liniowa charakterystyka! Oczywiście, tylko ta nieliniowość jest niewielka. Dla 200oC wynosi mniej niż 6oC. Czyli 3% ,jeśli dobrze policzyłem :D. Przetwornik ADC jest 10 bitowy z dokładnością do 2 LSB czyli 0,4%. Można przeprowadzić ew. linearyzację po ADC programowo. (at)PiotrPitucha próbujesz "wymusić" stosowanie rozwiązań...
Temat ten był już wałkowany n razy Zerknij do datasheet'a DS'a Wydaje mi się że czas po odebraniu bitu jest zbyt krótki, z tego co pamiętam to tam min 75 us powinno być Tu masz kawałek działającego kodu, przerób sobie pod swoje komendy #define ONEWIRE_PIN PB2 #define ONEWIRE_PORT PINB #define ONEWIRE_DDR DDRB static uint8_t onewire_reset() {...
Co prawda w temacie kolega umieścił wątek o termometrze wykorzystującym jako czujnik LM35, ale może "malutka sugestia": Brałeś pod uwagę scalony cyfrowy czujnik typu np DS18B20 ? Ja np w aucie zbudowałem termometr (na ATMEGA8) przy użyciu dwóch czujników DS18B20 (temperatura silnika i w kabinie) oraz DHT22 (zamiennik to AM2302) w nawiewie, który oprócz...
Podłączyłeś równolegle dwa uzwojenia wtórne transformatora, a tak sie nie powinno robić. Jak już to daj dwa mostki prostownicze i połącz dopiero wyprostowane napięcia. Do tego masz jakiś kondensator równolegle do uzwojeń wtórnych. Po co? Kondensatory C17 i C18 jak już chcesz łączyć równolegle do przycisków, to szeregowo przez rezystory np. 100...330R....
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...
No nic dziwnego, w ustaw_czas robisz call do wys_czas który wbrew obiegowej opinii wyświetla temperaturę;] i... ustawia kursor kilka spacji za *C :) a potem sobie reta do ustaw_czas gdzie już jak widać LCD "Ustaw czas" :) Ot i tajemnica;] Pozdro ;] Dodano po 1 PS lowerline sux, ja bym używał locateów na twoim miejscu ;-) Poza tym funkcje są fajnejsze...
Ten kod napisałem na podstawie dokumentacji temometru i dokumentu opisującego interface 1 wire od atmela: A do dokumentacji AVR-ka zaglądałeś :?: Zastanów się, czy można uzyskać niski stan na magistrali 1wire, jeżeli pin do niej podłączony jest ustawiony jako wejście :?: [syntax=c]unsigned char _DS18B20_ReadByte() { _DATA_DDR &= ~(1 << _DATA_WIRE);//...
Kwarcu nie potrzebujesz. Na wewnętrzynym oscylatorze możesz zrobić to spokojnie. Nie masz złącza ISP - no chyba że masz zewnętrzny programator do którego będziesz wkładał procesor. Jeśli nie to zdecydowanie dorysuj to złącze. Czy LCD będzie bez podświetlania? Kup lepiej taki z podświetleniem i go podłącz - 15 i 16 noga LCD. Może warto kupić 2x16 - koszt...
Witam ... całe zamieszanie z numeracją stron wynika z tego w moim archiwum mam starszą wersję noty katalogowej ATmega8 i wspomniane informacje są na str 289. W dostępnej na stronie Atmela dokumentacji: http://www.atmel.com/dyn/resources/prod_... jest to na stronie 292, jest tam dokładnie pokazane które oznaczenia odpowiadają obudową...
W TCNT2 jest aktualna wartość timera2.
Press ciekawy pomysł, pomyśle nad tym. Ja posiadam taki za 20 zł i taki za 56zł(UNI-T M890G) i oba szaleją. Zmieniłem kabel łączący czujnik z mikrokontrolerem i zapomniałem zamontować opornik 3,9k, aby w razie zwarcia nie spalić stabilizatora. I po kopnięciu mikrokontroler pokazuje błąd (zmienna ERR), gdy silnik wytraci obroty to pokazuje wyższe temperatury...
Witam mam program który wyświetla temperaturę oto on void temperatura(void) { ow_reset(); ow_write_byte(0xCC); ow_write_byte(0x44); _delay_ms(100); // czas pomiaru ow_reset(); ow_write_byte(0xCC); ow_write_byte(0xBE); lsb = ow_read_byte(); msb = ow_read_byte(); ow_reset();...
F_CPU=8000000 ustawione w Properties projektu A fuse bity w uc masz ustawione na 8MHz. Jeżeli nic nie ustawiłeś to uc domyślnie pracuje z częstotliwością około 1MHz.
Masz podciąganie linii danych?
ee no musiało pomóc, sprawdzałem u siebie i kod się zmniejszał o kilka kB pokaż jakim poleceniem ze wszystkimi flagami jakie używasz kompilujesz kod dla tych zmiennych równych 134 i 1: LS Byte: 10000110 MS Byte: 00000001 w MS Byte pięć najważniejszych bitów wskazuje na znak - zera to dodatnia, a jedynki to ujemna trzy najmłodsze bity z MS Byte i cztery...
Izolacje termiczna realizuje sie przez ogranicznie kontaktu poprzez miedz z innymi elementami generujacymi cieplo - i to zaleca producent. Duza powierzchnia miedzi IMHO nie zwiekszy inercji ukladu, bo... ma duza powierzchnie. W efekcie kazda roznica pomiedzy ta plaszczyzna a temp. otoczenia bedzie blyskawicznie niwelowana. Poza tym faktycznie te czujniki...
Czym jest spowodowany fakt iż nie dostarczając napięcia do dsa " pracując w konfiguracji dwóch linii danych z podciągnięciem i masa " na pc czujnik działa ok a po podłączeniu do up nie można odczytać danych? Komunikacja jest poprawna ponieważ jest możliwe odczytanie id dsa. Ogólnie tym, że połączenie w trybie dwuprzewodowym (pasożytniczym) wymaga bardziej...
Witam. Problem z histerezą polega na tym że histerezę ustalasz w liniach wykonywanych tylko raz po starcie procka, dlatego ona zawsze będzie wynosić 0+5 (zmienna przechowująca temperaturę zmierzoną po starcie programu będzie 0). zmienną histerezy musisz umieścić w pętli aby byłą aktualizowana cały czas wraz ze zmianą temperatury. Pozdrawiam
Chyba już wiem co może być, tylko nie wiem gdzie jest źródło problemu. Doczytałem się, że po zerowaniu po włączeniu zasilania bajty odczytu temperatury są ustawiane na wartość 85.00 stopni i tę wartość udaje ci się odczytać z rejestrów DS18b20 (co świadczy, że procedury odczytu działają poprawnie). Doczytałem się jednak też, że w układzie zasilania...
przed linia Lcd Chr(2) ; "=" ; Napis ; " " ; Chr(1) ; "C" 'wynik dopisz : locate 1,1 pozdrawiam
Dzielnik tak, wartości - raczej nie. Zasymuluj sobie ten układ np. w http://www.falstad.com/circuit/ lub dokonaj obliczeń. Zauważ, że źródło prądowe 3mA w przypadku 100°C będzie miało do pokonania dwa połączone równolegle rezystory zwierające do GND: - pierwszy to KTY-81 o wartości 3392Ω - drugi to rezystor wypadkowy z dzielnika, czyli 5,4kΩ...
W karcie katalogowej LM35 masz pokazane, jak mierzyć ujemne temperatury.
Ten kod jest w jakiejś książce? Pytam z ciekawości bo widzę go już któryś raz. Wynik -0,1 pokazuje się zawsze gdy nie pasują prędkości zadeklarowane w kodzie z prędkością mikrokontrolera. Pomaga zmiana FuseBitów na 8MHz w Mega8 i w kodzie :) Równocześnie, tak żeby się zgadzało i tu i tu. Najpierw sprawdź, potem komentuj :D
Ustawiasz napięcie odniesienia na Vcc, ale ... w funkcji pomiaru z powrotem ustawiasz napięcie odniesienia z pinu AREF, czyli zewnętrzne, bo nadpisujesz wartość ADMUX. Wzór OK. [syntax=c]return ADCW;[/syntax] zmień na [syntax=c]return ADC;[/syntax] Przykłady ADC: http://mikrokontrolery.blogspot.com/2011...
Pokaż cały program. Masz podłączone w trybie parasite, musisz więc ustawiać stan wysoki na linii danych podczas konwersji temperatury.
Oprócz obowiązkowego RC, a zwłaszcza kondensatora na wejściu ADC, ja bym jeszcze dorobił filtr dolnoprzepustowy w oprogramowaniu. Regulacja czegokolwiek na podstawie pojedynczego, nieuśrednionego pomiaru jest dość ryzykowna.
No bez jaj. Tak samo jak zrobiłeś sterowanie pinem w zależności od temperatury.
Witam Chcialem na wstepie powiedziec ze jestem poczatkujacy w temacie mikrokontrolerow , jednak udalo mi sie juz zbudowac prosciutku komputerek pokladowy ktory na LCD wyswietla aktualna predkosc i obroty oraz liczacy dystans i czas jazdy. Mam jednak problem jak rozwiazac pomiar temperatury z czujnika , jezeli dobrze rozumiem to do wejscia przetwornika...
Źle się wyraziłem, pisałem oczywiście o przyłożeniu 2,5V na jedno z wejść pomiarowych :D Jeszcze mam pytanie: Rozdzielczość = 2,56 / 1024 = 0,0025 = 2,5mV Jak można użyć tego parametru przy pomiarze temperatury?
A z jaką częstotliwością odczytujesz dane z ADC? Może za wolno?. Jeszcze ten równoległy kondensator, on zachowuje się jak filtr dolnoprzepustowy.
Co do wyłączenie światła po 30 sek. Dodaj dodatkową zmienną bit która będzie ustawiana np: na 1 po wyłączenia światła przez timer po 30 sekundach a dzięki niej nie będzie ponownie włączane światło przez wciąż otwarte drzwi (stan niski na wejściu uC). Dopiero zamkniecie drzwi ( stan wysoki na wejściu uC) spowoduje zmianę tej zmiennej na 0 dim 30SEK as...
Więc jezeli jest to nowa Atmega to fabrycznie jest ustawiona na 1000000 MHz i w programie też musi być ta czastota. Ja mam wgrany ten program do Attiny2313 i działa bardzo dobrze.
Dzieki za info
Koszt elementów możesz sobie policzyć. Procesor np. Atmega8, czujnik temperatury i wilgotności, wyświetlacze 7-seg. LED, zasilanie to pewnie jakaś przetwornica 230V/5V, jakaś drobnica-rezystory, diody, kondensatory, przyciski, produkcja PCB- laminat, trawienie, wiercenie, estetyczna obudowa, złącza, okablowanie, włącznik, bezpiecznik itd...
Choćby LMV321. Niewiele lepszy od LM358, ale poza tym ma chociaż wyjście typu Rail-to-Rail. EDIT. Wykonałem pomiary czujników SYH-1 oraz HCH-1000. Wstawię jak się filmiki dodadzą do serwera. Jeszcze tylko prośba do albertb : przedstaw jakieś argumenty a tym że czujnik SYH-1 jest pojemnościowy. Albo nie wiem, że jest tego samego typu co HCH-1000, albo...
Dołącz i edytuj plik config.h z folderu, w którym są źródła tego przykładu. W tym pliku jest zdefiniowany port i pin. Ustaw odpowiednio dla Twojego układu.
Czy to może być wina częstotliwości kwarcu ? Mam inny bardziej bardziej rozbudowany układ ( PCF8563, PCF8574, karta SD, pomiar z PF8591, pomiar 3 x DS18B20 ) tylko na Atmega328 i kwarcu powyżej 10 MHz i tam działa wyświetlanie OK, bez żadnych przeskoków.
Witam ! Dodaję gotowy działający program do pomiaru temperatury. ATmega8 fabryczne fuse bity ( nic nie zmieniaj ). Program sprawdziłem z liniami które wtym programie są zaremowane, ze względu na łatwiejszą konfigurację na mojej płycie. $regfile "m8def.dat" Config Lcdpin = Pin , Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4...
Czy możliwe jest ze czujnik DS18B20 zawyża o parę stopni temperaturę?
KowalD ja nie piszę o przypaleniu, lecz o przepięciach indukujących się od transfromatorowej lutownicy ! zauwazylem bylem... a ja pisze o temperaturze :)...
DS18B20 to bardzo fajny czujnik i można nim w prosty sposób mierzyć temperaturę z rozdzielczością 0.1 st. C Polecam.
Schemat jest ideowy zaczerpnięty z projektu cugi253, do którego podałem link na początku tematu. Co do LED, jedna dioda sygnalizuje prace urządzenia, druga natomiast sygnalizuje alarm przekroczenia danej temperatury.
Po ustawieniu fuse bitów tak żeby uwzględnić $crystal=4000000 program w dalszym ciągu nie reaguje na nic. Mógłbyś napisać program do odczytu temperatury z DS18B20 i wyświetleniu jej na LCD tak żebym mógł sobie sprawdzić moje czujniki temperatury
Witam, od razu się przyznam, że dopiero raczkuje tworząc własne programy dla mikrokontrolerów, dlatego pytam: jak obsłużyć termoparę (J) przez Amtega8 (wiem, że ma wbudowany przetwornik ADC), chodzi mi o jakiś prosty przykład, na którym mógłbym się wzorować-uczyć, może być w C jak i w Bascomie. Chcę by program po prostu odczytywał temp. z termopary...
Mała sugestia odnośnie pomiaru i wahania odczytów. Nie tak dawno robiłem odczyt z czujnika temperatury (termistora 5%), irytowała mnie strasznie szalejąca wartość pomiaru. W pierwszej chwili zrobiłem na szybko uśrednianie na podstawie zwykłej średniej arytmetycznej postaci: wynik = (N_0+N_1+...N_n)/n, ale nie dało mi to zadowalającego efektu. Aby w...
A może masz czujnik DS18B20, upewnij się że jest to DS1820. Ale dziwne, najpierw termometr działał poprawnie a później przestał. Zastanawia mnie jeszcze to że (jak piszesz) czujnik reaguje na zmiany temperatury bo zmienia się zmienna T1, a nie da się odczytać temperatury. Ciekawe w czym jest problem.
To nie jest jeszcze to co oczekuje, mianowicie: Są 3 tryby pracy: -Wyświetlanie temperatury (główny) - Po jednym naciśnięciu przycisku przechodzi do wyświetlania temp max i min i czeka na kolejne instrukcje - a jeżeli ten sam przycisk jest naciśnięty dłużej (np. 3sekundy) to przechodzi do resetowania wartości max i min i wraca do wyświetlania temperatury.
Czy udostępnił by kolega ten arkusz kalkulacyjny i opisał jak kalibruje się za pomocą niego temperaturę?
Witam Czujniki CO2 kosztują koło 100zł, temperatury od 2 do 10zł a wilgotności od 10 do 100zł. Do tego dojdzie sporo elektroniki, więc tanio to nie wyjdzie.
Opanuj pierw te czujniki, jest pelno kodow przykladowych na forum. Nastepnie opanuj wyswietlacz, uzyj szukaj tez jest pelno tematow. Pozniej wystarczy, ze to do tego "dodasz". Polecam jeszcze helpa i ksiazke Dodano po 13 Skad masz ten kod?
Wszystko dobrze, tylko źle masz policzone ułamki. Część całkowita to po prostu twoja pliczba tempC1. Część ułamkowa to tempC1*100 modulo 100. Oczywiście jeśli chcesz mieć dwa miejsca po przecinku.
Użyłbym: PT100 - może być i PT1000 Wzmacniacz pomiarowy - INA333 jest chyba dobry. MSP430 z driverem LCD Szkiełko LCD 3.5 cyfry. Bateria CR3032. Na jednej baterii pochodziło by to pewnie ze 5 lat. Nie bierze tego jako wyrocznie bo nie mam ułożonego schematu w głowie. To tylko części które cisną mi się do głowy jak słyszę "bateryjny miernik temperatury".
Nie czytałem całego wątku. Masz tam warunek > 28, więc warunek zadziała dopiero gdy cel będzie większy niż 28 czyli = 29, jeżeli chcesz żeby było od 28 musisz tam dać większe bądź równe 28. Jak chcesz mieć większe o dziesięć to temperatura = cel + 10;
Nie bardzo rozumiem co napisałeś, strasznie poplątałeś. Napisał bym tak: Jeśli rozruch pieca jest uruchomiony i temperatura jest mniejsza od zadanej to licz czas. Jeśli rozruch pieca jest uruchomiony i temperatura zadana jest osiągnięta to przerwij liczenie , wyzeruj zegar i przejdż do normalnej pracy. Jeśli piec się przegrzeje to zatrzymaj normalną...
Znalazłem coś takiego i działa świetnie ale mam parę pytań #include <avr/io.h> #include <util/delay.h> #define F_CPU 8000000UL // 8 MHz #define LCD PORTD #define E 3 #define RS 1 #define SET_E LCD |= _BV(E) #define CLR_E LCD &= ~_BV(E) #define SET_RS LCD |= _BV(RS) #define CLR_RS LCD &= ~_BV(RS) void...
Zastosuj zewnętrzny kwarc dla lepszej stabilności zegara.
Nie umożliwia;)
dzieki wielkie za pomoc
Czy ten wyświetlacz: http://sklep.avt.pl/p/pl/483143/wyswietl... zadziała jako wyświetlacz temperatury sterowany atmega8 i czujnikiem DS18b20?
Witam Po raz pierwszy zabrałem się za sterowanie wyświetlaczem 7 segmentowym. Mam pewien problem jak zamienić liczby np. wartość temperatury 20.5°C na 3 liczby typu byte i umieścić je na wyświetlaczu ?. W moim programie mam podane 3 zmienne C1, C2, C3, które udaje mi się wyświetlić. Nie wiem tylko jak zapalić kropkę lub zgasić 0 z 1-wszego wyświetlacza....
Zamiat: temperatura = Temp_min daj: temperatura == Temp_min a jeszcze lepiej: temperatura < Temp_min .
Czegoś nie rozumiem - miałeś błąd w czytaniu temperatury, poprawiłeś odczyt i jest to samo?
Witam Mam od dłuższego czasu problem z DS18B20. Stosując różne kody, różne przedziały czasowe (biorę przykłady z innych aplikacji) ciągle są inne wyniki. Wynik jest wyświetlany na wyświetlaczu 7-seg, proszę nie zwracać uwagi na nieprawidłowe multipleksowanie (pojedyncze cyfry na moje wskazanie wyświetla prawidłowo). DS18B20 odpowiada na reset pulse,...
Nikt mi nie pomoże?
Google ci pomoże jeśli wpiszesz tam atmega8 programator :) Złącza nie musi być, można zaprogramować układ przed wlutowaniem :)
atmega8 temperatury atmega8 czujnik temperatury regulator temperatury atmega8
dopisanie kluczyka czyszczenie lasera samsung laguna sonda lambda
montaż klimatyzacji samsung le40n87bd
Odcięcie zapłonu w Mazdzie CX-3: przyczyny i diagnostyka Philips F6112/00 - Klawisze nie działają poprawnie