Parę lat temu, kiedy planowałem wziąć udział w Kazachstan Solar Challenge, zastanawiałem się nad tym, jak własnoręcznie zrobić sterownik do trójfazowego elektrycznego silnika rowerowego. Po krótkim poszukiwaniu znalazłem interesujący artykuł, który wyjaśnia ten temat dość dokładnie. Postanowiłem przetłumaczyć najciekawsze jego części. Celem stworzenia...
Robisz tak: [syntax=c] while(true){ //funkcje do sterowania silnikiem if(zostanie wciśniety przycisk pauza) { break; } }[/syntax] Jednak prze delay(); w pętli będziesz musiał trzymać przycisk tak długo aż pętla zakończy działanie, gdybyś pisał w czystym c, to było by łatwiej bo można byłoby to zrobić na przerwaniach.
Witam, [syntax=c]attachInterrupt(ENK1, enkoder, FALLING);[/syntax] Na pinie 3 (PB3), nie ma przerwania INT, które włącza ta funkcja. Attiny85 ma przerwanie INT0 na pinie 2 (PB2), więc wystarczy pozamieniać piny, np. tak: [syntax=c]#define ENK1 2 #define ENK2 4 #define RST 0 #define DATA 1 #define CLK 3[/syntax] Później zmienić to: [syntax=c]attachInterrupt(ENK1,...
Takich bajerów jeszcze nie robiłem więc nie mogę dokładnie określić jak działa moduł radiowy. Ale myślę że wystarczy zwyczajnie podpiąć jeden odbiornik i nadajnik żeby setka arduino mogła sobie rozmawiać miedzy sobą. Oczywiście będzie zapchanie pasma radiowego itp ale to już trzeba samemu przekumać jak obsługiwać błędy, np potwierdzać odbiór informacją zwrotną...
Może ten temat pomoże z przyciskami: - debouncing z wykorzystaniem przerwania.
(at)A-D-R-I-A-N najlepiej będzie, jeśli zaznajomisz się z przerwaniami zewnętrznymi na Arduino. Wtedy działanie przycisku nie będzie uzależnione od opóźnień stosowanych w programie. Sprawdź:
Oczywiście, że delay będzie opóźniał pętlę loop. Akurat z Serial to nie ma znaczenia, bo to jest robione na przerwaniach w Arduino, nawet jak loop jest zablokowany to po odbiorze czegoś na uart robi to sprzętowo, odbiera bajt, przenosi do bufora i zgłasza przerwanie, zaczyna odbierać kolejny. W tym czasie funkcja obsługi przerwania odczytuje ten bajt...
Witam, chciałbym zapytać o detekcję zera. Widziałem kilka tematów, lecz w żadnym nie znalazłem odpowiedzi na moje pytanie - może jest zbyt banalne. Realizuję projekt sterownika do kotła zaciernego z uzyciem Arduino. Program jest gotowy, ekran dotykowy też - czas na realizacje algorytmu i elektronikę. Uzywał będę gotowego kotła z grzałkami - wyrzucam...
Tak jak w tytule, wpisuję kod przerywa on delay i następuje nowe zadanie .
Witam wszystkich! Mam problem, otóż stworzyłem prosty projekt, którego zadaniem jest wyświetlanie temperatury/wilgotności z DHT-11 na wyświetlaczu i zliczanie impulsów. Niestety, coś jest nie tak - zliczane są jakieś dziwne wartości, przypuszczam, że błąd wynika z mojej niewiedzy, lub z jakiegoś błędu w składni. Przerwanie działa poprawnie - zapala...
Potrzebuję pomocy w przerwaniu pętli while (linijka 146) założenie jest takie jeżeli BlutoothDane=s to ma wykonać tą pętle a jeżeli BlutoothDane=d to ma ją przerwać. problem jest taki, że nie przerywa pętli cały układ ma działać jako sterownik Led na bluetooth. Proszę o szybką pomoc. Proszę o przeniesienie do odpowiedniego działu.
Cześć. Nie potrafię obsłużyć przerwania UART - Arduino Mega. Mam prosty program, który współpracuje z wyświetlaczem NEXTION. Arduino odczytuje wartości czujników i przesyła do wyświetlacza. Wyświetlacz po wciśnięciu button przesyła do Arduino informację i steruje przekaźnikami. Prosta sprawa. Mam problem tylko taki, że chciałbym aby w momencie wysłania...
Oto kod, gdyby ktoś chciał pobawić się podobnym systemem. long Htime; //integer for storing high time long Ltime; //integer for storing low time long Ttime; //integer for storing total time of a cycle long frequency; //storing frequency ISR(TIMER1_OVF_vect) // interrupt service routine { TCNT1 = 3035; // Interrupt runs once a second (at)...
witam, czy jest możliwość w atmega128 generować przerwanie zawsze przy zmianie pinu na przeciwny... Chodzi mi tutaj o kilka pinów generujących jedno przerwanie. W arduino jest coś takiego jak: ISR(PCINT2_vect) { } I zawsze kiedy któryś z pinów które ustawione mają dane maski generuje to przerwanie. Jak uzyskać coś takiego na amtega 128?
Witam, jestem początkującym programistą -ostatnimi czasy pracuję sobie nad urządzonkiem, które zliczałoby ile ludzi wchodzi do danego pokoju drzwiami X i ile wychodzi tymi samymi drzwiami. Wykorzystuje do tego dwa czujniki przerwania wiązki IR, arduino UNO oraz konwerter i2C i wyświetlacz HD1602. Zadanie tegoż "urządzonka" jest takie, aby pokazywało...
Witam, jeżeli "biały oscylogram" z Twojego pierwszego postu jest zgodny z rzeczywistością, problem można łatwo rozwiązać na drodze czysto programowej. Wykrywasz narastające zbocze sygnału. Po jego wykryciu blokujesz wykrywanie tego narastającego zbocza na pewien czas. Czas ten nie może być zbyt długi żeby nie zgubić następnego impulsu przy dużych obrotach,...
Do wysyłania na telefon soft serial w zupełności wystarczy, bez problemu znajdzie taki na 115200kb. Tak jest napisane w "reklamówce" tej biblioteki :) W rzeczywistości, na UNO to będzie pracował stabilnie co najwyżej z 38400. I w reklamówce, nigdzie nie piszą, ze nie można zawieszać przerwań z czego Arduino nagminnie korzysta. Dodano po 2 To zależy...
Czyżby ten układ, o dostatecznie wysokich parametrach (U= lub powyżej 240V oraz dostarczający około 2 kW mocy szczytowej), nie posiadał regulacji napięcia? Mnie też to zastanowiło, zwłaszcza, że autor planuje zastosować procesor. Grzałka jest dopasowana do źródła jakim są kolektory tylko w szczytowej mocy, poza tym może stanowić przeciążenie kolektorów...
Najprościej, to jeśli nadajnik nic innego nie ma do roboty to wstaw delay(100) do loop, czy jakąś mniejszą/większą wartość, która dla działania układu ma jeszcze jakiś sens. A ten delay w nadajniku da czas odbiornikowi na przetworzenie danych i wykonanie akcji zanim nadlecą kolejne dane. To samo możesz zrobić używając do odmierzania czasu millis lub...
Pracuję nad pewnym projektem, który pozwoli z kabiny zabytkowego tramwaju zrobić symulator jazdy z wykorzystaniem mechanizmu oryginalnego nastawnika i ekranu do projekcji tylnej w miejscu przedniej szyby. Nastawnik nie jest kompletny, ale mechanizm kręcenia korbą i nawrotnikiem działa, więc pozostaje tylko kwestia odczytania zadanej pozycji jazdy lub...
Dzisiaj przedstawię proces portowania biblioteki obsługującej MultiFunctionShield na Arduino R4 oraz krótko zademonstruję jej możliwości, czyli wyświetlanie danych na 7-segmentowym, 4-cyfrowym wyświetlaczu oraz kontrolę klawiatury i buzzera. Przy okazji też zobaczymy jak można zrealizować timer z przerwaniem na R4 przy użyciu FspTimer.h . To starczy...
Witajcie, dzisiaj przedstawię uruchomienie układu AS1115 z Arduino w oparciu o gotową bibliotekę. AS1115 to kontroler wyświetlacza 7-segmentowego (do 8 cyfr) oraz klawiatury (do 16 klawiszy) z interfejsem I2C, oferującym dodatkową linię-przerwanie dla zdarzeń pochodzących od klawiatury. Temat ten po raz kolejny bazować będzie na płytce z wyświetlaczem...
Arduino IDE to standardowe narzędzie umożliwiające tworzenie, kompilację oraz wgrywanie sketchy na płytki Arduino. Niewielka aplikacja napisana w Javie doceniona zostanie przede wszystkim przez początkujących użytkowników. Oczywiście oficjalne IDE posiada wszystko co jest potrzebne do pracy z modułami Arduino i nie ma potrzeby odchodzenia od przyjętych...
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ą. Dodatkowo, w celu urozmaicenia tematu, wyświetlacz ten będę...
W ramach trwającego konkursu Czujnik wilgotności i temperatury AM2302 (DHT22) Czujnik AM2302 może pracować z napięciami 3.3-5.5V posiada 4 wyprowadzenia (jedno niewykorzystywane). Trzy wyprowadzenia wykorzystane są jako zasilanie (1), transmisja danych (2), oraz masa (4), więcej znajdziecie w nocie katalogowej: Długość przewodów połączeniowych może...
Były to programy na Windowsa Podn Windę nie odwołujesz się bezpośrednio do układów peryferyjnych. Robisz to za pośrednictwem sterowników. Otwierając COM nie interesuje Cie czy to VCOM na USB, port na PCI itp. Nie konfigurujesz rejestrów układu, np SPI czy I2C. Inaczej było pod DOS. Myślę że dał bym radę zaprogramować zamiennik. Kwestia czasu. Arduino...
chciałbym żeby na bieżąco sprawdzał ile światła pada Na bieżąco - tzn ciągle? Najsensowniej byłoby tu użyć przerwań. I albo "na bieżąco" (co nie wydaje mi się konieczne) monitorować ilość światła i w przerwaniach zmieniać tekst, albo wszystko oprzeć na przerwaniach. Może i banalne ale na razie nie czuje się pewnie w temacie C W internecie są dobre...
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka z Arduino. Temat oczywiście nie zastąpi w pełni czytania noty...
Szkoda, że nie ma tutaj majsterkowiczów z branży pojazdy RC/Arduino. Napiszę więc, co zrobiłem i jakie rafy. 1. Wybór biblioteki do sterowania silnikami. Jedyna działająca z PWM na silniki, na którą trafiłem, to ta: . Jest dosyć stara i trzeba w niej zmienić dołączaną bibliotekę WProgram.h, która na przestrzeni lat zmieniła nazwę na arduino.h. 2. Moduły...
podłączyć drugie arduino nano zaprogramowane tak by odbierało i przetwarzało sygnał z pinu przeznaczonego dla ws2812 Na moje oko, bez wspomagania sprzętowego niemożliwe. Dane napływają z prędkością 800kb/s, Musiałbyś mierzyć czas tak napływających impulsów aby stwierdzić czy na nadano 1 czy 0. Na AVR max jaki wyciągniesz to ok k20kb/s. To w sytuacji...
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...
Opisywany eksperyment ma na celu pokazanie, że nawet urządzenie o tak małej wydajności obliczeniowej może w czasie rzeczywistym przetwarzać dźwięk. W pierwszym zestawie przykładów sygnał jest pobierany z wejścia i po obróbce przekazywany na wyjście, a otrzymywane efekty to na przykład pogłos, phaser czy flanger. Struktura programu jest dość prosta...
Można i tak ją zadeklarowałeś na początku: [syntax=c]volatile float temp;[/syntax] Swoją drogą przy takiej deklaracji zmiennej globalnej na początku programu i nie używaniu jej w przerwaniach, modyfikator volatile jest zbędny. Specyfiki Arduino nie znam niestety. Nie odpowiedziałeś na moją uwagę dot. pętli głównej i main().
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ż krok po kroku , dodatkowo w dość uproszczony sposób, stroniąc...
Witajcie. Po krótce, mam problem z czujnikiem DHT22. Uruchamiając sam czujnik, działa on bez problemu. Uruchamiając go z pozostałymi czujnikami wiesza on arduino, a dokładniej zamraża, jedynie co ratuje to RESET. Szukałem podobnym tematów, ale bez skutku. Kod:[syntax=c]// ****************************************... #include <DHT.h> #include...
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:...
Czujnik indeksu UV oraz natężenia oświetlenia SI1132 (Silicon Labs), udostępnia wyniki pomiarów poprzez cyfrowy interfejs I²C. Ponieważ czujnik posiada zintegrowane bloki analogowe, nie musimy zajmować się przetwornikami ADC, źródłami napięć odniesienia itp. Oczywiście obecność światła możemy wykryć prostym czujnikiem np. fotorezystorem, fotodiodą...
Witam wszystkich dziękuję za zainteresowanie, poniżej dalszy ciąg projektu. Założenia -> nie interesują mnie bajery i niepotrzebne gadżety, sterownik ma być funkcjonalny i w miarę możliwości niedrogi. Domek jak to na letniskowy przystało, latem jest bardziej użytkowany, zimą mniej - ale zimą chcę wiedzieć jakie tam panują warunki (szczególnie temperatury)....
Rozumiem, postaram się poszukać parametru odpowiadającego za częstotliwość odpytywania. Dobry pomysł z wierSharkiem, dawno tego nie używałem ale zainstaluję i nawet z czystej ciekawości sprawdzę Biblioteka mojego modbusa to: MODBUS.h Dodano po 2 Niestety nie znalazłem informacji o częstotliwości wysyłania zapytań. Na Youtubie znalazłem filmiki gdzie...
Niepotrzebnie mieszasz myślowo różne systemy walutowe. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <Arduino.h> unsigned long FlagTime; void setup(){ // to jest odpowiednik main Serial.begin(9600); DDRB &= ~(1 << DDB0); // ustawienie pinu B0 jako wejście ( wejście licznika ICP1) PORTB |= (1 <<...
YAALL = Yet Another Arduino LED Lamp Projeków gdzie Arduino zaprzęgnięty jest do “mrugania” kolorowymi LED’ami w sieci jest tysiąc. Pomysł więc nie jest wcale świeży. Narodził się, gdy chciałem spróbować napisać jakąś aplikację na platformę Android - dla zabawy i aby się przekonać czy jest to trudne. Główne założenie projektu jakie...
A ile masz dwudziestych pierwszych linii kodu? I podchwytliwe pytanie - ile z nich zna kol. BlueDraco ? mógłby mi ktoś wytłumaczyć jak działa funkcja map w Arduino ?? Nie znam arduino, ale według tego ( x=0, map(x)=-5 x=1, map(x)=-3 x=2, map(x)=-1 x=3, map(x)=1 x=4, map(x)=3 x=5, map(x)=5 x=6, map(x)=7 x=7, map(x)=9 x=8, map(x)=11 x=9, map(x)=13 x=10,...
Komunikacja w drugą stronę (Arduino-Slave inicjuje) już niestety taka nie jest bo slave nie ma możliwości samodzielnego nadawania. Problem rozwiązać jakoś inaczej, np. dodatkową linią na której Arduino-Slave zgłasza Arduino-Master chęć nadawania, wtedy Master inicjuje transmisję. To realizuje się przez wygenerowanie przerwania przez slave. Sa z tym...
Witam, chciałbym aby w kodzie konwersja realizowana była w sposób ciągły oraz odczyt wyniku przetwarzania realizowany był w przerwaniu od przetwornika. Jak można zmodyfikować kod aby spełniał podane funkcjonalności ? [syntax=c] #include <Arduino.h> #define ADC_RESOLUTION_DEFAULT (5.0f / 1024.0f) uint16_t digital; float voltage; uint16_t ADCsingleREAD(uint8_t...
Arduino swoje potrafi. To twoja robota, jako programisty to wyegzekwować. Powinno to wyglądać mniej więcej tak: 1. Deklarujesz zmienne w pamięci eeprom, inicjalizujesz domyślnymi wartościami. 2. Konfigurujesz sprzętowy uart najlepiej na przerwaniach. 3. Po podłączeniu odbierasz sobie dane, wysyłasz jakieś potwierdzenie do pc-ta że poprawnie je odebrałeś,...
Nie programuje w arduino, ale w programach pisanych w C, na mikroprocesory AVR, istnieje przerwanie od UARTa. Gdy odbierasz ramkę danych poprzez UART, załączana jest flaga przerwania. W obsłudze przerwania zapisuj godzinę w której wystąpiło przerwanie, poprzez to będziesz miał swój znacznik czasu.
Fundacja Arduino udostępniła informacje o płytce MKR1000 będącej nowym modułem deweloperskim wyposażonym w układ SoC ATSAMW25. ATSAMW25 to układ SoC z portfolio urządzeń SmartConnect firmy Atmel. Moduł oferujący bezprzewodową komunikację oraz mechanizmy zapewniające podwyższone bezpieczeństwo został zaprojektowany specjalnie na potrzeby branży IoT....
Bluno M3 to nowa i komaptybilna z Arduino platforma deweloperska wykorzystująca 32-bitowy procesor ARM. Płytka produkcji DFRobot to nowy członek rodziny urządzeń Bluno, z której M3 dziedziczy najważniejsze funkcje. Użytkownik otrzymuje platformę z wbudowaną obsługą łączności Bluetooth 4.0, funkcją bezprzewodowego programowania oraz możliwością sterowania...
tak to zrobiłem , i działa dobrze if ((dt.minute)==0 &&(dt.second)==0) { //zapis na sd_card } Działa ale zależnie od programu może zdarzyć się, że kiedyś nie zadziała albo zadziała więcej niż raz. Najpewniejsze jest wykorzystanie przerwań od alarmu. Jeśli takiej możliwości nie ma DS1307 nie ma rejestru alarmu) to czas pobiera się z zewnętrznego RTC...
Następcy PCF8574/75 maja rejestr kierunku i wyjścia PP a nie OD z podciąganiem 100uA. W 8051 to przynajmniej było krótkie "silne" podciąganie na chwilę po przełączeniu portu w stan "H". Więcej zalet jest w trybie wejściowym z przerwaniami. W PCF8574 gdy wejście na chwile zmieni stan, można to wykryć ale nie wiadomo, który pin to zrobił. W MCP23017/MCP23S17...
Zostaw tam hc595 i dobuduj stopnie tranzystorowe. Czemu upieracie się przy dodatkowych rejestrach? Arduino ma wystarczającą ilość GPIO aby nie stosować dodatkowych rejestrów. Aby dobrze zrobić multipleksowanie z rejestrami timer musi inicjować transmisję spi, która oczywiście działa na przerwaniach. To ma zrobić początkujący? Tego to często nie potrafią...
Arduino to chyba ma swój poddział w . Nie napisałeś, jakie Arduino, ale jakie by nie było... Software serial z prędkością 115200 i jeszcze przepisywaniem bajt po bajcie na drugi interfejs, to nie ma prawa chodzić. W czasie, kiedy wysyłasz znak na konsolę, bity Ci uciekają na BT. Już raczej konsolę można by robić software-owo, ale i tak odbiór musiałbym...
Język programowania Arduino i środowisko Arduino IDE są najpopularniejszymi narzędziami programistycznymi na rynku hobbystów i amatorów. Niestety temu narzędziu brakuje niektórych funkcji dostępnych w profesjonalnych IDE, takich jak autouzupełnianie kodu czy możliwość dodawania punktów przerwania za pomocą debugera. Dlatego też firma rozpoczęła pracę...
Gołąb wskakujący do gołębnika przez specjalną klapę Jeśli ją otwiera to kontaktron plus choćby Arduino...
Nie robiłem nic na arduino, ale 21 lat temu napisałem programik w Pascalu do obsługi prostej centralki na przekaźnikach. Wszystko dekodowane w programie. Zajrzałem do tego i generalnie prosta sprawa: - wywołujemy procedurę z przerwania czasowego. Wybrałem 100Hz, dzisiaj nadal myślę że to dobra wartość. Minimalna długość przerwy impulsującej tarczy to...
Bawię się od niedawno Arduino i doszedłem do momentu gdzie moje "projekty" nazwijmy to tak hura optymistycznie powstające w głowie zaczynają wyrastać ponad możliwości prądowe Arduino Nano ... ...nie pamietam dokladnie wydajnosci arduino ... Nie możliwości/wydajności prądowe Arduino Nano, tylko zastosowanego tam mikrokontrolera ATmega :) Czytaj: Odpowiedzią...
"goto waitloop"?!! Naprawdę?! :roll: Ja bym na początek wywoływał FastLED.show(); z zablokowanymi przerwaniami. Na zdrowy rozum powinna to robić sama biblioteka ale...
Sądzę, że detekcja osiągnięcia krańcówki powinna być zrealizowana na przerwaniach. Wtedy nie trzeba tego na bieżąco sprawdzać w loop(). Ponadto przerwanie się wykona, niezależnie od tego co się dzieje w loop(). Dodano po 44 Chyba najrozsądniej było by ro zrobić z podziałem na funkcje To zawsze zwiększa czytelność kodu ;)
W tej architekturze programu tego nie zrealizujesz. Ramki CAN musisz wysyłać co określony czas. Zrobisz to przy użyciu rutyny obsługi timera ustawionego na zdefiniowaną przez Ciebie częstotliwość. Dane do wysłania muszą być gotowe, gdy nadejdzie przerwanie (nie obliczamy wtedy częstotliwości). Pomiar częstotliwości jest również do przerobienia, bo teraz...
Nie jest powiedziane, że LLM ma tylko napisać raz kod i nam go zostawić. Są też próby utworzenia systemów wieloagentowych gdzie AI pisze kod w sposób iteracyjny: Ale IMHO ciągle jest poważny problem - bo co znaczy dobry kod - czy wystarczy, że on działa? Jeśli tak, to może, szczególnie w relatywnie prostych programach. W kodzie z tego wątku - mamy...
Zupełnie zmieniłem koncepcję, dokształciłem się i zrobiłem to na przerwaniach. Wydaje mi się, że teraz jest lepiej i wzrośnie stabilność tego kodu. Urodziło mi się kolejne pytanie. W jaki sposób podłączyć czujniki halla do mikrokontrolera? Myślałem, żeby podłączyć driver do hallotronu, żeby odseparować się galwanicznie od procesora. Jak prawidłowo powinienem...
(at)gavron04 W jakim standardzie nadaje pilot? W zależności od standardu piloty inaczej kodują sytuację w której przycisk jest przytrzymany i być może kod dla powtórzonego przycisku jest inny niż przy pierwszym jego wciśnięciu. Poza tym robienie pętli blokujących cały program jest bez sensu. Dekodowanie IR musi być zrobione asynchronicznie, czyli na...
Znalazłem coś takiego
Na początek wymień wszystkie zmienne i stałe związane z millis na UL ( uint32_t). Używasz liczb ze znakiem i po chwili zacznie Ci robić głupoty w programie. Po drugie ustal ile faktycznie możesz mieć impulsów na obrót silnika i ile jest faktycznie obrotów funkcjami dedykowanymi do zliczania impulsów. Jak impulsów jest mało można używać przerwania zewnętrznego,...
Pracuję nad pomiarem faktycznej prędkości wrzeciona w małej obrabiarce CNC. Moduł to WiFi Lora 32 V2 (). Czujnik HAL to moduł Waveshare AH49E - , schemat modułu - . IDE Arduino. Dla testów przygotowałem banalny kod: Przez jedną sekundę przez przerwania mają być zliczane impulsy z cyfrowego wyjścia modułu Waveshare Halla AH49E (ma zarówno wyjście analogowe,...
Zakładam, że jasność wyświetlacza regulujesz przez sprzętowe PWM - w takiej sytuacji niema żadnej drugiej pętli. Podobnie jak ton buzzera - jest generowany przez timer, prawda? Niemniej, jeśli rzeczywiście zachodzi konieczność "rozdzielenia" to w wielu przypadkach wystarczają po prostu przerwania. Czyli jakąś funkcję, realizującą konkretną rzecz wywołujesz...
Dwa lata temu Arduino wypuściło na rynek płytkę MKR WAN 1300. Moduł korzystał z Microchip Atmel SAMD21, kompatybilnego z Arduino Zero 32-bitowego mikrokontrolera z rdzeniem ARM Cortex-M0+. Oprócz tego mikrokontrolera na pokładzie znaleźć można było transceiver Murata CMWZ1ZZABZ - moduł transmisji w sieci LoRa ,oparty na mikrokontrolerze Semtech SX1276...
Witam. Pomimo działania w elektronice od lat przyznam, że z Arduino zetknąłem się niedawno. Pierwszy układ, jaki zaprojektowałem i zbudowałem to był zegar sterujący do starych zegarów kolejowych w oparciu o kod:[syntax=c] /* Primary clock */ int relay_sw1 = 2; int relay_sw2 = 3; void setup() { pinMode(relay_sw1, OUTPUT); pinMode(relay_sw2, OUTPUT);...
Witam. Do schematu układu będę miał dostęp dopiero w piatek (delegacja). Opiszę więc po krótce co robię: Oto moduł WiFi, którego usiłuję obsłużyć: A [url=]tutaj znajduje się stosowna biblioteka dla Arduino. Problem zaczyna się już przy pierwszej próbie komunicacji MASTER=>WiFi. [url=]Przebiegi czasowe To sprawdziłem analizatorem stanów logicznych: -...
Witam, zakupiłem wentylator Chciałbym mieć możliwość włączania i wyłączania go za pomocą komputera. W Arduino jestem zielony, a bardzo zależy mi żeby to zbudować. Na szczęście znalazłem takie plany: - Zakupiłem już potrzebne części. Wszystko jest dosyć proste, jasno opisane. Pytanie czy włączanie i wyłączanie takiego wentylatora za pomocą takiego układu...
Witam, Jako początkujący zmierzyłem się z zagadnieniem przerwań i PWM próbując sterować serwomechanizmami podpiętymi do PB1, PB2. Sterowanie ma odbywać się za pomocą potencjometrów, jak w jednym z przykladów Arduino. Początkowo problem rozwiązałem nie wykorzystując przerwań, a jedynie zapisując wartość odczytaną z ADC do tablicy, która następnie wysyłała...
Witam. Jakiś czas temu prezentowałem mój system automatyki budynkowej. Jeden sterownik na atmedze128 zarządza światłem, drugi żaluzjami. Oba komunikują się arduino Mega (+ shield W5100). Dzieki ajaxowi mam bieżący podgląd na stany wyjść obu sterowników, mogę nimi zarządzać i odczytuje temperatury z trzeciego modułu jakim jest wielokanałowy termometr....
Witam, próbuję napisać program do odbierania danych z modułu Bluetooth HC-06. Kod, który znalazłem i zmodyfikowałem działa, lecz jest napisany w języku, który jest dla mnie trudniejszy. Chciałbym zapytać czy ktoś ma może odpowiednik poniższego programu w języku Arduino? Aktualnie potrzebuję stworzyć Timer, który po otrzymaniu danych z Bluetooha ustawi...
Witam Tematy aplikacji APP Inventor nie są zbyt często rozwijane, chociaż jest to naprawdę prosty program do komunikacji bluetooth pomiędzy telefonem a Arduino. Na dobrą sprawę zamiast wyswietlacza LCD mozemy mieć ekran dotykowy telefonu który dodatkowo może służyć jako przyciski sterowania. O ile sterowanie różnymi rzeczami poprzez kliknięcie na telefonie...
Witam, chciałem zaprezentować swój projekt na konkurs DIY. Jest to wielokanałowy multimetr z funkcją logowania na komputer PC za pomocą połączenia USB. Myślę iż funkcjonalność urządzenia oraz sposób działania pokazują same fotografie oraz zamieszczony na samym końcu krótki film pokazujący podstawowe działanie urządzenia. Jednakże postaram się je jeszcze...
ESP8266 jest ze dwa rzędy wielkości mocniejszy od AVR'ów I tu muszę niestety bardzo surowo odpowiedzieć. Po pierwsze nie rozumie kolega wyrażeń, którymi się posługuje. Po drugie nie zna kolega rzeczywistej wydajności rdzenia Xtensa (są porównania do AVR i STM), po trzecie nie rozumie kolega ograniczeń tego SoC/MCU. A w porównaniu do tych "słabych"...
uChip to finansowana za pośrednictwem serwisu Kickstarter płytka prototypowa firmy Itaca Innovation. Sercem uChip jest ten sam co w Arduino Zero układ SAMD21 firmy Microchip/Atmel zawierający jednordzeniowy procesor ARM typu Cortex-M0+ o taktowaniu 48MHz. Programowanie uChip odbywać może się w środowisku Arduino. Do obsługi zarządzania energią, USB...
Przerwania w ogóle nie są Ci teraz potrzebne (szczególnie do obsługi aktywnego kilka sekund czujnika). Przerwania dodałem ponieważ cała sekwencja od rozpalenia pierwszej diody (będzie ich z 10) do końca efektu podtrzymania trwałaby myślę ok 20s. W tym czasie jest szansa że wejdzie kolejna osoba i nie chcę żeby tej drugiej osobie schody zaczęły w połowie...
Wypada też zauważyć, że w bardzo wielu przypadkach całe oprogramowanie mikrokontrolera buduje się taki sposób, że w ogóle nie występuje w nim żadna "pętla główna", a cała funkcjonalność zawarta jest wyłącznie w przerwaniach. Takie podejście daje najlepszą responsywność i najniższe możliwe zużycie mocy, co przy zasilaniu urządzenia przez 5 lat z pastylki...
Po 100 tkach propozycji od YT na temat CHAT GPT postanowiłem sprawdzić czy zrobi coś na Arduino. No i go zapytałem czy zna Arduino i AVR, odpowiedział pozytywnie wyświetlając mi informacja jak z Wikipedii. Następnie zapytałem jak skonfigurowaćTImer2 na 100ms przerwania - no i wyświetlił mi listę kroków jak to zrobić. Zapytanie o kod - wygenerował 2...
Ten czujnik dźwięku ma najprawdopodobniej wyjście cyfrowe: LOW - jest dźwięk HIGH - nie ma dźwięku Czyłość ustawia się potencjometrem. Wówczas zamiast: pinMode(A2, INPUT); //mikrofon ma być: pinMode(jakiś_pin, INPUT); //czujnik FC04 to jest niepotrzebne: wartosc = digitalRead(A2); zamiast: if(wartosc > zalaczenie) alarm = true; ma być: if(digitalRead(jakiś_pin)==LOW)...
Witam Mój zegarek jest dość prosto zbudowany, oparty na funkcji while. Oprzej swój zegarek na koncepcji wykorzystania timera; powiedzmy timera2 z dodatkowym kwarcem 32kHz i wykorzystaj przerwania. Wtedy processor zamiast liczyć czas, zajmie się dodatkowymi funkcjami jakie przewidujesz w programie. e marcus
jak wyobrazasz sobie pisanie czasowo-zaleznych procedur z właczonymi przerwaniami. tylko synchroniczne gdzie mozesz zrobic "clock stretching" (I2C na ten przyklad) Może znasz magiczną metode na softwaerowe generowanie przebiegu na pinie o scisle okreslonych parametrach czasowych z właczonymi przerwaniami (szczególnie jak nie wiesz ile zajmie ich obsługa)?...
Witam, Znalazłem w internecie projekt licznika obrotów, który przystosowałem do swoich potrzeb od strony praktycznej, całość działa bardzo dobrze, wynik jest wyświetlany na module LCD z tym że np. w momencie uruchomienia urządzenia jak i po przerwaniu zadawania impulsu do procesora, na wyświetlaczu mam stale jakiś wynik. Chciałbym aby w tych okolicznościach...
jest ich dużo ponieważ czujnik podczas obrotu na serwo mechanizmie musi mieć czas na obrót z tąd potrzeba "delay" Nie - jest ich dużo bo autor nie wie jak to poprawnie napisać. Już Ci pisano milis albo przerwania. Innej prawidłowej drogi nie ma
Witam. Proszę o wskazówki, jak napisać program w C++ do zbudowania generatora przebiegu prostokątnego, o wypełnieniu 50%. Niby wszystko załatwia funkcja tone() w Arduino. Modulacja częstotliwości też była by banalna. Próbowałem też z przerwaniami biblioteka "timer0". Ale problemem dla mnie, jest bardzo niedokładna powtarzalność "impulsów" przebiegu....
Może trzeba do innych funkji zaprząc przerwania.
Można więc sobie wpisywać co się chce do PORTx a piny będą ustawione tak jak w kontrolerze SPI. Dokładnie o to mi chodzi. Myślimy że coś wysyłamy a jednak to nie pojawia się na magistrali. Problem jest ogólny nie tylko arduino. Sygnał SS może być zdjęty w przerwaniu po zakończeniu transmisji sprzętowej. Warto analizować kod bibliotek. Warto używać...
Po kilku dniach przerwy z powodu uszkodzonego komputera powróciłem do Arduino. Rano chciałem pobawić się enkoderem i zauważyłem, że gdy nim kręciłem to impulsy raz były zliczane raz nie, po sprawdzeniu przewodów połączeniowych multimetrem okazało się ze 3 z nich są przerwane, te same używałem podczas podłączania silnika krokowego i L293D. Złożyłem ponownie...
Witam Jednak pod latarnią najciemniej. Błąd przed oczami jak byk a nie wdać go. Poprawiłem i ..... nie zadziałało. Błąd kompilacji. Przypomniałem sobie, że nazwy wektorów przerwań zostały zmienione dla potrzeb Arduino. Poprawiłem na ISR(TIM0_OVF_vect) {} i jest Ok. Dzięki wszystkim za pomoc.Temat można zamknąć. Pozdrawiam Zbych
Witam Chciałbym zaprezentować projekt latarki, (rozwinięcie mojej poprzedniej konstrukcji ), oparty na Atmega328pb kompilowany pod arduino. W tej wersji są także 2 cree xm-l zasilane max 2A z 2 ncr18650b (PANASONIC 3400mAh), połączonych równolegle. Obudowa o wymiarach 50x30x97 wycięta z alu profilu. Obudowa jest stale przymocowana do obejmy 31,8mm (do...
Alternatywnie zamiast biblioteki SoftwareSerial można użyć AltSoftSerial, która korzysta z przerwań i jest najlepszą opcją dla emulowanego programowo UART dla Arduino. Link: Wadą jest, że RX/TX jest na sztywno przypisane do pinów 8 i 9, a pin 10 staje się bezużyteczny.
Kolego Chivo ja korzystam obecnie z enkodera dfrobot df400 ma 400 impulsów na obrót, czasem bywały problemy z nim ale znacznie przewyższa tanie impulsatory. Wracając do tematu opracowałem kod który działa mniej więcej tak jak bym chciał. Czujnik odległości optyczny odbiciowy działa na pinie 12, na pinie 2 korzystam z impulsów enkodera. Podczas gdy obiekt...
Witam, Mam problem początkującego. Próbuję stworzyć układ z wrzutnikiem monet, który załącza poprzez przekaźnik odbiornik na pewien czas zależny od ilości wrzuconych monet/impulsów wysłanych do arduino. Wrzutnik monet wysyła sygnał (GDN) na wejście. Jest to impuls o pewnej długości. Gdy odbiornik nie jest podłączony do sieci wszystko działa jak należy....
Jako że się trochę nudziłem to spróbowałem coś zrobić samemu i ustawiłem sobie PIN 8 arduino jako wejście i coś tam dopisałem do kodu, ale afekt jest do kitu, więcej nic nie wymyśle jestem zbyt głupi, efekt poniżej. Tak ogólnie to kierunek myślenia w miarę pozytywny. Ale kwestia szczegółów, które trzeba uwzględnić. Główna sprawa, to jest kwestia sygnału,...
Witam wszystkich Otóż piszę program na platformie chipKIT max32, na pokładzie z procesorem PIC32mx795f512l. Używam programu MPIDE (klon ArduinoIDE). Chciałem skorzystać z przerwania do obsługi kilku przycisków, jednakże napotkałem problem. Najpierw konfiguruję przerwanie (wydaje mi się, że poprawnie zgodnie z notą). [syntax=c] T1CONCLR = 0x8000; //wylaczenie...
Dziękuję wszystkim za konstruktywne wskazówki. Na pierwszy ogień pójdzie sprawdzenie poprawności tablicy przerwań co wskazał stmx. Potem, jeśli nie ruszy postaram się dostosować do mojego hello-worldowego mrygadła przykłady Freddiego. Dziękuję też ex-or za wskazówki. Chciałem by początkowo mój kod był jak najmniejszy i robił tylko co niezbędne, ale...
Należy to zrobić na przerwaniach. Podział 1/32 akurat w tym wypadku nie będzie chyba dobry bo będzie trzeba odmierzać czas z dokładnością 50pikoSekund Przy podziale 1/1 to już "tylko" z dokładnością 5uS. Szukaj "arduino timer interrupt"
Jakieś pomysły Tak - nauka. Zacznij od bloga kolegi dondu gdzie znajdzesz podstawy mikrokontrolerów oraz języka C. Czytałem, że Procesor nie potrafi wykonywać 2 czynności na raz no rzeczywiście jak zauważysz róznicę rzędu mikrosekund między poszczególnymi czynnościami, to rzeczywiście będzie problem. Będziesz musiał iść w wielordzeniowe. - Jeden rdzeń...
Jestem w potrzebie skonstruowania rejestratora parametrów pracy. Ma odpowiadać za monitorowanie napięcia, natężenia i temperatury. Będzie współpracował z laserem diodowym. Bardzo przydatnym byłaby możliwość utworzenia i zapisu wykresu z podanymi parametrami. Przekopałem multum projektów na Arduino, lecz nie znalazłem żadnego z tymi czterema warunkami....