Jak używasz jakiejś bardzo starej wersji spolszczonej to możliwe, ale Demo2075 już nawet to potrafi. Możesz użyć Twojej poprzedniej konfiguracji z Load Timer, ale dodaj ustawianie tej flagi 5ms w przerwaniu.
Niestety nie mogę odnaleźć programów testowych (jeszcze z czasów zabawy z Bascom), na których termometry w obu konfiguracjach chodziły sobie parę dni, ani dokładnych wyników...
No tak, ale i tak będzie konfiguracja z 3 przewodami...
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...
Oczywiście , że wpisując : Config 1wire = Porta.1 zablokujesz odczyt z Porta.0 Musisz przed odczytem z Porta0 , wpisać w programie Config 1wire = Porta.0 a następnie gdy będziesz odczytywał z Porta.1 wpisujesz linie Config 1wire = Porta.1 Czyli , najpierw konfiguracja z której linii potem odczyt.
W bascomnie ciężko zrobić LED + Ds18b20 wszytko psuje Waitms 750. Zwiększ do 8 a jak możesz do 16MHz kwarc. A od kiedy to musimy czekać 750ms nie robiąc nic innego? Od czego mamy timery? Przepraszam najmocniej Kolegę, ale jeśli Kolega tego zrobić nie potrafi to: 1. Nie oznacza że się tego zrobić nie da - ja nie potrafię zbudować komputera klasy PC...
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...
W tej konfiguracji co masz teraz, procesor pracuje na wewnętrznym oscylatorze i nie potrzebuje zewnętrznego kwarca.
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....
Witam Nie wiem czy trzeba zmieniać coś jeszcze w Fusebit, czy porostu problem jest po stronie wyświetlacza? Pozdrawiam Wyświetlacz powinien pracować zupełnie dobrze także przy 1 Mhz taktowaniu processora. W zależności od deklarowanej F(clk), Bascom kalkuluje odpowiednio timingi do stadardu HD44780 display controlera. Przy błednej konfiguracji (lub...
Zakładając, że użyjesz innego procka, dalej ciężko się domyśleć, o co dokładnie pytasz. Ale spróbuję :p Zapewnie chcesz najpierw obsłużyć przetwornik. Zatem na początku konfiguracja: - jeśli napięcie odniesienia ma być pobierane z wyprowadzenia AVCC mikrokontrolera: Config Adc=Single, Prescaler=Auto, Reference=Avcc - jeśli chcesz skorzystać z wewnętrznego...
Biblioteka której użyłeś nie ma możliwości dowolnej konfiguracji pinów. W załączniku masz bibliotekę prosto z Rosji :D Chiński wyświetlacz sam mi się uszkodził ale coś tam wyświetla :D http://obrazki.elektroda.pl/6257086800_1... Kod którego użyłem do zrobienia tego zdjęcia [syntax=vbnet] $regfile = "m8def.dat" ' specify the used micro...
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 ?
Podałem wyraźnie, że oprogramowanie napisałem w WinAVR ;) Nie uznaję czegoś takiego jak bascom (wystarczyło mi raz w życiu się na nim przejechać...). Przedstawię "odchudzone" kody źródłowe - aby były całkowicie funkcjonalne należy troszkę dopisać. Ogólna idea jest przedstawiona. Sam main w programie jest niewielki. Dla przykładu pokażę jak zrealizowałem...
Hejka, Układ DS18B20 jest konfigurowalny, a domyślnie odczyt temperatury jest chyba z rozdizelczością do 4 miejsc po przecinku (patrz dokumentacja nie pamiętam już). Ja swój układ konfiguruję np z dokładnością do jednego miejsca po przecinku z rozdzielczością 0.5 stopnia: 1wreset 'wybieram id układu 1wwrite &H4e 1wwrite 255 1wwrite 255 1wwrite &B00011111...
Z Twojej wypowiedzi można wynioskować że zmiana oscal o 1 da nam zmiane częstotliwości o 27,5Khz, przyjmując że dryf temperaturowy o 1st. celsiusza daje nam potrzebę zmiany oscal = 1, otrzymujemy że AVR na wewnętrznym RC działa jak przetwornik temperatura - częstotliwość :) z dokładnością o wiele leprzą od ds18b20. :) Light'I < a po co zaglądać do...
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,...
sterownik sam wchodzi we funkcje "menu" chociaż nikt go nie ruszał Nie wiem jak wygląda schemat i konfiguracja portów (nie przyglądałem się) ale sprawdź czy masz podciągnięcie do VCC na pinach z klawiszami. Dobrym zwyczajem jest podciągnąć te linie zewnętrznie rezystorem do vcc. Wtedy masz pewność że na pinach masz takie stany jakie powinny być.
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
...rozwiązałem problem w taki sposób. W menu dopisałem pozycję: "Konfiguracja czujników temperatury": "1)Konfiguracja DS1-temp. piec"; "2)Konfiguracja DS2-temp. bojler"; "3)konfiguracja DS3-temp.kolektor". Jeżeli podłączę jeden czujnik to mogę przypisać jego numer do np. pomiaru temperatury pieca, zapisuję go w Eepromie Avr'a i wychodzę do podmenu,...
eh.. config to jest polecenie preprocesora więc config przed użyciem nic nieda. z tego co kiedyś czytałem w helpie (kiedyś jak jescze siedziałem na Bascomie) to widziałem że jeśli chce sie użyć 1wire na portb.0 a ma sie skonfigurowane na portb.1 to sie pisze "1wreset portb,0" itd.. dodając na sam koniec polecenia końcówke z oznaczeniem pinu. w helpie...
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...
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...
"po zmianie nazw rejestrów" -> i to dla mnie jest tą różnicą w ASM, skoro to w tym języku znajdujemy się najbliżej sprzętu i nie ma opcji że jak dany rejestr nazwiemy niewłaściwie dla danego procesora to program ruszy. Pod moim nieprecyzyjnym pojęciem "ASM" nie mieszczą się jedynie rozkazy uP ale i adresy, nazwy i konfiguracja rejestrów oraz mapa pamięci....
Tak jak pisałem mam odczyt z rozdzielczością 9-bitową, próbowałem wielokrotnie zapisać rejestr konfiguracji, ale przy odczycie zawsze dostaję, że zawiera same jedynki. Wczoraj, kiedy już straciłem całą nadzieję zauważyłem, że w sklepie sprzedali mi ds1820 zamiast ds18b20, a ten właśnie ma 9-bitową rozdzielczość. Dziękuję wszystkim za pomoc i zamykam...
Problem rozwiązałem w 50%. To znaczy dzięki podpowiedzią kolegów co mi brakowało żeby działał termometr, który pracuje bardzo dobrze ,dopisałem do programu woltomierz , który pracuje dobrze. Do zamknięcia tematu pozostał jeszcze amperomierz , który mierzy spadek napięcia na boczniku sygnał wzmocniłem wzmacniaczem LM358.Nie wiem jak przeliczyć spadek...
Na płytce zvl11avr jest kwarc ale nie wiem czy jest on podłączony czy nie jak to sprawdzić? Wszystkie poprzednie programy działają prawidłowo, nigdy nie konfigurowałem fuse bitów, wiem o nich tylko tyle że nieprawidłową konfiguracją można zablokować procka. Może foto coś wyjaśni. Więc jak do wspołpracy z 18B20 powinny być skonfigurowane? http://obrazki.elektroda.net/77_12251089...
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...
Skoro tak się sprawy mają , to: a)uszkodzony(e) DS-y - mało prawdopodobne ;) b)Crystal <> faktyczna częst. taktowania uC - wielce prawdopodobne :( Spróbuj załadować taki test: $crystal = 8000000 'konfiguracja LCD i 1wire Dim x as Byte Cls Do For x=0 To 9 Locate 1,1 Lcd x Wait 1 Next 1wreset If Err=1 Then Lcd " Error"; Else Lcd "Reset...
Witam Mam mały problem z tym dość prostym programem. Generalnie działa tak jak powinien, tylko przy włączeniu układu następuje krótkie załączenie przekaźnika. Jest to spowodowane tym, że początkowy odczyt z DS18B20 jest 85 stopni ( integer 850 ) co przekracza ustaloną przeze mnie początkową wartość 45 stopni ( integer 450 ). Próbowałem dać badanie warunku...
Poruszę tylko 2 sprawy: 1)Jeżeli do odmierzania 1 s użyłeś Timer2 "napędzany" kwarcem 32768Hz , to po kiego grzyba procedurę odliczania sekund podkładasz pod przerwanie INT0 :?: On Int0 1s Zamiast włączać przerwania INT0 , włącz przerwania Timer2. On Timer2 1s Config Timer2 = Timer , Async = On , Prescale = 128 Enable Time2 '... 2)Myślałem, że już widziałem...
Dopisz w polu konfiguracji "Config pind.7 = output", a w pętli prosty warunek If..then. Gdybyś miał problemy z warunkiem If od zmiennej T, spróbuj dać warunek od zmiennej S, uwzględniając jej zapis.
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...
Dziękuję Wam za pomoc. Menu działa. Dorobiłem sobie dwa pliki do odczytu i wyświetlania temperatury na DS18B20. Mam plik_glowny.bas I pliki do DS18B20 - Config_DS18B20.bas oraz DS18B20.bas W celach testów zrobiłem osobny program aby tylko sprawdzić czy popranie działa odczyt temperatury. I działa bezbłędnie. Zasada działania tych plików jest następująca:...
Sorry zmyliłeś mnie tym koden na 1820(18s20). DS18B20 w pierwszych dwu bajtach temperatura zapisana jest na 12bitah (11 + bit znaku), a w 1820 na dziewięciu (8+1 znaku). 50h i 05h to 0550h (0000 0101 0101 0000binarnie) jeżeli przesuniesz 4 bity w prawo otrzymasz 0000 0000 0101 0101 czyli 0055h czyli 85stC (gotowe stopnie). A w mlodszym niblu mlodszego...
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ść....
Witam, Na tej stronie znalazłem opis jak podłączyć czujnik DS18B20 do wyświetlacza LCD http://www.portalnaukowy.edu.pl/termomet... Oto kod: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksiażki "Mikrokontrolery dla Poczatkujacych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja...
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 W swoim programie wykorzystuję klasyczny kod dla DS18B20. Pomiar, obliczenia i odczyt podzieliłem na dwie części, każda wyzwalana flagą od od Timer0. Najpierw w podprogramie wywołuję DS'y pierwszym wystąpienie flagi od Timer0, a w następnej wywołuję podprogram konwersji i obliczeń. [syntax=basic4gl] $regfile = "m644def.dat" $crystal = 14745600...
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...
Kolego coś takiego wymyśliłem :[syntax=vbnet] $regfile = "m16adef.dat" $crystal = 80000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Input 'port A jako wejścia Config Portb = Output 'port B jako wyjścia ' Config Portd = Input 'Port D Jako Wejścia Config Portc = Output 'port C jako wyjścia Config Sda = Portc.1 'konfiguracja pinu magistrali...
Bootloader? Jak to wgrywasz? Dodano po 2 Można skrócić. 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksišżki "Mikrokontrolery dla Poczštkujšcych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwo?ci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla...
Witam Atmega328 i Attiny2313 przez RS485 Atmega328 Master - zapis na razie wyzwalany przez Timer If Flaga_001 = 1 Then Set Re_de Waitms 1 Print "MOD001 " ; Chr(13); Waitms 1 Reset Re_de Flaga_001 = 0 Licznik_mod001 = 0 End If ATtiny2313 Slave $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 4800 '*********************...
Witam ponownie Wyświetlanie już działa dobrze przetestowane na powyższym programiku, zawsze wyświetla 012345 w trybie konfiguracji 16*1 lub 16*1a Natomiast problem stanowi program do wyświetlania temp. Jest to program przepisany z książki p. Wiązany ale niestety wyświetla bzdurne wartości, wydaje mi się że problem tkwi w przeliczaniu samej wartości....
Witam. Oto KOD: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z książki "Mikrokontrolery dla Początkujących" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwości pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 ,...
Witam. Potrzebuję pomocy. Zrobiłem sterowanie do elektrozaworu do CO, lecz Ds18b20 od czasu do czasu pokazuje jakaś śmieszna temperaturę np. 340st lub -84 i inne. odczyt temperatury realizuję w ten sposób: http://obrazki.elektroda.pl/6964056700_1... rezystor 4,7k oczywiście wpięty. Ggdzie mam szukać problemu? Pozdrawiam. Proszę w przyszłosci...
Witam Wykorzystałem kod Kolegi Duch do pokazywania kierunków zmian temperatury - tzw. "strzałki" W przyszłości, proszę używać tagów SYNTAX - poprawiłem.
Ja znam taki algorytm odczytu temperatury i jest naprawdę super. Korzystam z niego już od dawna i podaje dokładnie temperaturę z krokiem co 0,1°C (chociaż wątpię aby aż taka wielka poprawność podawania temperatury była) no ale 2 takie termometry położone obok siebie pokazują temperaturę identyczną lub różnią się o 0,1-0,2°C więc chyba coś w tym jest...
Witam.Pan Mirley napisał mi program do prostego termostatu.2 diody led (czerwona się świeci jak grzałka grzeje,a zielona się świeci jak grzałka nie grzeje).Temperatura załączania grzałki jest ustawiana w programie (w kodzie w bascomnie) o raz histereza 2C.Przekaźnik podczepiony pod port scalaka.Tak samo DS18b20.Mój problem polega na tym, że mi to nie...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Daję gotowca , bo już późno :D REM**** Twoja konfiguracja LCD , 1wire , itd. ***** '... REM Jeśli chcesz rozdzielczość 0.1 , to Decpoint=1 ... REM ... lub Decpoint = 0 bez dziesiętnych Const Decpoint = 1 Dim T As Integer , Tmin As Integer , Tmax As Integer ', Ttmp As Integer Deflcdchar 1 , 4 , 14 , 21 , 4 , 4 , 4 , 4 , 32 Deflcdchar 2 , 4 , 4 , 4 ,...
Po pierwsze, z doświadczeń kolegi wiem, że 1 - wire w BASCOMie działa źle (lub wcale) z wewnętrznym oscylatorem. Pewnie wymagalepszej stabilności częstotliwości ze względu na wymagania czasowe 1 - wire. Po drugie, sprawdź czy ustawiłeś fusebity na odpowiednią częstotliwość oscylatora. Po trzecie, nie widzę żebyś wrzucił dyrektywę $fosc (a to ważne dla...
Witam Oto przykładowy program w BASCOM AVR obsługujący dwa czujniki o znanych numerach seryjnych: '***************************************... 'Konfiguracja AVR '***************************************... $regfile = "m162def.dat" $crystal = 16000000 $baud = 2400 Config Porta = 255 Porta = 255 Config Portb = 255 Portb = 255 Config...
Witam ponownie. Rozwiązałem problem. Poniżej przedstawiam kompletny program do obsługi dwóch czujników DS18B20 bez używania komendy waitms 750. Procek w tym czasie może robić co chce :) Program oczywiście łatwo można dostosować do dowolnej liczby czujników. '''''''''''''''''''''''''''''opis wejść''''''''''''''''''''''''''''' 'temperatura -> Portc.0...
Witam mam problem z chyba skonfigurowaniem przerwań w "C" do tej pory takie "zabawy" robiłem w bascomie ale tam to każdy potrafi ;) mam przerwanie int0 z pcf8583 w międzyczasie odczytuje temperaturę z ds18b20 no i .. właśnie jak uruchomiłem PWM zaczęły się problemy, układ czasami się resetuje lub zawiesza zacytuje fragmenty: dodam ze pdf czytałem wielokrotnie...
Witam panowie od razu podkreślę że jeszcze uczę się bascoma więc proszę nie krzyczeć i nie usuwać tego postu do kosza Siedzę już nad tym 3 dzień i efekt mojej pracy nie najgorszy ale mam parę pytań po pewnych rzeczy nie rozumiem i nie mogę rozwiązać. Więc tak założeniem był pomiar temperatury przez ds18b20 wyświetlenie je na LCD i 4 wyświetlaczach 7...
Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaki stopnia Config 1wire = Portd.5 ' konfiguracja portu PD.5 jako wejcia magistrali 1-wire Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single , Napis As String * 5 'Deklaracja wszystkich zmiennych potrzebnych do pracy programu Do 1wreset 'reset...
Ludzkie oko nie potrafi wychwycić zmian powyżej 50Hz. Raczej poniżej tylko kolega raczej nie wie jak działa triak i gdy za późno go wyłączyć to przez następny okres będzie przewodził. Dalej, 50Hz to 20ms, poniżej 5ms oko tez zobaczy. Problem autora wątku jest dość złożony, na który wpływa wiele czynników. Nie będe się produkował z pisaniem co i jak,...
Tworzę sterownik który będzie operował na 4szt DS18b20 Program jest pisany w bascom Czy w bascomie można zadeklarować tablicę dwu wymiarową Tablica (4)(8) Dla czego przy odczycie danych muszę ponownie resetować magistralę i podawać numer seryjny układu. Podobno po wysłaniu za pierwszym razem numeru układu inne milczą a wskazany nadsłuchuję 1wreset 1wwrite...
Ale Ty jesteś niecierpliwy. Masz odczyt DS bez wait- które to wait wszystko psuje. Flaga_dodatkowa wykorzystaj do multipleksowania wyświetlaczy. I podziękuj malon-owi za dobry pomysł. $regfile = "m8def.dat" $crystal = 8000000 '********* Konfiguracja wyświetlacza ********* 'oczywiście może być bez RW $lib "Lcd4busy.lib" Const _lcdport...
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....
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 W ramach dalszego eksperymentowania z AVR i Bascom popełniłem połączenie odczytu z DS18B20 z sterowaniem wyjściem uC ( przez tranzystor FET ) + dodatkową atrakcję - buzer, który sygnalizuje wł/wył tranzystora/wyjścia. Chciałem dodać możliwość zmiany temp max i min, przez proste menu. Menu zrobiłem w oparciu inny mój kod obsługujący ustawianie...
Ja bym to wykonał tak : '---------------------------------------... DS1820 ----------------------------------------... Config 1wire = Portd.2 'deklaracja portu na którym będą podpięte DS18b20 Dim I1 As Integer Dim Dsid1(8) As Byte 'program głowny do If Timer1 > 5000 Then '[8000000/1024] * 0.65s = ~14000 Gosub Temp End...
Witam. Problem tak jak w temacie, po prostu troche mnie to tym razem przerosło. Ogólnie to działać ma to tak: 'Program do wytrawiarki natryskowej. $regfile = "m8def.dat" $crystal = 8000000 'Konfiguracja 1wire: Config 1wire = Portb.0 'DS18B20 'Deklaracja zmiennych: Dim Temperatura As Word Dim Temperatura_trawienia As Word Dim Czas_trawienia...
Jest taki sobie termometr - moduł ma BT222 podłączany przez złącze http://obrazki.elektroda.pl/1320347600_1... Wgrywam do niego kod Bascom: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 '$baud = 9600 ' predkość transmisji $hwstack = 64 ' rozmiar stosu sprzętowego $swstack = 24 ' rozmiar stosu programowego $framesize = 48...
Witam! Od kilku dni siedze i nie mogę nic wymyśleć :( Bez ogrudek - podaje źródło: $regfile = "m16def.dat" $crystal = 8000000 'definiowanie zmiennych i stałych Dim T As Integer Dim Licznik_przerwan As Byte Dim Dioda As Bit 'konfigurowanie interfejsu 1Wire Config 1wire = Portd.1 'konfiguracja wyświetlacza Config Lcdpin = Pin , Db4 = Portc.6...
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....
Usunąłem Wait 1 przy konwersji z DS18B20, działa, bez problemu ( na trzech przewodach ), tylko wyniki są opóźnione - tzn. wyświetlany wynik nie jest z aktualnego pomiaru, tylko z poprzedniego. Dodałem jeszcze dwa czujniki DS18B20. Ich zapis razem z godziną i datą na karcie jest jak najbardziej w porządku, tylko wyświetlanie trochę szwankuje - tzn. czasem...
witam, Od razu do rzeczy. Jak w temacie! Program odczytuje po 1wire temperatury z 2 czujników. Wszystko działa poprawnie (płytka, czujniki dodam ds18b20). Kod programu poniżej. Error : 261 Line : 39 Array expected [ID1] Error : 261 Line : 43 Array expected [ID2] Error : 124 Line : 43 LOOP expected ostatnim errorem...
Witam. Jestem w fazie pisania programu z zegarem DS3231 i atmegą16. Mam podłączone wejście INT0 atmegi z wyjściem INT/SQW DS-a. Podciągnięte rezystorem 10k do 5V. I nie wiem co robię źle ale procesor nie reaguje na sygnał przerwania z DS-a. Powiem szczerze że nigdy nie korzystałem z przerwań zewnętrznych ale znów ustawienie tego nie jest skomplikowane...
Nie umiem odczytać temperatur z ds18b20. Rezystor podciągający jest(4.7k), VDD i GND też są podłączone. Linia danych podpięta jest pod pb.7 Aha wyświetliłem sobie też wartości odczytanych bajtów, zarówno 1szy jaki drugi mają wartość 0xFF. podaję kod może koś znajdzie błąd. Dim Cyfra(10) As Byte Cyfra(1) = &B00000101 Cyfra(2)...
Witam serdecznie. Szukałem już chyba wszędzie, próbowałem kilkunastu innych programów i problem ciągle zostaje nie rozwiązany. Otóż piszę program do sterownika pieca. Posiada on 3 czujniki DS18B20, 3 przekaźniki i 1 triak do sterowania pompki kolektorów. Wszystko działa bez zarzutu. Problem pojawia się dopiero po włączeniu przerwania od INT0 (regulacja...
Ciekawy pomysł z przeniesieniem odczytu na początek- to sprawdzę. A Timera0 nie można zatrzymywać bo obsługuje coś jeszcze. Timer1 i 2 też są zajęte. Chyba się cholera udało- z jedną flagą :D : $regfile = "m8def.dat" $crystal = 8000000 '********* Konfiguracja wyświetlacza ********* $lib "Lcd4busy.lib" Const _lcdport = Portd Const...
Witam Mam układ, który mierzy dwie temperatury ( DS18B20 ), dwa napięcia ( PCF8591 ( pobiera czas ( PCF8563 ), a z powodu niedużego wyświetlacza ( 12 x 4 ) wskazania są zmieniane do 10 sekund po przepełnieniu Timer1. Układy PCF8563 i PCF8591 są podpięte z "zewnątrz" przewodami około 10 cm. Magistrala I2C ma obniżoną prędkość przez Config I2cdelay =...
Witam Napisałem program, który dekoduje sygnał DCF77 ( ustawia flagę ), następnie zapisuje ( przy pierwszym uruchomieniu ) wartości zmiennych do PCF8563 i cztery razy na dobę wysyła przez RS485. do tego dwa razy na dobę koryguje czas w PCF8563. I to działa bez problemu. Do celów testowych mam podłączony LCD. Chciałem dołączyć możliwość pomiaru i wysyłania...
Nie posiadam schematu ideaowego czy jest możliwość aby ten termometr działał na tej płytce ? Oczywiście. Na każdej płytce (nawet prowoizorycznej -stykowej) taki prosty program powinien sie zainicjować, pod warunkiem poprawnosci programu i połączeń zgodnych z tym programem. Np. Program podany przez Arktik powinien funkcjonować jeżeli zmienisz konfigurację...
Witam. Jakiś czas temu zrobiłem koledze sterownik w zasadzie wentylatora do pieca. Sterownik w sumie działa według założeń ale czasami dostaje szajby. Do tej pory nie znalazłem przyczyny. Skłaniam się bardziej ku temu że jest to jakiś problem z programem. Problem jest taki że czasami po jakimś czasie wartości temperatur odczytywanych z czujników DS18B20...
Witam, Przeszukałem forum i nie znalazłem rozwiązania które by pomogło. Problem wygląda następująco. Komponenty problemu Atmega8a, bascom AVR IDE (2.0.7.5), czujnik DS18B20. Sprawdzone problemy z forum: -Nieprawidłowe podłączenie. Nóżka danych jest podciągnięta przez 4,7k Ohma do 5V -Kable zostały sprawdzone pod względem ciągłości -Sprawdziłem czy jest...
Witam, Mam taki kod programu do obsługi ds18b20: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Input Config Lcd = 16 * 2 'LCD Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 'konfiguracja linii Config 1wire = Portd.1 Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32...
Nie wiem czy dobrze kobinuję, przy takiej konfiguracji bardzo szybko odświerza mi LCD prawie nic nie widać. Nie wiem też jak ugryść wyświetlanie poszczególnych podprogramów jednym przyciskiem. Zastosowałem skoki opisywane [url=http://www.elektroda.pl/rtvforum/to... [syntax=vb]$regfile = "m16def.dat" 'informuje kompilator o pliku $crystal...
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...
:D Hura... działa... - Brak błędów Gdzie ten załącznik :| :?: :D :D :D Możesz mi pomóc z częścią programu, w której jest odczyt z DS18B20 :?: Byłbym bardzo wdzięczny :D Dodano po 48 Teraz jest tak $regfile = "2313def.dat" $crystal = 12000000 '-- konfiguracja zmiennch: 'potrebne do odczytu 1wire itd. Dim Liczba As Byte Dim Jednosci As Byte...
Tu masz prosty programik, który kiedyś pisałem. Przedstawia obsługę zarówno wersji B jak i S. [syntax=basic4gl] $regfile = "m8def.dat" 'deklaracja procesora $crystal = 8000000 'deklaracja czestotliwosci taktowania Config Lcd = 16 * 2 'typ wyswietlacza i konfiguracja pinow Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5...
Z DS18B20 robisz tak: Deflcdchar 0 , 32 , 28 , 20 , 28 , 32 , 7 , 4 , 7 Dim I1 As Integer , T1 As String * 6 Dim Dsid1(8) As Byte Dsid1(1) = 1wsearchfirst() 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE I1 = 1wread(2) 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 I1 = I1 * 10 I1 = I1 / 16...
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, 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. Ręce opadają. Od wczoraj próbuje zaprogramować uC by badał temp na poszczególnych czujnikach ale w różnych podprogramach. To znaczy włączam uC pokazuje mi czas naciskam przycisk przechodzi do innego ekranu gdzie widnieje temp. i pomiar napięcia. Następnie znów naciskam przycisk i przechodzi do kolejnego ekranu z wynikami pomiaru z dwóch innych...
Witam. Buduję zegarek oparty o Atmegę32 i wyświetlacz na sterowniku ST7565R. Układ podobny do mojego [url=http://www.elektroda.pl/rtvforum/to... zdalnego. Skopiowany jest z niego program, oczywiście przerobiony odpowiednio i powycinane co trzeba. Na razie tylko go uruchamiam. I tak jak przy pisaniu programu pod "Panel zdalny" nie...
Siemka! Tak jak napisał kolega wyżej, wpisz $Crystal=1000000 Każdy nowy AVR prosto ze sklepu ma fabrycznie ustawione taktowanie na wewnętrzny zegar 1MHz, zatem Twój kwarc nie gra żadnej roli w tym układzie dopóki go nie uaktywnisz poprzez konfigurację FUSE BITS. W momencie gdy nie przestawiłeś zegara a zadeklarowałeś wartość wlutowanego kwarcu, bascom...
możesz od razu napisać : Lcd Fusing(napiecie0 , "#.#"); i nie trzeba deklarować stringów Więc mogę wpisać: Amp = Wart_aca * 0.0049 Locate 1 , 8 Lcd Fusing(amp , "#.##") ale w którym momencie muszę wtedy wstawić "I=" i "A" ? Znalazłem w szufladzie czujnik temperatury DS18B20 a na necie kawałki programu do obsługi...
Rezystory są już dane na płytce, zresztą zegar na PCF działa bez zarzutu ( no może trochę śpieszy, ale to kwestia kondensatora przy kwarcu ) sprawdziłem połączenia - nóżki 5 czyli SDA ( 24C02 i PCF8583 ) są podłączone do 23 nogi uC, czyli PC1-SDA. Podobnie z SCL. Teraz zrobiłem tak, że odczyt jest po włączeniu/resecie ( przed pętlą główna ), a zapis...
1. Poczytaj w datasheet układu co dokładnie robi komenda &H55 i jak jej używać ;) Jeśli już to użyj bascomowego 1wverify(), ale możesz dać tu też &HCC, jeśli masz tylko 1 czujnik. 2. Co do zasilania: http://www.micropik.com/PDF/ds1820.pdf (Strona 24) http://datasheets.maximintegrated.com/en... (Strona 19)
Spróbuj oto ten kod: '---------------------------------------... ' ' Termometr z DS18B20 ' '---------------------------------------... $regfile = "Attiny2313.DAT" $crystal = 2000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6...
witam Czy ktoś z wytrawnych bacom-owców mógłby mi podpowiedzieć jak poprawić kod ;) Program jest banalny dla was ;) ja dopiero się uczę ;) Napisałem program z menu przełączanym jednym klawiszem - zmienna Menu_id zliczana i ze względu na nią i ponowne naciśniecie klawisza wywołuję podprogramy - wszytko działało super dopóki nie dodałem pomiaru temperatury...
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
Pozwolę sobie podpiąć się pod temat. Zleży mi na zwiększeniu czybkości odczytu z Dallasa więc zmieniłem warość konfiguracyja w DS18B20 na odczyt 9bitowy. Po odczycie wartość scratchpad wynosi 31, czyli jest ustawione dobrze (9bitów). Teraz nie wiem jak to poprawnie odczytać? Napsiałem 2 procedurki odczytujące i wyświetlające wynik na wyśletlaczu. Pierwsza...
Witam. Buduje sterownik do pompy C.O. i jestem na etapie sprawdzania czy wszystkie jego bloki reagują prawidłowo. I właśnie przyciski podpięte pod portd.2 i portd.3 za nic nie chcą działać jak należy. Jest jeszcze przycisk podpięty pod portd.4 który działa jak należy. Otóż dwa pierwsze przyciski zachowują się tak jakby były cały czas wciśnięte. Jak...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: http://mikrokontrolery.blogspot.com/2011... Dzięki za upomnienie, faktycznie gdzieś to przeoczyłem, na schemacie ideowym nawet masa wisi :) Poniżej zamieszczam poprawiony schemat ideowy i płytkę w EAGLE. Widząc duże zainteresowanie kodem wrzucam wsad w BASCOM....
Witam, Mam czujnik DS18B20 i taki kod do niego: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksiażki "Mikrokontrolery dla Poczatkujacych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwosci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego...
ds18b20 konfiguracja ds18b20 bascom bascom ds18b20
połączenie ogranicznika przepięć huawei google konto pompa hydroforowa słabe ciśnienie
ricoh firmware płyta indukcyjna amica schemat
Dziura w głowicy anteny Cyfrowego Polsatu - co robić? Peugeot 3008 - brak połączenia z kalkulatorem ekranu