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. Masz tu kilka nieprawidłowości; Jakie znaczenie i zastosowanie ma...
https://obrazki.elektroda.pl/6034187100_... Pokażę tutaj jak można podłączyć Arduino R4 WiFi do Home Assistant poprzez MQTT w celu odbierania i wysyłania danych poprzez MQTT publish. Wykorzystam do tego bibliotekę ArduinoMqttClient. Przykładowy kod który tu zamieszczę najpierw łączy się z naszą siecią WiFi, potem podłącza się do naszego...
Zrozumiałem to, nie wiedziałem, że zmienne mogą być wyższe niż pętla i konfiguracja i zrobiłem je podobnie do twojego przykładu #include <ArduinoHttpServer.h> const char *ssidglobal; const char *passglobal; .. in class .. ssidglobal = set->inner.sta_ssid; passglobal = set->inner.sta_pass; ... A teraz działa w pętli, jak chcę. ... status...
Zajrzyj do biblioteki czy funkcja "IrReceiver.decode()" nie jest funkcją blokująca.
Próbuję wpisywać proponowane kody, ale wyświetlają się błędy, chyba zasilę Arduino przez tranzystor zastosuję układ na wzmacniaczu operacyjnym, który podczas wciśnięcia dowolnego przycisku pilota, na 3 sekundy, bez rozpoznawania kodu na chwilę odłączy zasilanie i zresetuje Arduino Świetny pomysł - może zasil przez lampy elektronowe albo przekaźnik...
Spróbuj w programie użyć przerwań dla przycisku. Teraz program działa już tak jak powinien, pętla działa bez delaya dlatego co obieg pętli wyświetlacz się odświeża. Żeby pisać na wyświetlaczu po wciśnięciu przycisku musisz tekst dodać w warunkach przycisku a nie w głównej pętli.
Jęśli chodzi o pytanie nr 3 to tak Dodano po 7 Bezpośrednia odpowiedź na pytanie Aby jednocześnie wyświetlać prędkość obrotową (RPM) wentylatora oraz ustawioną moc (np. w formie procentowego wypełnienia PWM) na wyświetlaczu dotykowym podłączonym do Arduino Mega, należy: - Zliczać impulsy z tachometru (pin TACH) wentylatora, przeliczać je na obr./min...
jak napisać program w arduino powodujący miganie diody 10 razy a następnie kończący działanie? Wstępna ocena dostępnych informacji Przeanalizowałem Twoje pytanie dotyczące napisania programu w Arduino, który spowoduje miganie diody 10 razy, a następnie zakończy działanie. Celem jest stworzenie programu sterującego diodą LED, który wykona określoną...
Witam, Mam problem z kodem, który znajduje się w funkcji loop. Kod i cały układ ma działać w następujący sposób: - krańcówka (k2) sprawdza czy wózek napędzany przez silnik jest w pozycji skrajnej (k2==1 jeżeli nie, k2==0 jeżeli tak) - jeżeli wózek jest w pozycji skrajnej, to trzeba kręcić silnikiem, dopóki krańcówka nie zostanie zwolniona (do [sterowanie...
Właśnie pisze swój pierwszy program na platformie Arduino UNO. Natrafiłem na pewien problem. Otóż, kiedy naciskam przycisk pętla while wykonuje się kilka razy. Mam na pomysł, aby zrobić przycisk który NIE będzie reagował na zwarcie wejścia do masy, ale na puszczenie przycisku. Tyle, że nie wiem jak to zrobić. Skoro to Twój pierwszy program na Arduino,...
Specem od Arduino nie jestem, ale pętla nieskończona "while(1)" chyba nie ma w tym kodzie większego sensu ;) Co do położenia zerowego, są dwie opcje: - układ sprzężenia zwrotnego informujący kontroler o położeniu wału - np. transoptor szczelinowy i jakaś przesłona, enkoder absolutny itd... - jeśli ruch wału jest fizycznie możliwy tylko w jakimś zakresie...
Nie do końca rozumię tą linijkę: Zadeklarowany 500 znaków, w tym pierwsze dwa zainicjowane na '{', '\0' Ponieważ to jest w obszarze pamięci statycznej, dodatkowo wszystko te obszary są z mocy standardu wypełnione zerami, czyli dalej tez są zera (ale z innej zasady) Dodano po 3 Ta linijka: bingo
I pytanie do was jak filtrować zakłócenia na wejściu do arduino samo polecenie PulUP nie pomaga. 1. Filtrowanie programowe, którego zakładam, że nie masz. 2. Pętla prądowa. Jak tylko opcja 1 trzeba zabezpieczyć sprzętowo wejścia, co w przypadku długich połączeń jest konieczne. Bez schematu nie potrafię odgadnąć, zastosowałeś zabezpieczenia? Jeśli nie...
Z delayami tego na pewno nie zrobisz, musisz nauczyć się zarządzać czasem - millis, timery sprzętowe, gotowe biblioteki (timerOne), millis opisane jest w kursie: https://forbot.pl/blog//kurs-arduino-pod... i raczej nie powinieneś zaczynać od jego końca. Coś takiego jak maszyna stanów, switch-case też nie zaszkodzi...
Pętla for wykonuje się, dopóki warunek jest spełniony. W tym wypadku mamy warunek OR - czyli pętla wykonuje się, dopóki choć jeden z bitów bajtu maska przyjmuje wartość binarną 1. Podobnie jest z zapisem instrukcji warunkowej if : możemy napisać : if ( bit == true ) lub może to być zapis : if ( bit ) . Oba zapisy są równoważne.
Mógłbym poprosić o podanie nazwy tych konwerterów? Jeżeli w Polsce, to pod nazwą "konwerter stanów logicznych", jeżeli u Chińczyka, to "logic level converter" ;) Wygląda to tak, ja na poniższych obrazkach. Ten drugi to "dedykowany" dla RX/TX, ale oba się nadają. https://obrazki.elektroda.pl/8417310800_... https://obrazki.elektroda.pl/5333992500_...
(at)krzysiek78-1978 Nie blokujesz warunku w 1 if. Po naciśnięciu musisz zmienić stan lastButtonState na przeciwny aby pętla nie wykonywała się cały czas. Po puszczeniu w else zmieniasz na początkowy. [syntax=c]if (buttonState != lastButtonState) { if (buttonState == HIGH) { buttonPushCounter++; lastButtonState=1; Serial.println(buttonPushCounter);...
[syntax=csharp]#include <SD.h> //Load SD card library #include<SPI.h> //Load SPI Library #include <Adafruit_GPS.h> //Install the adafruit GPS library #include <SoftwareSerial.h> SoftwareSerial mySerial(3,2); Adafruit_GPS GPS(&mySerial); String NMEA1; //Variable for first NMEA sentence String NMEA2; //Variable for second NMEA...
........ a jak to wstawiłem do mojego skecza to dzwięk jest jakby cichszy i pikanie dużo wolniej idzie (przerwy pomiędzy piknięciami ok 1 s , a to gorzej brzmi )... ...bo masz zbyt długą pętlę, która wprowadza dodatkowe opóźnienie odczytu aktualnego stanu zegara millis(). Jeżeli czas wykonania pętli jest większy niż przyjęty interval, to moment odczytu...
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.
uzupełniłem sobie piny i chciał bym na początek zrealizować jednym klawiszem tak: jedno kliknięcie- miganie diody przetrzymanie klawisza- zaświecenie się diody Tak jak Ty to robisz to jest nie bardzo poprawnie. Zauważ że kiedy robisz te delay to program tkwi tam jakiś czas i nie podgląda sygnałów wejściowych. Również tym sposobem możesz robić tylko...
Czego oczekujesz po tym kodzie? Wg mnie nie ma nic wspólnego z docelową ideą. Pomijam zbyt duża algorytmikę w przerwaniach, to się wcześniej czy później zemści (a zupełnie pusta pętla główna) Wybory algorytmu (opcje) nie określa się w komentarzach, ale przez znaczące nazwy zmiennych, np nic nie mówiąca nazwa flag, zadeklarowana i inkrementowana nie...
Jutro jeszcze sprawdzę jak będzie działać Attiny 45. Może coś uda się osiągnąć. Zrobiłem trochę testów na attiny13 i po nich jestem bardzo sceptyczny co do użyteczności funkcji micros() w takim zastosowaniu jak metoda użyta w twoim szkicu. Mam obawy że na attiny45 problem może być ten sam, tylko nieco mniejszy, z powodu możliwości wyższego taktowania....
Czego byś nie robił odczyt nie będzie błyskawiczny, przynajmniej z gotową biblioteką do Arduino. Wg mnie wszystko co zajmuje pętlę loop na dłużej niż 1ms jest wolne, ale da się z tym żyć. Jeśli Ci blokuje na 750ms to zapewne używasz biblioteki DallasTemeprature. Można wyłączyć oczekiwanie na pomiar metodą DS18B20.setWaitForConversion(0); (po begin),...
Jak to zrozumiesz to sobie sam napiszesz :) [syntax=c] long odliczanie = 0; // zmienna long do zapisania czasu pojawienia się '1' void setup() { Serial.begin(9600); // komunikacja serial baudrate 9600 } void loop() { if (Serial.available()){ // jesli ktoś coś wklepał w serial monitorze char p = Serial.read(); // odczytaj to co wklepał i zapisz jako...
Można zrobić przetwornicę z cyfrową pętlą sprzężenia zwrotnego, ale to rozwiązanie wymaga dobrze napisanego kodu - sterowanie przetwornicą to zadanie twardego czasu rzeczywistego, pętla regulacji napięcia musi działać z względnie duzą częstotliwością i nieustannie korygować wypełnienie tak aby utrzymać stałe napięcie niezależnie od zmian na wejściu...
. Problem pojawia się na każdym pilocie, Piny: 0 i 1 (PD0 i PD1) są te same Rx i Tx co służą do komunikacji z komputerem zarówno podczas wpisywania programu jak i później dla komunikacji w serial monitor; raczej więc unikaj coś do nich podłączac, chyba że jesteś w desperacji braku pinów. Ostatnia rzecz, dla której możesz poświęcic nieco uwagi to salut...
No to się doucz i będziesz znał. "Super" porada, ale przerwania nie sa tu konieczne. Naucz się też używać tagów. faktycznie, użyj znaczników(tagów) SYNTAX, bo czytać sie kodu nie chce. - wywal delay - wykrywaj zmianę stanu pinu a nie reakcję na określony stan, dla Arduino jest stosowna biblioteka (Debounce) ale można zrobić i bez niej, trzeba też zlikwidować...
Poszukałem trochę i Link znalazłem biblioteki na Arduino i kod. Ta biblioteka wydaje mi się zbyt nadmiarowa jak na przesył pojedynczych bajtów. Nie wiem też czy w publikowanej wersji jest poprawna, bo coś widziałem co mi się nie podobało. W zakresie jaki potrzebujesz można to zrobić i bez biblioteki. Bardzo pomocnym może się okazać ten dokument: [url=http://www.atmel.com/images/atmel-9...
Więc jak to jest, że mimo przerwań ( generowanych przez TWI ) spokojnie i bez problemów działa kilkadziesiąt układów na tej samej magistrali? Do tego przerwania z kilku UARTów, liczniki, timery, ADC itd..? Czy uC komunikujac się z timerem, usartem używam magistrali szeregowej czy równoległej? Po co te wywody o Od tego są dedykowane rozwiązania SPRZĘTOWE,...
sugerujesz się nazwami zmiennych i komentarzem, a kompilator nie czyta komentarzy. Nie sugerowałem się komentarzami w kodzie, ani jakimikolwiek innymi. Analizowałem tylko sam kod źródłowy pierwszej wersji programu w poście #1. Może czegoś nie widzę, ale na pierwszy rzut oka, to program3 uruchomiony w piątej sekundzie od włączenia urządzenia powinien...
Dawno nie bawiłe się arduino ale coś jescze pamiętam. Aby używać zmiennych uint8_t musisz dołączyć plik nagłówkowy [syntax=c]#include "U8glib.h"[/syntax] Następnie radzę dla wejścia (pin1) zastosować podciągnięcie do plusa programowo. [syntax=c]pinMode(pin1, INPUT_PULLUP);[/syntax] Proponuję zastosować taki kod (nie używam adruino więc nie mogę go sprawdzić):...
https://obrazki.elektroda.pl/8663544600_... We współpracy z TME testujemy i uruchamiamy nowe Integracja Pico2 z Arduino jest bardzo prosta, otwieramy File > Preferences -> Additional Boards Manager URLs i dodajemy url https://github.com/earlephilhower/arduin... https://obrazki.elektroda.pl/1149548700_...
Najpierw pomiary uśredniasz. Co ile czasu ta pętla się wykonuje ?
https://obrazki.elektroda.pl/9272556200_... Spodziewam się, iż pod tym artykułem rozpęta się prawdziwa burza. Dlaczego? Bo będę pisał o rzeczach EKSTREMALNIE NIEBEZPIECZNYCH . Będzie więc o pomiarach, które są groźne dla życia, zdrowia i sprzętu. Będzie mowa o metodologii poprawnej, którą polecają eksperci na Elektrodzie (co nie oznacza,...
https://obrazki.elektroda.pl/6206626500_... Przedstawię tutaj prosty w użyciu moduł pozwalający na uzyskanie dodatkowych portów I/O. Jeden PCF8574 sterowany jest tylko dwoma sygnałami, a daje nam aż całe 8 konfigurowalnych wejść/wyjść razem z dodatkowym opcjonalnym sygnałem przerwania. Co więcej, dwa piny mogą wysterować jednocześnie...
Cześć, Szukałem po forum, nie znalazłem sensownego rozwiązania. Mam podłączone dwa Arduino Serialem do siebie, oba na osobnych zasilaczach. Jedno Arduino steruje przekaźnikiem który uruchamia zaliczasz do drugiego Arduino. No i wszystko pięknie by było gdyby nie utworzyła się pętla. Oczekiwałem efektu tego typu: 1. wyłączam arduino I 2. wyłacza mi się...
Na zapytanie: Potrzebuję wygenerować ramki CAN do sterowania wskażnikami w liczniku od Passata B6 2.0 TDI przed liftem. Zależy mi szczególnie na obrotach i prędkości. Chcę to zrobić na arduino. Możesz mi w tym pomóc? Google AI Studio proponuje: Jasne, mogę Ci w tym pomóc. Wygenerowanie ramek CAN do sterowania wskaźnikami w liczniku Passata B6 jest jak...
https://obrazki.elektroda.pl/1808304600_... Na początku wyjaśnienie do tytułu – nie jest to typowy termometr, gdyż niczego nie mierzy lecz po prostu wyświetla temperaturę pobraną przez inne czujniki. Stwierdziłem jednak, że „wyświetlacz temperatury” brzmi dziwnie. Za to „do sypialni” ma swoje uzasadnienie,...
Ja zakładam oscylację na poziomie 100Hz przy 50% . Próbkowanie musi być co najmniej 1000 Hz. Program będzie prosty więc pętla powinna latać szybko. Jutro jadę po panele i zaczynamy zabawę.
https://obrazki.elektroda.pl/3743484600_... Witajcie moi drodzy Przedstawię tutaj mojego shielda (nakładkę) na Arduino UNO opartego o układ ENC424j600. Shield ten pozwala podłączyć Arduino do internetu bez żadnego lutowania, a nawet bez użycia kabelków i płytek stykowych. W temacie dam jedenaście pełnych przykładów jego użycia z moimi...
Chciałem trochę wciągnąć syna w Arduino i zbudować z nim projekt gry PONG oparty na: https://michaelteeuw.nl/post/87381052117... Okazało się, że syn się dosyć szybko wykolegował z projektu twierdząc że XBOX jest ważniejszy, a jednak postanowiłem poświęcić kilka wieczorów i projekt dokończyć. W tym czasie oryginalny projekt ewoluował na tyle,...
1. W jaki sposób utworzyć pętlę w języku C na wzór pętli loop w Basicu? 2. Dlaczego nie można tworzyć funkcji wewnątrz innej funkcji w C? ### 1. Tworzenie pętli w języku C na wzór pętli "loop" w Basicu Pętla "loop" w Basicu służy do niekończącego się powtarzania bloku kodu, dopóki nie zostanie spełniony określony warunek (lub nawet...
Uprzedzając pytania: Kolego netotron! Zadałeś pytanie z prośbą (!) o wyjaśnienie, więc czytaj co ludzie piszą chcąc ci wyjaśnić twój problem, a ty chcesz manipulować tą dyskusją na swój sposób. To tak nie pracuje.. Pętla ‘While()’ jest pętlą warunkową z parametrem; zatem dopóki warunek określony parametrem () jest spełniony program zamyka się w tej...
Witam! udało się! dodałem do programu debounce i blokady czasowe które defacto wyeliminowały wszystkie błędne impulsy! teraz działa poprawnie oto zmodyfikowany kod, może komuś się przyda:) // Definiowanie pinów dla wejść i wyjść #define A0_PIN A0 #define A4_PIN A4 // Zmieniono z A1 na A4 #define A2_PIN A2 #define A3_PIN A3 #define OUTPUT_2 3 #define...
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...
Jeżeli używasz scanNetworks(), to powinieneś po wyświetleniu i zapisaniu dostepnych sieci WiFi użyć scanDelete (), aby zwolnić rezultat skanowania z pamięci RAM. https://espressif-docs.readthedocs-hoste... Przykład: https://github.com/espressif/arduino-esp...
[syntax=C]if(randomnumer == 10) flaga=1; while (flaga) { if digitalread(a0,high) flaga=0; Tu wykonujesz pętlę drugą po else }[/syntax] To tak w C mniej więcej tak zrób dla arduino[/code]
https://obrazki.elektroda.pl/3252078300_... Poniższy artykuł przedstawia – krok po kroku – wykonanie niewielkiego, kieszonkowego oscyloskopu cyfrowego. Nie jest on tak dobry jak zwykły warsztatowy oscyloskop, ale z drugiej strony można zabrać go niemalże wszędzie. Poza tym – nie wszystkie projekty DIY muszą mieć sens....
Po usunięciu kodu, który opisałeś masz blok kodu, gdzie program zwleka 50 milisekund, następnie dopóki na pinie jest stan niski zwleka sprawdzając co 10 milisekund czy stan się zmienił na wysoki. Jeśli tak, to wywoływana jest funkcja FurtkaSTOP. Nie wiem jak jest przyczyna, ale obstawiam błędnie napisany kod lub źle zmontowany układ. No nie do końca....
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...
arduino pętla zamknięta pętla otwarta pętla
iskrzy mikrofala blokada dzieci zmiana natężenie prąd
renault koleos analizator widma
Antena rybaków i tuner CG-3000 - współpraca Ładowarka kompatybilna z akumulatorem JCB 12V