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...
Cytat: "Jeżeli Twój Bascom "obsługuje" 1wirecount,1wsearchfirst,1wsearchnext to sprawa jest prosta , w przeciwnym razie ... jest więcej roboty(trzeba napisać obsługę Search Rom) , ale nie jest beznadziejnie" Mam Bascom 8051 v.2.0.11.0 Obsługuje te funkcje.
$crystal = 14745600 Czy oprócz podłączenia takiego kwarcu ustawiłeś odpowiednie fuse bity? Następna rzecz to nie musisz robić resetu 1wire. Największy błąd polega na tym że nie czytałeś helpa bo gdybyś to zrobił to dowiedziałbyś się że zmienna do której zapisujesz ilość urządzeń koniecznie musi być typu WORD lub INTEGER. Na koniec radzę ci skorzystać...
I tak już dużo napisałem gotowców. Pomyśl nad funkcją 1wirecount z dokumentacji BASCOM'a.
1wirecount() też zwraca 0?
A z jakiego powodu na osobnych liniach ? Masz tak dużo wolnych pinów ? Przeczytaj o 1WIRECOUNT( ) Pozdro :)
Sprobuj na bascomie wersja2.11 lub wyzej bo tylko takie obsluguja poprawnie 1wirecount() oraz 1wsearchfirst() 1wsearchnext()
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),...
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
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...
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.
Witam, chcialbym sie podlaczyc po ten topic gdyz mam pewien problem z obsluga DS1820 i DS18B20 z ATMega128 Mianowicie, po podlaczeniu w trybie 2wire (1 - GND, 2 - PinB.7/PinE.7 itp., 3 - Vcc 5V) do ATMega128 z kwarcem zewnetrznym 10MHz (innego uzyc nie moge) po wykonaniu komend w Bascom AVR: config 1wire= portb.7 dim rgn(8) as byte 1wreset wait...
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ą...
Dzięki za cenne uwagi. Teraz wiem czego szukać. Generalnie zmiana kontrastu pokaże że dolna linia nie działa. Szpilki na zasilaniu przy LCD mogą się pojawić, nie dałem dodatkowego kondensatora. Inicjalizacja wyświetlacza co pewien okres czasu na pewno pomoże. Poprawki wykonam w Piątek lub Sobotę i się odezwę za tydzień. Kontrast jest regulowany dla...
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:...
W Bascom, jest magiczna zmienna systemowa "Err" (moze Error ale raczej Err), którą wiekszość programistów ignoruje. Nawet o niej nie wiedziałem. Nigdy nie jest za późno aby się czegoś nauczyć :-) Swoją drogą to ZTCP bez czujnika zwracał 85*C (po konwersji danych na temperaturę w *C z rozdzielczością 0.1*C). Tak samo przy pierwszym pomiarze zawsze zwracał...
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"...
to , że procek działa na szybszym kwarcu może wpłynąć tylko korzystnie w takim układzie. Przecież masz deklarację kwarca 16MHz w programie więc kompilator wszystko kompiluje zgodnie z tą dyrektywą.... czyli jak dobrze rozumiem to już na tym czysto wstępnym etapie programu Cls W = 1wirecount() Cls Lcd "Ile =" ; W ; "szt" Wait...
Ź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...
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...
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ść....
Poprawiłem program powyżej. Mam kompilator 2.7.5 i przyjmuję on nazwę Temp_integer, ale inne wersje kompilatorów protestują jak używa się nazw zatrzeżonych tu "integer i temp", wiec zmieniłem nazwę zmiennej na Temperatura. Faktycznie jedno End sub było za dużo, coś sie powieliło przy wklejaniu do postu. Co do wielkości to za dużo używasz podprogramów...
Niestety nadal nic ... Napisałem (a dokładniej przerobiłem program z innej strony): [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 2400 Config Portb = 255 Portb = 0 Config Portc = 255 Portc = 255 Config Portd = 255 Portd = 255 Config 1wire = Pina.0 Cls Cursor Off Noblink Enable Interrupts Dim Lsb As Byte Dim Msb As Byte Dim Tempa...
Staram sie napisać programik w Bascom, który odczyta mi numery seryjne z termometrów dallasa DS1820 (docelowo 3-4 termometry) ma go zapisać w pamieci eeprom procesora, a nast ma być odczytany. Na końcu użyłem komendę dla wyświetlenia na lcd ale jakoś mi to podejżanie działa ponieważ nie wyświetla mi znaków a tylko jakieś "9". Może źle odczytuje lub...
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...
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...
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()...
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 [...
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...
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. 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...
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....
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....
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...
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...
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...
w sumie płytka z układem jest już gotowa... zrobiłem wszystko tak jak na schemacie u Ducha tylko że podpiąłem nie 4 a 2 czujniki DS i tutaj moje pytanie... czy dobrze przerobiłem program z 4 czujników na 2: $regfile = "m8def.DAT" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4...
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...
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 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...
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...
Ds18B20 ma programowalną rozdzielczość 9 - 12 bitów, czyli rozdzielczość pomiarowa = 0,0625 st.C, ale ich dokładność to 0,5 st. C Tu masz procedury do 4 czujników: Odczytaj_id: 1wreset T1_id(1) = 1wsearchfirst() If Err = 1 Then T1_id(1) = 0 End If T2_id(1) = 1wsearchnext() If Err = 1 Then T2_id(1)...
$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 =...
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...
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....
Dzięki kolego Zumek za wskazówki, teraz już dzialają 3 czujniki, jeśli byś mógł to doradź coś o optymalizacji kodu, bo w takiej wersji wsad zajmuje 7,77KB a chce coś jeszcze do tego dorzucić i nie wiem czy sie zmieszcze w 8KB $regfile = "m8def.DAT" $crystal = 1000000 '$lib "mcsbyte.lib" Config Lcdbus = 4 Config Lcdpin = Pin , Db4...
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...
Witam, Nabyłem moduł MMega01 firmy http://www.propox.pl/index.phtml?lang=pl 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....
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 ' ----------------------------------------...
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...
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...
Nie wiem czy dobrze ustawiłem dim'y Wyswietlanie,Trybprzycisk, Trybpomocnicza1 mają być Byte ? W takim układzie przyciski będzie zczytywało co 4ms, ale co z odświerzaniem LCD co 100ms i 1sek ? Aha i gdzie mam określić port przycisku PORTA.7. [syntax=vb]$regfile = "m16def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o częstotliwości...
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...
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, 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...
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...
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! 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,...
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...
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...
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ć...
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...
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ę...
Zgadza się. Poprawiłem i wskazuje temperaturę. Wklejam cały kod: [syntax=basic4gl]$regfile = "m644pdef.dat" $crystal = 16000000 '---------------------------------------... Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portb , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6 Cursor...
Nie wiem na które pcb patrzysz , to ostatnie do pełnej wersji z pomiarem prądu i napięcia ,patrzę i widzę że jest OK . pin40 i pin39 są podpięte do dzielnika kondensator żeby nie pływał pomiar zbytnio. nie widzę tego o czym piszesz . Wieczorem sprawdzę jeszcze raz i podam zaktualizowane . Ok jest wieczór więc zamieściłem na 2 str. schemat i pcb w eagle...
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...
Zobaczcie w linku jest komputer samochodowy na wyświetlaczu LCD 4*20. Tam przy temperaturach są znaczniki: "t1" i "t2". http://pl.youtube.com/watch?v=yJMelf8jW1... 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...
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)...
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...
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...
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.
Czyli przy tym Program Sterowania Dwoma Układami Ds1820 Dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input Config Pinc.5 = Output 'linia PB1 jako wejściowa...
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...
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...
$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...
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...
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 Chcąc zbudować termometr wraz z alarmem, natknąłem się na forum Elektroda o temat "Termometr wraz z alarmem do CO - http://www.elektroda.pl/rtvforum/topic18... 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...
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...
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 =...
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)...
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,...
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 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ć...
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. http://obrazki.elektroda.pl/3931794300_1...
Witam, Dokonuję pomiaru dwóch temperatur przy użyciu DS18B20. Dane przesyłam po RS232 (MAX232) - docelowo chciałbym wysyłać cztery parametry na komputer. Podczas próby konwersji ciągu string z RS232 na zmienną typu "integer" lub "float", otrzymuję komunikat: EConvertError: is not valid integer value. Sprawa wygląda tak: próbowałem już konwersji zarówno...
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...
Tak, AVCC jest podłączone. Program w Bascom: http://obrazki.elektroda.pl/8556711100_1... http://obrazki.elektroda.pl/5791017800_1...
Kod jest dość spory więc wkleję najważniejsze fragmenty odpowiedzialne za RC5 ,SD i 1Wire. RC5 '***************************************... '****************************PROCEDURA ODCZYTU RC5**************************** '***************************************... Readir: Disable...
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,potrzebuję pomocy w dokończeniu programu (jeśli istnieje możliwość) schemat znalazłem na elektrodzie http://obrazki.elektroda.net/50_12609042... ,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...
Witam kolegów. Potrzebuję sterownika pompki do C.O. Znalazłem program napisany w BASCOM i przerobiłem go nieco do swoich potrzeb. Działa wszystko prócz HISTEREZY. Przy powolnym narastaniu temperatury, która skacze +/- pompka włącza się i wyłącza, czyli histereza nie działa. Histerezę zrobiłem wg. porad z forum. Czy może ktoś pomóc? Oto kod: [syntax=vbnet]$regfile...
Witam, Z tej stronki [url=http://mirley.firlej.org/node/1137]... 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 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 '*************************************.....
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ś...
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]...
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 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: '---------------------------------------...
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...
bascom projekt bascom bascom bascom enkodera bascom bascom enkoder
wyciszyć pralka tętnienia napięcia przetwornicy fotowoltaika napięcie sieci
schemat podłączenia connects2 citroen xsara pompa
Błąd F-22 w kotle Vaillant atmoTECpro: przyczyny spadku ciśnienia Światło w Junak 901 nie gaśnie po wyjęciu kluczyka