Witam Serdecznie. Przejdę do razu do sprawy... Mój problem polega na tym, że stworzyłem prosty timer(coś jak timer do jajek), teraz tworzę możliwość ręcznego ustawiania czasu, a nie w kodzie. Niby wszystko bangla jak powinno... Tylko problem polega na tym, że mam 2 przyciski, jeden ma dodawać mi minuty (tak jak już zrobiłem), a drugi ma być takim "zatwierdzeniem",...
Witam, A po co w ogóle jest ten delay? Czemu nie tak: if ((Count * 8.75) / 100 > a) { sp1 = !sp1; digitalWrite(przekaznik1, LOW); } else { sp1 = !sp1; digitalWrite(przekaznik1, HIGH); } Dodaj jak chcesz np drugiego timera do odliczania czasu, a może po prostu użyj millis(), dokładność nie jest tu wyznacznikiem, ustaw jedną zmienną przed włączeniem przekaźnika...
1 jest komenda załączenia ale nie ma komendy wyłączenia Jest. działą to tak: po odebraniu kodu KOD1 wykonywane jest [syntax=arduino] digitalWrite(11,LOW); //załączamy przekaźnik na wyjściu 11 timer1.start(); // uruchamiamy timer 1 [/syntax] timer1 zaczyna odliczać czas ustawiony w [syntax=arduino] Ticker timer1(futimer1, 1000,2); //(funkcja wywoływana,czas...
Watchdog to sprzętowy układ - timer który odlicza zadany czas. Główna pętla programu musi cyklicznie ustawiać ten timer zanim dojdzie do 0, bo jeśli tak się stanie, procesor zostanie zrestartowany. Mikrokontrolery AVR mają taki układ wbudowany.
Chciałbym wykonać coś nie zbyt skomplikowanego na Arduino , dla domu macie może jakieś propozycje? Może być coś z led Potrzebujesz gotowy program, czy brakuje ci konceptu?.... Jeżeli to jest początek nauki programowania, to zamiast projektów praktycznych dla domu, raczej ogranicz się do prowizorycznych/nie trwałych 'projektów' czyli zwyczanych cwiczeń....
Co do samego pomysłu - choć niewątpliwie jest kontrowersyjny - nie będę się wypowiadał - twój cyrk, twoje małpy. Proponowałbym jednak przynajmniej wprowadzić jedną istotną zmianę. Limit (np. 5 min) powinien być możliwy do wykorzystania w ratach np. 1 min na wstępne zmoczenie ciała, po pewnym czasie 2 min na spłukanie głowy i znów 2 min na spłukanie...
Przepraszam za śmietnik ale próbowałem chyba wszystkich możliwości i trochę kombinowałem :) [syntax=c] #include <Timers.h> #include <DallasTemperature.h> #include <OneWire.h> #include <Wire.h> #define ONE_WIRE_BUS 6 //Ustawienia pinu termometru OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); #include <LiquidCrystal_I2C.h>...
co jakiś czas Sam sobie odpowiedziałeś, użyj funkcji nie blokującej programu millis(), micros() lub jakiejś biblioteki obsługi timera do odliczania czasu. Po upływie określonego czasu załącz drugi silnik, a potem go wyłącz po określonym czasie albo w odpowiednim miejscu.
Na pewno nie uzyskasz efektu DD:HH:MM:SS, bo masz kropki na dziesiętne tych ledach. Poza tym użyj ESP8266, jest tam przykład czasu NTP, timer czy RTC po paru dniach może się rozjechać o parę sekund, musi sobie ten czas co jakiś czas sam korygować. Do obsługi polecam bibliotekę DigitLedDisplay, przykładowe wyświetlenie ciągu liczb wygląda tak: ld.printDigit(12345678),...
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...
Generalnie musisz skonfigurować timer w trybie CTC (dobrać odpowiedni preskaler i wartość rejestru OCR1A), aby odliczał (F_CPU*0,1) impulsów i się zerował Arduino nie bare metal
milis nie jest sprzętowe, bo w przerwaniu jest inkrementowana zmienna, którą zwraca funkcja Czyli Arduino rezerwuje timer na te cele. Skoro tak, to przerwania nie wpłyną na dokładność tego milis, chyba, ze trwają ponad 1ms A z ciekawości, jak realizowany jest micros? Przerwania z czestotliwością 1MHz nie wchodza w grę, pewnie timer do generowania milis...
bo dane na porcie szeregowym pojawiają się dopiero po zakończeniu ruchu( domyslam się, że to przez funkcję delay) i to w "bliżej nieokreślonym" języku. Tak jakbym pomylił się w określeniu prędkości w Serial. begin . Drugą częścią komplikacji jest to, że nie ma mam pojęcia ( gdy uda mi się rozgryźć enkoder ) jak opisać ograniczenie obrotu. To co jest...
Dokładnie chodzi o to że chciałabym aby czas który się odlicza na lcd dokładnie tak samo pokazywał na 7 seg. czyli takie echo... kod nie jest mój tylko był dołączony do jednego z projektów w necie który mniej więcej wyglądał na użyteczny ....
60 sekund (czas zadany) minus czas aktualny timera = czas pozostały I wyświetlacz czas pozostały. Tak jak kolega pisze to by można zrobic w C/Arduino itp ale nie wiem jak to fizycznie ustawić w EASY poprzez EASY SOFT.
Zacznij od dodania przed [syntax=csharp]digitalWrite(LED_PIN, LOW); // switch on LED[/syntax] ustawienia zmiennej np "czas" na wartość np w sekundach przez jaki ma wyjście byc aktywne. W setup() dopisz ustawienie timera najlepiej w tryb ctc na np 10ms (zależy jakie zrodzielczości cie interesują). W przerwaniu zrób dzielnik aby uzystać sekundę, np: [syntax=c]ISR(...
WiFi . Czemu nie może być fizyczny przycisk? Przecież TIMER jako element elektroniczny nie wydaje się być skomplikowanym elementem... Naciskasz przycisk: 1h , naciskasz kolejny raz: 2h. Klikasz Start. I odlicza w tył. Mija czas, wraz z tolerancją przekaźnika, przecież nie wymaga się tu dokładności nie wiadomo jakiej. I odcina zasilanie. Już myślałem...
Witam. Buduję minutnik na arduino (zegar ciemniowy), w skład którego wchodzą: Arduino Pro Mini, LCD 2x16, enkoder obrotowy z przyciskiem i przekaźnik. Mam kłopoty z kodem, znalazłem gotowy kod, ale nie wychodzi mi jego dopasowanie pod swoje potrzeby. Chciałbym kręcąc enkoderem wybierać czas od 0,1s-99s, naciskając enkoder zatwierdzić czas i zacząć odliczanie...
Kol. a_noob - taki sposób właśnie stosuję. Dodam tylko, że przysłonę trzeba przymknąć na połowę albo nieco ponad połowę maksymalnej wartości, ostrość ustawić ręcznie na nieskończoność (nie zawsze jest to skrajna pozycja pierścienia, zależy od obiektywu i należy to kontrolować patrząc w wizjer), a balans bieli według uznania (ja zazwyczaj ustawiam na...
Proponowałby napisać program od nowa, małymi krokami, bez delay. Jak inaczej mam sprawić, żeby program przez określony czas utrzymywał led na HIGH? Użyj millis do odliczania czasu. Dodano po 1 Obsługa przycisku na przerwaniu tez nie jest najlepszym pomysłem, jeśli w przerwaniu nie używa się timera do likwidacji drżenia styków albo filtru dolnoprzepustowego...
https://obrazki.elektroda.pl/8691272400_... Witam, poniższy mini-projekt powstał z inspiracji Część elektroniczna Urządzenie bazuje na dwóch PCB (4x wyświetlacz LED + płyta główna) połączonych ze sobą taśmą flex z jakiejś drukarki. Wyświetlacze to wylutowane z czegoś 7-segmentowe pojedyńcze kostki ze wspólną anodą i czerwonym filtrem...
https://obrazki.elektroda.pl/5405238700_... Witam. Dzisiaj ja postanowiłem dodać kolejny artykuł pt. naświetlarka UV do wykonywania obwodów drukowanych metodą naświetlania. Naświetlarka powstała z racji "potrzeba matką wynalazku" aczkolwiek długo nosiłem się z zamiarem jej wykonania a główną przeszkodą był jak dla mnie układ czasowy...
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...
Sygnał mierzony daj na wejście Tx (T0, T1). Innym timerem niż ten, na który podajesz mierzony sygnał odliczaj czas 1s lub 100ms. Odczytując timer Tx po porównaniu timera odliczającego czas 1s (100ms) i obliczając różnicę otrzymasz mierzoną częstotliwość. Jeśli mierzone częstotliwości będą małe (poniżej 1kHz, max 20..30kHz, jak sie sprężyc to może 50kHz)...
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ż...
Opiszę dokładniej: Atmega 328 kwarc 16Mhz. Próbuję złożyć sterownik do pieca na ekogroszek z regulacją fazową dmuchawy. Nigdy wcześniej nie korzystałem z przerwań i nagle mnie to przerosło, brak dostatecznej wiedzy. Przykładem takiego sterowania może być np. Sterownik Tech ST-37 na Atmega16. Obroty dmuchawy działają płynnie, czas podawania węgla itp....
https://obrazki.elektroda.pl/5690923100_... Jest to prosty grupowy regulator mocy z odmierzaniem czasu, wykonany na prezent do kontrolowania piekarnika elektrycznego. Osobiście wolę proste w konstrukcji prostokątne piekarniki z wbudowaną mechaniczną regulacją czasu i temperatury, jednak każdy ma swoje przyzwyczajenia i niektórzy wolą...
Jak napisac sterowanie przyciskami przejść dla pieszych? Wg informacji, które podałeś dotychczas takiej możliwości nie ma! 1. Pierwsza zasadnicza sprawa to: - czy program uznany w poscie #3 że ‘działa mi’ , jest/był testowany na płytce Arduino uno3, czy po wpisaniu do Attiny 2313? 2. Nawet jeżeli jest pisany i kompilowany dla Attiny2313...
Chciałbym to zrealizować prosto tą funkcję do odliczania czasu, najlepiej na zwykłym przerwaniu i timerze. Potrzebuję ją do czujnika Halla ASC712 do pomiaru prądu przemiennego. Wątek na forum Kardasia dotyczy właśnie tego? No więc Tobie nie jest potrzebne żadne millis, a tym bardziej jakieś 64 bitowe zmienne tylko odmierzanie odcinków czasowych. Nie...
Uzyskanie dokładnej częstotliwości poprzez modyfikowanie wartości rejestru TCNTn No zapewne czasami tak jest, ale ten screen, który wrzuciłem to akurat zabawa z Atmaga8 i timer2. Z jakiegoś powodu program napisany w C działa OK i na ile oscyloskop jest to w stanie zmierzyć jest faktycznie 200us jak wyliczyłem. W Arduino dopóki jest zostawiona funkcja...
https://obrazki.elektroda.pl/5220229400_... Witajcie, przedstawię tu od 0 rozpoznanie wyprowadzeń, podłączenie, zaprogramowanie i uruchomienie z Arduino wyświetlacza LCD z elektrośmieci. Omawiany tu wyświetlacz pochodzi z pralki Amica AWSN12DA i posiada sterownik BL55066 do którego nie znalazłem biblioteki, tylko samą notę katalogową....
Po co biblioteka obsługująca WS-y blokuje przerwania? Generuje krótkie czasy (1,25us) i pojawienie sie przerwania (typowo 10..20us) skutecznie wszystko psuje. Niby można by pozwolic na przerwania w czasie gdy ustawiony jest poziom niski. Reset WS to 50us ale w praktyce reset interpretują przy 15..20us. Typowo przerwanie tyle trwa więc wszystko na styk...
nie chce się resetować timer ;/ odlicza do gigantycznych wielkości ale myśl dobra .. szukam reset milis
Udało mnie się zastosować kod zaproponowany przez (at)efi222, natomiast w funkcji void Cyfry musiałem zmienić typ argumentów na int8_t żeby objąć też liczbę -1 po ostatniej dekrementacji. Przy przenoszeniu kodu posiłkowałem się też innym tematem na elektrodzie https://www.elektroda.pl/rtvforum/topic3... gdyż dotychczas stosowałem tylko timery...
Witam serdecznie! Chciałbym uzyskać pomoc, od kogoś kto potrafi programować w języku C/C++ i ew. w Arduino. Misja do wykonania wygląda następująco. Projekt: Centralka alarmowa, służąca do kontrolowania jednego pomieszczenia (ilość drzwi: 1) Chciałbym oprogramować µ-kontroler Atmega328P (na płytce Arduino UNO R3), w ten sposób, by program został...
Ja wcale nie twierdziłem, że to jest sztywna granica. Właśnie dlatego że twierdziłeś że więcej się nie da: Według moich szacunków, przy częstotliwości taktowania 16MHz, detekcji na jednym zboczu, procedurach napisanych w asemblerze i niezbyt wysokich oczekiwaniach dodatkowych co do pozostałych zadań wykonywanych przez mikrokontroler można osiągnąć...
Witam serdecznie! Chciałbym uzyskać pomoc, od kogoś kto potrafi programować w języku C/C++ i ew. w Arduino. Misja do wykonania wygląda następująco. Projekt mojego autorstwa: Centralka alarmowa, służąca do kontrolowania jednego pomieszczenia (ilość drzwi: 1) Chciałbym oprogramować µ-kontroler Atmega328P (na płytce Arduino UNO R3), w ten sposób,...
Nie wiem jak zrobić czy na Deley, czy na millis. Nie mam pomysłu jak ułożyć kod. Może ktoś pomoże?? Dziękuje za pomoc Czas odliczany przez funkcję delay() jest dość dokładny, bo odcinki czasowe 1-milisekundowe są formowane przez wbudowany w procesor Timer0. Arduino automatycznie (bez twojej wiedzy) konfiguruje go do tej funkcji. Jednak zliczaniem tych...
Czy zegar może być uszkodzony??? Zgodnie z linkami powalczyłem trochę z tym zegarem, odłączyłem wszystko co zbędne (zostało tylko Arduino i RTC), pomierzyłem i co się okazało: 1. Zainstalowany seryjnie akumulator LIR2032 3,6V daje 3,99V :| 2. Zaobserwowałem również "dziwne" działanie zegara którego wcześniej nie zauważyłem a mianowicie dla użytej biblioteki...
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...
[syntax=c] case 4: // alarm wlaczony digitalWrite(syrena, HIGH); alarm = ""; aktualnystanAlarmuSms = (F("Wykryto ruch, alarm Wlaczony")); PCF_01.write(diodaZielona, HIGH); PCF_01.write(diodaZulta, HIGH); PCF_01.write(diodaCzerwona, HIGH); if ((ms - preMillis) >= 300) { preMillis = ms; PCF_01.write(diodaCzerwona, LOW); tone(buzzer, 2000); delay(60);...
Jak Ty sterujesz tymi silnikami krokowymi, że potrzebujesz tyle pierwiastków liczyć? Co do liczenia pierwiastków to przy obliczaniu rampy - przyśpieszenia/hamowania jest to chyba najdokładniejsza metoda i najprostszy wzór. Dlatego od tego zacząłem. Jest to w linku z mojego poprzedniego posta. Odpowiedź na Twoje pytanie kończy się przy równaniu nr 8....
Pokaż swoje próby, schemat podłączenia. Na początek wystarczy obsługa millis(), timery sprzętowe można zostawić na coś wymagającego dużej precyzji, odliczenie 60s nie musi być wyliczane z dokładnością pojedynczych cykli zegara uC. Pisanie na prive to kiepski pomysł, jeśli moje rozumowanie jest błędne tutaj od razu ktoś to poprawi . Akurat w Arduino...
Witam. Chcę sprawdzić stan konta, w tym celu wysyłam polecenie AT z portu szeregowego AT + CUSD = 1, „* 101 #”, po kilku sekundach otrzymuję odpowiedź na port szeregowy i wszystko jest cacy. Problem pojawia się, gdy chcę sprawdzić status konta w ten sposób: altsoftserial.print („AT + CUSD = 1, \" *101 # \ ""); Widzę na porcie szeregowym,...
https://obrazki.elektroda.pl/4024708700_... Witajcie moi drodzy. Przedstawię tu pierwszy na świecie tutorial programowania modułu WiFi WB2S, czyli BK7231. Moduł ten występuje w wielu urządzeniach smart home, a w internecie panuje opinia, że nie można stworzyć dla niego własnego firmware. Nic bardziej mylnego - pokażę tu krok po kroku...
https://obrazki.elektroda.pl/8103635600_... Dzisiaj przedstawię bardzo tani (raptem 10-15 zł) moduł oferujący wyświetlacz 7-segmentowy (8 cyfr) z kropkami oraz dodatkowo z diodami nad każdą cyfrą oraz klawiaturę z 8 przyciskami. Wszystko możliwe do wysterowania przez SPI. Pokazywany tu TM1638 to zasadniczo TM1637 w wersji SPI, w związku...
https://obrazki.elektroda.pl/6483751800_... Witam, PROJEKT ostatecznie ukończony :D wersja ostateczna programów dla płytek MASTER Arduino Mega2560 i SLAVE ESP8266-12E Testowałem urządzenie przez kilka dni, w międzyczasie dokonałem kilku przeróbek, jak w kodzie tak i w połączeniach PIN itp. Usunięte zostały wykryte błędy, najważniejsze to...
Stała rada - żadnych delay(), tylko przerwanie timera i zmiana sterowania serw w tym przerwaniu. Nie rozumiem? Co jest złego w dawaniu po 1, 2 stopnie po bardzo małej przerwie? Bo gdy timer odlicza, to mikrokontroler może wykonywać inne zadania. W przypadku funkcji delay(); może jedynie czekać aż ten delay się skończy.
Cześć wszystkim, Po ponad 2 miesięcznej przerwie wróciłem do swojego projekciku i niestety o ile wtedy wszystko szło w dobrym kierunku, to teraz pozapominałem niektórych kwestii i na dodatek przekombinowałem teraz z kodem co w efekcie przysporzyło mi kilku problemów. Program pisany jest w C# i ma współpracować z Arduino, do którego podpięte są dwa włączniki...
Jeśli chciałbyś się wznieść trochę wyżej, poczytaj o timer-ch. Umożliwiają one bardzo dokładne odmierzanie czasu (zależe od dokładności użytego kwarcu) i wykonanie procedury w przerwaniu, czyli po czasie jakie odliczył timer i bez względu na to jaki kod akurat realizuje procesor.
Witam, potrzebujesz kilku funkcji do ustawiania czasu przerwy, do sterowania silnikiem i osobnych do obsługi użytkownika. Całość może działać w pętli głównej, ale sterowanie silnikiem w przerwaniu timera będzie łatwiejsze. Jeśli aktualny stan pracy silnika to "obracanie się", to po odliczeniu określonej liczby kroków (dla ułatwienia równej liczbie przerwań)...
No jak jeden przebieg pętli jest obarczony 20ms opóźnieniem to może się tego nazbierać. Zagnieżdżające się warunki to też nie do końca dobre rozwiązanie. Rozbiłbym to na funkcję obsługującą tylko samo rozjaśnianie wywoływaną gdy spełnione są warunki, a delay odpuścił i korzystał z normalnego timera. Dodatkowo zagnieżdżenie pętli pewnie powoduje, że...
https://obrazki.elektroda.pl/8130608000_... Witajcie moi drodzy Dzisiaj przedstawię mój projekt prostego zegara/kalendarza opartego o mikrokontroler PIC16F1455 , gotowy moduł wyświetlacza ośmiocyfrowego na MAX7219 oraz gotowy moduł RTCC (zegara/kalendarza) DS1302 , zasilanego i konfigurowanego przez USB . Do zegara zaprojektowałem...
https://obrazki.elektroda.pl/5009750700_... Witajcie moi drodzy Oto druga część mojego praktycznego tutoriala dla ośmiobitowego mikrokontrolera PIC18F2550 od Microchipa i programatora SDCC . W tym temacie omówię podstawowe operacje cyfrowego IO na prostych przykładach. Spis części (osobnych tematów) tutoriala Tutorial podzielony jest...
https://obrazki.elektroda.pl/9290552300_... Witajcie moi drodzy. Zapraszam na kolejną część mojego tutoriala PIC18F2550 i kompilatora SDCC . W tej części poznamy sterownik wyświetlacza LED MM5450, połączymy go z PIC18F2550 i napiszemy od 0 implementację ich komunikacji. Docelowo użyjemy MM5450 do wysterowania wyświetlacza LED 5 na...
Często w bibliotekach LCD sa delay. Szukaj takiej co ich nie ma albo wysyłają z bufora ekranu do LCD na przerwaniach. Do obsługi LCD używam biblioteki LiquidCrystal_I2C.h ona używa delay, jak to sprawdzić ??? Reszta jest już prosta. Każde zadanie piszesz w taki sposób jakby działało na przerwaniach. W pętli głównej wywołujesz kolejne zadania, które...
. Fajnie gdyby dioda zamiast gaśnięcia przy wykonywaniu operacji migała wolniej zamiast gasnąć. Nie chcę wykorzystywać jej do zaawansowanych operacji, tylko do tej jednej, ale jeśli to w czymś przeszkadza, to zrezygnuję z tego. Popatrz na to bardziej realnie:Aby migac diodą, coś musi to robic w sposób raczej dedykowany. Może to byc processor, lub jak...
Cześć wszystkim, Po ponad 2 miesięcznej przerwie wróciłem do swojego projekciku i niestety o ile wtedy wszystko szło w dobrym kierunku, to teraz pozapominałem niektórych kwestii i na dodatek przekombinowałem teraz z kodem co w efekcie przysporzyło mi kilku problemów. Program pisany jest w C# i ma współpracować z Arduino, do którego podpięte są dwa włączniki...
Cześć wszystkim. Nie pamiętam czy już coś pisałem na forum więc od razu pozdrawiam wszystkich jako świeżak. Oto mój problem: Napisałem kod(wiem wiem, nie jest to mistrzostwo świata, ale zajmuję się Arduino od 2 tygodni więc zrozumcie), który ma realizować funkcję gry z losowo włączanymi diodami, a zadaniem gracza jest te diody(przyciski do nich podłączone)...
Witam wszystkich forumowiczów. Tworzę od jakiegoś czasu układ, który ma docelowo realizować funkcje licznika rowerowego z paroma dodatkowymi funkcjami. Jedną z nich jest pomiar sumy podjazdów na trasie. Posiada czujnik ciśnienia, który odpowiada za pomiar wysokości na poziomem morza. Na ten moment ma w kodzie funkcje, która realizuje tylko wyznaczanie...
odliczanie czasu timer arduino odliczanie czasu bascom odliczanie czasu timer
strumienica zamiast katalizatora pendrive zniknął oświetlenie przez bluetooth
Kontrolka security w Toyocie Auris - co robić? Czy hak Westfalia z Sharana pasuje do VW T5?