int nazwa[10]; int X; printf("Którą zmienną chcesz zwiększyć o 1?"); scanf("%d", &X); nazwa[X]++;
ad 1:Podaj F rezonatora np. 8mhz config timer1 = timer,prescale 256 'konfiguracja timera load timer1 , 31250 'załadowanie timera 1s on timer1 odliczanie 'określenie która procedura ma byc wykonana co 1s enable interrupts 'właczenie przerwań enable timer1 'właczenie timera1 dim twoja_zmienna as long ' twoja pętla do "jakis tam twój program" loop odliczanie:...
Czy zmienna kierunek jest globalna i volatile? Już po pierwszym przerwaniu powinna przyjąć wartość 1 lub 2, a nie być cały czas 0. Czy zaobserwowałeś zwiększanie wartości zmiennej enkoderA ?
Witam. ... Freddy - twój plik też testowałem i wszystko ładnie wyświetla (litery) natomianst nie wiem jak za pomocą tego programu wyświetlić jakąś zmienną typu byte. Tak jak wcześniej pisałem wskakiwanie do podprogramu powoduje zbyt wolne zwiększanie wartości zmiennej którą zmieniam z przycisku. Czy można ten cały podprogram przenieś do głównego programu...
Rozumiem że coś w przerwaniu zrobić chcesz, ale ciekawe jak to sprawdzasz (tę dokładność) Może najpierw zwiększasz w kodzie zmienna a potem dopiero każesz ustawiac jakiś pin którym to mierzysz? Może na odwrót, najpierw pin a potem zwiekszanie zmiennej bo zwiększanie może się czasowo różnić w zależności od wartości.
Zastosowanie timera samo przez się (chyba, że jest inaczej) jest znakiem, ze czynności okresowe mają być wykonywane przy poszczególnych tyknięciach a nie hurtowo 1600 sprawdzeń po jednym tyknięciu lub co gorsza cały czas. Kod z trzeciego postu jest chyba najbliższy oczekiwaniu, tylko usunąć z niego linijkę z pętlą która powtarza pierwszy warunek, oraz...
wysyłka pliku z urządzenia może być z prędkością 6kB/s Czyli maksymalnie 6kB/s * 60(s) * 60(min) * 24(godz) ~= 0.5GB/dzień W wyniku wykonania pomiaru tworzy się plik o zmiennej wielkości 15-40MB. Takich pomiarów może wykonać od 300-500 na dobę pojedyncze urządzenie. Czyli pesymistycznie 500*40MB = 20GB/dzień, optymistycznie 4.5GB/dzień... Jakby skrypt...
Witam! Tworzę aplikację, w której muszę co tydzień dodawać do zmiennej 1. Nie mam pomysłu, a timer na tydzień to chyba nie za dobry pomysł. Dodatkowo, chciałbym aby aplikacja nie wyłączała się całkowicie po zamknięciu jej, tylko w tle sobie odliczała do następnego poniedziałku. Da się tak zrobić?
Witam! Podaję jedno z rozwiązań. [syntax=c]#include <stdio.h>/* tutaj funkcje we/wy */ #include <stdlib.h>/* tutaj funkcje losowe */ #include <math.h>/* tutaj funkcje matematyczne */ #include <time.h>/* tu funkcje dotyczace czasu */ #define PI 3.14 #define PRECYZJA 1000.0 int main(void) { int ilosc_krokow; int i; int a; double...
No i nie udało mi się tego zrobić na Timer0- on sie kręci bez przerwy a ja potrzebuję włączyć i wyłączyć timer. Tak że na razie na Timer1- szkoda bo 16 bitów- ale zrobię na Timer2. Spokojnie użyj Timer0, który będzie zgłaszał przerwanie np. co 1ms. W procedurze obsługi tego timera dekrementuj zmienną, jeśli osiągnie 0 to należy zatrzymać dekrementowanie,...
Oczywiście, że warto go odratować. Źródła w Basicu w wersji V4 są na Elektrodzie. Po lekkim uporządkowaniu wrzucam poniżej. [syntax=vbnet]$regfile = "m8535.dat" $crystal = 8000000 Config Clock = Soft , Gosub = Sectic Config Sda = Portd.1 Config Scl = Portd.0 Config Timer1 = Timer , Prescale = 64 Config Timer0 = Timer , Prescale = 64 On Timer1 Dcf_start...
Niestety przy takiej prędkości obrotowej enkoder nie "łapie" już wszystkich punktów. Jeśli dobrze rozumiem, to chodzi Ci o to że nie widzisz wszystkich liczb co jeden po drugiej stronie portu szeregowego. A to akurat nie jest niczym dziwnym bo klasa Serial zapewnia (na UNO) transmisję mniejszą niż 50 tysięcy znaków na sekundę. A Ty potrzebujesz (600RPM/60s*720imp)...
Wewnętrzny zegar jest na tyle mało dokładny, że aby można było nim coś zmierzyć, należało by ustalić jego dokładną częstotliwość porównując z jakimś wzorcem, po czym zapisać poprawkę do osccal albo uwzględnić to w czasie przepełnienia t1 - a i tak dokładność nie będzie duża ze względu na wachania częstotliwości. Warto poczytać w dokumentacji jaką dokładnie...
Rezystor kolektorowy Rc służy też do ustalania wzmocnienia napięciowego i rezystancji wyjściowej. Czym większa rezystancja w kolektorze Rc tym większe wzmocnienie, i tym większa rezystancja wyjściowa która wynosi Rwy=Rc. Rezystancja w emiterze ma tez wpływ na wzmocnienie napięciowe które wynosi Ku=Rc/Re . Czyli jak damy rezystor w emirze równy Re=1k...
Witam, Jestem początkującym w dziedzinie programowania PLC. Chciałbym zrealizować program który przy kliknięciu przycisku (+) zwiększa mi wcześniej zadaną wartość np o 100, no i w drugą stronę - przy kliknięciu (-) zmniejszenie o 100 aktualnej wartości. Jakich bloków powinienem użyć? W jakim języku proponujecie tworzenie takich programów: FBD czy np...
Dzięki johny_w Tylko że problem nie leży w drganiach styków. Ten pseudo timer, jak misze Pan Mirek, załatwia temat drgań styków. Jak przyjrzysz się funkcji, to w momencie przyciśnięcia przycisku następuje zwiększanie lub zmniejszanie zmiennej "temperatura" o 1. Ale jeśli go przycisnę i nie puszczę, to zmienna się napędza w górę, lub w dół w zależności,...
Chciałbym dzisiaj przybliżyć Wam trochę tensometr, który czasem jest również nazywamy: czujnikiem tensometrycznym, belką tensometryczną czy też czujnikiem naprężeń. Będzie tutaj trochę teorii i praktyki. Zostanie tutaj opisany chyba najbardziej popularny tensometr czyli tensometr oporowy. https://obrazki.elektroda.pl/8825635100_...
http://obrazki.elektroda.pl/4339422600_1... To moja trzecia konstrukcja na FPGA ;) pierwszy był trywialny zegarek na kilku licznikach, a potem prosty kalkulatorek dodający dwie liczby. Tak więc proszę o konstruktywną krytykę i porady, co by tu można jeszcze ulepszyć. FPGA ciekawi mnie już od jakiegoś czasu, ze względu na to, że można...
Polecam kurs PHP na stronei webhosting.pl :)
http://obrazki.elektroda.pl/3094119600_1... W obliczu tego że przez dłuższy czas posiadałem kilka niepotrzebnych mikrokontroklerów Attiny2313 i dwa duże wyświetlacze LED postanowiłem je w jakiś twórczy sposób wykorzystać. W ten sposób wpadł mi do głowy pomysł na zbudowanie urządzenia przeznaczonego do przeprowadzania teleturniejów....
Mój pierwszy kontakt z OpenBeken miał miejsce, gdy dostałem nieoczekiwane wtyczki Smart z LN882H. Aby w pełni z nich skorzystać, należało uwzględnić BL0937, co wymusiło włączenie innych sterowników, zwłaszcza NTP. Jasne, nie można śledzić statystyk energii bez czasu, ale narodził się pomysł, aby dodać zegar bez NTP. Istnieją pewne wady, zwłaszcza to,...
Projekt płytki drukowanej często determinuje sukces lub porażkę projektu, szczególnie takiego jak zasilacz impulsowy. Determinuje on nie tylko zachowanie funkcjonalne układu, ale także jego parametry elektromagnetyczne (EMI) i termiczne. Jest to szczególnie istotne w przypadku zasilaczy impulsowych, jednakże często projektanci tych układów nie przywiązują...
http://obrazki.elektroda.pl/2645142000_1... Sterownik diod LED został wykonany w celu automatycznego lub zdalnego sterowania oświetleniem LED w zależności od jasności w danym pomieszczeniu. Układ sterowania oparty jest o mikrokontroler ATmega16/ATmega32 firmy Atmel, który w zależności od oświetlenia w danym pomieszczeniu steruje jasnością...
Witam ponownie. Wprowadziłem jeszcze kilka usprawnień w programie odtwarzacza po ponad trzymiesięcznym, intensywnym jego eksploatowaniu. Podyktowane to było faktem zakupu kolejnej karty SD (SDHC 8GB Kingston, niby Class 4, w czarnej obudowie), która, jak się później okazało, miała bardzo długi czas oczekiwania na wystawienie pierwszego bajtu poprzedzającego...
https://obrazki.elektroda.pl/2568884200_... Witajcie moi drodzy Zapraszam na kolejną część mojego tutoriala PIC18F2550 i kompilatora SDCC . W tej części zademonstruję jak używać wyświetlacza 7-segmentowego z PIC18F2550 . Kod obsługi wyświetlacza będzie oczywiście napisany w oparciu o przerwania i timery . Cały proces powstawania układu...
Witam zrobiłem sobie zegar widmowy na Arduino Nano - kod z internetu i schemat połączeń również, ja do tego zrobiłem płytkę PCB oraz zasilanie za pomocą transformatora powietrznego czyli bezprzewodowe. Ogólnie działa zegarek jednak ma jeden problem, do zegara trzeba dostosować precyzyjnie prędkość silnika, zastosowałem wobec przetwornicę z ustawianym...
Zwiększanie wartości zmiennej w zasadzie wygląda wszędzie podobnie: zmienna = zmienna + <o ole zmienić>; Z dokładnością do składni języka wygląda to tak samo. W C wprowadzono pewne uproszczenie i powyższe można zapisać: zmienna += <o ile zmienić>; Ponieważ często <o ile zmienić> ma wartość 1 więc wprowadzono jeszcze operator ++ ale...
Umieszczam kod, Podłączenie wyświetlaczy, wspólne katody na pinach A0, A1, A2, A3 (dziesiątki godzin, godziny, dziesiątki minut, minuty), segmenty odpowiednio na pinach od 4 do 11 odpowiednio, A, B, C, D, E, F, G, DP. Na przerwaniu realizowane jest tylko przełączanie stanu dwukropka (mruganie co pół sekundy), multipleksowane wyświetlanej cyfry i zwiększanie...
(...) { speed = mappedValue; // Ustawianie prędkości, gdy wartość przekroczy martwą strefę } else { speed = 0; // Ustawianie prędkości na 0, gdy wartość znajduje się w martwej strefie } digitalWrite(STEP_PIN, HIGH); delayMicroseconds(speed); digitalWrite(STEP_PIN, LOW); delayMicroseconds(speed); } } Witaj! Rozumiem Twój problem z buczącym silnikiem...
Witam. Muszę narysować schemat blokowy do danego programu oraz skonstruować opis słowny algorytmu. Zrobiłem owy schemat wraz z opisem aczkolwiek nie wiem czy są one dobrze zrobione. Prosiłbym o szybką pomoc w miarę możliwości w tej sprawie. Poniżej wrzucam : *kod (c#) *zadanie *skonstruowany przeze mnie zapis słowny (WE: N liczba określająca rozmiar...
zapis writeeeprom zmienna , adres odczyt readeeprom zmienna , adres Musisz pamiętać ile bajtów zajmuje zmienna którą zapisujesz i o taką wartość zwiększyć adres przy zapisie / odczycie następnej zmiennej Jeśli zmienne typu Byte , adres zwiększasz o 1 Jeśli zmienne typu Word , adres zwiększasz o 2 Jeśli zmienne typu Integer , adres zwiększasz o 2 Jeśli...
1. a czy sprawdziłeś to co podałem Ci jako możliwe przyczyny? Bo moim skromnym zdaniem to jest powód problemów, i jestem skłonny dziwić się, czemu to zadziałało na mega32... 2. sprawdź sam timer, daj w nim np. za każdym razem zwiększanie zmiennej o 1 (np. utwórz dim zmienna as integer) i wyświetlanie jej na lcd - jeśli będzie się zmieniać to znaczy,...
Wiem że można dołożyć więcej pętli , wykorzystać komendy bascoma ale czy to wygeneruje idealnie 36kHz czy trzeba się będzie bawić w analizę czasową? Podejrzewam że odchyłka będzie jeszcze większa a TSOP tego nie lubi. Na jeden przebieg 36kHz procesor przy zegarze 4,8MHz potrzebuje około 128 taktów (64 dioda włączona, 64 wyłączona) teraz każde wejście...
W obsłudze przerwania zupełnie niepotrzebnie dałeś opóźnienie _delay_ms(500) A jeśli chodzi o zwiększanie wartości zmiennej led_display to przed instrukcją break; zwiększasz wartość zmiennej przez instrukcję led_display++; (ta instrukcja to inkramentacja czyli zwiekszanie zmiennej o 1). Dopiero gdy jesteś w ostatniej instrukcji case np case 3 to do...
Nie ma się co poddawać. Prędzej czy później i tak będziesz musiał używać przerwań i liczników bo bez tego większość programów robi się zagmatwana o ile nie niemożliwa do napisania. W necie jest dużo przykładów, Bascom jest o tyle prosty, że nie grzebiesz po rejestrach. Timer już masz, dodatkowa linia konfiguracji i kawałek kodu da Ci obsługę przerwania...
Do tego stopnia sobie poszalałem, że początkowo główna pętla programu była pusta :) ale to nie był dobry pomysł :P . No nie. Generalnie, w przerwaniu powinno być to, co się powinno wykonywać albo a) bardzo często, albo b) bardzo precyzyjnie (czasowo lub zdarzeniowo). Procedura obsługi przerwania powinna być tak krótka (inaczej: tak szybka), jak się...
To prawda, że obsługa przerwania wydłuża czas instrukcji Wait. Tyle, że tutaj instrukcja stosowana w pętli głównej ma spowalniać zwiększanie lub zmniejszanie zmiennej następujące w konsekwencji nacisnięcia przycisku. Kontrola zwiększania lub zmniejszania wartości zmiennej jest jak rozumiem wzrokowa, więc i wydłużenie instrukcji Wait (niewielkie jak...
Nie będę tłumaczył linijka po linijce to bo to bez sensu. Po co miałem definiować S1 jak o Port? Jak wciśniesz Down to sprawdza czy S1 = 0. S1 będzie równe 0 gdy przycisk wcześniej nie był wciśnięty. Jak nie był wciśnięty to zaznacza że już jest wciśnięty (S1 = 1) i zwiększa zmienną X. Przy kolejnym sprawdzaniu stanu przycisku dojdzie do wniosku że...
Jednoczesny odczyt wszystkich 4 linii od tego bym zaczął, potem sprawdzanie pojedyńczo tych bitów i zwiększanie zmiennych czas1,czas2,czas3,czas4, jednocześnie zerujemy odpowiedni bit zmiennej 'gotowe 'xxxx1111' jeśli zakończy się '1' na linii. Na końcu cyklu sprawdzamy czy zmienna 'gotowe' jest zerem jeśli tak (były już 4 impulsy), to wychodzimy z...
Oto cały program. Może długo zająć jego analizowanie. W takim razie nie ma co analizować. Uprość program na maxa. Zrób np. jakieś zwiększanie zawartości zmiennej i wyświetlanie jej na LCD. Wtedy będzie prościej (w zasadzie zupełnie prosto) dojść czy winny jest program czy sprzęt.
Zasiedziałem się trochę i porobiły się błędy. Zmieniłem co trzeba, fragment kodu wygląda mniej więcej tak: D1 Alias Portb.1 ... Dim A As Byte ... Do ... Elseif Pind.1 = 0 Then Toggle D1 A = A + 50 Waitms A Elseif Pind.1 = 1 Then Ml1 = 0 Mr1 = 0 Ml2 = 0 Mr2 = 0 D1 = 0 ' Wykluczenie możliwość wystąpienia stanu 1 po Toggle End If Loop ... End *W miejscach...
Faktycznie, zapis jest mało gramatyczny. Tak w ogóle - co to jest to m ? bo nie ma we wzorze... :| Może to powinno brzmieć "dla m dużo większe od 1 oraz losowego t z przedziału -4 do 6"... Bo jeśli przyjąć "m losowych wartości" to nie wyobrażam sobie jak niby wykonać 3 pomiary dla m losowych wartości - to by się sprzeczało ze wzorem. Tak przy okazji...
Natomiast czy będziesz miał w wozie opony o szerokości 155 czy 205 to nie ma to związku. Ale pier....... zmiana opon z 195 na 205 tej samej marki na tej samej drodze daje widoczne zwiększenie siły hamowania. Tak samo ze średnicą z tu nawet szybciej rożnie siłą hamowania niż średnica opon. Nie widzę związku fizycznego. Zobacz jaką szerokość kół ma walec...
W procedurze/podprogramie obsługi przycisku wciśniętego zwiększaj zmienną o 1 a w programie głównym, czy też tam gdzie to jest potrzebne, wykonuj program w zależności od tej zmiennej, np. wykorzystując SELECT CASE.
Jeśli bez timerów to zadeklaruj 4 zmienne typu long ( dla odliczania dużych wartości - to będą czasy przerw ) i 4 zmienne typu byte (czas impulsu) zerujesz zmienne przed pętlą . W pętli incrementujesz kolejno te cztery zmienne. sprawdzasz komendą if czy kazda z nich osiągneła założoną wartośc (czas przerwy) . Jeżeli tak to : zerujesz zmienną , incrementujesz...
Cześć wszystkim :) Od jakiegoś czasu intensywnie pracuję nad komunikacją pomiędzy kilkoma AVR'ami, a PCtem. Różne rzeczy już tu na Forum omawiałem i wiele głupich błędów dzięki Wam poprawiłem :) Jednakże dalej mam pewne problemy, nie zawsze transmisja działa prawidłowo i szukam przyczyny dlaczego. Nieprawidłowość polega na tym, że po prostu staje wszystko...
Myślałem nad takim rozwiązaniem tego: Pojawia się impuls na wejściu z fotorezystora i włącza się timer. W ciągu np. 3 sekund impulsy są zliczane (poprzez zwiększanie wartości zmiennej wewnątrz pętli sprawdzającej stan portu), po czym timer zostaje zatrzymany. Na podstawie ilości otrzymanych impulsów w ciągu 3 sekund oraz ilości otworów na tarczy można...
Witam Mam pytanie dotyczące obsługi encodera... Próbuje napisać programik którego działanie ma wyglądać następująco Obracam encoderem w prawo lub w lewo na wyświetlaczu na pierwszej pozycji zmieniają się kolejno cyfry od 0 do 9 lub odwrotnie w pętli. Przy zmianie kierunku pierwsza cyfra na wyświetlaczu zostaje "zamrożona" a zmianie podlega druga cyfra,...
Efekt milera to "pozorne" zwiększanie pojemności Ccb "ku" razy w przypadku układu WE. Która dodaje się do Cbe. A w układzie WB efekt milera nie występuje bo baza dla składowej zmiennej jest zwarto do masy. Więc pojemność Ccb nie jest zwiększana. http://pl.wikipedia.org/wiki/Efekt_Mille...
Nie widzę instrukcji konfiguracji portów MOSI i SS dla mastera. Mimo touruchomiłem symulację, ale na Atmega8 (to chyba nie ma znaczenia) z SS mastera podpiętym do VCC i mimo nieskonfigurowanych wyjść przebieg zaczął się zmieniać. Po zweryfikowaniu kodu mastera wiem, że chodzi o zwiększanie co sekundę zmiennej i rzeczywiście ładnie to widać na oscyloskopie...
zwiększanie wartości zmiennej zwiększanie ciągu zwiększanie średnicy
z18xe astra android ustawić apollo multimedia
STIHL HSE 71 – nie pracuje element tnący, diagnoza i naprawa nożyc elektrycznych Punkty masowe w Toyocie Yaris - lokalizacja i znaczenie