int nazwa[10]; int X; printf("Którą zmienną chcesz zwiększyć o 1?"); scanf("%d", &X); nazwa[X]++;
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...
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:...
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...
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...
Nowa propozycja jest lepsza, ale jeśli pobierzesz TAR przy wartości zero, to zwiększysz aux przez co wartości "var" zaczną się od 65536. Co do kodu: var += (TAR - var) & 0xFFFF; to jest to właśnie zwiększanie "var" pozbawione wszelkich błędów. Najpierw jest liczony przyrost wartości TAR od ostatniej wartości (wszystko na prawo od +=) poprzez...
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...
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/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....
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...
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...
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...
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ą...
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,...
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...
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...
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...
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...
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...
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...
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...
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...
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,...
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
Taki kod od biedy napiszesz nawet z użyciem chatGPT. W skrócie: - PWM generujesz przy użyciu timera, wyjście z timera podajesz na driver LEDów (tą część kodu wygenerujesz np. na stronie Microchipa, na której jest klikalny generator kodu). - reakcja na przycisk - poszukaj na elektrodzie np. super debounce, ale to też dobrze generuje chatGPT. Kolejne...
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...
A nie prościej liczyć to za pomocą Timera1 czyli na sekundę ma być np. wyświetlonych 50 obrazów i każdy z nich zawiera np. 10 części. Daje nam to 500 przerwań na sekundę. W przerwaniu Timer1 ustawiasz za każdym razem początkową wartość timera i ustawiasz jakąś flagę. Możesz również dodać zwiększanie licznika od tego co ma być wyświetlane. W programie...
Jak pisałem procedura Wyswietlacz(byval Cyfra As Byte) wywoływana jest przez przerwanie timer0, powoduje ona jedynie odświeżenie na wyświetlaczach wartości znajdujących się w zmiennych disp(8). Mam 8 wyświetlaczy, jeżeli chce aby na np. 2 z nich wyświetliło mi wartość 2 to wpisuje do zmiennej disp(2) wartość 2. Ze względu na to właśnie nie mogę zbytnio...
A wewnętrzny pull-up włączony? Bo objaw jest typowy dla programu, w którym włączone jest przerwanie zewnętrzne, a wejście wisi w powietrzu, choć program jest prosty i nie ma w nim obsługi przerwań... Ustaw w pętli niech samo zwiększa wartość zmiennej i obserwuj czy dalej są zakłócenia.
Jestem w trakcie pisania programu, z późniejszym zastosowaniem praktycznym, lecz na razie chciałbym żeby zadziałał na płytce testowej. mianowicie chodzi o to, że do jednego portu podłączamy diodę a do drugiego odbiornik IR. Z pilota RC5 ma odbywać się ściemnianie i rozjaśnianie diody, oraz zapalanie i gaszenie bez konieczności regulacji. Zapalanie...
Wartości początkowe na 0, dlatego ich nigdzie jawnie nie wpisywałem. A to rozumiem że nie działa? Mój kod miał działać tak że dopełnianie bufora następuje aż do momentu wyrównania się wskaźników Buffer_Read_pos i Buffer_Write_pos. Inaczej mówiąc nie jest możliwy zapis w miejsce gdzie dane mają być odczytane. Ale zaraz po odczycie, jak Buffer_Read_pos...
Pomińmy na razie część różniczkującą D i całkującą I regulatora PID. Idealny regulator proporcjonalny P ma 2 wejścia: wartość zadaną (SetPoint, SP) i wartość zmiennej procesowej (Process Value, PV). Różnica SP - PV to uchyb, oznaczany jako E (od Error). Wartość wyjściowa regulatora to uchyb pomnożony przez wzmocnienie regulatora Kp. W rzeczywistości...
PO. : ad 1/ avr'y są ośmiobitowe, ale obsługa zmiennych 16-bitowych jest optymalna. W przypadku średnim obsługa zajmuje 2* więcej czasu: podstawienie pomiędzy rejestrami (2*mov=2 cykle lub w szczególnym przypadku movw=1 cykl), inkrementacja (subi+sbci = 2cykle, odejmowanie wartości ujemnej, gdyż nie ma dodawania o stałą podaną bezpośrednio; w przypadkach...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Witam. Mam problem z popularnym układem przetwornika L -> f Jest on wykorzystywany w bardzo wielu konstrukcjach. Jego zalety są ogólnie znane. Tak samo jak wzór na częstotliwość wyjściową f = 1/ ( 2*pi*sqrt(LC)) http://obrazki.elektroda.net/8_126752227... Jak dotąd wiem tyle że układ pracuje jak ferquency shifted oscialtor i po zamknięciu obwodu...
Spakowany plik w załączniku. Hardware tak jak wcześniej. Użycie: podpięcie układu pod USB, odpalenie terminala na porcie który utworzył układ. Naciskanie przycisków wywołuje akcje: s - wyświetlanie wartości HEX rejestru DACB.STATUS strzałka w górę - zwiększanie napięcia DAC na wyjściu DAC0 (PortB2) strzałka w dół - analogicznie zmniejszanie pozostałe...
Przy lampach trzeba myśleć w kategoriach pola elektrycznego. Natężenie pola E=U/d. Różnica potencjałów w przestrzeni, napięcie między jakośtam oddalonymi punktami. Siatka, która jest bliżej katody potrzebuje mniejszego napięcia, żeby wytworzyć pole o natężeniu większym od pola wytwarzanego przez anodę i zatrzymać elektrony. Małe napięcie siatki steruje...
Witam Mam płytkę z Atmega8 połączoną z czujnikiem PIR ( wejście INT1 przez transoptor ), do tego pomiar ADC ( od wartości adc zależy czas po jakim PWM będzie zmniejszone, opcjonalnie chcę też pod INT0 podpiąć przycisk, coby włączyć światło, gdybym nie znalazł się w zasięgu czujnika. Dodatkowym "bajerem" jest to, że światło ( listwa LED ) powoli się...
To na razie wersja robocza więc sporo niedociąnięć, muszę jednak zacząć rezygnować z bascoma. Niby już wszystko było OK, ale gdy tylko w pętli głównej przed wyświetlaniem chciałem zamaskować wynik poleceniem fusing, znów jakieś głupoty zaczęły się dziać. Nie mam już nerwów. $crystal = 8000000 $regfile "m16def.dat" '*********************zmienne***********...
Witam. Proszę Was o sprawdzenie poniższego kodu: Problem polega na tym że na LCD pokazuje się error=3 , a w symulacji error=0. Dalsze zwiększanie ramki to jakaś paranoja. Wyłuskałem ten kod z programu który ma kilkaset linii . Tam mam dopiero skutki przepełnienia stosu :-( . $regfile = "m32def.dat" ' specify the used micro $crystal = 8000000...
http://obrazki.elektroda.net/39_12386675... Walentynkowy zegar Zastanawiałem się co by tu zrobić dla mojej połowicy… siedząc w kuchni chciałem sprawdzić która jest aktualnie godzina. Patrzę na elektroniczny zegarek w kuchence i co? Brak godziny, bo akurat przed chwilą niechcący wywaliło mi bezpieczniki. Tak się patrzę i patrzę…...
Funkcja DZIAŁA [syntax=cpp]//Data utworzenie: 20-09-2014 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <avr/pgmspace.h> #include "MYUART/myuart.h" #include "MK_TERMINAL/mk_term.h" #define REF_256 (1<<REFS1)|(1<<REFS0) #define REF_VCC (0<<REFS1)|(1<<REFS0) #define SR 8 typedef...
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.
Bardzo nieładnie jest to napisane - naucz się używać w kodzie programu klawisza Tab i dodatkowych spacji przy pętlach/warunkach itp. Wydaje mi się że problem tkwi w tym iż w drugiej pętli for zwiększasz wartość zmiennej b, a wczytujesz do tablicy w której podstawiasz zmienną a - więc dla każdego z 10 przypadków zapisujesz w tym samym miejscu. Co do...
Funkcje korzystające z tej funkcji robią np: - short - zwiększa wartość zmiennej, - REPEAT - szybko zwiększa wartość zmiennej, - long - wychodzi z regulacji zmiennej... Więc nie mogę najpierw dostać long (bo przytrzymałem przycisk) a potem REPEAT...bo to REPEAT już niczego nie zmieni, wyjdziemy z regulacji zmiennej .. r
Jedźmy dalej incr pomiar powoduje zwiększenie zmiennej Pomiar o 1. To był przykładowy podprogram, który za każdym razem kiedy był wywołany instrukcją gosub zwiększał wartość zmiennej - nic prostszego na próbę nie da się wymyśleć. Myślałem bardziej, że za pomocą tego programu sprawdzisz czy to wszystko działa i jak będzie działało to napiszemy coś bardziej...
Jeśli stale to wykasuj z opcji: [syntax=c] case Nic:{ lcd.print(" "); break; } [/syntax] czyszczenie ekranu spacjami. Tu ewentualnie powinien być zliczany timeout, czyli jakaś zmienna co np. 1ms i jak przez 10s (z delay rozumiem, że to jest Twoje stale): [syntax=c] case Nic:{ static uint16_t timeout1=0; //zmienna static będzie żyła od tego miejsca aż...
Wykorzystanie FPGA byłoby bardzo ciekawym eksperymentem. Mikrokontroler z 32b licznikiem wykorzystałem z wygody (lenistwa ;) ) z powodzeniem można zastosować typowy 16b licznik i przy każdym przepełnieniu w przerwaniu zwiększać wartość zmiennej. Później zliczenia to zmienna*pojemność_licznika + wartość licznika. Jedynym wymogiem jest to aby mikrokontroler...
zwiększanie zmiennej zmiana wartości zmiennej wyświetlanie wartości zmiennej
develop konica volvo silnika r134a agregat
delonghi świeci tylko kontrolka fusów thermomix wyświetlacz
Ustawianie zegara w Microcar MC2 - krok po kroku Tranzystory 2SJ201 i 2SK1530 w wzmacniaczach Sony ES