Cześć, Pozwól, że przejdę do konkretów. 1. Możesz napisać program tak, żeby aktywować timer tylko wtedy, kiedy masz aktywny klawisz. 2. Dlaczego chcesz mieć klawisz na tym samym pinie co wyjście timera? 3. Jeśli chcesz liczyć, ile razy klawisz został aktywowany (naciśnięty), potrzebujesz zdefiniować zmienną, którą będziesz zwiększać o 1 przy każdym...
Wklep na początku przerwania : Enable Interrupts Wywnioskowałem to z pomocy bascoma (polecenie on Interrupt)
Witam, Czas cyklu najlepiej mierzyć z wykorzystaniem funkcji systemowej SFC 64 która zwraca czas systemowy. Fragment programu poniżej mierzy czas od startu do startu cyklu. Po niewielkiej przeróbce będzie mierzył czas od startu do końca cyklu. http://obrazki.elektroda.net/65_12454123... Na początku merker startu przez zbocze, potem DBD 70 to...
Właściwie nie musi mieć. Jeśli przerwania są co kilka-kilkanaście ms to eliminacja drgań robi się niejako przy okazji.
Witam, słabo znam te procesory, musisz więc sprawdzić w dokumentacji, moim zdaniem problem nie bierze się z kolejności wysyłania ale z kolejności odczytu. Generalnie, ośmiobitowe procesory przy dostępie (odczycie i zapisie) do szesnastobitowych timerów wykorzystują (dla zagwarantowania jednoczesności obu bajtów) specyficzny mechanizm. Starszy bajt nie...
Użyj timera do likwidacji drżenia styków.
Zawartości wyświetlacza nie ma sensu zmieniać częściej niż 2 razy na sekundę, bo i tak obserwator nie odczyta częstszych zmian wartości. Rzadko kiedy jest sens używać przerwania ADC. Typowo w przerwaniu timera odczytujesz i przetwarzasz poprzedni pomiar ADC, a następnie uruchamiasz nowy (kolejnego kanału), który przetworzysz w następnym wywołaniu przerwania...
Sorry, Wiesz ja to sie z tym bawie tylko i program pisze w bascomie metoda prob i bledow. Nie ma większego znaczenia w jakim środowisku programujesz (Basic albo C). Istotny jest koncept projektu i sposób rachunkowy, reszta to tylko inna forma zapisu programu. Wybrałeś za narzędzia: Timer1 i jeden z interruptów zewnętrznych. Zatem jest tez bez znaczenia...
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,...
Pytanie jak generujesz sygnał w pilocie. Sygnał musi być modulowany chyba nośną 36kHz - tylko wtedy odbiornik sprowadzi wyjście do stanu niskiego. 36kHz można łatwo sprzętowo generować wykorzystując jeden z timerów pracujący w trybie PWM, wystarczy ustawić wypełnienie na 50%, częstotliwość na 36kHz i można nadawać poprzez załączenie/wyłączenie timera...
Może ja wyjaśnię jaśniej. Generujesz przerwanie od timera np. co 800ms, czy 1s. I w przerwaniu wykonujesz operacje: 1. Odczyt temperatury do zmiennej 2. Komenda Convert_T Odpowiadając na Twoje pytanie - 750ms to MINIMALNY czas między CONVERT_T a odczytem (dla 12-bit). Więc odczyt po 1, 2, 3600 sekundach po CONVERT_T nie jest błędem. Dzięki takiej metodzie...
Dla enkoderów ze stykami mechanicznymi, jeśli nie podłączasz go do uC za pomocą prostego filtru RC, wykorzystywanie timera czy przerwań to ślepa uliczka. Z racji, że takie enkodery nie generują impulsów o dużej częstotliwości, to najlepiej zrealizować odczyt programowo, np. cyklicznie w systicku sprawdzać czy mamy stan wysoki przez minimalny czas i...
Proponuję Autorowi tematu wrócić do działu, w którym zazwyczaj pisze, czyli do Arduino, ponieważ: - profesjonalne systemy alarmowe nie są kompatybilne z Arduino, - profesjonalne czujki alarmowe nie są kompatybilne z Arduino, - w sekcji Arduino łatwiej uzyskać pomoc w kwestiach programowych dla Arduino. Porty mikrokontrolerów AVR można skonfigurować,...
Przyjąłem że masz przycisk chwilowy a przekaźniki sterowane stanem wysokim. Tutaj poprawki : [syntax=c]#include <OneWire.h> #include <DallasTemperature.h> #define PIN_SENSOR 7 // pin do ktorego podloczono DS18B20 #define PIN_PK1 4 // pin sterujacy przekaznikiem 1 #define PIN_PK2 5 // pin sterujacy przekaznikiem 2 #define PIN_PK3 6 // pin...
Rozumiem że flagi które podaliście trzeba samemu zerować po wykryciu wartości true? Tak - musisz o to zadbać, choć są wyjątki np. odczyt danej z UDR zgasi samoczynnie flagę RXC, bo: When interrupt-driven data reception is used, the receive complete routine must read the received data from UDR in order to clear the RXC Flag, ... Pamiętaj, że flagi te...
Jak napisać program w bascomie do pomiaru czasu trwania impulsu wejsciowego ?Prosze o konkretny przyklad listingu takiego programu ponieważ jestem początkującym programistą w bascomie i nie znam wielu możliwości.Domyślam sie ze należałoby wykorzystać któryś z timerów i poprzez start timera za pomocą przerwania i jego zatrzymanie a następnie odczyt...
Problem leży w sposobie działania biblioteki TWI_Master i miejsca, skąd jej pośrednio używasz. TIMER0_OVF_vect, jak i każde inne przerwanie, uruchamia się z czasowo wyłączonymi przerwaniami, dlatego ani sonar_request, ani sonar_gets_distance nie zadziała z tego miejsca. Polecenia zostają zakolejkowane, i może tylko TWI::START zostaje wykonany. Możesz:...
Odnośnie tego: Po zastanowieniu się zastosuję odczyt TCNT1, a w wersji ostatecznej policzę na kamyczkach i wstawię na stałe. A jeżeli ktoś zna takie narzędzie to proszę o informacje. Zastanów się, czy na późniejszym etapie wstawianie stałych nie zaszkodzi. W potoku instrukcji z pętli głównej zawsze trafi się instrukcja, która ma co najmniej dwa cykle...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
Właśnie o to mi chodzi. Trudno analizować program do odbioru protokołu, którego nie znamy, a komentarze tego nie ułatwiają, a wręcz przeciwnie. Natomiast co do działania rzeczonej instrukcji kompletnie się mylisz. Zerknij do jakiegokolwiek podręcznika C. Ciekawe jest też spostrzeżenie natury ogólnej, a nie tylko Twojego problemu. Większość kodów przewijających...
Co ile masz przerwanie od timera bo jak się domyślam stan klawiatury odczytujesz kilkadziesiąt razy na sekundę?? Napisze to po raz kolejny: Wywal odczyt po IIC klawiatury z obsługi przerwania!!! I rób to tak samo jak odczyt czasu w programie głównym na podstawie flagi. Po drugie po co odczytujesz za każdym razem czas z PCF'a??? Skoro masz przerwanie...
To chyba jakiś primaaprilisowy spóźniony żart. Cały program nadaje się do śmieci: 1. Wyświetlanie realizujemy w przerwaniu timera, każde przerwanie na jedną cyfrę (cyfry lecą w pętli) 2. wzory cyfr zapisujemy w tablicy, a nie jako 10 funkcji... To mnie przekonuje do udziału tego kodu w konkursie na najgorszy program roku 3. Od razu w przerwaniu od odświeżania...
Mam problem jestem początkujący napisałem program który ma za zadanie regulować włączanie wiatraka i czas z jakim ma dmuchać , jednocześnie mierzy temperaturę i nie działa tak jak powinno : Temperatura pokazuję co jakiś czas błędny pomiar np 124 , 32 , 98 procek się resetuje chińskie znaki raz na jakiś czas w programie można było ręcznie zmieniać czas...
Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...
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......
http://obrazki.elektroda.pl/9963209900_1... Witam. Chciałem zaprezentować swoje dzieło, a jest nim zegar matrycowy. Zegar ten poza wskazywaniem aktualnego czasu wskazuje również temperaturę, datę wraz z imieninami oraz maksymalną temperaturę zarejestrowaną w dzień i minimalną zarejestrowaną w nocy. Zegar ma 6 trybów wyświetlania - z...
Witajcie, W oparciu o Atmegę8 zrobiłem sobie prosty sterownik. Odczytuję temp. z dwóch czujników ds18b20 i na jej podstawie steruje elektrozaworem. Chciałbym dodatkowo wprowadzić obsługę 3 przycisków. Problem w tym, że sam odczyt temp. z czujek powoduje pewne opóźnienia np. czas konwersji jest dosyć spory bo 750ms w związku z tym reakcja na przyciśnięcie...
Byłby ktoś w stanie mi z tym pomóc? Miałoby to wyglądać tak: * sterowanie wentylatorami czasowo * sterowanie poprzez odczyt temeratury 2 osobne funkcje (działa albo jedno albo drugie). Do tego co mam dołożenie wł/wył czasowego (w zupełności wystarczy najprostsze z możliwych) OK, Popatrz na swój program; sterujesz ustawienia trzema przyciskami, z których...
W AT89C2051 komparator to piny portu 1 - P1.0 i P1.1, nie posiadają wewnętrznego podciągania do +, żeby umożliwić pracę komparatora trzeba na te piny podać stan wysoki (będą wtedy "wisiały w powietrzu": wyjście komparatora jest podłączone jako pin portu 3 - P3.6 Komparator działa w zakresie napięć takim, jak zasilanie procka z niewielkim marginesem...
Pomyśl trochę nad "sprytem" kodu :D Chodzi mi o to że kiedy widzisz powtarzające się linijki kodu to powinieneś pomyśleć "czym one się różnią" i tylko te różnice napisać osobno a wszystkie powtarzające się sprawy napisać tylko raz. Po co tyle tych Locate 1,1 . Przeciez i tak i tak będziesz tę linijkę rysował od 1,1 zawsze, chyba że inaczej podejdziesz...
https://obrazki.elektroda.pl/4868547700_... Dzisiaj zrealizuję projekt na malutkim, ośmionóżkowym mikrokontrolerze PIC w obudowie DIP8 oferującym skromne 3.5kB pamięci Flash. Co więcej, do komunikacjami z peryferiami użyję tylko dwóch pinów - całość opierać się będzie o I2C. W oparciu o nie uruchomię kontroler wyświetlacza/klawiatury oraz...
Timer0 jest 8-mio bitowy a preskaler ustawiłeś na 1. Czyli 1Wire ma tylko 256 cykli. A potrzebuje kilkaset tysięcy żeby coś zdziałać z czujnikiem DS18B20. To ma działać w tle? Ładne mi tło: 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Ja bym preskaler ustawił na 1024 i kod napisał tak*: Dim Pobierz_temp_counter As Byte...
https://obrazki.elektroda.pl/1205892900_... Zapraszam na drugą część przygody z termometrem/higrometrem zbudowanym od 0 w oparciu o PIC18F2550, części z szuflady oraz programowanym w kompilatorze SDCC - bez zewnętrznych bibliotek. W tej części uruchomię ADC, czyli przetwornik analogowo-cyfrowy, i zrealizuję w oparciu o niego kontrolę jasności...
Problem z pomiarami jest przy małym wypełnieniu np. gdy jest pochmurno. Zmniejszenie częstotliwości pwm faktycznie poprawiło odczyty. Dla majsterkowiczów wstawiam kod. Proszę pamiętać, że wykorzystując tylko "dolny klucz" IR2104 sygnał pwm mamy odwrócony, czyli pwm 99% z arduino daje 1% na mosfet. Program obsługuje 4 wątki. 1. Odczyt ADC 2. Wysterowanie...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
https://obrazki.elektroda.pl/2040620700_... Przedstawię tu spontaniczny projekt który został zrobiony w jeden dzień - dwukanałowy ściemniacz pasków LED oparty na PIC12F1612, zbudowany przy wykorzystaniu części z elektrośmieci. Oprócz PICa mój ściemniacz będzie korzystał z pamięci EEPROM do zapisu stanów jasności - jest to niezbędne,...
https://obrazki.elektroda.pl/3803750000_... Witajcie moi drodzy Przedstawię tutaj mój sieciowy sterownik przekaźników kompatybilny z Home Assistant poprzez Tasmota HTTP. Sterownik oparty jest o PIC18F67J60 i dodatkowo oferuje m. in. odczyt temperatury, budzik, przyciski, niezależny panel WWW oraz szerokie możliwości konfiguracji. Wstęp...
https://obrazki.elektroda.pl/1570592100_... Witajcie, zapraszam na relację z konstrukcji zegara na PIC18F2550 napisaną w formie tutoriala, wszystko krok po kroku. Pokażę tu jak i z czego tworzyłem prosty projekt DIY na prośbę jednego z czytelników. Wykorzystamy tu wyświetlacze 7-segmentowe, rejestr przesuwny, obsłużymy przyciski a...
https://obrazki.elektroda.pl/9471865900_... Projektowanie i budowanie praktycznych układów zawsze wiąże się z jednym problemem, jakim jest kwestia zasilania. Jest to kwestia istotna już na etapie tworzenia koncepcji układu, gdyż jego przeznaczenie dyktuje, czym będzie zasilany, a także z jakich konkretnych rozwiązań układowych skorzystamy....
Podziałam dzisiaj wieczorem i dam znać co z tego wyszło. Kod do analizy/weryfikacji poniżej: /* * Atmeta4808_PomiarSily.c * * Created: 24.02.2025 23:00:58 * Author : Waldek */ #define F_CPU 20000000UL // wewnętrzny kwarc 20Mhz #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <util/atomic.h>...
Nazwa urządzenia: EKVIP Smart Ambient RGB Lamps - ST-LR4311 Typ urządzenia: Desktop Bar Lights Chip urządzenia: BK7231N Urządzenie zakupione: Manual załączony w poście Strona producenta: https://obrazki.elektroda.pl/9883462200_... https://obrazki.elektroda.pl/2883780200_... https://obrazki.elektroda.pl/9655406100_...
http://obrazki.elektroda.pl/9589280700_1... 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ść ADC...
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ą...
Kompilator owszem i u mnie błędów kompilacji nie sygnalizuje. Ale program strasznie jest "ociężały" powolny i zawiesza się po jakimś czasie pracy - czego nie zaobserwowałem w moich poprzednich wersjach. Mnie razi używanie delay(). O ile przebolałbym to w samym setupie to w pętli głównej jest nie do przyjęcia. No ale czat uczył się na kodach z netu....
http://obrazki.elektroda.pl/2126980700_1... 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...
https://obrazki.elektroda.pl/8368409700_... Celem projektu było stworzenie amatorskiego programowalnego sterownika logicznego. Motywacją do stworzenia tego sterownika była potrzeba posiadania uniwersalnego urządzenia pozwalającego w warunkach laboratoryjnych na szybkie przetestowanie różnych algorytmów sterowania przy przebiegach szybkozmiennych....
Witam. Chcę przedstawić szopkę Bożonarodzeniową. http://obrazki.elektroda.pl/9749389200_1... Całość wykonana własnoręcznie z pomocą kochanej żonki. Opiszę co i jak. Szopka ma ruchomy żłobek, dwie pochodnie i ognisko, na filmikach wszystko widać. Opiszę konstrukcję, do sterowania wszystkim użyłem Atmegi8. Trzy sprzętowe kanały PWM posłużyły...
Witam ponownie Dorobiłem jeszcze w programie odtwarzacza jeszcze trochę usprawnień ułatwiających korzystanie z niego (na dotychczasowy mikrokontroler). Jednym z nich jest przyspieszenie przewijania w poziomie długich nazw plików i podkatalogów nie mieszczących się w całości na LCD podczas wyświetlania listy tychże. Dotychczas były przewijane one w tempie...
Sterowanie wentylatorem pwm przez arduino mega z wyświetlaczem (at)ElektrodaBot Jak to zrobić z pomocą zasilacza z dwoma wyjśćiami mianowicie 5v i 12v marki Mean Well? AI: Jaki model wentylatora PWM chcesz sterować? Wentylator Noctua NF-A14 iPPC-3000 PWM AI: Jaki typ wyświetlacza jest podłączony do Arduino Mega? Na pewno dotykowy Bezpośrednia odpowiedź...
[syntax=c] #include <avr/io.h> //#include <EEPROM.h> #include <avr/eeprom.h> //#include <Wire.h> //#include <LiquidCrystal_I2C.h> //LiquidCrystal_I2C lcd(0x20, 16, 2); // Ustawienie adresu ukladu na 0x27 #include "HystFilter.h" HystFilter potA( 1024, 128, 3 ) ; // 10 bit ADC = 1024, 64 discrete output values required, margin...
atmega odczyt flagi timera sleep timera capture timera
mytab firmware seagate widzieć alarm ampio schemat
zmywarka whirlpool regulacja drzwi zmywarka whirlpool regulacja drzwi
Utrata komunikacji z pompą wspomagania TRW w Skodzie - przyczyny i rozwiązania Wymiana pampera w drukarce Brother DCP-115C