Po resecie DS-a wysyłając do niego #33h wywołujemy funkcje która umożliwia odczytanie jego numeru unikatowego. ... Hmmm.... Powyższe dotyczy sytuacji , gdy na magistrali jest jeden DS.Skoro jest jeden , to po co nam numer seryjny :?: Jeżeli na magistrali jest więcej niż jeden DS , to rozkaz #33h (read rom) możemy "wynieść do piwnicy", a skorzystać...
Witam. Znamy sie juz z mojego wczesniejszego tematu :) gdzie pytalem o cos podobnego ale dla jezyka C. Z racji braku supportu dla polaczenia 1wire-8051-jezykC postanowilem wykonac zadanie w BASCOMIE dla 8051. Usiadlem przerobilem troche kodu z C i oto efekty: $crystal = 12000000 Wysw Alias P2 'a-h W1 Alias P0.1 ' 3 anody dla 3 wyswietlaczy W2 Alias...
Witam ! Skopiowalem sobie z Helpa bascomu taki oto kod... chce to skompilowac ale wywala blad najpierw przy: W = 1wirecount(ar(1)) pozniej: Ar(1) = 1wsearchfirst() Ar(1) = 1wsearchnext() Posiadam taki procesor jak jest zadeklarowany w kodzie...ale za Chiny nie chce to ruszyc :( '---------------------------------------... ' 1wirecount.bas...
witam wszystkich jestem początkujący w programowaniu uC i dla tego mam mały problem a mianowicie chciałbym aby na wyświetlaczy pokazywała mi sie temperatura a przy okazji można był sterować różnymi urządzeniami za pomocą pilota RC5 podczas kompilacji w bascom-avr wersja demo program wywala mi błąd error: 61 line: 176 label not found $regfile = "m8def.dat"...
Witam. W dziedzinie mikrokontrolerów jestem początkujący więc proszę o wyrozumiałość. Mam problem zaprogramowaniem Atmega8. Programator zrobilem sobie według schematu z tego posta 'Termometr 4 punktowy DS18b20 $regfile = "m8def.DAT" $crystal = 1000000 'Deklaracja portów od wys'wietlacza LCD Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1...
Takie mam pytanie... Mam urządzenie wykorzystujące DS18B20 z Atmegą 162, pod Bascomem. I pytanie jest takie - czy mogę zastąpić ten DS18B20 przez DS1820 ? Bo jak patrzę w datasheety, to wydawałoby się, że niby to samo ? A jednocześnie znalazłem tu na elektrodzie informację, że program dla DS18B20 i DS1820 powinien być nieco inny. Moje procedurki są...
Mam Atmegę 128 (14.745.600Hz). I otoż na porcie B.4 mam sobie termometr DS18B20. Próbuję się z nim skomunikować i mam dziwny problem. Otóż, robię reset 1wire, a potem próbuję zrobić 1wirecount (bo może być więcej niż 1 termometr) ; ' ZNAJDZ URZĄDZENIA DS //////////////////////////////////////// Sub Ds_find 1wreset Waitms 100 Print "ERR=" ;...
No to jedziemy dalej :) Problem polega na tym, że nie bardzo chcą działać przyciski P_tryb, start, stop. O ile opóźnione działanie P_tryb jest chyba związane z trzema komendami WAITMS 330 w pętli głównej, to nei rozumiem dlaczego dwa pozostałe przyciski niezbyt chcą być obsługiwane. To jest tak, że jak przytrzymam dłużej, to czasami zaskoczy, a czasami...
Witam Robisz tak : Deklarujesz macierz czy tam tablice zwał jak zwał o x zmiennych byte. 1wreset W = 1wirecount() Adres(1) = 1wsearchfirst() Adres(9) = 1wsearchnext() 1wreset itd itd. Masz w tej tablicy adresy kilku czujników a później: 1wreset 1wwrite &H55 ' Będę wysyłał adres 1wwrite Adres(1) , 8 ' Wysyłam...
Witam Niestety nie ( inna sprawa, że ostatnio brak czasu ) Używam zwykłej SD - 1 Gb Sandisk i 2Gb Kingston. Ale sienie poddaje i zamówiłem MMC 256 Mb. Używam wersji Bascom 1.11.9.5. Podłączam według opisu w pliku config_mmc.bas. Atmega32 jest na 5V karta SD na 3,3V, zastosowałem nawet dzielniki na rezystorach, żeby lepiej dopasować poziomy. Poprawiłem...
Witam forumowiczów. Mam mały problem z przerobieniem programu do mierzenia temperatury wzmacniacza 2x200W, problem polega na tym że mam program pod kostkę AT89C2051 a obecnie dysponuje tylko atmegą 16. Oryginalny program jest użytkownika "lechoo". Byłbym bardzo wdzięczny gdybyście pomogli mi przy tym programie. [syntax=basic4gl]'----------------------...
Witam serdecznie. Mam taki problem, otóż: Zaprojektowałem sterownik do pieca c.o. i kolektorów. Do pomiaru temperatury zastosowałem 3 x DS18B20 na magistrali 1Wire. Program napisany w języku BASCOM. Jeżeli jest taki przypadek, że nastąpi przerwa w torze transmisji jednego z czujników np.DS1 (nóżka Data) to mikroprocesor nadpisuje wartość temperatury...
Witajcie, dziś postanowiłem się podzielić dorobkiem w postaci oprogramowania i wiedzy na temat pewnego modułu GPS. Zegar softowy synchronizowany GPS z dodatkowym wyświetlaniem współrzędnych i prędkości no i dorzuciłem w ostatniej chwili temperaturę z DS18B20 - taki szkoleniowy programik w BASCOM (świetny przykład - gotowiec dla tych którzy chcą zrobić...
Kod jest dość spory więc wkleję najważniejsze fragmenty odpowiedzialne za RC5 ,SD i 1Wire. RC5 '***************************************... '****************************PROCEDURA ODCZYTU RC5**************************** '***************************************... Readir: Disable...
1WIRECOUNT Przeznaczenie: Zwraca liczbę urządzeń podłączonych do magistrali 1Wire. Składnia: [syntax=basic4gl]zmienna = 1WIRECOUNT( ) zmienna = 1WIRECOUNT( port , pin )[/syntax] A także: [syntax=basic4gl]1wverify Reg_no(1) Print Err 'Err=1 gdy nie ma takiego numeru[/syntax] Zwróć uwagę na tajemniczą zmienną Err, która jest zaszyta w programie.
Teraz mam inny problem. Chcę robić pomiar temperatury i zapisywać na kartę SD. Używam do tego modułu prototypowego tego autora: Ponieważ post dotyczy innego tematu niż oryginalny wątek, temat podzieliłem. Na przyszłość proszę w przypadku napotkania problemów niezwiązanych z oryginalnym tematem postu zakładać nowy wątek. W ten sposób inni będą mogli...
witam powiem tak to co ja czytalem odwoluje się tutaj do AVR nie wiem jak jest z '51. Ale jesli chodzi o AVR to moze byc jeden pin 1-wire tylko mozna do tego podpiac kilka ukladow wire bo jest takie cos jak ID urzadzenia. Czyli zapomoca ID mozna wybieraz urzadzenia z ktorego ma byc czytana informacja Tak oczywiście. Zdaje sobie sprawę z istnienia:...
Witam, mam taki problem. program wg mnie powinien po przekroczeniu ustalonej temperatury wyswietlac na LCD napis, wlaczac Buzzer oraz zapalic diode. A po nacisnieciu przycisku wyłaczyc to wszystko. I problem jest taki ze wylacza wszystko oprocz diody. Tzn po wlaczeniu sie alarmu dioda wogole juz nie gasnie ani po obnizeniu temperatury ani po nacisnieciu...
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[syntax=basic4gl]' ----------------------------------------... ' The support for this display has been made possible by Peter Küsters from (c) Display3000 ' You can buy the displays from Display3000 or MCS Electronics ' ----------------------------------------...
I tak już dużo napisałem gotowców. Pomyśl nad funkcją 1wirecount z dokumentacji BASCOM'a.
Witam Kolegów, zaczynam naukę programowania w środowisku Bascom, na warsztacie mam Attiny2313 i DS18B20, chciałem sprawdzić jak działa odczyt temperatury (wyświetlanie na LCD opanowałem wczoraj, pin'ologia LCD niezmieniona). DS18B20 podłączyłem następująco: 1 - Gnd, 2 - do pin'u wejściowego oraz przez R=4.7k do +5V, 3 - +5V. Całość jest zasilana przez...
Ok poradziłem sobie tylko teraz wyskoczył mi inny problem , a mianowicie nie wiem dlaczego nie mogę korzystać z funkcji LINI i Boxfill wyświetlacz szaleje :-) a chciałbym wykorzystać te dwie funkcje w programie poniżej kod programu [syntax=basic4gl] '***************************************... '* Code to test DS18x20 '* The 1-wire bus pin is Port...
Witam, Nabyłem moduł MMega01 firmy Problem polega na braku komunikacji z urządzeniami 1wire... Probowałem podłączyć termometr DS18b20(nie jeden - myślałem że ten co mam jest uszkodzony) i nic... taktowanie procka to ok 16MHz. Jako rezystor podciągający na magistrali 1wire daje 2,2k np w ATmega32 zawsze wystarczało. Program który sprawdzam to: Config...
mam podlaczone dwa termometry ds18b20 do magistrali 1wire, steruje tym z basoma oto krotki fragment kodu Config 1wire = Portb.0 1wreset Dim W As Word Dim Id_cz1(8) As Byte Dim Id_cz2(8) As Byte W = 1wirecount() Id_cz1(1) = 1wsearchfirst() Do Id_cz2(1) = 1wsearchnext() Loop Until Err = 1 po tych...
Dopisze sie do tego tematu po podobny do mojego problemu... zrobilem sobie termometr i na jednym czujniku dziala swietnie ale podlaczylem drugi i zmienilem program i jest jakas lipa :/ sprawdzam czy widzi 2 czujniki i program pokazuje ze 2 czujniki sa, ale nic mi nie wyswietla :( wiecie moze co moze byc przyczyna? Liczba_ukl = 1wirecount() If...
Trochę przerobiłem ten kod. Teraz wygląda to tak (pokazuje temp. po przecinku): Dim Adresy(16) As Byte Dim Temp As Byte Dim Temp_str As String * 6 Dim W As Byte Dim T As Integer Dim Wew(9) As Byte Dim Zew(9) As Byte Adresy(1) = 1wsearchfirst() Adresy(9) = 1wsearchnext() W = 1wirecount()...
Jak w temacie - czytalem gdzies, ze trzeba zminic stan portu podczas pomiaru, ale ja jestem w tym temacie zielony, dlatego prosze o pomoc. PS. Potrzebuje jeszcze dodac funkcje z przecinkiem i znakiem - wydaje mi sie, ze wynik wyswietlany jest bez nich. $regfile = "m8def.dat" $crystal = 4000000 Declare Sub Init Declare Sub Convallt ' Convert...
$regfile = "m8def.DAT" $crystal = 1000000 '$lib "mcsbyte.lib" Declare Sub Init Declare Sub Convallt ' Convert T on ALL sensors Declare Function Decigrades(byval Sc(9) As Byte) As Integer Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.6 , Rs = Portd.4...
Dzięki wielkie za pomoc, zrobię na jednym pinie 2 czujniki. Teraz został tylko problem z programem. Aha, z tymi dwoma zerami już sobie poradziłem. Powodowala je komenda Lcd Hex(dsid1(8)) Dodano po 2 $regfile = "2313def.DAT" $crystal = 1000000 '$lib "mcsbyte.lib" Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portb.0...
Witam wszystkich przeczytałem wiekszość postów ale jakoś nie moge znaleść rozwiazania na swoj problem a mianowicie chodzi o odczyt ID wklejam program $large Cursor Off Cls Config Lcd = 16 * 2 Config 1wire = P1.0 Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte , B3 As Byte , B4 As Byte Dim Tmp As String * 6 Dim Znak As String...
Również przyłączam sie do prośby o procdury. Nie moge uruchomić tego czujnika :/ gdy wywołuję funkcję 1wirecount() zwraca ona 0 :( Nie wiem już czy ten czujnik jest uszkodzony czy ja coś xle robie
Zobaczcie w linku jest komputer samochodowy na wyświetlaczu LCD 4*20. Tam przy temperaturach są znaczniki: "t1" i "t2". Zajmuja one jedno pole wyswietlacza. Jak wprowadzic te znaczniki do tego kodu, potrzebowalbym: t1, t2, t3, t4 $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości...
Witam. Skleciłem taki o to "fragment" kodu do obsługi zegarka RTC. Wszystko działa 'Program do obsługi zegara czasu rzeczywistego RTC PCF8583 Philips za pomoca magistrali I2C $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 20 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3...
Witam! W zeszłym roku był na ten temat topic. Termometr 4 punktowy DS18b20 by Duch na podstawie materiałów znalezionych w sieci 'Kontakt duszkowski(małpa)o2.pl $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja...
Witam. Mam taki problem ze po probie skompilowania programu przepisanego z ksiazki marcina wiazani. wyskakuja mi bledy ktore wskazuja na ostatnia linie kodu: Error : 31 Line : 185 Invalid datatype [ 0] , in File : C:\PROGRAM FILES\MCS ELECTRONICS\BASCOM-AVR\term.BAS Error : 93 Line : 185 Variable not dimensioned [...
Po przeczytaniu wielu postów napisałem program który ma wyświetlać na wyświetlaczu LCD Napięcie , prąd oraz temp. Chciałem to wykorzystać do zasilacza, którego właśnie buduje. jednak po zaprogramowaniu procka wyświetlacz mi się nie inicjuje (zaświecają się kwadraty w pierwszej lini). Czy jest jakiś błąd w moim programie ? Proszę o sprawdzenie. $regfile...
Witam serdecznie !!! Mam taki problem z DS18b20 i ATmega16. Programuje w BASCOMie i wykorzystuję funkcję 1wirecount tak jak w programie poniżej i ciągle mi wyświetla że ilość podpiętych urządzeń to 0, nie wiem w czym tkwi problem. Podpiąłem zgodnie z nota katalogową tzn 1 do gnd 2 do uP i do tego 4,7k rezystor oraz 5v pod Vdd. oto 'Termometr DS18B20...
Config 1wire = Portb.0 'deklaracja portu na którym będą podpięte DS18b20 Dim I1 As Integer , Ss As String * 6 Dim I2 As Integer , Tt As String * 2 Config Pind.1 = Input Portd.1 = 1 Config Pind.4 = Input Portd.4 = 1 Config Pind.3 = Input Portd.3 = 1 Config Pind.0 = Output Portd.0 = 0 Dim Dsid1(8) As Byte Dim Dsid2(8) As Byte Menu Alias...
Witam Mam napisany następujący program Config 1wire = Portb.0 Dim I1 As Integer , Ss As String * 6 Dim I2 As Integer , Tt As String * 2 Dim I3 As Integer Dim Sc1(9) As Byte Config Pind.1 = Input Portd.1 = 1 Config Pind.4 = Input Portd.4 = 1 Config Pind.3 = Input Portd.3 = 1 Config Pind.0 = Output Portd.0 = 0 Config Pinb.1 = Output Portb.1 =...
mam taki program zegara ds1307 trochę już pokombinowałem tylko obsługa zmiany zapisanie do ds1307 mi nie działa , założyłem że pierwszy klawisz s1 wejście w menu ustawień kolejne przyciśnięcie s1 ma zmieniać wartość x od 0 do 5 wyświetlać kolejno "godzina minuta sekunda rok miesiac dzien" a klawiszem s3 zmieniać na razie tylko w górę wartości , problem...
Witam To moze zaczne od kodu: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 Cls Config Servos = 1 , Servo1 = Portc.5 , Reload = 10 Config Portc.5 = Output Config Portd.0 = Input Set Portd.0 Cursor Off Dim Serworuch...
Oto istotny fragment mojego kodu. Faktycznie nie wiem nic o tym, czym charakteryzuje się tryb CTC Timera i chyba jednak go nie używam. Bardzo proszę rzućcie na to okiem. $regfile = "m32def.dat" $crystal = 8000000 Config 1wire = Portc.5 Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.0 , Rs =...
Kurcze ale malutki jestem... :D Po skrócie 1. Nie używałem JTAG-a i ta wiedza póki co nie jest mi raczej potrzebna. 2. Wiem jak ustawia się fusebits, ale jak napisałem na AT mam wyłączony JTAG a na AT168 nie. Jednak magistrala na AT168 działa bez problemu i to na porcie C z włączonym JTAG-iem 3. Rezystor podciągający dobrałem metodą prób i błędów staneło...
Witam na wstępie chciałem powiedzieć, że nie jestem dobry w programowaniu, bo dopiero zaczynam i mnie to powoli wciąga. Mam parę pytań i postanowiłem napisać. Chce zrobić sobie taki mini komputer pokładowy do Fiata Cinquecento 700. Ten mały układ ma wskazywać temperaturę w środku samochodu i na zewnątrz a tak, że będzie pokazywać napięcie, jakim jest...
Ja bym wyszukiwanie zrobił tak Dim Ids(64) as Byte 'Maksymalna liczba czujników * 8 Dim I as Byte Dim J as Byte Dim L as Byte Dim Count as Byte Dim TempCount as Byte ' Wyszukiwanie Count = 0 TempCount = 1wirecount() If TempCount > 0 Then I = 1 J = I + 7 Ids(1) = 1wsearchfirst() Do If Ids(J) = Crc8(Ids(i),...
ok tadzik juz dziala :D Pomogles znaczy doradziles z tymi fusebitami Nalaeza ci sie te pkt ale jak bys jeszcze pomogl mi w polaczeniu tych kodow : $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'linia PB2 jako wejściowa Config Lcd = 16 * 1a 'konfiguracja typu wyświetlacza...
OlekM klawiatura jest czyszczona za każdym razem gdy jakaż komenda z pilota leci do procka co pokazuje część kodu : If Address = 0 And Command = 16 Then Cls Incr Strona End If If Address = 0 And Command = 17 Then Cls Decr Strona End If If Address = 0 And Command = 33 Then Cls Downigora = 1 End If If Address = 0 And Command = 32 Then Cls Downigora =...
$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega16 $crystal = 8000000 'deklaracja cześtotlwiości pracy 'Deklaracja portów od wyświetlacza LCD Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Cursor Off '**** Termometr **** Config 1wire =...
Witam napisałm program do obsługi czterech układów D18B20 ale jego rozdzielczość w pomiarach to 1 stopień a chciałbym żeby było 0,1 ma ktoś jakić pomysł ??? Z góry dzięki wklejam kod: $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja...
Popełniłem taki oto kod jak poniżej. W założeniu ma to być zegarek stawiany pilotem, oraz z dwoma DS18B20. Założyłem sobie, że nie użyję żadnego Wait, ani Gosub. Mam jednak jeden problem z odświeżaniem czasu na LCD. Niby dwukropki migają co sekundę, ale sekundy nie są wyświetlane poprawnie. Przez pewien czas jest niby dobrze, ale czasem jakby pomija...
dzięki działa:) dodałem jeszcze buzzerek, ale mam takie pytanie układ ma działać jako termometr informujący o danej temperaturze i bliskości zagotowania wody w obiegu. Kod napisany teraz po przekroczeniu temperatury 70 C zacznie odgrywać melodyjkę, po przekroczeniu 80 inna, a 85 na bardzo piskliwą. Ale potrzebuje coś aby spełniało taka cechę: np. idę...
Witam! Zabrałem się nie dawno za przepisywanie dwóch programów z książki Marcina Wiązani. Są to programy: Sterowanie z poziomu 1-wire dwoma termometrami, Zegarek na timer1. Mój problem polega na tym że nie wiem jak to złączyć w jedną całość tzn. chodzi o to żeby współpracowały ze sobą jak należy, ponieważ tylko ciągle wyświetla mi się zegarek na początku,...
Mi nie chodziło o wyłączanie przerwań na czas konwersji tylko na czas wysyłania komend 1 wire. Zresztą zobacz na mój kod. '$sim $regfile = "m168def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 16 $framesize = 32 Tccr1a = &H00 'ustawienie timera1 w tryb ctc Tccr1b = &H0C Ocr1ah = &H7A 'liczba do porównania . Ocr1al = &H12...
$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza LCD Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 Config Lcd = 16...
W końcu na atmega 168 prawodłowo zadziałał mi ten kod. W komentarzu dołożyłem podłączenia. Musiałem zrezygnować w pierwszym podejściu z kwarcu, bo portu PB6 i PB7 są tu wykorzystane do sterowania wyświetlaczem. Kupowałem wyświetlacze jakoś bardzo tanio, więc pewnie chińskie. '**************** Driving graph. display NOKIA LPH7779 ver.1.1 ******************...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
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...
Ciapol: sprawdzałem to 1wirecount() też zwraca 0 czyli nie widzi urządzenia. M. S.: poruszyłeś temat fusebitów - nic wcześniej o nich nie widziałem, dopiero teraz się zorientowałem mniej więcej do czego służą. I jak zauważyłem mam ustawione wszystko domyślnie czyli korzystał z wewnętrznego oscylatora. Spróbowałem dokonać zmiany wybrałem ostania opcję...
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 '*************************************.....
Zaczynam pisać program do Komputera motocyklowego opisywanego w wątku: '--------------------KONFIGURACJA-------... $regfile = "m16def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o częstotliwości oscylatora Config 1wire = Porta.3 'konfiguracja portu 1wire Config Porta.4 =...
Witam! Na tą chwile (brak czasu) udało mi się sklecić coś takiego: $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza LCD Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3...
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=]Tutaj [syntax=vb]$regfile = "m16def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o częstotliwości...
To jest program który ma obsługiwać mi dwa termometry, wgrywam i pojawia się ,, 298 " te wszystkie zmiany wprowadzałem aby sprawdzić czy ruszy. $regfile = "m8def.DAT" $crystal = 8000000 Config Portb = Output Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Pind.1 , Rs = Pind.0 Initlcd Wait...
Masz rację na forum jest to tylko cześć okrojonego programu. Wklejam składowo pełny program, wyciąłem tylko poszczególne obliczenia. Może teraz będzie coś więcej wiadomo co może być przyczyną. [syntax=vb]'--------------------KONFIGUR... $regfile = "m16def.dat" 'informuje kompilator o pliku $crystal = 8000000...
Witam, Wiem, że podobne tematy były na forum wałkowane dziesiątki razy, ale przejrzałem tamte posty i nie znalazłem w nich odpowiedzi na moje problemy. Próbowałem wykorzystać zawarte w nich, proste programy, testowałem sposoby w nich podane i nic. Ale do rzeczy. Mam układ taki jak na schemacie: - Atmega16 taktowana kwarcem wewnętrznym 8MHz - magistrala...
Witam Chcąc zbudować termometr wraz z alarmem, natknąłem się na forum Elektroda o temat "Termometr wraz z alarmem do CO - Termometr opiera się na projekcie użytkownika DUCH__. W kodzie widnieje błąd program ten ma wadę, że czujniki dobiera sobie losowo (czyli piec nie zawsze będzie piecem). Czy jest możliwość naprawienia tego błędu? Ogólnie termometr...
Program winien wyświetlać godzinę na lcd 4x20 (jako duże znaki) a co chwila przełączać się w tryb kiedy pokazuje temperaturę i dodatkowo datę. Dodana jest także regulacja jasności LCD(PWM) wykorzystując fotorezystor(ADC). W załączniku program. Program działa przez pierwsze kilka minut dobrze, później temperatura pokazuje się w obu przypadkac 0 stopni,...
Źle mu podpowiadasz. Uzależniłeś odczyt temperatury od flagi B=0 (!) Nie byłoby w tym nic złego, bo stan flagi '0' lub '1' może być umowny, ale ten aktualny stan w tym przypadku zerowy będzie sie utrzymywał przez dośc długi czas (prawdopodobnie blisko 1sec. bo coś może trwać pod "jakieś instrukcje") co pozwoli na wielokrotne 'przewijanie" pętli a w...
If I3 > 0 Then .Nie wiem właśnie, w którym miejscu robię błąd, bo w sumie przepisuje wynik pomiaru do I3 i procedure If, then, else, end if.
Witam Chciałem dorobić termometr do samochodu z temp. zew. i wewn. i wyświetlaczem LCD 2x8 . Przerobiłem trochę kod z forum tylko że był on do atmegi8 i niestety nie chce się "zmieścić" do Attiny2313. Jak zoptymalizować kod programu co pozmieniać ? Co zajmuje najwięcej pamięci ? Flash used 129 % Attiny2313 $regfile = "attiny2313.dat" $crystal...
Spróbowałem, wyrzuciłem ten kawałek, w efekcie czego mam pomarańczowe "0" świecą czerwone i zielone diody. Nie mam pojęcia jak to inaczej zapisać. Przez to, że "luz" nie "leci" przez Uc nie ma możliwości sterowania tranzystorem T3 przez program. Dzisiaj jeszcze coś mi się posypało z 1wire, nic przy nim nie ruszałem a nagle przestał działać jeden czujnik....
A z jakiego powodu na osobnych liniach ? Masz tak dużo wolnych pinów ? Przeczytaj o 1WIRECOUNT( ) Pozdro :)
Kilka pytań - bo kto pyta nie błądzi :-) Niby wszystko ładnie liczyło w przerwaniach - ale tylko do momentu kiedy zacząłem wywoływać Sub lub funkcję - wtedy zaczyna się resetować i zaczyna program od początku co sekundę ?? O co chodzi Teraz przestało mi nawet liczyć w przerwaniach. Wchodzi tylko raz i potem lcd się czyści. Zamieszczam kod, w którym...
Co do Waitms 750 to przepraszam faktycznie moja winna po prostu jak wklejałem kod zapomniałem dopisac tego bo wcześniej probowałem zmieniać czasy ale jest na bank w programie. jesli chodzi o to Dodano po 21 Co jeszcze ciekawego przyuważyłem to to że jeżeli funkcje Call Znajdz_czujniki zastąpię po prostu ta funkcją to oba czujniki widzi Dodano po 34...
Witam wszystkich! Pewnie pomyślicie "znowu to samo", no ale zlitujcie się w Wigilię i przeczytajcie te kilka zdań :D Walczę z problemem od kilku dni. Nie potrafię skonfigurować Timera by konwertował dane z 1wire poza główną pętlą. Nie mogę sobie pozwolić na waitms, bo wtedy mam problemy z poruszaniem się w menu. Mam już działający Timer1 odliczający...
Witam, od jakiegoś czasu próbuję stworzyć sobie zegarek z termometrem + napięcie akumulatora do auta. Wszystkie programy osobno działają bez zarzutu. Problem zaczął się z chęcią wprowadzenia przełączalnych ekranów i wprowadzeniu przerwań. Doczytałem że przerwania skutecznie psują komunikację z DS'ami przez co temperatura się nie odczytuje. Ogólnie to...
Też mam problem z crc. Chcąc wesprzeć się programem kolegi Freddy musiałem dodać wcześniejszy ciąg programu i nie jestem pewien czy wszystko jest oki. Skompilował się bez problemu ale ciągle na LCD pojawiają się "**" czyli jakby crc nie było w porządku. Dodam że mam oryginalną płyte z atmega644p i czujnik Ds18b20 jest na niej umieszczony. Co może być...
Witam Z wycinków kilku programów chciałem zrobić jeden duży barkuje kilku rzeczy i zwiazku z tez pytania W jaki sposób mogę zwiększyć ilość wejść i wyjść żeby zmieścić wszystko ? ( patrz 1 PINY ) brakuje ustawiania podlewania względem kalendarza zielonego pojęcia nie mam jak z pcf mogłbym ustawić godzinę i czas podlewania np 18:00]przez 1 min ? brakuje...
Witam wszystkich Zacząłem tworzyć mój pierwszy tak rozbudowany program - zegarek na pcf8583, atmega 8 z wewnętrznym taktowaniem zegara 1MHz. Problem w tym, iż nie działa menu, które próbuję uruchomić. Bez menu mogę zmieniać godziny i minuty za pomocą 2 przycisków. Jak dołożę menu moje, to nie działa zmienianie czasu. Wygląda to tak, że wchodzę w podprogram...
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 informuje użytkownika o zbyt niskiej lub wysokiej temperaturze...
Wszystko się udało zrobić. :) [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portd.6 , E = Portd.7 , Db4 = Portb.0 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 Deflcdchar 0 , 8 , 20 , 11 , 4 , 4 , 4 , 3 , 32 'znak stopnia Celsjusza Dim B As Byte Dim W As Byte Dim Dsid1(8) As Byte Dim Dsid2(8)...
Witam Szukałem w internecie odpowiedzi na swoje pytanie ale nie znalazłem konkretnej odpowiedzi. Straciłem 3 dni na doświadczenia i nic mi nie wychodzi. Pracuję nad urządzeniem które odczytuje temperaturę w czterech różnych miejscach. Dopóki wszystkie czujniki działają nie ma problemu. Jeżeli padnie któryś z czujników pojawia się problem bo po jego...
Witam. Posiadam inkubator i sterownik do niego. Wszystko jest okej gdy program działa na wait'ach. Chcę przepisać go do przerwania na timerze ale program mi się zawiesza po wgraniu. Po uruchomieniu nie zawsze pokaże temperaturę, po wyjściu z "menu" również czysty ekran zamiast pomiarów. Cała konstrukcja składa się z: *czterech przycisków Sw1-Sw4 *dwóch...
Witam, Z tej stronki [url=]Link dowiedziałem się jak obsługiwać moduły komunikacji radiowej RFM12B. Przykład nadanika: [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 '8MHz $hwstack = 70 $swstack = 70 $framesize = 160 '$noramclear Config Submode = New Config Watchdog = 512 '512ms Start Watchdog '---------Constants---------------------...
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ć...
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 Mam pytanie odnośnie w temacie wymienionych funkcji. Jak dokładnie działają te funkcje? Piszę pracę dyplomową i muszę znać ich dokładną zasadę działania. W dokumentacji znajdują się jedynie lakoniczne informacje. Jeśli ktoś by mógł poinformować żądnego wiedzy, może nawet poratować przebiegami, zasadą działania. Z dokumentacji: Funkcja 1wireSearchFirst()...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: 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. Załączam również program współpracujący z urządzeniem. Program może działać...
witam, robię termometr z dwoma ds18b20 i mam problem, ponieważ nie mogę wykalibrować tych pomiarów aby uzyskać dokładność do 0,1. Oraz wyświetlić wartość np. 21,5 st C. Termometr pokazuje mi 215, szukałem na forum, ale nic konkretnego nie znalazłem. Przedstawiam mój kod: 'Declare Sub Init Declare Sub Convallt ' Convert T on ALL sensors Declare Sub Odczyt_z_ds18b21...
no widzisz u mnie nie wykrywa tego błędu. Wersja mojego 2.0.6.0 full wersion :) Zgadza się v2.0.8.0 też nie protestuje 8O A tak apropos Bascom-owego assemblera czy wiesz że można korzystać z wbudowanych w niego asm-owych procedurek :idea: Do wersji 2.0.11.0 (jeśli się nie mylę)Bascom nie miał takich przydatnych funkcji 1wire jak: 1wirecount(),1wseachfirst(),1wsearchnext...
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...
Witam,potrzebuję pomocy w dokończeniu programu (jeśli istnieje możliwość) schemat znalazłem na elektrodzie ,kod też który przerobiłem pod siebie (docelowo ma być to zamontowane w motocyklu) ma za zadanie dokonywać pomiary temp układu chłodzenia i oleju oraz pomiaru napięcia akumulatora i tu mam problem jak to zrobić żeby w pozycji nr 3 wyświetlało mi...
Hmmm... Tylko Programuję kontroler programatorem ZL2PRG i w Bascomie mogę tylko resetować z komputera uC, a nie działa mi wgrywanie programu do niego, ani nawet odczytywanie modelu, albo mam coś źle poustawiane... uC programuję PonyProgiem i tam mam Fusebity i np przy CKSEL3 mam tylko okienko do zaznaczenia, ale nie mogę tam podawać żadnych 1 ani 0....
Witam znalazłem na necie taki soft do termometru troszkę go zmodyfikowałem na swoje potrzeby czy po zapisaniu w Bascomie i wgraniu go na Atmegę będzie pracował bez problemu?. Dziękuję. 'Termometr 4 punktowy DS18b20 $regfile = "m8def.DAT" $crystal = 1000000 'Deklaracja portów od wyświetlacza LCD Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1...
Witam serdecznie. Mam taki oto problem. Zbudowałem sterownik do centralnego ogrzewania sterujący elektrozaworem i pompą w zależności od temperatury w bojlerze i na piecu. Problem jest taki - po chwili pracy (nieregularnie) resetuje się. Ktoś ma jakiś pomysł? Napięcie zasilające jest dobre. Program w bascomie: '---------------------------------------...
Zgodnie z Helpem Bascoma W powinno być zadeklarowane jako Word lub Integer , a w każdym powyższym kodzie widzę że jest jako Byte ... Przy deklaracji jako Byte ten kawałek kodu: (...) Cls W = 1wirecount() Lcd "Ilosc czujnikow:" Waitms 500 Lcd W Wait 2 Cls (...) nie ma sensu, gdyż na wyświetlaczu nie pokazuje się...
Poprawiłem kod, cos mi sie wydaje że to nie jest ten co był w procesorze i dlatego nie wyświetla drugiej linijki. Podaj jaki numer wersji Bascoma używasz? Sprawdzilem na mojej płytce prototypowej i wszystko działa. Wykasowałem to co było niepotrzebne a ta pętla next nie działała bo źle jest napisana, trzeba inaczej ostrzeżenie o śliskości ułożyć. na...
Witam mam pewien problem . Jakiś czas temu szukałem gotowego schematu i wsadu procesora aby zrobić termometr 4 kanałowy na wyświetlaczy 16x2. Zrobiłem płytkę, zaprogramowałem w bascomie mikrokontroler gdy podłączyłem wszystko, na wyświetlaczu w 1 linijce mam tylko kwadraty i tak cały czas, nie znam się na programowaniu ale staram się jakoś tego uczyć...
Znalazłem poniższy kod na "Elektrodzie" załadowałem do procesora, pomiar napięcia jest zrealizowany zgodnie z przykładem z książki o Bascomie, niestety coś jest nie tak, ponieważ mimo że do ADC1 nie przykładam żadnego napięcia na wyświetlaczu pokazuje napięcie 1,96-2,03 V, po przyłożeniu napięcia 5V wskazanie wyświetlacza jest prawidłowe. [syntax=basic4gl]...