Wartości binarne wprowadzaj z prefiksem, np.: &B01010000
Oczywiście, wartości tych rezystorów należy dobrać w zależności od napiecia zasilającego, wartości prądu świecenia diód LED oraz od wartości napięcia walencyjnego tych diód LED. Wartości walencyjne zaś zależą od barwy LED-a. Wartości tych rezystorów obliczamy wg prawa Ohma. I=U/R czyli R=U/I Za I przyjmujemy prąd diody LED. Zazwyczaj jest to wartość...
Żeby układ sam się resetował przy włączeniu zasilania , to opornik dajesz do plusa i kondensator z pinu reset do masy.
Witam, już wcześniej na podstawie tego fragmentu kodu, który podałeś mówiłem, że program ten wykorzystuje płynne sterowanie jasnością tylko ty tam wstawiłeś stałą o wartości 70. Mówiłem też, że skoro nie wiadomo jakie jest taktowanie procka to ciężko powiedzieć co z czego wynika. Ale teraz widać jak na dłoni potwierdzenie tego co pisałem, jest to typowe...
Jaką częstotliwość zegara masz podaną w ustawieniach Bascoma, tak samo jaki uK masz podany? Zawsze lepiej użyć dyrektyw REGFILE i CRYSTAL. Czy poprawnie masz ustawione źródło sygnału zegarowego w bitach konfiguracyjnych? Poprawiony kod: $regfile = "attiny2313.dat" $crystal = 1000000 Config pind.6 = output Config pind.4 = output portd.4 = 0...
Portb.3 = 1 Jak już to pin. Po za tym mam nadzieję że masz zew. rezystory podciągające bo avr-y pull-down nie mają. IMHO to 3 pętle na taki program to o wiele za dużo. Proponuję skorzystać z opcji "compile" żeby zobaczyć czy program jest poprawny.
Popraw kod umieszczając go w znaczniku kod bo Ci trochę nie wyszło.
Czy wszystko będzie ok. trudno wyczuć. Zależy jaki zastosowałeś układ wykrywania przejścia przez zero. Jeżeli stan niski utrzymuje się przez większą część przebiegu i tylko w okolicach zera jest wysoki to dopóki jest stan niski to jest zgłaszane przerwanie. Jeżeli dodać do tego że przerwanie int0 ma najwyższy priorytet poza reset to przerwanie od timera...
Witam ! Masz błędy, bo te dwa warunki: If S1 = 1 Then Call Pr1 If S2 = 1 Then Call Pr2 nie są dokończone, Możesz zrobić tak: If S1 = 1 Then Call Pr1 If S2 = 1 Then Call Pr2 albo tak: If S1 = 1 Then Call Pr1 end if If S2 = 1 Then Call Pr2 end if Pozdrawiam. Stefan
Jak wystawiasz zbocze, to dane są przepisywane z wejścia na wyjście (zatrzaskiwane). Potem kostka trzyma te dane do kolejnego zapisu czyli wpisujesz i zostawiasz, a jak chcesz zmienić robisz kolejny zapis zboczem. Różnica z przerzutnikiem latch jest taka, że tam jak miałeś poziom wysoki na wejściu zegarowym, to zmiany z wejścia pojawiały się na wyjściu....
Czyli nic nie zrozumiałeś z linkowanego programu. A szkoda... Zasada działania (podobnie jak dla wielu innych programów), to wykonywanie krytycznych sekcji w przerwaniach. Pętla główna może być zupełnie pusta. W programie głównym: 1. Zdefiniuj sobie 8 zmiennych (Parametr_x), które będą odpowiadały wartościom włączenia każdego z kanałów. Np. 100,47,198......
Pobawiłem się dziś chwilkę programowym PWM. Jest to rozwiązanie na 8 kanałów - 25 może być ciężko pociągnąć ale oczywiście możesz próbować rozbudować program i zmienić częstotliwość zegara czy wywołania przerwań. Pierwszy to demonstracja tworzenia w zasadzie dowolnie biegnącego światła - dane umieszczamy w liniach Data (wartości od 0 zgaszone do 8 max...
Ja mam taki program zrealizowany na Atmedze8. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 40 $framesize = 40 Config Portb.1 = Output 'wyjscie triak Triac Alias Portb.1 Config Rc5 = Pind.7 'rc5 pin timer0 Dim Level As Word 'poziom sciemniania 1 - 20 Dim Timer_val As Word 'wartosc timer1 dla sciemniania Dim Command...
Nie rozumiem co się tutaj dzieje. Zmienna Reference nie ma żadnej przypisanej wartości początkowej. Jak np uzyskać 50% świecenia diody? Nie chodzi mi o stopniowe przyciemnianie, po prostu chciałbym mieć możliwość w dowolnym miejscu programu ustalenia jakie napięcie ma być na danym wyjściu. Nie potrzeba żadnej wartości początkowej, jest to zmienna typu...
To cos ci nie wyszlo. To moj uklad, ktory zbudowalem i dziala bez problemow, a wykres - jest to wykres z rzeczywistego ukladu, ktory samplowal i wysylal dane do Excela, po to, zebym sobie mogl ustawic wlasciwy cut off do wykrywania tego co chcialem. Sygnal ze wzmacniacza wchodzi na uklad calkujacy (RC) i dalej na ADC po to, zeby mierzyc bardzo slabe...
Proszę: [syntax=basic4gl] $regfile = "" $crystal = Config Portb = Output Config Timer0 = Timer , Prescale = 1 Enable Interrupts Enable Timer0 On Timer0 Int_pwm Dim Pwm(4) As Byte Dim Pwm_ct As Byte Pwm(1) = 32 Pwm(2) = 64 Pwm(3) = 96 Pwm(4) = 128 Do Loop End Int_pwm: Incr Pwm_ct If Pwm(1) > Pwm_ct Then Set Portb.0 Else Reset Portb.0 If Pwm(2) > Pwm_ct...
Podłącz poprzez układ MOC 3041, to rozwiąże twój problem. Zawiera diodę świecąca (którą wysterowujesz przez mikrokontroler), fotoelement podłączasz do triaka. Zapewni to izolację od sieci 230 V. Dałbym ci schemat, ale moje linki są tu blokowane (chyba że na PW).
Może zrób tak: If Pind.2 = 0 Then 'i jest wciśnięty przycisk PIND.2 Incr Opoznienie_odczytu 'no bo przycisk ma drgania dłużej niż 237us- niech zwiększy 'to sprawdzanie powtórne do 17ms If Opoznienie_odczytu >= 70 Then 'dajmy mu na wygaszenie drgań 17ms If Temp0 = 0 Then ' i jest zezwolenie na zmianę stanu Gosub Ustawianie Temp0 = 1 ' zablokuj zezwolenie...
w datasheecie jest to bardzo szczegółowo opisane
Tak.
..."Tylko po co zaczynać o starych procesorów i od powoli wymierającego języka?".... A czy ktoś o to pyta? Jeśli chodzi o pomoc - to trudna sprawa. Piszesz "Mój kod zrobił się już dość duży i moje umiejętności są zbyt małe, aby nad nim zapanować" I chyba tu jest problem, zacznij pisać "od początku", zacznij od obsługi "pojedynczych składników". Zapisuj...
Kolego, nie wyważaj otwartych drzwi, kup gotową aparaturę zdalnego sterowania, nawet najprostszą np E-SKY, to koszt 50-80 zł za używkę w bdb stanie i masz tam wszystko co Ci potrzebne.
W Bascomie wszystko sie da, ale będziesz musiał napisać całą obsługe od początku a to jest dość mozolne i nudne... Raczej nie licz na to że uda Ci się wysterować ten LCD przy pomocy poleceń np: "LCD HELLO" czy "CLS"
Co do kodu to tak jak mowi bogdan_p, jeszcze dodam, ze lepiej zastosuj elseif. Pozatym zawsze lepiej dodac $crystal nawet gdy nie uzwasz waitow. Dodano po 3 Jeszcze pare rzeczy brakuje w schemacie, np. rezystor do reseta i jeszcze jeden kondensator do zasilania. Na ten temat masz dosyc postow, na elektrodzie. Dodano po 1 Jeszcze mi wpadlo do glowy:...
Proszę. Kod masz taki, delikatnie pisząc, rozwlekły :D Trochę poskracałem zmieniane fragmenty. Sprawa jest nieskomplikowana. Kiedy naciskasz przycisk wyboru wyjść to czeka aż puścisz przycisk bo inaczej to od razu by z tej procedury wyszedł. Czeka więc aż puścisz i potem powtórne wciśnięcie spowoduje że zmienna Exit_this dostanie wartość 1 a to jest...
Przy niższym napięciu zasilanie nie masz szans otworzyć tranzystora pnp. Zmień rezystory z 10k i 1k na 4k7 i 4k7 - wtedy zadziała (co nie zmienia faktu, że tranzystor npn jest tu zbędny).
R4 może mieć za dużą wartość. A R3 to po co?
Na początek do rysowania schematów są odpowiednie programy a nie Paint , kody programu umieszcza się korzystając z polecenia Syntax a nie wkleja zrzut . Schemat : brak jakichkolwiek kondensatorów do filtracji zasilania , brak GND dla uC , brak oporników ograniczających prąd diod jeden wspólny to żadna oszczędność max prąd portu to 20mA , czerwone LED...
Jakiś czas temu z kumplem bawiliśmy się serwem Hitec HS-311. Sprawdzaliśmy co się będzie dziać przy podawaniu impulsu co 10ms,15ms (o ile dobrze pamiętam serwo chodziło podobnie jak przy odświeżaniu 20ms) i 30ms,40ms,60ms (im dłuższy okres tym większe skoki w obrocie).
[syntax=basic4gl]$regfile = "m328pdef.dat" $crystal = 16000000 '*** Timer0 Config for 500Hz Interrupt CTC Mode *** Config Timer0 = Timer , Prescale = 256 , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 1 Enable Compare0a : On Compare0a Int0_isr : Compare0a = 249[/syntax] Kompiluje się bez problemu. Co do ustawienia na rejestrach. Napisałem...
Ale to jest projekt na zaliczenie- model- a nie prawdziwe urządzenie. I tu filozofia jest nieco inna- utrudnienie sobie życia służy zdobyciu wiedzy. No i dobrej oceny- jeśli promotor zna się na rzeczy.. No, poniekąd przyznaję rację ;) Ale już nie mów, że nauka C czy elektronika to takie samoumartwianie się - to w końcu cała przyjemność - inaczej chyba...
pokaż zdjęcie wyświetlacza, zapytaj w serwisie komórek czy taki sam wyświetlacz jest w n6100, jeśli tak to wpisz w bascomowym helpie pcf8533 i masz bibliotekę do jego obsługi
Zrób sobie zmienną w procesorze, która będzie pamiętała stany, potem zmieniaj w niej bity i wysyłaj taką zmienną.
Bascom to basic dla mikrokontrolerów. Tak mi się dotychczas zdawało. ;-) Chyba nie masz pojęcia, co właściwie chcesz zrobić. Co to znaczy sterowanie obrazami? O jakie labirynty chodzi? Grafika 3D? Symulator Pacmana? Sformułuj problem. Pozdrawiam!
Ło Pani kochana! Chyba nie ma takich rzeczy (w sensie nie jest możliwe znalezienie w google już). Mi jedyne co się udało znaleźć co jest "jezykowo agnostyczne" to takie coś: https://www.picotech.com/library/oscillo... Tutaj jest niby prezentacja jakiegoś oscyloskopu i dekodowanie samych ramek. Na dole...
Witam ! do dioda1 = 1 If przycisk1 = 1 and prycisk4 = 0 then dioda1 = 1 waitms 2 dioda1 = 0 waitms 20 end if loop itp. to początek resztę spróbuj sam Powodzenia życzę Stefan . GG6293398
Poczytaj w helpie bascoma o funkcji Encoder. Prościej się już nie da.
Zasymulowałem Twoje środowisko i wprowadziłem kilka poprawek. Działa zgodnie z założeniami. Debouncingu nie dodawałem, choć przydałby się. [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.2 , Rs = Portb.1 Config Lcd = 20 * 4 Cls Cursor Off noblink...
Odpowiedź jest niezależna od języka programowania, ale ściśle uzależniona od ilości wyprowadzeń silnika :D
Po co stosować tu przerwanie? Kardynalny błąd to stosowanie polceceń opóźnień w przerwaniach. W tym programie problem tkwi w: If Przycisk = 0 Then Waitms 100 If Przycisk = 0 Then Incr Sekwencja If Sekwencja = 0 Then Incr Sekwencja If Sekwencja = 4 Then Sekwencja = 1 End If End If End If End If Popraw na: If Przycisk = 0 Then Waitms 100 If Przycisk =...
Może ten Twój jakiś dziki jest :P więc spróbuj jeszcze przenieść Sub pod pętlę główną jak ja poniżej. U mnie kompilują się wszystkie wersje wiec w załączniku masz skompilowane Hex i Bin do wyboru. Sprawdź też prywatną wiadomość ;) [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 '********* TUTAJ SOBIE...
Sprawdź SPLIT w helpie Bascoma. Ewentualnie też VAL jeżeli będzie potrzeba.
Niestety ale nie mogę nic znaleźć na temat "bascomowego amplitunera", ale może wiesz skąd można wziąć kod źródłowy ? ----------------------- Już znalazłem ale w tym kodzie pisze że układ wykorzystywany do odbierania radia to OM5610, więc czy to nie ma znaczenia tylko wystarczy odpowiednio podłączyć mój układ czy jednak trzeba coś zmieniać w kodzie ?
Powinno pomóc polecenie locate, i wtedy wypisywanie czegoś na lcd, bez użycia funkcji kasowania wszystkiego na lcdku?
np tak: Config Pinc.5 = Output Config Servos = 1 , Servo1 = Portc.5 , Reload = 4 a potem w kodzie wpisujesz odpowiednie wartości do : Servo(1) = wartość wychylenia to na szczęście w Bascomie proste jak poezja ;) zesztą zajrzyj sobie do helpa Bascom'a - config servos
Dzisiaj akurat potrzebowałem rejestru HC595 do rozszerzenia liczby wyjść użytecznych. Poniżej fragment kodu w bascomie. Przypisane nazwy odpowiadają katalogowym. Zmienną Portx traktujemy jak zwykły 8 bitowy port wyjściowy. Kod z pod etykiety 'obsługa rejestru' wstawiamy w pętli głównej programu, aby rejestr był na bieżąco odświeżany. [syntax=basic4gl]...
Związek odczyt1 z "Z" ma taki iż testuje bity wyczytalem to z pomocy w bascomie. Jestem początkującym więc hcętnie mile widziana porada. A jakiego typu jest Z :?: Byte,Word,itp. Skoro chcesz odczyteć 120 bit ze zmiennej T , to T jest prawdobodobnie typu super-hiper-extra-looooooong :D Żartowałem ;) Poza tym , po co komplikujesz proste zadanie :?: Dim...
Mówisz masz na timerze. $regfile = "m16def.dat" $crystal = 1000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Timer1 = Timer , Prescale = 1024 Enable Interrupts Enable Timer1 Start Timer1 On Timer1 Odmierz_czas Const T = 6942 Config Portb.1 = Output : Portb.1 = 1 : Led Alias Portb.1 Config Portb.2 = Input : Portb.2 = 1 :...
Nic nie trzeba sterować, procesor obsługuje to sprzętowo, odwołujesz sie do tej pamięci jak do wewnetrznej SRAM, tyle że to trwa o 1 cykl procesora dłużej. Ogólnie polecam lekturę [url=http://www.atmel.com/dyn/resources/... s. 24. W Bascom potrzeba jeszcze zdefiniować ten dodatkowy obszar pamięci, tu pewnie się znajdą...
Jak chcesz żeby ktoś ci pomógł to nie bierz punktów za PDFa. Wpisujesz w Google MBI5025 i pierwszy wynik to nota: [url=http://www.prom-electro.ru/document... Na 4 stronie jest tabelka, już prościej się nie da tego przedstawić. OE-uaktywnia wyjścia LE-zatrzaskuje stany wyjść CLK- zegar danych W momentach przejścia CLK z stanu niskiego w...
To możesz zrobić tak: [syntax=basic4gl] Odczytaj_sprzetowy_uart: Dane = "" Do 'Odbierz znak po znaku Kod = Inkey() Dane = Dane + Chr(kod) 'Zapisz w Dane If Dane = "Obroty1" Then Obroty = 1 If Dane = "Obroty2" Then Obroty = 2 If Dane = "Obroty3" Then Obroty = 3 Bufor = Ischarwaiting() 'Zakoncz jeśli brak znaku Loop Until Bufor = 0 Return [/syntax] i...
hmmm no ja to robiłem wtedy w Bascomie mniej więcej tak: ustawiałem sobie tak któryś Timer, żeby przerwanie wykonywało się powiedzmy 64 albo 128 czy ze 200 razy w ciągu czasu trwania jednej połówki czyli w trakcie ok 10ms tak? Gdy pojawiło się przerwanie INTx to odpalałem ten Timer, który zaczynał tykać i wykonywać przerwanie tyle razy ile ustalonych...
Trzeba poszukać falownika z wyprowadzonym sygnałem częstotliwości obrotów. Zwykle obroty są wyświetlane- a skoro tak to można je jakoś odczytać.
Nie zadziała to w tak prostej formie w jakim masz kody. 1. W kodzie 1 musisz ustawić PWM z timera 1 na 10bitowy (masz 8bitowy w konfiguracji). 2. W kodzie 2, nie masz ustawionego PORTC na wejście dla przetwornika. 3. W kodzie 2, samo przypisanie W = Getadc(channel) (po skonfigurowaniu timer1 i zmianie rozdzielczości PWM na 10bit) będzie zmieniało prędkość...
6963 ma własny generator znaków ale można wyświetlać czcionki jako obrazki. http://obrazki.elektroda.net/12_12809231... Małe czcionki pochodzą z wewnętrznego generatora znaków. Duże to odpowiednio poukładane obrazki. Oprogramowanie w Bascomie, sterowanie M16.
$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 '-- Wejscia przycisków Config Portd.2 = Input Config Portd.3 = Input ' -- podciągnięcie Set Portd.2 Set Portd.3 ' -- porty sterowania segmentami LED Config Portd = Output Config Portc.5 = Output Config Portc.4 = Output Config Portc.3 = Output Config Portc.2 = Output ' -- tranzystory Config...
myślę sobie że trzeba tego usarta jakoś wyłączyć żebym móg używać tych portów jako wyjść ... tylko jak drodzy panwie? Od tego są bity RXEN i TXEN w rejestrze UCSRB . Teraz nota katalogowa w dłoń i zmieniamy. Może powinieneś na początku programu skonfigurować port D jako wyjściowy.Próbowałeś? Przecież kolega pokazał, że konfiguruje port!
a ile by cos takiego kosztowało wg.ciebie?
Kod jest już poprawiony. Ten działa w 100% Na pewno nie będzie działał brak zakończenia dwóch warunków w pętli Do -Loop oraz coś bardzo ciekawego : [syntax=basic4gl]Config Rc5 = Pind.2 If Command = 16 Then Portd.2 = 1 [/syntax] Najpierw deklarujesz jako RC5 a potem zmieniasz na nim stan ? . Coś mi się wydaje że za bardzo nie wiesz jak się do tego zabrać...
1. W tym układzie, który zamieściłem podwajacz jest potrzebny, ponieważ "górne" tranzystory IRF potrzebują napięcia na bramce wyższe o kilka woltów niż mają na źródle. Bez podwajacza te tranzystory nie "otworzyły" by się zupełnie i wytracało by się w nich zbyt dużo mocy. Tak naprawdę to można zastosować inną końcówkę do sterowania 3-f, w której takie...
Witam Sprawdź to: $regfile = "m8def.dat" $crystal = 8000000 Config Scl = Portc.5 Config Sda = Portc.4 dim adresw as byte ' adres do zapisu dim adresr as pyte ' adres do odczytu adresw = &B10001001 adresr = &B10001000 do ' I2cstart I2cwbyte adresw ack I2cwbyte &B00000001 ack' Volume bez autoinkrementacji subadresu I2cwbyte &B00000101 ack' 5Db...
Ja wiem, ja wiem ! ;-) W Bascom masz gotowe komendy do nadawania i odbioru danych w standardzie np. RC5, więc możesz sobie zbudować zdalne sterowanie w kilka chwil.
musisz najpierw zrobić sobie do tego pewne założenia - np. ile diod w jednej chwili ma świecić, ile ma świecić w jednym rzędzie itp. itd. - załózmy że masz 10 kolum i 8 rzędów - rzędy podłączasz do jednego portu żeby było łatwiej Ci adresować - zakładam że w jednej chwili świecić będzie jedna dioda w kolumnie - wykorzystujesz generator liczb losowych...
Temat był poruszany w Elektronice PLUS, dodatek poświęcony bascomowi. Był tam projekt nawijarki do cewek. Urządzenie oparte o silnik czterofazowy (6 wyjść) 4 wyjścia z cewek i 2 razy com. Obrót poprzez kolejne włączanie cewek. W przypadku silnika 2 fazowego wymagane jest odwracanie kierunku przepływu prądu. Szczegółów do końca nie znam, do tej pory...
Options--->Compiler--->LCD tam jest 40*2 wiec polecenie Config Lcd =40*2 bedzie poprawne
Bascom zgłasza błąd 63 w linii: Waitt = Int(9000 *(1 - Voltage / 255)) Chyba żartujesz :D BASCOM matematyke ma na poziomie pierwszej klasy szkoły podstawowej. Jedna operacja w jednej linii. Czyli: Wynik = A + B + C Trzeba rozpisać jako: Wynik = A + B Wynik = Wynik + C
...Czy ja podaję prawidłowo wartość zmiennych. Audio jest zminną typu byte a co do wyjść potencjometru to ja podłączam omomierz i nie ma zmian wartości... Pomijam na razie kod , a przyczepie się do pomiaru :) Omomierzem , to sobie możesz ... ale tradycyjny potencjometr. Podaj na wej. H0 VCC , na L0 GND i mierz napięcie na W0. Piotrek
W zalaczniku jest listing do tego. Nr-u EDW tez nie posiadam
Poszukaj czegoś takiego co sie nazywa "mostek H". Znajdziesz na pewno jak sterować kierunkiem obrotów silnika.
zapoznaj się z tym projektem http://www.edw.com.pl/pdf/k10/55_06.pdf cała idea sterowania zawarta jest w podprogramie Foursteps i Ddelay jest to wprawdzie dla 8051 ale to kwestia tylko zmiany nazwy portów oraz podstawowa sprawa typ silnika i jego parametry
Witam ! Chciałeś zmniejszyć liczbę to podałem: Decr odejmij Decr zmniejsza liczbę o jeden. Silnikami krokowymi nigdy nie sterowałem. Pozdrawiam. Stefan gg6293398
Dołóż do tego sterowanie dwóch przycisków które zmieniają zmienną czas w górę i w dół i po kłopocie
tu masz linka do noty katalogowej, tam jest ładnie opisane co trzeba wysłać, żeby sterować daną funkcją http://alfa.iele.polsl.gliwice.pl/elenot... a w bascomie wysyłanie bajtów po i2c jest bardzo proste: i2cstart i2cwbyte 136 'adres tda7313 i2cwbyte [zmienna lub stala] 'tym bajtem będzie się sterowało przedwzmacniaczem i2cstop...
Prawie dobrze. 24 bity przy 400 kHz, każdy bit kodowany na czterech, czyli 96 bitów przy 1.6 MHz. Najłatwiej będzie do tego zaprząc SPI. Użycie UART będzie sporo trudniejsze i nie zawsze możliwe (zależy, jaki UART) - nie radzę, jeśli nie rozumiesz dobrze tego, co robi UART. Jak wygląda ramka - to dokładnie widać w opisie WS2811. Nic tam nie ma poza...
[syntax=c]int Przod = A3; int Tyl = A2; int Lewo = A1; int Prawo = A4; // warunek: if (digitalRead(Tyl) == LOW && digitalRead(Lewo) == LOW && digitalRead(Przod) == LOW && digitalRead(Prawo) == LOW) { // to sie wykona jesli jest spelniony warunek }[/syntax] pilot jest conajmniej niewygodny, kup jakiegos uszkodzonego pada i wmontuj ten pilot do niego.
I jak tam postępy z projektem, udało ci się go zrealizować?, jeśli tak to może byś zamknął temat. Rozumiem że na kliknięcie "pomógł" nie mam co liczyć, bo przecież cel osiągnąłeś, a "jeleń" nie jest już do niczego potrzebny.
No to w takim razie nie wiem o jaki program w BASCOMie Ci chodzi. Do sterowania pętlą PLL jakiś gotowiec by się znalazł ale to tego co szukasz to nie ma. Po prostu masz swój indywidualny pomysł na układ i musisz go zrobić samemu bo nie sądzę aby taki już istniał. Bo chyba nie mówisz o kodzie do PWMa? Tosz to 1 linijka kodu :D
No dobra przed usunięciem widziałem założenia : Atmega8 a piny wszystko jedno gdzie. $crystal = 1000000 $regfile = "m8def.dat" config pind.1 = output ' tu pin diody config pind.0 = input ' tu pin mikroswitcha (klikacza) set portd.0 do if pind.0 = 0 then waitms 25 if pind.0 = 0 then set portd.1 wait 2 reset portd.1 powerdown end if...
Oprogramowanie jest takie samo jak do 3210 i 3310. Różnica występuje w podłączeniu bo zamiast 8 wyprowadzeń 5110 ma 9. Polecam kurs z EP 5, 6, 7/2003. Programy w BASCOM'ie znajdziesz na forum. P.S. Wyświetlacze od NOKII to bardzo krucha materia. Łatwo je uszkodzić więc zapoznaj się z kursem i nie przesadzaj z kontrastem. (Zanim do tego doszedłem wykończyłem...
Miło by było jak byś napisał "co zadziałało". Na Elektrodzie zbieramy doswiadczenia.
A otworzyłeś port? Zobacz sobie przykład do tej kontrolki. Coś takiego znalazłem. Przeanalizuj. Private Sub Command1_Click() CommX1.BAUDRATE = 19200 CommX1.COMPORT = 1 CommX1.OPEN End Sub Private Sub Command2_Click() CommX1.Close End Sub Private Sub Command3_Click() CommX1.SEND Text3.Text + Chr(13) ' send data End Sub...
No masz moją wersje rozwiązania tego problemu. W symulatorze działa. Na uP nie testowałem. [syntax=basic4gl][/syntax] $regfile = "attiny13.dat" $crystal = 1000000 Dim Fp1 As Bit Dim Fp2 As Bit Config Pinb.3 = Input Config Pinb.4 = Input Config Pinb.1 = Output Config Pinb.2 = Output Set Portb.3 'podciagniecie do +5V Set Portb.4 Do If Pinb.3 = 0 And Fp1...
DS1802 to podwójny potencjometr cyfrowy. Również możesz go zastosować. Komunikacja odbywa się za pośrednictwem 3-wire. Microchip produkuje ciekawe kostki z podtrzymaniem nastaw po odłączeniu zasilania (na przykład MCP4261).
Witam ja mam piec z gotowym podajnikiem i procesorem. mieszkam 85 km od domku w którym jeest owy piec i chciałbym sterować nim przez internet tzn. chciałbym postawić obok pieca komputer z dostępem do internetu który cały czas bedzie na chodzie, połączyć piec z kumputerem i przez internet wysyłać polecenia najpierw do komputera a potem do pieca i otrzymywać...
Przecież masz 5 kanałów - wyjścia: OC1A, OC1B, OC2, OC3A, OC3B... Zmienne przedstawiają wartość modulacji w każdym z kanałów z osobna. Wszystkie PWMy są skonfigurowane jak 8 bitowe zatem zakres to 0..255. Ma tak być. Ponieważ nie ma aliasu (jeszcze) PWM2 dla zmiennej COMPARE2 (rejestr sprzętowy OCR2), BASCOM nie rozpoznaje nazwy PWM2. Jak zajrzysz w...
Po pierwsze pochwal się jakimś listingiem z tego co napisałeś i nie działa , gdzieś mi się już przewinął przed oczami taki projekt na elektrodzie i jak pamiętam autor również próbował wymusić napisanie programu . Między szukaniem pomocy a wyręczaniem się innymi jest cienka granica . Tym bardziej zastanawia mnie to ,że cały układ można przetestować na...
powinno to wyglądać jakoś tak: home: do if pin..... =1 then goto przod elseif pin ...=1 goto tyl end if loop przod: Do Waitms 1 Incr Pwm1a End If end if loop tyl: set port.... 'przekaźnik zmiany biegunów silnika Do if pin..... = then reset port.... pwm1a=0 goto home: end if . . Waitms 1 Incr Pwm1a End If end if loop tyl: Do if pin........
Wszystko zależy jaki masz falownik. W pracy używamy falowników z Apatora, mają one zarówno wejście analogowe które Atmega wysteruje bez problemu(wystarczy dołożyć filtr do PWMa i odpowiednio ustawić falownik), jest też interfejs RS485 który także można wykorzystać ale to byłoby już trudniejsze niemniej wykonalne. Tak czy siak wszystko do zrobienia :)
Witam, proponuję przede wszystkim zrobić odbieranie kodów z pilota na przerwaniach: najpierw deklaracja na początku: On Int1 Int1_rc5 ' obsługa odbioru kodów z pilota Getrc5 Config Int1 = Low Level ' wyzwalanie przerwania niskim poziomem Enable Int1 czyli podłączasz odbiornik IR np do nogi INT1 Int1_rc5: If Flaga_rs = 0 Then Disable Int1 Enable...
gdzie jest błąd Nie znam BASCOM'a więc mogę się mylić... ale wydaje wydaje mi się, że tu:[syntax=basic4gl]If = S1 = 0 Then[/syntax] ;]
Na moje oko wygląda to tak, że może zanika zasilanie daj jakiś elektrolit przed stabilizator z jakieś 200uF lub więcej. Program wygląda na działający. Może to co włączasz przekaźnikami na chwilę mocno obciąża zasilanie. Zamiast przekaźników podłącz diody i zobacz czy świecą tak jak powinny... Na symulatorze oba programy chodzą jak powinny sprawdziłem.
Przesunięcie to może źle powiedziane ale opóźnienie jakie powstaje między rzeczywistym przejściem przez zero a tym kiedy dostajemy sygnał. Skąd się bierze ? A no stąd, że dioda nie gaśnie dopiero przy prądzie równym 0 i nie zaświeca się gdy tylko wzrośnie on powyżej 0. Układ wyżej owszem jest bardziej skomplikowany ale z tego co sprawdziłem organoleptycznie...
z pwm2 faktycznie nie działa , ale ocr2 tak
Jak zdefiniować określoną nazwę i typ (rozmiar danych). Jestem kompletnie ciemny z tych zmiennych. . To lepiej poproś , by ktoś napisał to dla(za) Ciebie. W schemacie jest błąd (dioda D2) , a i program też niekompletny(nie można wyłączyć zasilania uzwojeń silnika , z poziomu programu). Pozdrawiam Piotrek
http://www.elektroda.net/download/0504/B... w spisie tresci sobie juz znajdziesz:)
Dział dot. mikrokontrolerów: http://www.elektroda.pl/rtvforum/forum12... Wybierając język wybierz C, a w ostateczności Arduino. BBB* * Broń Boże Bascom :)
Za mała wydajność prądowa wyjścia logicznego w uC?
Witam, przedstaw kod jakim się posługujesz do komunikacji z przetwornikiem oraz schemat układu, będzie łatwiej zlokalizować problem. Pozdrawiam, aleexander
1. Opcja Szukaj znajdzie jedną z moich wypocin na temat CONFIG SERVOS. 2. Opcja Szukaj znajdzie jedną z moich wypocin, które są helpem do BASCOM-a w języku polskim.
Masz przecież kartę katalogową, tam jest powiedziane jak sterować układem.
sterowanie fazowe bascom bascom sterowanie serwomechanizmów bascom sterowanie fazowe
deska rozdzielcza punto kontrolki podświetlenie łącznika blaupunkt pobór prądu
moduł komfort termet quadral wzmacniacz
Połączenie z serwerem Satel - problem na jednym komputerze Vitodens 100-W B1HF a kompatybilność z OpenTherm