Witam. Zaczynam zabawe z procesorkami i już mam pare pytań: 1 Jest formułka GetADC (czy coś, analog-digital conv.) -w jakim "formacie" czy formie dostaje z tego polecenia wynik?? 2 Jak te kilka wyników ustawić w kolejce? 3 I co można zrobić z danymi z adc? - np czy można przekonwertować na milisekundy?? :?:
Witam! Mam mały problem z adc i atmegą8. Napisałem taki program w bascom'ie : $regfile = "m8def.dat" $crystal = 1000000 Config Portb = Output Config Portc = Input Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down Config Adc = Free , Prescaler = 8 , Reference = Off 'tu próbowalem także reference = internal ; avcc; on...
Nie wiem jak teraz, ale kiedyś w BASCOMie każde polecenie GETADC robiło dwie konwersje i wynik brało z drugiej. Więc w BASCOMie nie trzeba odrzucać pierwszej konwersji bo robi to automatycznie polecenie GETADC (co jest bez sensu no ale mówię jak jest (lub było)).
co do pierwszej odpowiedzi to: mógłbyś mi powiedzieć gdzie dokładniej bo jakoś znaleźć nie mogłem, ktoś też mi mówił że widział na jakiejś stronie coś podobnego, ale jak dotąd ja tego nie znalazłem będe wdzięczny a co do drugiej odpowiedzi to: po co wogóle robić sobie woltomierz można kupić gotowy??? ja poprostu eksperymentuje z uC i właśnie robie sobie...
Pewnie mój, tylko pisząc o błędzie miałem na myśli konwersję z "Fusing". Owszem, string zawiera o jeden znak więcej niż my widzimy, tyle w w wielu programach (m.in. w książce M. Wiazani jest zapis: zmienna As String*3, a następnie konwertowana za pomocą Fusing na x.xx (4 znaki). W helpie też na ten temat mało. Może o czymś nie wiem. Dodano po 9 Aktualny...
1. OCR1A = Getadc(3) 2. OCR1A = 255 - Getadc(3) Jest aż tak źle? Tutaj nie chodzi o zmianę trybu PWMa bo po zmianie trybu zostanie wygenerowany jeden impuls. Nie wiem skąd*. Ale tak napisał Tomekddd. Chodzi o odwracanie fazy na driverze. Jeżeli można by to odwrócić zmieniając tryb PWMa to oczywiście lepiej by było to tak zrobić niż pisać "255 - xxx"....
Witam, napisałem program sterowania stralką automatyczną w BASCOM pod mikrokontroler Atmega8 i jest z tym programem tylko jeden problem, podczas wykonywania nie wczytuje stanu wejść (czyli pinów od pinb.0 do pinb.7), jeżeli zadam stany logiczne przed włączeniem zasilania to program się wykonuje ale przecież trzeba odczytać wielokrotnie stan presostatu...
Witam. Mam prosty woltomierz na ATmega8 i powstają problemy: Mam zabezpieczenie odwrotnego podłączenia napięcia badanego na tranzystorze IRF520 ale przecierz jak wpakuje mu te dajmy na to nawet 300V w dren to sie nie spali pomimo że napięcia nie będzie na żadnym innym pinie , przebije go czy nie? ile trzeba voltów aby go przebiło napięcie?? Czy dioda...
Mam problem z odczytem Voltomierza. Woltomierz pokazuje np: 3,50.....3,90 potem przeskakuje na 4,00 ,4,10 ,4,20...4,90 i znów 4,10...4,90 i dopiero na 5,00. W dół jest taki sam problem . Liczy 2 razy dziesiątki ,odczyt 1 dziesiątek jest błędny Do Cursor Off For Z = 1 To 10 P = P + Getadc(3) Next T '----pobieranie P = P / 10 P = Getadc(3)...
Witam Próbuję zmierzyć trzy napięcia i wyslać je do atinny(lcd). Skompilowany HEX symuluję na AVRstudio i nie widać żadnego nadawania. $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 $sim Config Portc = Output Dim A As Byte Dim Channel1 As Byte Dim Channel2 As Byte Dim Channel3 As Byte Dim V0 As Word Dim V1 As Word Dim V2 As Word Dim...
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...
Oto nowy kod: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portb.6 , E = Portd.1 , Rs = Portd.0 Config Lcd = 16 * 2 Cls Cursor Off '****CONFIG**** Config Adc = Free , Prescaler = Auto , Reference = Avcc '****KONIEC CONFIG**** '****CONFIG ZMIENNYCH**** Dim Wynik...
Witam chciałem zaprojektować sobie oświetlenie schodów podobne do tego na filmiku w celu regulacji tego kiedy ma być aktywne to oświetlenie schodów tzn. żeby nie dochodziło do zapalania świateł na schodach np. gdy jest słoneczny dzień i jest jasno w domu tylko po zmroku. Dodatkowo chciałem jeszcze dodać taką funkcję żebym mógł zapalać oraz gasić to...
Witam Przykład z działającego urządzenia odczyt dwóch adc i uśrednianie wyniku [syntax=basic4gl] Incr Usrednianie Odczytco = Getadc(7) + Odczytco 'odczyt adc co Odczytbl = Getadc(4) + Odczytbl 'odczyt adc bojler If Usrednianie > 5 Then 'usrednianie odczytów 'żeby nie skakał pomiar Co = Odczytco / 10 Bl = Odczytbl / 10 Odczytco = 0 'zerowanie zmiennych...
Może i to wina programu bo długo nad nim kombinowałem i jest dość rozbudowany. Oto fragment odpowiedzialny za sam pomiar napięcia [syntax=basic4gl]For Krok = 1 To 100 'pomiar napięcia Pomiar = Getadc(4) Napiecie = Napiecie + Pomiar Next Krok Napiecie = Napiecie / 100 Napiecie = Napiecie * 0.01452 Napiecie = Napiecie + 0.8[/syntax] Mierzy poprawnie więc...
Napisałem tak w=getadc(1) w=getadc(1) pwm1b=w i tak jak pisałem wcześniej jednym potencjometrem steruje 2 wyjściami,ale mogę sterować z adc0 i adc1. Jak podłącze 2 potencjometry to muszę 2 zmieniać tak samo żeby coś się zmieniło.
Witam! Postanowiłem w niedalekiej przyszłości (po okiełznaniu bestii na L293D : $regfile "m8def.dat" 'deklaruj atmega8 $crystal = 1000000 'czestotliwosc Dim Swiatloczujka1 As Word Dim Swiatloczujka2 As Word Config Adc = Single , Prescaler = 64 , Reference = Internal Start Adc 'rozpocznij Do 'poczatek petli Swiatloczujka1 = 0 'ustaw zmienna...
Witam. Przedstawione rozwiązanie powstało z myślą o zdalnym (radiowym) sterowaniu modelem samochodu. Umożliwia płynne regulacje: kierunku (lewo/prawo) oraz prędkości ruchu (przód/tył). Rozkaz typu "włącz/wyłącz" pozwala np. uruchamiać sygnał dźwiękowy (klakson) lub włączać światła. Spośród innych opisanych na Forum prezentowany projekt wyróżnia się...
Chcę użyć przetwornika AD w Atmega8. Programuje w bascomie AVR. Jest tam funkcja GetADC i nie mam żadnego problemu z jej uzyciem, ale ma ona taka zasadncizą wadę, że dziala tylko w trybie single i po jej wywołaniu czeka aż konwersja zostanie zakończona. (Jest to dość naturalne, bo przecież musi zwrócić wynik konwersji). Zależało by mi, aby uniknąć tego...
Witam, chcialem sie dowiedziec czy taki programik jak ponizej napisany w Bascom-ie bedzie dzialal tak jak tego chce. Ogolnie zadaniem dla mikrokontolera jest to aby pobieral wartosc jakiegos napięcia, ktora bedzie porownywana z wartosciami "tablicy" (w moim przypadku bede robil to na IF-ach, chyba, ze da sie deklarowac tablice w Bascom-ie) i za pomoca...
Witajcie. Robię malutkie projekty korzystając z Bascoma. Do tej pory wyłącznie na 2313 i jakoś sobie radziłem. W nowym projekcie postanowiłem zastosować Atmega8535 i od razu natrafiłem na problem. Mianowicie po włączeniu przerwań od Timer0 nic nie działa jak powinno. Pomimo tego że procedura obsługi wyświetlacza jest wołana z obsługi przerwania na wyświetlaczu...
No dobra działa. Mam teraz Przebieg PPM - o to mi chodziło! Moge mieć aż 6 kanałów na ATmega8
Witam, proszę o pomoc: Stworzyłem taki kod: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Pb.2 , Db5 = Pb.3 , Db6 = Pb.4 , Db7 = Pb.5 , E = Pb.0 , Rs = Pc.0 Cls Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Dim W As Word Cursor Blink Do W = Getadc(0) W = Getadc(0)...
Potrzebuje emulator DS18B20 na atmega8 - mam na PC program do odczytu temp i chciałem w tym programie dodac inne parametry ( np wilgotnosc ) ale nie zmieniajac programu - w scrachpadzie bede wisyłał inne dane nie temperature. ( w bajtach temperatury lub bajtach uzytkownika wolnych 2szt) Aktualnie używam "lampomitari" , ale napisalem przeróbke programu...
Więc popraw. Przedstawiając własną propozycje. Drgania maja mały wpływ w tym przypadku. "Ale Timer1= counter zlicza impulsy z zewnątrz. " zgadza się i na dodatek ma przydatną funkcje reakcji na zbocze która się tu przydaje Na pin.x będzie niedokładnie to jedno. Stan na pinie jak będzie 1 cały czas to cały czas będzie sie zmieniał stan wyjść a nie tylko...
Witam. Mam program napisany w Aseblerze dla atmega8 do generowania i wyświetlania OSD na TV z możliwością odbioru danych/ tekstu za pomocą UART'a. Asemblera kompletnie nie znam, za to trochę znam Bascom (uczę się go) i dlatego właśnie w nim za pomocą drugiej atmegi chciałbym wysłać kilka zmiennych+tekst opisowy na ekran TV. Problem w tym, że za bardzo...
Witam Mam pytanie związane z przetwornikiem analogowo-cyfrowym wbudowanym w mikroprocesorze Atmega8. W symulacji Bascom-AVR działał poprawnie jednakże w przypadku prawdziwego układu program nie działa. Na kanale ADC0 mam napięcie 1,6V. Pomimo tego napięcia wartość przetworzenia wynosi 0. Wykorzystuję wewnętrzne źródło odniesienia. Dzękuję za wszystkie...
Witam!!! Używam BASCOMA 1.11.7.4 i mam problem z kompilacją programu do obsługi ADC dla ATmega8535 z wykorzystaniem wewnętrznego źródła odniesienia. Jest on prawie identyczny jak ten dołączony w folderze BASCOMA – SAMPLES. $regfile = "m8535.dat Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc Dim W As Word , Channel As Byte...
Zdaje sie że wszystko robisz zupełnie nie tak. Jak masz ten fotorezystor to po prostu jedną nóżke do pinu przez rezystor ,drugą do zasilania. A do temperatury potrzebujesz raczej LM335z (ja taki mam) też jedna nóżka do zasilania ,druga do pinu uP ,następna do masy. Obydwa odczytujesz przez GetADC. szukaj tego w Helpie do bascoma ,ale zmień go na AVR...
Witam Wie ktoś jak za pomocą Atmega8 zbudować prosty woltomierz do pomiaru napięcia od 0 do ok. 5V i wyświetlić to na wyświetlaczu ?? w postaci np. Config Adc = Single , Prescaler = Auto, Reference = Internal Start Adc Dim W As Word , kanal As Byte kanal = 0 W = Getadc(kanal) W = Getadc(kanal) cls lcd W ; " volt " ; End Oto...
Przy kompilacji kodu na atmega8 wychodzą mi błędy;ADC_MUX entry not found in dat file. Ten sam kod działa na atmega16 oczywiście po zmianie wyprowadzeń. $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Rs = Portd.2 , E = Portd.3 , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.0 Config Lcd = 16 * 2 Cls Cursor Off...
Mam problem z podłączeniem tego (prawdopodobnie)LTR5576D do atmegi. Chce podłączyć to pod ADC i sprawdzać natężenie światła w podczerwieni. Chciałem zastosować 3 takie układy do budowy line follower'a. Niestety po podłączenie tego do ADC atmegi na wyświetlaczu zawsze pokazuje mi wartość 1023(świeciłem na to pilotem od tv, zasłaniałem palcem). Podłączam...
A czy na tej symulacji w bascomie będzie widać normalnie ą ę czy tylko jakieś znaczki? Dodano po 6 No zrobiłem teraz tylko pytanie czy dobrze? $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 32 '---------------------------------------... Dim Adc_data As Integer Dim S As...
Witam. Mam taki problem. Zbudowałem robota LF napisałem do niego całkiem sprawny kod w BASCOMIE. Teraz zacząłem uczyć się C (pisze w WinAVR) i chciałbym napisać program do niego. Mam jednak problem jak zrobić odczyt poszczególnych kanałów. W BAS robie to tak: [syntax=basic4gl] Wczytaj_adc: Prog = Getadc(4) L1 = Prog If L1 > Back Then Pozycja.4 =...
Witam! Poniżej prezentuję najprostszy chyba z możliwych listingów odczytujący wskazania ADC i wysyłających je do PC przez RS232. Problem w tym ze nie da się wysłać nic z częstotliwością powyzej 4800 bps. zamiast konkretnych wartości jakieś krzaki przychodzą. ' osiągnieta rozdzielczosc: 5V/1024= 0,00488V= 4,88mV $regfile = "m8def.dat" $crystal...
Witam, W folderze SAMPLES bascoma jest przykład programu, który obsługuje wyświetlacze z tym sterownikiem. A więc zakupiłem taki wyświetlacz: $regfile i powinno ruszyć, no ale nie chce :/ I jeszcze cały prog: '---------------------------------------... ' EADOGM128.BAS ' (c) 1995-2008 MCS Electronics ' micro : mega168 ' demo...
AT90S2313 nie posiada przetwornika analogowo-cyfrowego więc do mierzenia napięcia stosowano komparator. Ty masz ATmega8 który ma owy przetwornik - nim najlepiej mierzyć napięcie z LM35. Poza tym ATmega8 ma tylko jeden komparator. Dim w As Word 'właczenie przetwornika CONFIG ADC = single, PRESCALER = AUTO, REFERENCE = internal w = Getadc(0) 'odczyt...
Witam. Może i głupio, ale z ciekawości napisałem programik, którego jedynym zadaniem jest przepuszczanie podanego na wejście ADC dzwięku przez mikroprocesor atmega8 tak, że wychodzi na PWM1a. W sumie to nawet poniekąd mi się to udało, dzwięk przechodził, ale wyjściowa jakość nie była zadowalająca. Większość paramerów w programie dobrałem doświadczalnie......
Proszę o wyjaśnienie przyczyny przekłamań odczytu temperatury z czujnika DS18B20, program poniżej. Najczęściej układ "kłamie" że jest 55 lub 127,5 °C Dodam że wykorzystuję odbiornik RC5 i PWM do sterowania podświetleniem LCD. Czy przekłamania mogą się brać z tego że kilka komend korzysta z tych samych timerów lub przerwań timerów? jak to obejść z góry...
Ten kod jest wersją maksymalnie testową. Zawiera kupę niepotrzebnych rzeczy i jest w nim nieziemski bałagan - przepraszam. Jestem bardzo początkujący i próbuję pisać posługując się najprostszą składnią. Był pisany "na szybko", aby stwierdzić czy ta idea zadziała. I generalnia działa. Config Lcd = 16 * 2 $crystal = 1382400 ' fusebit ustaw xtal full swing...
jestem bardzo początkujący więc pewnie pytanie będzie banalne :-) szukałem na różnych forach, próbowałem i nie wiem gdzie wrzucić w kodzie 2 przycisk... idea programu ma być taka: po włączeniu zasilania pojawia się na wyświetlaczu "witaj" i po naciśnięciu przycisku 1 mierzy napięcie (kolejne naciśnięcie=kolejny pomiar). I do tego miejsca wszystko działa....
Witam. Sprawa banalna dla kogoś kto często programuje w BASCOM. Ja niestety należę do tych "niedzielnych" programistów. Otóż, napisałem nieduży programik w BASCOMie - menu z pomiarem na wyświetlacz 2x8 znaków czyli 16*1a i mam kłopot, bo raz jest jedna cyfra po przecinku a raz dwie (z czego ta druga jest jakby cieniem poprzedniego stanu - zostaje a...
Wszystko działa dobrze jednak co jakiś czas silnik nie wyłącza się. Przypadek taki zdarza się bardzo rzadko jednak jeśli już do tego dojdzie silnik ulega spaleniu. Kolega zrobił lutownicę na atmega8 i też kila razy miał taki problem że wskazywana temperatura przestała się zmieniać. Czy ktoś ma jakieś informacje o błędach w bibliotece getadc? Mnie się...
Witam. Mierzę nateżenie oświetlenia małej kompaktowej świetlóki przy użyciu fotodiody i mam pewien problem przy długim pomiarze wartość otrzymana z fotodiody systematycznie spada. Przebieg otrzymany w wyniku pomiaru jest w pliku wykres. Wartość pomiędzy 2000 a 5500 sek maleje im dłużej się mierzy, chociaż układ pozostawiony jest w bezruchu i odizolowany...
Znalazlem jakis stary programik.... odczyt 2 kanalów ADC z częstościa 100 razy na sekunde... Analize pozostawiam Tobie...(podpowiem że Help wszystko wyjaśni) Pozdrawiam $regfile = "m8def.dat" $crystal = 11059200 $baud = 19200 Config Adc = Single , Prescaler = Auto , Reference = Off Config Timer1 = Timer , Prescale = 256 On Timer1 Pomiar Enable...
Dzięki za pozdrowienia i za odpowiedź . A co do układu to jest automat do pokoju i ma sterować światłem rgb , halogenami , klawiatura umieszczona we włączniku+ dioda rgb ma sygnalizować jaka funkcja światła zostanie zmieniona , odczytać i zapisać i2c to zadanie dla attiny2313 . A atmega8 ma wyświetlać na wyświetlaczu co jest obecnie za funkcja , pobierać...
Nie potrafię wstawić komendy, która zaokrągla wynik do 2 miejsc po przecinku. Cały program (bez zaokrąglania) wygląda tak: $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektywy mikrokontrolera $crystal = 8000000 'informuje kompilato Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E...
Witam Mam problemy z fazami w domu. chciałbym mieć stały pomiar wyświetlany na LCD i w przypadku przekroczenia napięcia 240V zapalaną diodę led podpiętą do nóżek procka(docelowo będą to przekaźniki) i sygnał dźwiękowy na syrence. Wykonałem w bascomie miernik faz na atmega8, tryb zaokrąglania wyniku zaczerpnąłem z jednego kodu z forum. Płytka z układem...
Witam, napisałem program ,który ma za zadanie sprawdzać temperatury i wykonywać poszczególne zadania. Można powiedzieć, że wszystko jest okey, ale czasami program sam przechodzi z Menu do Piec Maks_temp, i przyciski czasami działają z opóźnieniem. Kolejnym problemem jest zwieszanie się procesora, po ustawieniu maksymalnej temperatury Bojlera. Proszę...
Witam Napisałem program który w zależności od wartości trzech przetworników A/C ma wysyłać różne napisy przez RS232 , niestety jeden warunek pętli nie wiem dlaczego nie reaguje na zmiany wartości. Zaznaczyłem w programie komentarzem wadliwy fragment. Co jest nie tak ? $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera...
Witam! Kolega poprosił mnie o zrobienie mini-komputerka do Opla Corsy, mającego wyświetlać dane na wyświetlaczu radia. Problem pojawił się, kiedy zechciałem wyświetlać na bieżąco prędkość - program zgłupiał (choć, raz na kilka odświeżeń wyświetlacza pojawiła się poprawna prędkość) a przy większych prędkościach Atmega ulegała resetom lub się zawiesza....
Witam. Mam prośbę do kogoś kto zna Bascom'a lub przerabiał program z kitu AVT5341 do współpracy z drugim skrzydłem bramy. Nie znam się na programowaniu a potrzebuję zmodyfikowaną wersję wsadu do procesora. Wg autora: Modyfikacje programu ograniczą się do: – zmiany konfiguracji pinów PC0…PC2 z wyjść na wejścia A/C; – nadania pinom PD2...
Witam. Mam problem z uC ATtiny25, który podaje błędne odczyty z ADC, wszystko wcześniej było testowane na ATmega8 z wyświetlaczem i odczyty się zgadzały, teraz dysponując tylko jedną LED'ą, sprawdziłem, że odczyty się nie zgadzają, cała elektronika w przypadku ATmegi i ATtiny się nie zmieniają, jedynie drobne zmiany w kodzie. [syntax=basic4gl]$regfile...
Atmega8 Pełny kod [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 16000000 Config Portd = Output Config Portc = Input Config Portb = Output Config Adc = Single , Prescaler = Auto , Reference = Avcc Enable Interrupts Start Adc '----------------zmienne Dim Opuszczanie As Word Dim Podnoszenie As Word Dim Opuszczanie1 As Word Dim Podnoszenie1 As Word...
Widzę że moja wiedza w tym temacie jest na poziomie piaskownicy :) Bardzo dziękuję Ci za odpowiedź. Mam jeszcze jedną prośbę, Wzmacniacz HBM AE301 ma tylko dwa "styki" wyjściowe. 0, oraz +-10V. W moim "urządzeniu" zabudowałem już dzielnik napięcia na dwóch rezystorach oraz potencjometrze wielu-obrotowym w celu jak najlepszego zrównoważenia rezystorów....
Przepraszam. No to zacznę od początku. Układ według tego schematu: [url=]Link Na komputerze też nie chce dodać do postu. Musiałem tak. A oto kod: [syntax=Bascom] $regfile = "m8def.dat" ' $crystal = 1000000 Config Portb = &B11111110 Portb = &B11111111 Config Portd = &B10111111 Portd = &B11111111 Config Adc = Single , Prescaler = Auto , Reference = Avcc...
Witam, Jakiś czas temu wpadłem na pomysł, by stworzyć prosty rejestrator napięcia komunikujący się z PC za pomocą przejściówki RS232. Pierwsza wersja (płytka stykowa) jest oparta o uC Attiny13, z programowym uartem. Działa bardzo dobrze, aczkolwiek problem pojawił się z zasilaniem. Niestety prąd który można wyciągnąć z typowej przejściówki USB-RS232...
A jam mam pytanie co do trubu pracy przetwornika ADC (Config ADC = Single). Jest jakis inny tryb niż Single? Tak, jest jeszcze tryb Free. W trybie Single odczyt jest dokonywany "na zawołanie", a to wywołanie to dzieje się przez instrukcję: Getadc([i]nr_kanału[/i... W trybie Free natomiast odczyt jest dokonywany cały czas, z tego...
Witam. Mam problem. Napisalem problem do adc, który pracuje jako woltomierz. Na LCD poprostu pokazuje jakie jest napięcie na wejści adc w przedzile od 0-5V. Teraz chciałem zrobić aby PWM był proporcjonalny do napięcia na adc. Np. dla 1V 20%pwm, dla 2,5V 50% pwm, dla 5V 100%pwm. pod spodem program jaki napisałem. Czy ktos wie jak to zrobić?? $regfile...
Zacznę od zamieszczenia kodu źródłowego i schematu: ' ########################################... ' # Control Programm for Trolling Motor Driver # ' # (C)2008 by Tomasz Orczyk # ' ########################################... $regfile = "m8def.dat" $crystal = 8000000 'CKSEL3..0=0100 - 8MHz Internal (PWM ~30kHz) 'SUT1..0=01...
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...
Problem był z deklaracją zmiennej :) Takie małe przeoczenie :idea: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 , Deflcdchar 0 , 21 , 14 , 14 , 31 , 31 , 14 , 14 , 21 ' replace ? with number (0-7) Config...
Witam serdecznie, jestem w trakcie budowania miernika V-A do zasilacza laboratoryjnego na mega8 i mam problem po stronie pomiaru prądu, oto część programu: Config Adc = Single , Prescaler = Auto , Reference = Internal Dim X As Byte , Y As Byte Dim Wart_ac As Word Dim V As Single Dim Wart_nap As String * 3 Start Adc i pętla: Do Wart_ac = Getadc(4)...
witam na elektrodzie znalazłem wiele informacji na temat przetwornika adc w atmega 8 jednak nie mogę poradzić sobie z jednym zjawiskiem mianowicie po odczytywaniu napięcia podawanego z potencjometru na wejście adc0 i adc2 i wyświetlaniu na lcd obserwuje takie zjawisko jak : napięcie z adc0 zmienia sie od 0 do 1024 zrozumiałe tylu bitowy przetwornik...
Na wstępie zaznaczę, że jestem raczej laikiem w temacie programowania, miałem na studiach przedmioty temu poświęcone, ale prywatnie napisałem tylko kilka programów (wydział mechaniczny). Od dłuższego czasu przerabiałem samochód, żeby sterować radiem z kierownicy. Wszystko fizycznie jest poskładane, interface zbudowany. Problem leży jeszcze po stronie...
W bascomie mam to zrobione tak: При изменk... напряk... на среднk... выводk... (контр ...
Witam Miałem podobny problem z wyświetlaniem. Trzeba prawidłowo przypisać typy zmiennych a formatowane umieścić w poleceniu LCD "123";Fusing(X, #.##);"123". Tylko takie umieszczenie formatowania rozwiązało mi problem z wyświetlaniem całkowicie. Odpowiednie akcje na zmiennych należy wykonywać po zaokrągleniu do całości instrukcją np Round(Vol) lub Int(Vol)...
Kod poniżej: [syntax=basic4gl] Wartadc1 = Getadc(5) V = Wartadc1 * 0.02795 / mnożnik z dzielnika rezystorowego dla napięcia Uwej = Fusing(v , "#.&") Wartadc2 = Getadc(4) V3 = Wartadc2 * 0.025 /mnożnik z dzielnika rezystorowego dla prądu Iwej = Fusing(v3 , "#.&") P1 = V * V3 Pwej = Fusing(p1 , "#.&") Cls Lcd "Pwej=" ; Pwej ; "[W]" Wait 1[/syntax] Po...
Chciał bym żeby ktoś mi pomógł napisać program ma mniej więcej wyglądać to tak: Po włączeniu na ekraniku 40x2 (tylko taki mam akurat) Pojawi się napis Wybierz opcję: 1. Line follower 2. Minisumo 3.Rc5 naciskam przycisk 1 i na ekraniku pojawia się: Wybrałeś obcję: line follower (ładowanie takie po kolei po jednym kwadracie) . jak się załadują wszystkie...
Witam serdecznie Jak można do tego kodu niżej dodać programowy PWM? [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Ddrb = &B00111111 : Portb = &B11000000 Ddrc = &B11001111 : Portc = &B00XX0000 Ddrd = &B11111110 : Portd = &B00000001 Dim Licznik As Byte Dim X As Byte Dim Y As Byte Dim W As Word Dim E As Word Config Adc = Single , Prescaler...
Witam ,uczę się obsługi przetwornika ADC i na bazie helpa z Bascoma napisałem dwa programiki: [syntax=basic4gl] 'przetwornik ADC $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 64 $swstack = 64 $framesize = 40 Config Portc = Input Config Portd = Input nop Portd = &B11111111 nop Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portb.3...
Zrobiłem wskaźnik wysterowania audio. Był on dostosowany do LCD 20x4 , przerobiłem kod i dodałem drugi LCD 16x2. Nie wiem dlaczego druga linijka pierwszej linii E posiada błąd. Sprawdzałem LCD , oraz wyświetlałem napisy na obu wyświetlaczach i wszystko jest dobrze, tylko pod tym kodem do obsługi VU meter lcd wariuje. Kod [syntax=basic4gl]$regfile =...
Męczysz tego kota :D Wystarczyłoby troszkę pomysłowości i sprawdziłbyś wszystko jak ja na tym filmie w kilka minut zamiast pisać posty. Niektórym się wydaje że Timery albo ADC się konfiguruje raz na początku kodu i już Amen. Wiele peryferii i urządzeń możesz sobie konfigurować wielokrotnie. Przy ADC trzeba brać poprawkę że pierwszy odczyt po zmianie...
Dzień dobry, Nie mogę dojść dlaczego emulator DS2050 działa na wewnętrznym oscylatorze 8Mhz a na kwarcu 8MHz zawiesza się i resetuje gdy tylko chcę odczytać z niego wartości. Kondensatory przy kwarcu 22pF. Fusebity: gdy clock 111101:Ext (czyli kwarc) to nie działa poprawnie. Próbowałem wszystkich ustawień kwarcu. Dlaczego tak się dzieje ? [syntax=Bascom]...
Bascom nie wykonuje dwóch działań arytm. lub instrukcji w jednej lini. Wiem to, wskaż w którym miejscu próbowałem coś takiego zrobić. Chodzi o last=last+getadc(1) ? Instrukcja wykonuje się poprawnie. Wyglada że chcesz mi wmówic, że wprowadziłem cię w błąd. Nie, po prostu stwierdzam, że po wprowadzeniu zmian nadal nie działa tak jak bym chciał. To wyjaw...
Przy niewielkiej dokładności wystarczy układ dzielników rezystancyjnych (schemat z prawej strony rysunku). Na wszelki wypadek podaję też schemat z wtórnikami (niewiele drożej). Wejścia procesora są zabezpieczone diodami przed przepięciami, więc ewentualne śmieci, których pełno w instalacji samochodowej powinny się wytracić na nich i na rezystorze szeregowym....
Witam Obsluga ADC w Bascom jest banalna polecam polski help Bascom Basic, napewno sie zorientujesz o co chodzi... Jezeli chodzi o wypelnienie PWM to na potencjometrze mozna to zrobic bez wiekszego problemu... podlacz potencjometr pomiedzy +5V i GND, nastepnie do ADC uP, a pozniej odczytaj wartosc napiecia przez getADC(), ustaw odpowiednie granice i...
Porównaj: Moja propozycja Wartosc = Getadc(4) Wartosc = Wartosc / 5 Wartosca = Wartosc Twój kod Wartosc = Getadc(4) Wartosc = Wartosc / 5 Wartosc = Wartosca Widzisz różnicę :?: Piotrek
Na przykład tak: '** WRITE Routine assumes ADDR, BOUT uses Status subroutine ** Sub Mwrite(byval Addr As Long) If Nocard = 1 Then Exit Sub Addr = Addr * 512 Cmd24: Set Cs Dat = &HFF Shiftout Mosi , Clk , Dat , Msbl Shiftin Miso , Clk , Resp , Msbl Reset Cs Dat = &H58 Shiftout Mosi , Clk , Dat , Msbl Shiftout Mosi , Clk , Addr , Msbl...
Witam W moim projekcie używam Atmegi8L do przetwarzania napięcia przesłanego z czujnika ciśnienia (MPX5700AP) i do wyświetlenia tej wartości na wyświetlaczu LCD. Jednak otrzymane wyniki sz bardzo rozbieżne i na pewno nieprzystające do rzeczywistości... (wyświetla od 30 do 70kPa) Podejrzewam dwie rzeczy: 1) błędy w odpowiednim skonfigurowaniu przetwornika...
To nie ładowarka impulsowa. Jest tam trafo i mostek składający sie z około 40 prostowniczych kondensatora 1uf na 250V i nic więcej :) układ skacze bo dokonuje pomiaru ale nie zawsze trafia na szczyt Sinusojdy i na tą samą diodę( w mostku\) tak mi się zdaje że tu właśnie jest wina niestabilnego pomiaru. Rozwiązałem to tak że: -na wejsciu została zamontowana...
Jak widać realizacja tego projektu rozciągła mi się nieco w czasie :) Mam nadzieje ze nikt nie będzie miał mi za złe że pisze w dosyć starym temacie, ale tutaj znajdują się już wszystkie schematy. Mój problem wygląda następująco: podłączyłem sobie czujnik sharp pod PortC.3 i napisałem sobie następujący kod w bascomie $regfile = "m8def.dat"...
Może ma ktos z was gotowy program do wyswietlania cyfr na dwóch wyswietlaczach? Może w przerwaniu. Mam cos takiego ale wyswietlacz mruga. Używaj znaczników "code" jak wklejasz kod. Poprawiłem $regfile = "m8def.dat" $crystal = 8000000 Config Portd = Output Config Pinb.0 = Output Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 =...
Witam, mam zamiar zrobić prosty voltomierz na Atmega8. Znalazłem taki o to kod na elektrodzie. Mam pare prostych pytań. Nie znalazłem nic o Nich w googlach. Z tego co przeczytałem to do avcc podłączamy +5v, gdy będziemy uzywac portuC. Aref podłączamy do GND tak? Ale gdzie podłączamy np. baterie czy coś innego aby zmierzyć ile ma voltów? W tym schemacie...
Witam. Zrobiłem układ jak w załączniku. Mam pytanie do Kolegów mianowicie: Chce by układ po wykryciu zera wykonał pomiar czyli .. . zero = input if zero=0 then getadc(x) . ale mam problem z wykryciem zera tzn. układ stale jest w stanie wysokim i nie wykrywa spadku - impulsu z transoptorów. Jak powinien wyglądać fragment programu by poprawnie to działało??...
Dim ___rseed As Word ___rseed = Getadc(9) Lcd ___rseed Dlaczego na LCD cały czas jest 00? Atmega8, w obudowie DIP posiada 6 kanałów ADC... W obudowie TQFP i QFN jest ich 8. Ty próbujesz pobrać wartość z 10 kanału (liczymy od 0). Zamień 9 na wartość od 0 do 5 (podejrzewam, że Twoja Atmega jest w obudowie DIP): __rseed = Getadc(0) Oraz...
Witam, Bardzo proszę o sprawdzenie czy program jest poprawnie napisany. Nie korzystałem do tej pory z instrukcji Watchdog, więc nie mam pewności czy jest ona poprawnie umieszczona. Zadaniem programu jest stały pomiar napięcia i w razie wystąpienia spadku załączany jest przekaźnik na czas 2 minut. Jeżeli spadek będzie występował czały czas to przelaźnik...
Funkcja GETADC() zmienna = GETADC( nr_kanału [, offset ] ) Przetwornik musi być skonfigurowany do pracy w trybie SINGLE, gdyż funkcja inicjuje i czeka aż przetwornik wykona konwersję. Uwaga! Z powodu zmian w kodzie bibliotecznym w wersji 1.11.7.2, funkcję GETADC() najlepiej wywołać dwukrotnie: W = Getadc(channel) W = Getadc(channel) gdyż za pierwszym...
Witam chciałem zrobić sobie sterownik do pieca CO z regulacją temperatur załączających pompę obiegową oraz wiatrak - nadmuch , do tego strona główna czyli temp. pieca oraz pokazane co aktualnie jest załączone. Zrobiłem na razie tylko 2 strony jedną z głównych oraz ustawianie temp. załączającej pompkę obiegową. Mam 3 przyciski jeden do zmiany menu, a...
1.Masz błąd w kodzie Zauważ, że jak czujnik wyśle wartość 100,200,300,400,505 to wszystkie diody się zapalą i tak zostanie. PORTC musisz zerować przed każdym zapaleniem diod, bo inaczej one nie zgasną dopóki W nie przyjmie wartości z zakresu 506..1023. 2.Lepiej gdyby kod był taki Do W=Getadc(5) Portc= &B00000000 //ustawiamy wszystkieg diody na 0 Portc.4=(W/512)...
Witam Dla swoich potrzeb skonstruowałem sterownik za pomocą którego kontroluje stan wody która na wiosnę odwiedza moją piwnicę. Sterownik za pomocą czujnika poziomu mierzy mi ilość wody i jeżeli jej poziom przekroczy wartość 2,10 to informuje mnie LEDem oraz 10 sekundowym popiskiwaniem (1Hz) buzera. Ja natomiast ręcznie mogę ustawić czas od 1 do 40...
Witam Mam taki problem: potrzebuję zmierzyć napięcie na urządzeniu którego wewnętrznej budowy nie znam, wiem tylko (po zmierzeniu miernikiem) że na wyjściu tego urządzenia występuje napięcie z zakresu 0-150 mV. Następnie sygnał z tego urządzenia wysyłam na wejście nieodwracające wzmacniacza operacyjnego LM10 który zasilam niesymetrycznie napięciem 5V,...
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...
Witajcie. jestem nowy i nie bardzo wiem jak to zrobic, na wejsciu PINC.0 pojawia sie stan HI wysoki zaczyna sie odliczanie czasu ktore jest ustawiane za pomaca ADC na ktorym jest potenciometr 10 Kohm miedzy Vcc a masa. po uplywie ustawionego czasu na wyjsciu PORT D.6 pojawia sie stan wysoki oto moje wypoziny ktore i tak nie dzialaja. $regfile "m8def.dat"...
Witam Chcę odczytać stan baterii przy pomocy ATmegi8L. Niestety wartość którą pokazuje uC jest ciągle taka sama bez względu na poziom naładowania baterii. Wartość napięcia baterii po naładowaniu to 4,18 V. Nie wiem czy dobrze połączyłem: Avcc -------> Vcc PinC.0 -------> + bateria Config Adc = Free , Prescaler = Auto , Reference = Avcc Dim Wart_adc...
Witam ponownie. Mam już wykonany program do pomiaru przyspieszeni, niestety mam spory problem z obliczeniem z tego prędkości. Próbowałem odczytywać wartość z przetwornika ADC co pół sekundy (16000000/256/500/125 = 1, a dla 63 to dwa razy na sekunde) i do tego wykorzystałem: $crystal = 16000000 ... Config Adc = Single , Prescaler = Auto , Reference =...
Witam Właśnie robie sobie wyświetlacz do samochodu, na razie mam dwie temperatury i napięcie... Zamieszczam listing: $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portd.1 , Db5 = Portd.2 , Db6 = Portd.3 , Db7 = Portd.4 , E = Portd.0 , Rs = Portd.5 Config Lcd = 20 * 4 Config 1wire = Portd.7 Config Pinc.0 = Output Config...
Tak myślałem że coś nie wyjdzie ale powiedzcie co zrobiłem źle. Układ ma za zadanie odczytywać spadek napięcia na dzielniku z termistorem i podawać na wyświetlaczu led odpowiednią temperaturę. Na razie zrobiłem skale co 5 żeby było prościej. $regfile = "m8def.dat" $crystal = 8000000 Config Adc = Single , Prescaler = Auto , Reference = Avcc...
Witam! Chciałem zrobić sobie wskaźnik wysterowania od 0 do 1V. Jak na razie próbuję napisać kod żeby mierzył od 0 do 5V. Kod wygląda tak:(sugerowałem się problemami użytkowników) $regfile = "m8def.dat" ' INFORMACJA O PROCESORZE $crystal = 1000000 Config Portd = Output Config Portb = Output Config Portc = Output Dim Nap As Word Config Adc =...
Witam, Znalazłem w sieci program do prezentacji wartości napięcia na wejściach ADC uC, Podłączyłem sygnał audio przez LM358 o wzmocnieniu około 30 razy i niestety pomiar nie jest zbyt dobry... już nie chodzi mi o pomiar dokładnego napięcia tylko że linijka z LCD wcale nie działa w rytm muzyki tylko jakoś tak dziwnie... załączam program w bascomie domyślam...