Witam serdecznie wszystkich, jestem stosunkowo nowy w dziedzinie mikrokontrolerów, ale postaram się przybliżyć problem najprościej jak się da. Sama idea jest taka, aby wykorzystać Sonar HC-SR04 od Arduino i przy pomocy atmegi16 wyliczyć odległość i wyświetlić to na ekranie. Jest użyty kwarc 16MHz i fusebity...
Powiedz im, że tak się nie robi. To nie Excel. Przykładowy kod przycisku 'Dodaj fakturę'. [syntax=vbscript]Private Sub DodajFakture_Click() inf = MsgBox("Dodać fakturę?", vbYesNo, "UWAGA") If inf = vbYes Then If DCount("[IdFaktury]", "Faktury") = 0 Then nr = "1/" & year(Date) ...
Dzień dobry. We wstępie odrazu zaznaczę, że używam zestawu ZL3AVR z mikrokontrolerem ATmega32. Chciałem napisać program w assemblerze, który będzie zliczał wciśnięcia określonego przycisku w dowolnym rejestrze i będzie wyświetlał liczbę wciśnięć binarnie na diodach (czyli przykładowo jeśli wcisnąłem...
Tak to jest zwykły układ licznikowy po podawaniu sygnałów nastepuje inkrementacja. Ale nie wiem jak zrobić taki generator:/
rozumiem, że gdy przerwanie bedzie miało taką postać: ISR(INT0_vect){ // np. inkrementacja globalnego licznika _delay_ms(1000); ... to przy jednym naciśnięciu uzyskam zwiększenie licznika o jeden? Jeszcze jedno pytanie. Czy przy taktowaniu zegara wewnętrznego 1MHz...
Light-I -> wszystko w porządku ale osunąłbym to ustawianie czasu w pętli głównej. Bo bez wciśniętego przycisku zmienna ta z 0 przechodzi na 0xFFFF; Kod jest sprawdzony na dyżurnym µC, o czym pisałem wyżej, to nie są jakieś banialuki "na sucho"... Nie przyjrzałeś się dokładnie obsłudze zmiennej...
Można też tak: '''''''''''''''''''''''''''''''''''''m... glowne'''''''''''''''''''''' Sub Menu Cls Menu_number = 1 Do Keyscan Waitms 300 Select Case Key Case 0: Incr Menu_number If Menu_number = 11 Then Menu_number = 1 Case 2: Decr Menu_number If Menu_number = 0 Then Menu_number...
Witam Zrobiłem sobie układ, który ma na wyświetlaczu wyświetlać godzinę oraz temperaturę wody. Samą obsługę wyświetlacza jakoś udało mi się ogarnąć, natomiast mam problem przy odczycie temperatury z czujników oraz czasu z ds1302. Na początku ustawiam sobie godzinę 10:40 i to wyświetla się poprawnie,...
Program bez przetwornika ADC. Program działa prawidłowo Dodano po 42 Od kiedy praca dyplomowa jest tajna? Pytam z ciekawości- kiedyś była jawna na całym etapie pisania. Dlaczego w pętli głównej blokujesz przerwania- potem wykonujesz sporo obliczeń- a potem odblokowujesz? A co będzie...
Witam forumowiczów, zacząłem realizować projekt zegarka, kalendarza i termometrów z owego linku: Proszę o porady i sugestie jak można rozwiązać ten problem :P
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, Tak się przyglądam płytce i nie widzę żadnego przycisku. Dla mnie najprostszym rozwiązaniem jest napisanie programu, który po uruchomieniu będzie inkrementowal licznik (dowolnej wielkości) waz z narastającym zboczem zegara. W momencie przyciśnięcia przycisku (którego nie widzę :) ) inkrementacja...
Witam Próbuje wykonać sterowanie dla projektu: Ogólnie tak: Mam ESP32, które jest jednostka główną Jest Arduino mega które przesyła dane co 2ms przez Serial2 Jest tez Aplikacja na PC, która komunikuje się z ESP32 poprzez Serial Problemem jest to, że jak na aplikacji wcisne dany przycisk, to aplikacja...
Zmodyfikowałem nieco swój program i dodałem komentarze (może okazać się, że jestem jakimś trollem mikrokontrolerowym więc dopisałem co chciałem zrobić, w której linii, żeby ułatwić ew. wyłapanie tych błędów. Teraz wszystko ładnie się wyświetla, ale ... nie tak jak powinno. Zamiast alfabetu widzę zera,...
witam kiedyś zacząłem projekt ramienia robota ale nie ukończyłem go postanowiłem więc dokończyć co zacząłem ramie miało być sterowane 5 serwami przez klawiaturę matrycową mam prośbę czy może ktoś sprawdzić schemat i kod w bascomie ???? nie znam sie na eagle dlatego prosiłbym o wykonanie płytki w tym...
Wszystkie Timery będą wykorzystane do innych celów dlatego nice chcę wykorzysta któregokolwiek timera do przetwarzania ADC [syntax=c] #define F_CPU 16000000UL //16MHz zegar procesora #include <avr/io.h> #include <util/delay.h> #include <string.h> #include <stdlib.h> #include...
System monitorowania środowiska, oparty o interfejs LoRa IoT składa się z stacji bazowej zbudowanej z wykorzystaniem modułu Arduino Mega z bramką LoRa oraz zdalnych stacji opartych na Arduino Feather, które łączą się z stacją bazową poprzez radiowy interfejs LoRa. System pozwala na monitorowanie...
Program źle napisany ale działa. Temat do zamknięcia. #define F_CPU 16000000UL //16MHz zegar procesora #include <avr/io.h> #include <util/delay.h> #include <string.h> #include <stdlib.h> #include <avr\interrupt.h> /**********...
Mając do dyspozycji jedną matrycę 8x8 czerwonych diod LED o boku 60,2mm oraz mikrokontroler ATtiny861 pozostałe po innych projektach postanowiłem zbudować to, co każdy elektronik chociaż raz w życiu zbudować musi: zegar ;). Ze względu na charakter wyświetlacza miał to być zegar binarny, ale W...
Witam. Mam problem, podejrzewam z opóźnieniami w inicjacji LCD. Mam do zrobienia komunikacje szeregową pomiedzy ZL10AVR z ATmega32 a komputerem PC. Program działa tak, że jak nacisnę przycisk 1 (S12) to na komputerze uruchamia sie program notatnik (to zrobilem w programie LabView - ale to nie wazne)....
Witam Zabrałem się wczoraj za napisanie jednego z pierwszych programów (chyba 3). Ogólnie działanie programu zadowala mnie lecz chciał bym poprosić osoby bardziej doświadczone o wskazówki merytoryczne względem kodu tutaj podanego (bo coś na pewno można poprawić na lepsze). Podany kod ma sterować trawiarką...
Witam, problem tkwi w wyświetleniu temperatury na LCD. Czujnik działa w trybie 12 bitowym. Szczytuje pierwsze 12 bitów z pamięci scratchpada, sprawdzam czy temperatura jest + czy -, a następnie dokonuje konwersji temperatury na string. Na wyświetlaczu pokazują się jednak dziwne rzeczy. Użycie funkcji...
HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość...
Aby wejść do drugiego warunku i musi przyjąć wartość co najmniej 256, co jest nie możliwe, bo przy i == 255 program nie wejdzie do pierwszego warunku w którym jest inkrementacja. W drugim warunku z kolei nie osiągnie wartości potrzebnej do wyzerowania i. Czemu nie nie zastosujesz if()...else? Faktycznie,...
Jeszcze raz dzięki za wskazanie tej klawiatury mini i8. Nabyłem i faktycznie mała, poręczna, tania, do TV Smart idealna. Jak na tak niską cenę, to wykonanie całkiem OK, jak na Made in China! Nawet jak się rozsypie za jakiś czas, to przy tej cenie, można sobie pozwolić na kupienie następnej. Poniżej...
Problem rozwiązany :) Po wielu próbach z poprzednią funkcją, napisałem nową od zera. Oto jej kod: if (!(PINB & 1<<0)) //przycisk + { //bezpośrednio po naciśnięciu increment(); //... wartość zmiennej for (int i=0; i<10; i++) //pauza...
No więc w skrócie: Po naciśnięciu przycisku START wykonuje się funkcja do niego przypisana. W Funkcji tej znamy liczbę wszystkich wierszy i liczbę wierszy "odczytanych" (ta zmienna globalna jest inkrementowana podczas obsługi SetTimer). Następnie wyliczam czas oczekiwania i uruchamiam na ten czas...
Tak słyszałem. Ale jak to polecenie rozwiązuje mój problem? Ono tylko podaje kolejne liczby które wydają się losowe - w dodatku za każdym razem podaje takie same wyniki ,po resecie więc musiałbym zapisywać seed w EEPROMIE. Znacznie lepiej ustawić w programie ,że gdy użytkownik naciska przycisk...
AVE... 1. Zmniejsz sobie wartość tego licznika eksperymentalnie, aż dojdziesz do takiej wartości, gdy kod będzie działać poprawnie. 2. Spróbuj użyć funkcji delay_ms, czy jak ona się zwie w Twoim kompilatorze(to złe rozwiązanie z punktu widzenia praktyki programistycznej). 3. Masz trzy timery, użyj...
Hej.Jestem początkującym i od paru dni walcze z małym projektem. Potrzebuje wypisywać stan diod "aktualnej" na wyświetlaczu led(wypisywac H/L i obok numer diody..Zadreklarowalem tablice z segmentami, numerem diody oraz uruchomiałem timer0(chce to na przerwaniach). Aktualna diode przełącza się przyciskiem...
Witam. Tym razem chciałbym zaprezentować kolejny prosty układ na chińskich mikrokontrolerach PMS150C. Jest nim kostka do gry. Całość zaprojektowana z wykorzystaniem elementów w obudowach 1206, tak że nie powinno być problemów z montażem. Koszt elementów to niecałe 1zł. W sam raz do rozdawania...
Zdaję sobie sprawę z tego, że temat ten już był wielokrotnie powtarzany. Przeczytałem kilka tych tematów, rozejrzałem się po odnośnikach, ale mój problem dalej pozostał nierozwiązany. Nie mogę nic wypisać na wyświetlaczu alfanumerycznym (2 linie po 16 znaków). Pierwsza linia złożona z samych czarnych...
przestawiłem wszystko (prawie) oprócz CKOPT-a którego dalej nie ma.. a to jest mój program.. chodzi poprawnie jak ustawię $crystal = 1000000 a jest przecież $crystal = 16000000 $regfile = "m32def.dat" ' specify the used micro $crystal = 16000000 ' used crystal frequency '$crystal...
Może przerwania wcale nie są generowane co 1s i inkrementacja zmiennej czas_przyciskania_plus odbywa się tak szybko, że szybko jest ona większa od 2? Twój warunek może być maksymalnie spełniony przez 1s w przypadku ciągłego wciśnięcia przycisku. Nie zamieściłeś całego kodu ale może zastąp warunek...
Jedna uwaga: if(g_accel_decel_counter++ >= MAX_OBR) g_accel_decel_counter=MAX_OBR; TCNT2=g_... Jedna uwaga: Chcesz żeby g_accel_decel_counter miało wartość MAX_OBR, jednak tak nie jest bo: W warunku najpierw zostaje sprawdzona wartość g_accel_decel_counter,...
Wstaw przycisk do arkusza "faktura" i podepnij makro, w którym można wykonać kilka czynności za jednym "klik". Np 1) Drukowanie /opcjonalnie 2) Inkrementacja numeru faktury /opcjonalnie 3) Aktualizacja stanów /konieczne 4) Czyszczenie druku /opcjonalnie Jest jeden problem. W arkuszu "chemia" nazwy...
Witam, napisałem prosty program zmieniający za pomocą przycisków jasność diody LED. Na podstawie tego muszę napisać program, który będzie mi generował "automatycznie PWM". Działać to ma tak: Współczynnik wypełnienia od 0 rośnie automatycznie do 100. Zwiększanie współczynnika wypełnienia inkrementuje...
Już dawno jest wyłączony. Mam wyłaczony JTAG w fusebitach inaczej by mi przyciski szalały na porcie C.... Dodano po 1 Zaczynam się już gubić... jak to jest: pomiaru dokonuje multimetrem między masą a PW0... zacząłem sie już zastanawiać czy mierzę rezystancję statyczną czy dynamiczną :| bo...
Fakt, ze jest milion różnych sposobów na zrobienie tego. Ok spróbuję tym sposobem co mi podsunąłeś. W sumie nawet lepiej tak. Dzięki. Dodano po 5 Ok, coś tam skleciłem, jest to niepełny program, bo nie ma w nim np. ustawień dla Mute i trybu, oraz nie pokazuje na LCD wartości, ale to później....
Do tego nie jest Ci potrzebna żadna pętla. Najpierw musisz sobie określić pierwszy wolny wiersz w arkuszu Inkrementacja jest zbędna przecież (kod pod przyciskiem)... 1. Wywal pętlę. 2. W miejsce a=a+1 wpisz powyższą linię i ciesz się działaniem.
Niewątpliwą zaletą nowych domofonów jest otwieranie elektrozamka przy pomocy indywidualnego kodu wpisywanego na klawiaturze numerycznej. Funkcjonalności tej pozbawione są proste domofony starego typu, wyposażone jedynie w przyciski przypisane poszczególnym mieszkaniom. Przykładem takiego rozwiązania...
Do obsługi 1wire potrzebuję korzystać z przerwania na PC0. Do 1-Wire używa się UART chyba, że problem rozwiązujesz po Arduinowemu. Owszem, lecz wydaje mi się że z DHT11 to nie do osiągnięcia. Kiedyś tam coś próbowałem, więc zrobiłem protezę na przerwaniach która całkiem fajnie działa i jest w...
Pozostaje jeszcze kwestia programu, którego w życiu nie pisałem i nie wiem jak to zrobić. Dwa przyciski do sterowania, każdy jakby do jednej części tego wyświetlacza ? Masz podane, że uczęszczasz już do trzeciej klasy technikum mechatronicznego. Nie rozumiem jak w takiej sytuacji można nie pisać...
Załączam przykład projektu programu dla opisywanego wyżej problemu sortownika na linii. Drzewko projektu: 1 - mapowanie urządzeń wejść cyfrowych X na zmienne globalne, 2 - program główny, 3 - program do monitorowania procesu, 4 - mapowanie zmiennych globalnych na urządzenia wyjść cyfrowych...
Ja to rozumiem. Przesyłanie danych tym programowym UART działa b. dobrze. Zastanawiam się tylko czemu inkrementacja zmiennej n nie wyrywa z pętli. [syntax=c] while (PINB & _BV(UART_RX_PIN)) /* wait for start bit */; { _delay_us(UART_BIT_LENGTH / 2); ++n; if (n>=999) return -1; }[/syntax] Układ...