Za każdym razem jak uruchamiasz tę funkcję zmienna x jest na początku ustawiana na wartość 0. Przenieś deklarację zmiennej x poza funkcję (ma to być zmienna globalna).
Zastanawiam się nad sterowaniem grupą pinów. 1. Jak jest najlepsza metoda, aby większej ilości pinów przyporządkować pewną - tą samą - wartość? Wiem, że to można rozpisać w programie krok po po kroku, ale chodzi mi o zwięzły program. 2. Podobnie, ale na przykłąd chciałbym po kolei zwiększać wartość na poszczegolnych pinach - a mam ich 13 do ogarnięcia...
https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
http://obrazki.elektroda.pl/5924959500_1... Witam ponownie! Kilka dni temu chwaliłem się projektem "PALM v1.0 BETA Atmega128", a dziś chciałbym przedstawić komputerek do motoru lub roweru jaki zrealizowałem już jakiś czas temu na zamówienie. Urządzenie miało zastąpić oryginalne psujne, mechaniczne zegary. Funkcje i założenia: *Wyświetlanie...
To jest kamera analogowa. Jej podłączenie do Arduino będzie dość trudne. Choć nie niemożliwe skoro wymagasz tylko małych rozdzielczości. Kiedyś udało mi się zrobić na AVR układ odbierający sygnał Composite Video (czyli taki jaki masz tutaj) o rozdzielczości około 170x130 pixeli (pomijał większość linii). Tutaj wspomagający układ analogowy którego użyłem:...
Zrobiłem jak pisał Driver, odłączyłem wejście sygnału do LM7001 i podłączyłem sterowanie nap. warikapów przez potencjometr. Przy ok.2,2V miałem f=132MHz a przy ok.7,2 f=136MHz to by było z zapasem dla odbioru i ok.11,5 f=146. Ponownie podłączyłem zgodnie ze schematem, nie zaskoczyła... Myślę że podanie częstotliwości ze skanera nie ma co sprawdzać,...
https://obrazki.elektroda.pl/8003230600_... Po umieszczeniu materiału o porównaniu częstotliwości Napiszcie co myślicie o takiej metodzie. Wróciliśmy do tematu https://obrazki.elektroda.pl/3296797900_... Wejście sygnału mierzonej częstotliwości podamy na TIM2 CH2 czyli PA1 na płytce oznaczone jako A1. Nie będziemy...
https://obrazki.elektroda.pl/1761046600_... Pokażę tu jak uruchomić z Arduino czterocyfrowy wyświetlacz 7-segmentowy sterowany poprzez rejestr przesuwny 74HCT164 i cztery tranzystory BC546. Płytka z wyświetlaczem znów będzie odzyskana z elektrośmieci. Będzie to już kolejny temat, w którym uruchamiam wyświetlacz, gdyż omawiałem już...
https://obrazki.elektroda.pl/3536273200_... Enkoder obrotowy - impulsator - jest doskonałym urządzeniem wejściowym do sterowania np. menu w interfejsie urządzenia. W poniższym tutorialu opiszemy, jak wykorzystać typowy impulsator w połączeniu z modułem Arduino. Krok 1. Obejrzyj film Jeśli nie chce Ci się czytać całego poniższego tekstu,...
Kolego "Sas_AS" poniekąd na samym początku dokonywania swojego eksperymentu pomiarowego wyszczególniłeś popełniane błędy : "rezystor mocy" to fajna "grzałka" 10 ohm 50 wat, tranzystor npn wytrzymał 120W przy 40V 3A (bez "grzałki", ogranicznik prądu jest w zasilaczu), zaraz spróbuje wycisnąć więcej. Jedynie co mi nie pasuje to wzmocnienie, ale pewnie...
Wybacz, że nie rozumiem wielu rzeczy. To pierwsze w sumie spotkanie z arduino. Tak, potrzebuje dwa kierunki, bo walek do ktorego będzie przylorzony enkoder potrafi (na postoju) minimalnie sie cofnac i jesli nie zmniejsze tego licznika w tedy, to po ruszeniu do przodu, przekaznik bedzie w innym "miejscu" się załaczać. Co do wałka do ktorego bedzie przyłożony...
https://obrazki.elektroda.pl/5254520800_... Pokażę tutaj jak można masowo konfigurować i kontrolować urządzenia IoT z wgranym oprogramowaniem cm , natomiast zmienną cmnd, to co w niej zawrzemy zostanie wykonane przez urządzenie. Wszystkie skrypty będę uruchamiać na platformie Windows , ale na Linuxie wyglądałoby to analogicznie, tylko...
A może wystarczy: PWM_FREQ=krok(np 10)*zmienna i potem incr zmienna
Więc czym się różni ręczne wpisywanie do portu, a czym się to rożni gdy działa pętla ? Może tym, że w pętli robisz to kilka tysięcy razy, do tego szybko? Ręcznie robisz raczej mniej, a na pewno wolniej. A może tym, że kiedy wpisujesz ręcznie, to program czeka na zdarzenie, i w tym czasie zajmuje się wykonaniem tego, co kazałeś wpisać do portu, a jak...
Liczba z millis() jest 32 bitową liczbą całkowitą, każde obliczenia powinny być w tych liczbach (UL, uint32_t, unsigned long) lub na nie rzutowane. Interwał ustawia się tak by można było ogarnąć czynność o najkrótszym trwaniu, jeśli chcesz to wykorzystać tylko do odliczenia minut to mogą być sekundy (1000) lub minuty (60000), a jeśli również dla przycisku...
Witam! Uczę się programowania w BASCOM i mam problem z procedurami. Chciałem sobie napisać procedurę tak jak w kodzie, który podałem niżej aby zwiększać wartość zmiennej A. Program działa, zmienna się zwiększa ale wyświetlacz jakoś dziwnie mruga. Gdy procedurę wyjmę z pętli to jest dobrze z wyświetlaczem, ale za to zmienną A zlicza tylko od zera do...
Witam, Zbudowałem kiedyś sobie prędkościomierz cyfrowy do auta. Działa on tak, że w przerwaniu zwiększam wartość licznika i co 1s przeliczam ilość zebranych impulsów na prędkość i wyświetlam na wyświetlaczu. Teraz chcę sobie zrobić tak, że w przerwaniu będę z każdym impulsem zwiększał wartość zmiennej, a jak nazbiera się ich powiedzmy 15 to zmierzę...
Witam. Mam wydaje mi się błahy problem, ale pomimo wertowania forum nie mogę sobie z nim poradzić. Otóż chodzi o to, że mam funkcję w której chcę zwiększać zmienną. Z niewiadomych przyczyn zmienna zostaje wyzerowana po wejściu do funkcji oraz przed wyjściem z niej. Funkcja mniej więcej taka: [syntax=c]int zmienna=0x00; int funkcja(int zmienna) { DDRD|=0x0F;...
Jak zrobić by zmienna x zwiększała mi się co sekundę? Na logikę takie coś byłoby dobre DWORD Czas=GetTickCount(); if (Czas > 1000) //1000milisekund to sekunda { x++; Czas=0; } ale nie działa. Bez względu na to jaką wartość wpiszę to i tak w takim samym odstępie czasu się zwiększa. Potrzebuję czegoś co by zerowało mi aby...
Masz tak- zegar odmierzający 1s. A co by szkodziło gdyby odmierzał co 100ms. Albo co 10ms czy 1ms. Wtedy w każdym przerwaniu można zwiększać jakieś zmienne i dopiero gdy osiągną zadaną wartość wykonywać jakieś funkcje. Wtedy zamiast _delay() możesz sprawdzić czy zmienna osiągnęła jakąś wartość i dopiero wtedy wykonać jakąś funkcję. Bo _delay() to jest...
Witam. To zależy z jaką częstotliwością przychodzą impulsy. Jeżeli przychodzą dośc wolno to można impulsy podać na wejście przerwania a w obsłudze zwiększać wartość jakiejś tam zmiennej o jeden. Jeśli są one dość szybkie to można np. skonfigurować licznik żeby zliczał je i co 10 dawał przrwanie, a w przerwaniu zwiększać zmienna o 10. W tej metodzie...
Witam, co do wyboru procka, to przy jednej szt. prototypowej i to jeszcze przy małym doświadczeniu w pisaniu oprogramowania, to czym większy tym mniej problemów w trakcie realizacji. Gdy już mamy powiedzmy działający program w całości, wtedy można rozważyć zmianę na mniejszy, ale tylko wtedy gdy jest to uzasadnione, np. nowa mniejsza płytka lub wykonanie...
Skupiam się cały czas na tym obrotomierzu i nerwicy dostaję bo wszystko co znajdę jest na Bascomie a nie na "C". W przerwaniu INT0 dałem zmienną impulsy (int): //obsluga przerwan INT0 (dla prawego cylindra) SIGNAL (SIG_INTERRUPT0) { //liczenie impulsow do zmiennej "impulsy" impulsy++; //otrzymalem sygnal ustawiam na porcie...
Poczytałem trochę o atomowym dostępie i o ATOMIC_BLOCK. Wynikało by że: jeżeli moja zmienna war_pom jest testowana w warunku logicznym to trzeba w sposób atomowy przepisać jej zawartość do zmiennej pomocniczej. Lecz program po wgraniu zachowuje się nadal tam samo, czyli: mogę zwiększać wartość zadaną ale często gdy kręcę enkoderem to wartość jest nie...
Bufor kołowy ma mieć ogon i głowę. Każdy zapis do bufora ma zwiększać wartość głowy a każdy odczyt ma zmniejszać. Jak się zrównają- to alarm. To jest tylko jedna z przykładowych implementacji, która nie może dopuścić do zrównania się, bo wtedy jak rozróżnić czy bufor jest opróżniony, czy przepełniony ? Osobiście preferuję taką implementację, w której...
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...
Panowie, szanowni koledzy.... Powiem szczerze chyba ktoś mnie, źle rozumie... Tą klawiaturke znam i właściwie w swoim działającym układzie wykorzystuję jeden PCF więc sama klawiaturka ograniczona jest do 8 przycisków. Ona działa i ma się dobrze. Mnie chodzi o coś takiego... podłączam do jednego portu procesorka układ np DS2405 i odczytuję jego adres...
Moje następne pytanie z kolei jak ustawić sobie zmianę per aby przekładało się to na liniową zmianę częstotliwości. np 3200 mam około 50 Hz 6400 około 25Hz, PER na 14883 daje jakieś 11Hz, a PER 64745 daje 2.14Hz.. częstotliwość maleje 2 razy po zwiększeniu per razy 2 jak by to zapisać dla jakiegoś progu wyrażonego w x HZ lub 0.x HZ abym można było...
Piszę program na ATtiny2313 w AvrStudio. Mam najnowszą wersję kompilatora, podobnie jak WinAvr'a. Kod będzie "mrygał" zestawem diód. Na porcie przerwania jest przycisk, którym będzie można zwiększać wartość opóźnienia, z jakim mają się zapalać diody. Program reaguje na samo przerwanie #include <avr/io.h> #define F_CPU 1000000UL #include <util/delay.h>...
Mam problem z filtrowaniem. Jak by to był zwykły sygnał to problemu by nie było. Rzecz w tym że sygnał może się przewinąć. Chodzi o sygnał z kompasu. Mianowicie sygnał może się przewinąć z 359 do 0 i z punktu widzenia kąta jest to zmiana o 1* a nie o 359* i nic nadzwyczajnego nie powinno się stać. Niestety staje się. Sygnał z kompasu wygląda tak: http://obrazki.elektroda.net/63_12638268...
Witam Wiem, że temat przycisku jest mocno nadwyrężony, ale ... Program ma jednym przyciskiem przy dłuższym przytrzymaniu zwiększać i zmniejszać wartość wyjścia PWM ( na zmianę ) lub przy krótszym włączyć/wyłączyć, czyli pwm1a = 0 lub pwm1a = 255. Każda z tych funkcji osobno działa ok, ale razem działa tylko włącz/wyłącz przy krótszym przytrzymaniu W1,...
Teraz zrobiłem tak: //ster_silnika()- funkcja mająca powodować stopniowy wzrost i malenie prędkości obrotowej silnika krokowego //w prawo i w lewo //g_accel_decel_counter- zmienna której wartość wpisujemy do licznika2 //advance_step()- funkcja sterująca krokami- działa dobrze //flaga_napięcie_foto- na którym fotooporniku jest większe...
Witajcie, mam problem nad którym siedzę juz kilka dni i zatrzymałem się nie wiedząc gdzie tkwi problem. Otóż chcę obsługiwać zegar RTC PCF8563 po I2C - czytać i zapisywać z niego dane (datę i czas). Projekt mam podzielony na kilka plików, całość pisana w Code Blocks 10.5 i kompilowana w AVR GCC. Mam zdefiniowaną strukturę do zapisu danych z zegara do...
Witam mam kolejny problem z nieszczęsną atmega128. Napisałem program który działał na ATmega16 i chciałem go przenieść do atmega128 no i jest problem. Program w ogóle nie działa. W przerwaniu powinny się zwiększać wartości zmiennych. Niestety chyba nie zwiększają się :/ program wchodzi do przerwania bo wstawiłem tam naprzemienne ustawianie i kasowanie...
Co jest nie tak ? Delikatnie mówiąc wszystko. 1 Timer nie wiem co liczy, cały jest źle napisany i nie powinien działać, bo np: przerwanie od timera powinno być zadeklarowane przed pętlą główną i nie w warunku. Zmienna Reload nie jest zerowana i zwiększa się do maximum typu Word Zmienna M (w zamierzeniu chyba od minut) też się zwiększa do 255 Zmienna...
Zwiększaj tylko jeśli zmienna <255 z zmniejszaj jeśli >0
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...
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 ?
Odliczy dokładnie: 1/1M = 0,000001 co 1024 tyknięcie zegara impuls czyli z racji że 100ms to 0.1s więc: 0.1/0.001024 = 97.65625 impulsów Więc w rzeczywistości odliczy 99.328ms. Więc możesz w przerwaniu dać funkcję która co 97 przerwanie zwiększa zmienną o 1. Potem wystarczy porównać jaką wartość ma ta zmienna np. w switch() i gotowe.
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.
Jeżeli to ma nic nie robić tylko generować impulsy, to po prostu może użyj Waitms. A jeżeli nie, zmieniaj wartość porównania w zależności od dodatkowej zmiennej. Np: $regfile = "m16def.dat" $crystal = 16000000 Dim A As Word 'Zmienna zwiększana i porównywana. Dim B As Byte 'Zmienna decydująca z jaką wartością będzie porównywana zmienna A. Config...
Rozwiązanie Twojego problemu jest banalne. Na początek proponuję wykorzystać zmienną, która jest zwiększana przy każdym wciśnięciu przycisku i w zależności od wartości tej zmiennej (tu wystarczy od 0 do 3, przy wartości 4 zmienna jest znowu zerowana) ustawiasz jedynkę na odpowiednim porcie jednocześnie uruchamiając zliczanie. Kiedy licznik dojdzie do...
Co do średniej: ; } srednia=suma/i; nie musisz wpisywać +1, bo zwiększasz tą zmienną o 1 dwie linijki wcześniej. W tym wypadku zwiększasz j faktycznie o 1, ale wyświetlasz wartość zwiększoną o 2.
Ok, małymi kroczkami : [syntax=c]#define BUTTON_PIN 2 int zmienna = 0; void setup() { pinMode(BUTTON_PIN, INPUT_PULLUP); Serial.begin(9600); } void loop() { if (digitalRead(BUTTON_PIN) == LOW) { while (digitalRead(BUTTON_PIN) == LOW) {} zmienna++; Serial.print("Wartość zmiennej: "); Serial.println(zmienna); delay(200); } }[/syntax] W swoim kodzie zrezygnowałeś...
Witaj, musisz zaktualizować firmare, wtedy możesz użyć zarówno zdarzenia zmiany, jak i dostępu zmiennego. addChangeHandler Energy > 40 setChannel 1 0 SendGet http://192.168.0.112/myLogger.php?en...
Witam Tu masz literówke - ncr Katody , powinno być incr Katody Dobrze by było gdybyś dodał warunek jak do jakiej wartości ma być zwiększana zmienna Licznik. Po osiągnięciu danej wartości powinna być zerowana, albo zmniejszana. Pozdrawiam
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...
Byłaby szansa na jakiś kawałek kodu asm ze zwiększaniem wartości zmiennej w przerwaniu :-) ? Zmienna ustawia potem stan wyjść.
Dane pokazywane oczom użytkownika mogą być zupełnie inne niż te przechowywane w programie. Wpisywanie wartości liczby po cyferce jest uciążliwe. W piekarniku mam ustawianą godzinę jednym przyciskiem (czy dwoma), wystarczy w programie zauważyć że przycisk został wciśnięty, przytrzymany przez 1s, przytrzymany przez 5s,itd. Jak nie używasz delay nie jest...
void oznacza że funkcja nie zwraca żadnej wartości. Zmienna i to licznik pętli, tak jak w kodach wyżej, z każdym wykonaniem pętli jest zwiększana i dzięki temu kolejne cyfry rozwinięcia są zapisywane na kojelnych miejscach w tablicy. Wyrażenie 'break' kończy pętle, tu użyte jest gdy liczba jest mniejsza od 2 (wtedy nie trzeba jej specjalnie zamieniać...
zwiększać zmienna zmiana wartość zmienna wyświetlać wartość zmienna
oscyloskop tektronix naprawa singer chwytacz astra słupka
uklad gwiazda trojka uklad gwiazda trojkat
Hulajnoga Xiaomi, Ninebot, Motus – naładowana, nie rusza, blokada BMS, sterownik, czujniki DeLonghi Perfekta Deluxe – kontrolka fusów świeci cały czas, reset licznika, lokalizacja czujnika