No jasne. A to co? if (buttonPresses) { case 0: switchmode1=1;
To dioda nadawcza a nie odbiorcza...
Do pomiaru krótkich czasów czy z dużą rozdzielczością używa się przechwytywania w timerach a nie pulseIn(). Podaj jakieś przykłady :?: Z pamięci nie napiszę a na szukanie po projektach i wycinanie istotne fragmentów kodu szkoda mi czasu. Ustaw timer w tryb przechwytywania. Jeśli chcesz mierzyć czas jednego z poziomów, w przerwaniu zmieniasz zbocze....
W tym trybie timer po prostu zlicza impulsy zegarowe do niego doprowadzone, jeśli przekroczy zakres to zgłasza przerwanie overflow (nadmiaru) i rozpoczyna zliczanie od nowa. Funkcja obsługi tego przerwania zlicza je zwiększając liczniki f - przechowujący czas z rozdzielczością <1ms i m przechowujący liczbę milisekund. W programie należy korzystać...
Z tym akurat nie mam problemu. Piny 0 i 1 wykorzystuję w programie i jest OK. Z tego co wiem to USART trzeba aktywować w programie. Dodano po 15 Ale tak po przemyśleniu lepszym rozwiązaniem jest Watchdog odpowiednio ustawiony. Programowy reset wymaga aktywowania w przerwaniu i żeby to zadziałało musiał bym aktywować odpowiedni pin. Jeśli miało by to...
Ludzi, którym nie działały if'y było już tu wiele;) Jeżeli nie wierzysz w tą funkcję z arduino to powinieneś ją przetestować czymś znanym. Np: [syntax=c] String stringOne = "February 18, 2016|36|N/A|N/A|67%|29|ESE at 7|30.12|Partly Cloudy|17.0|06:40 AM (CET)|04:43 PM (CET) "; if(stringOne.indexOf("|Partly Cloudy|")>=0) Serial.println("|Partly Cloudy|");...
Funkcja tobin To jest źle: unsigned int bitval = 65535; Ponieważ binarnie jest to 16 jedynek, a dalszy ciąg tej funkcji wyraźnie robi bitowe AND z tą liczbą po czym bitowo przesuwa w prawo, by na tej podstawie sprawdzić czy na danej pozycji jest 0 czy 1. Łatwo się domyślić że powinna tutaj na starcie być liczba gdzie MSB = 1 a reszta = 0. Czyli (najprościej...
Czyli co mam zrobić? Przemapuj ograniczony zakres ruchu i traktuj to jako pełny(!) W Arduino isnieje do tego funkcja 'map'. e marcus
To pojawia się więcej opcji oraz UF2; Tu też nie rozumiem kompletnie filozofii pojawiania się w opcji Port, tego niby urządzenia UF2. Bo sama metoda wgrywania, że przez kopiowanie pliku wsadu (.uf2) na dysk, jest wybrana już w innej opcji Upload Metod. A do opcji Port trzeba wciąż wchodzić jeśli np. korzysta się z monitora portu i przełączać co chwilę....
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ą...
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...
Ta funkcja jest już zintegrowana (zobacz poniżej), tylko definicje portów należy odpowiednio skorygować (dopasować do schematu dołączonego w pierwszym poście). https://rweather.github.io/ardpicprog/pr... Dodano po 18 Na tej stronie łatwiej się połapać. https://rweather.github.io/ardpicprog/in...
Wejście Arduino do wejścia transoptora? Jakoś nie widzę, by to mogło działać. Problemem są zakłócenia wchodzące do Arduino. Przy ograniczeniu do wbudowanego pullup-u wejścia bywają podatne na zakłócenia. Transoptor chyba na to mało pomoże, choć może mógłby - jakby droga od wyjścia transoptora do pinu Arduino była krótka, lub zaekranowana. Program lepiej...
Spróbuj poniższego kodu. Co prawda napisałem go "na kolanie", sprawdziłem tylko czy się kompiluje, ale zapewne zawiera kupę błędów. Idea jest taka, że wywołujesz wielokrotnie funkcję IrReceive(), aby odczytać pojedynczy bit z IR. Funkcja zwróci true, gdy odczyta pełne 11 bitów (również bit startowy w pozycji LSB; musisz sam sprawdzić, czy bit startowy...
Ponieważ jest sobota i jestem leniem to gotowego programu pisał nie będę. Poza tym cała frajda z Arduino to napisać własny program, który będzie działał. funkcja Delay jest najgorszym z możliwych rozwiązań, bo podczas jej wykonywania program stoi. Proponowałbym zapoznać się z funkcją timer. Proste przykłady są tutaj https://playground.arduino.cc/Code/Timer...
Do RS485 są biblioteki, może lepiej to zadziała. Nadawanie w Arduino jest na przerwaniach, wysyłasz napis do bufora i funkcja Serial.print się kończy, w tle uruchamia się funkcja do faktycznego wysyłania w przerwaniach i nadaje znak po znaku, ale ty przełączasz na odbiór, więc nie wysyła. Pierwszy wysyła bo masz delay 500. Po wysłaniu tekstu możesz...
Spróbuj ten kod /* Ver. 1.02 - 2020-03-29 Kod emulujący kierownicę Thrustmaster TMX Pro, umożliwiający podłączenie Arduino do bazy TMX Pro i emulację naciśnięć przycisków. */ #include <Arduino.h> byte wheelState[8]; // Stan przycisków volatile byte next_byte; volatile byte next_byte_idx; // Zmienne do debouncingu byte lastState[2] = {0xFF, 0xFF};...
Kod masz tak napisany, że odebranie jakiekolwiek kodu wyłącza przekaźnik, a tylko odebranie 4472242 go załącza, po tym jak go dajesz na HIGH masz delay 1000 i już go nie wyłączasz, nie ma kolejnego polecenia digitalWrite(13,LOW);. Poza tym możesz być już wdzięczny, bo funkcja delay działa prawidłowo.
A to jeszcze brakuje kodu komunikującego się przez FS100A, bo załączyłeś kod, który u Ciebie działa. Przydałby się jeszcze schemat pokazujący, jak wszystko połączyłeś, bo widać kilka potencjalnych błędów, jak brak rezystorów podciągających. Dodano po 8 Jeszcze jedno: funkcja pulseIn(), z której korzystasz zwraca 0, gdy przez 1s aktualnie biegnący sygnał...
(...) mmand ); Serial.print(command , HEX); Serial.print(" "); } Serial.println(); } void displayOxygenPercentage(float percentage) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Tlen: "); lcd.print(percentage, 1); // Wyświetlenie jednego miejsca po przecinku lcd.print("%"); } Poniżej znajdziesz pełny, scalony kod, który łączy obie części - dotychczasową...
czyli o ile dobrze myślę, to tutaj bym wartość miał nie zwracaną bezpośrednio przez funkcję, ale musiałbym podać "wskaźnik" do zmiennej w argumencie funkcji i moja funkcja zapisze wartość do tej zmiennej. A sama funkcja mogła by zwracać swój stan 0 - udało się wykonać funckję prawidłowo; 1 - "jakiś tam błąd". Ale to jest proste do zrobienia. Najpierw...
Zastanawiam się czy nie powinienem użyć Arduino FreeRTOS, ale nie wiem czy to jest rozwiązanie mojego problemu. Jeśli planujesz sobie odstrzelić kolana, to jest to doskonały pomysł. Próbowałem już timerów i funkcji mils, ale wydaje mi się że to nie jest właściwa droga W tym przypadku to najwłaściwsza droga. Problem należy podzielić na kilka niezależnych...
Nie używaj polskich liter w programowaniu Jedynie co można do komentarzy ustawiać. Co do adresu to użyj scanera do sprawdzenia, to program który się wgrywa do Arduino a później on odczytuje adresy z urządzeń, odnośnie jeszcze tych znaków Pokaż cały kod. Dodano po 5 #include <Wire.h> #include <LiquidCrystal_I2C.h> // Ustawienia wyświetlacza...
Obawiam się, że najsensowniejszym wyjściem jest zakup odbiornika posiadającego co najmniej 7 kanałów, dostosowanego do nadajnika. Skoro chcesz zmienić nadajnik, to wybierz zestaw z odbiornikiem dopasowanym do modułu dalekiego zasięgu, o odpowiedniej ilości kanałów. Ilości kanałów nie przeskoczysz. Aczkolwiek, jest możliwość zaprogramowania mikroprocesora...
Dla pewności, żeby się nie "mieszały"? Reset tak w skrócie powoduje, że aktualnie wgrany program zaczyna się wykonywać od początku, Co w przypadku Arduino oznacza, że najpierw się zadeklarują zmienne globalne, potem wykona się część kodu zawarta w funkcji setup() a następnie procesor będzie wykonywał raz po raz to, co jest zapisane w funkcji loop()....
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...
Propozycja funkcji: Dodano po 24 Czytałem coś o stream i połączeniu USARTów, ale nie bardzo rozumiem. Dla klas Serial oraz SoftwareSerial nie ma zdefiniowanych operatorów strumieniowych w Arduino Core.
1. Chcesz generować PWM o częstotliwościach 50-330hz, to oznacza, że musisz zmieniać impulsy co określony czas (T=1/f): odpowiednio 20ms-3ms. 2. Wg dokumentacji Arduino funkcja map() działa na long integerach i jest zadeklarowana jako: [syntax=c]long map(long, long, long, long, long);[/syntax] Użycie float nic dobrego tu nie da. 3. Warto nazywać zmienne...
No i już jest nieźle. Po każdym załadowaniu programu mam monit ARDUINO IDE o zbyt małej ilości pamięci. Funkcja tego ostrzeżenia jest wbudowana w arduino i może być zmieniona edytując plik 'preferences.txt'. Trzecia, albo czwarta linia w tym pliku. Default jest ustawiony na 75%. Czy bardzo skomplikowane było by usunięcie opcji " SCOREBOARD" , a w jej...
Ok, napisałeś zrozumiale :) Mam prośbę o podesłanie kodu jak teraz wygląda u Ciebie funkcja setup(). Ale to dopiero po kolejnym teście, który proponuję. Dodaj niewielki delay przed lcd.begin(); np. jakieś 100-200ms, jeśli to zawiedzie, to proszę pokaż kod.
Też tak rozumiem z załączonych do aukcji obrazków. 40 ziko trochę drogo. :) Za tyle to już kupisz klona arduino i wyświetlacz. Myślałem raczej o czymś takim https://allegro.pl/produkt/generator-pwm... . Ma 2 kanały z sygnałem zamiast 1. Możesz też podłączyć do układu, który już masz,...
Twoj problem w większości wynika z drgania styków. Maskowanie drgań styków jest dobrą (albo nawet niezbędną) praktyką ale problem jest chyba inny kiedy naciskam przycisk pętla while wykonuje się kilka razy No i prawidłowo, while "kręci się w kółko" kiedy warunek jest spełniony, czyli przycisk jest wciśnięty. Powyższa uwaga autora sugeruje, że instrukcje...
Dostosuj sobie do własnych potrzeb. Funkcja wywoływana co 1s. Tu akurat obliczana jest energia czyli Wh. [syntax=c] void telemetria() { // korekta czasu o faktyczny czas pomiedzy wykonaniem funkcji w stosunku do zakladanego (1000ms) ostatniCzas = obecnyCzas; obecnyCzas = millis(); energia += (float) W_AC * (obecnyCzas - ostatniCzas) / 3600000.0; } [/syntax]
Jeśli jesteś jedynym użytkownikiem programu i umówisz się sam ze sobą, że robisz tylko to co program przewidział, to jest OK. Jeśli w czasie wyboru jako źródła sterowania potencjometr, ktoś będzie wysyłał liczby przez UART, to funkcja będzie odbierać znaki i dodawać do napisu OdczytajMonitor. Napis rośnie bo go nie zerujesz w case 1, realizujesz case...
http://obrazki.elektroda.pl/2570476900_1... Czasami, niektóre projekty wymagają rozdzielenia jakichś zadań na kilka modułów Arduino lub umożliwienie im wzajemnej komunikacji. Interfejs IIC ( Inter-Integrated Circuit ang. pomiędzy układami scalonymi) czyli I²C jest idealnym rozwiązaniem tej kwestii. I²C to bardzo interesujący...
Czy zastosowanie millis zamiast dealy pomoże. Jeszcze bardziej sobie skomplikujesz sobie kod przez ręczne naliczanie poszczególnych interwałów. Patrz post #14. Opóźnienia uruchomiania jest celowe bo w tym czasie startują dodatkowe urządzenia peryferyjne. Funkcja setup() to nie problem, problemem jest to, co jest w loop().
Funkcja digitalRead ma drugi parametr bool forceReadNow z domyślną wartością false, co jak sądzę, "buforuje" operację odczytu. Spróbuj odczytywać wejścia z ustawionym parametrem [syntax=c]flap.digitalRead(P7, true) == 0 //albo krócej i bardziej znośnie dla oka !flap.digitalRead(P7, true)[/syntax] Sposób inicjacji wejść (z pullupem czy bez) też jakoś...
Physical PIN - 9 tak jest oznaczony numer tego pinu w PDF od producenta układu. GPIO14 tego możesz użyć w Arduino jako pinu digital 14. Jeśli użyjesz pinu SCK to on może być zdefiniowany jako liczba, dla sprawdzenia robię Serial.println(SCK) i wiem co dana płytka ze swoimi definicjami "ma na myśli". "SCK" jako alternatywna funkcja danego pinu skrywa...
Jeżeli używasz klasy Serial, to tam to już jest zaimplementowane. Jeżeli nie, tu uważaj na możliwe problemy linkera (duplicate reference, symbol already defined), bo domyślna funkcja main, ta, która w pętli odwołuje się do funkcji loop, ma referencję do klasy Serial i przez to, może nie być możliwe instalowanie własnej obsługi przerwania UDRE_vect,...
To jest program pierwszy który działał do tej pory bez zarzutów ale są te nieszczęsne delay() i nie mogłem zastosować WDT do resetu bo przekracza 8 Sek. Skoro działa bez zarzutu, a chciałby zastosować WDT, to możesz użyć własnej wersji funkcji delay(): [syntax=c]void myDelay(unsigned long ms) { uint32_t start = micros(); while (ms > 0) { wdt_reset();...
Funkcja Serial.print() z Arduino HAL przyjmuje jako argument zmienną typu int , która jest 32-bitowa w ESP8266, więc w funkcji tej następuje niejawna konwersja z typu int16_t do typu int . Dalej jest więc wyświetlana już jako wartość 32-bitowa. int16_t w formacie binarnym, to możesz użyć sekwencji funkcji: [syntax=c] Serial.print(highByte(dana), BIN);...
W C można pisać obiektowo i poniższą klasę w C++: [syntax=c]#include <iostream> class Foo { public: // domyślny w C i C++ dla struktury Foo(int i_); // konstruktor int getI(); // getter void setI(int i_); // setter ~Foo(); // destructor private: // nie ma odpowiednika w C void bar(); // funkcja prywatna int i; // pole prywatne }; // constructor...
ELMAK Oskar 8w1 Spróbuję dzisiaj zaprogramować Logitech Harmony 350 i sczytać kody. Logitech ma prawdopodobnie większą bazę urządzeń niż ELMAK. Dodano po 6 Spróbuję dzisiaj zaprogramować Logitech Harmony 350 i sczytać kody. Logitech Harmony zaprogramował Marantz PM-66 oraz 75DC1010 (Cd Musicbox). Oba urządzenia dawały kody jak poniżej (heksadecymalnie):...
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,...
LChucki napisał: Nie widziałem bibliotek na Arduino, które sprawdzałyby czy po zakończeniu RESET faktycznie magistral przyjęła poziom "H", Wyżej wymieniona przeze mnie biblioteka również to sprawdza - funkcja readScratchPad(). Nie sprawdza, a jedynie odczytuje. Co więcej, nigdzie przy odczycie temperatury nie ma juz sprawdzania CRC, więc poza stratą...
Zanim napiszesz kolejny post zaczynający się od "dlaczego mi nie działa", warto rozważyć, czy tak na prawdę użycie Arduino jest a) możliwym rozwiązaniem zadania, które sobie postawiłeś b) mieści się w zakresie Twojej wiedzy i umiejętności. Ten wątek utworzyłem, w celu pomocy udzielenia odpowiedzi na te dwa pytania, i zebrania w jednym miejscu linków...
Funkcja pulseIn zwraca wartość w postaci unsigned long. Ty natomiast przypisujesz jej wartość do (signed) int. Czyli: -odczytana wartość może się nie zmieścić; -jeżeli odczytana wartość przekroczy połowę "pojemności" typu int, to zostanie zinterpretowana jako liczba ujemna. Pytanie, jakie długości czasów mierzysz? Ile mija czasu pomiędzy kolejnymi impulsami...
Nie mogę dać sobie rady z guzikiem który trzeba kliknąć dwukrotnie żeby włączyć diodę Możesz skorzystać z biblioteki [url=https://github.com/evert-arias/Easy... gdzie jest dostępna funkcja [syntax=c] onSequence(number_of_presses, sequence_timeout, onSequenceMatchedCallback) [/syntax] która powinna rozwiązać ten problem.
Przeleć stringa funkcja indexof. Najpierw zapisz w tablicy miejsca (indexy) w których masz "&" jak wezmiesz dwa elementy sasiadujące z tej tablicy to będziesz miał początek i koniec pary nazwa zmiennej i jej wartość. Dla wygody (choć niekoniecznie) skopiuj sobie ten fragment do innego string a tam kolejny raz funkcją indexof znajdz "=". teraz tylko...
W jakim celu w funkcji czas() są zliczane minuty, godziny i dni? Ta funkcja jest każdorazowo wywoływana w loop(). Wyobraź sobie, że nie pisałem na tę okazję specjalnej funkcji tylko wkleiłem taką, jaką kiedyś użyłem. Oczywiście można usunąć część rzeczy i zyskać mnóstwo ns - znowu łapanie mrówek. Błędów nie obsługiwał kod autora wątku i szkoda, że...
Teraz dołóżmy do tego jeszcze fakt, że takie cuda można sobie robić na sprzętowych sterownikach które działają w czasie rzeczywistym. Np. ModbusRTU Funkcja 3 - Read Holding Registers (at)57600: Zapytanie: 8B + 3,5 znaku = 2ms ======Czas na generacje odpowiedzi...======= Odpowiedź - 5B + 2xN + 3,5 znaku = 4,8ms dla 10 rejestrów Odpowiedź - 5B + 2xN...
każda funkcja typu wyświetlenie temperatury, PID, konwersja ADC na stopnie itp. musi być rozbite na osobne zadanie czy tam pętlę. Nie wiem czy Arduino temu podoła ale będę próbował. Dzięki! Spokojnie, testowałem nawet z 20 zadaniami i więcej. Zwróć uwagę na to, aby interwały czasowe zadań była takie, jakie faktycznie są wystarczające, a nie mniejsze....
Hmm, a jesteś pewien, że to co wygenerowałeś jako tablica jest poprawne? Bo może wyświetlasz dobrze, tylko że bzdury? ;) Patrząc na Twoją tablicę, to masz w niej 41 bajtów, czyli 41*8=328 bitów. Jeżeli Twój obrazek ma 30x11px, to potrzebujesz 330 bitów. Nie zgubiłeś czegoś? ;) I mam problem z małymi grafikami, o ile duże 96x48 px to nie problem, o tyle...
Zanim zaczniesz programować Arduino poczytaj trochę o programowaniu Arduino. W Twoim programie są 3 funkcje: void setup(), void loop() i void menu(). Po włączeniu mikrokontrolera wykonuje się funkcja void setup(), a następnie zaczyna się wykonywać w kółko void loop(). void menu() nie wykona się w takim kodzie nigdy, bo... nigdzie nie napisałeś kiedy...
Dane pokazywane oczom użytkownika mogą być zupełnie inne niż te przechowywane w programie. Wpisywanie wartości liczby po cyferce jest uciążliwe. W piekarniku mam ustawianą godzinę jednym przyciskiem (czy dwoma), wystarczy w programie zauważyć że przycisk został wciśnięty, przytrzymany przez 1s, przytrzymany przez 5s,itd. Jak nie używasz delay nie jest...
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...
Niemal zawsze gdy zwraca Ci 1 lub 0, jest to wartość true/false z funkcji. Czyli jednym słowem funkcja powiadamia czy jej wykonanie powiodło się, czy coś jest nie tak. Najwyraźniej zamiast stringa/tablicy z HTML, pobierasz ten tzw return funkcji. Po prostu źle obsługujesz dane i dostajesz nie to co chciałeś. Poczytaj jak sie odczytuje z SD jako string,...
Umieść oba czujniki możliwie blisko siebie (mogą się lekko dotykać), a całość zamknij w obudowie, którą umieścisz w komorze cieplnej. Komora powinna zabezpieczyć czujniki przed wpływem czynników, np. wilgoci lub wody jeżeli umieścisz ją w zamrażarce lub wrzącej wodzie. Zmieniając temperaturę w komorze, notuj wartość wskazaną przez każdy z czujników....
Autorze, dałem Ci gotowe rozwiązanie, ale nie czytałeś mojego postu uważnie. Nie czytałeś też dokumentacji ( MojaPolskieZnaki18_Bitmaps . Aby wyświetlić tekst funkcją MojaPolskieZnaki18_Glyphs 90(*) wiersz, gdyż tam znajdują się informacje o tym, gdzie w pliku MojaPolskieZnaki18_Bitmaps znajduje się obraz literki "Z". * - 90 wiersz, a właściwie, to...
muszą być wszystkie trzy DRV8825 BasicStepperDriver A4988 DRV8825.h automatycznie załącza A4988.h, a ten z kolei załącza BasicStepperDriver.h, więc wystarczy załączać DRV8825.h. Dodano po 5 niestety wtedy kompilator mi zwraca błąd: 'class DRV8825' has no member named 'setEnableActiveState' To jest już trochę dziwne, ponieważ funkcja publiczna setEnableActiveState()...
Uważam że nie potrzebnie zmieniłeś kodowanie na dziesiętne. Każdy bajt składa się z części stałej (coś jak adres funkcji) i zmiennej (dane) dla sopranów część stała to 7 (0111) lub żeby było wygodniej 112 (7 << 4 czyt 7 przesunięte w prawo o 4 bity) dla basów część stała to 6 (0110) lub 96 (czyli 6 << 4 ) dalej na pozycji C3 masz znak plus...
Nie znam sie na Arduino, ale ogółem ja bym to na AVR zrobił tak że ustawił timer na przepełnienie co np. 70 ms i w procedurze przerwania napisał coś na wzór tego kodu: [syntax=cpp] ISR(TIMER0_OVF_vect) //przerwanie generowane co 70 ms { if(SERWO_PWM < zadana_pozycja) { SERWO_PWM += skok; } if(SERWO_PWM > zadana_pozycja) { SERWO_PWM -= skok; }...
1 <- adres urządzenia 2 <- funkcja (2, read input) 0 i 10 <- adres rejestru (0 * 256 + 10 = 10) 0 i 2 <- ilość odczytywanych "wejść" (0 * 256 + 2 = 2) 217 i 201 <- CRC zapytania 255 <- zapewne śmieć To są tylko zapytania wysyłane przez mastera do slave'a. Do odpowiedzi to zupełnie nie pasuje. http://www.modbustools.com/modbus.html
https://arduino.stackexchange.com/questi...
W zmywarkach jest kilka pojemników. Jeden to wymiennik ciepła. Jego zadaniem jest wykorzystanie ciepła z wody podgrzewanej wcześniej. Jest w nim brudna woda i pewnie o to głównie Ci chodzi. Do tego jeszcze zmiękczacz ale tam tylko czysta woda i sól. Z mojego prywatnego podwórka: wywaliłem dosłownie wszystko ze zmywarki. Teraz pobiera wodę 3 razy, za...
Napisz tak swoje podprogramy by były w nich powtarzalne pętle, wtedy można użyć poleceń break (dla pętli) i return (dla całej funkcji) by ją przerwać gdy przycisk zostanie wciśnięty: if (digitalRead(A2) == 0) return;. Można to wstawiać dowolnie często, ale jak odpowiednio napiszesz funkcję (podprogram) z millis to ona może działać cały czas "równolegle"...
Spróbuj dodać znak końca linii bo może funkcja odczytu zapisuje razem z tym znakiem tekst? Jeszcze takie cos znalazlem : [syntax=c] //operator przypisania string napis3 = "text"; // string nie jest zakończony znakiem null, jak w przypadku C-stringa [/syntax] [url=https://pl.wikibooks.org/wiki/C%2B%...
Czasem Arduino do czegoś się przyda Dodano po 2 Możesz dać przykład takiej krytycznej czasowo operacji? Problem jest a raczej był związany z buforem nadawczym uarta. Mam funkcję: Blokuj tylko przerwania od UART.
Teraz nie wiem ile pamięci zajmują mi zmienne w trakcie realizacji kodu. Są jakieś proste metody na taki debuging, typu: odczytuje jakiś rejestr i wiem ile zajęte/wolne? Wiedza ile ram jest zajęte w danej chwili niewiele daje, bo po tej chwili może być wysyłana funkcja z char bufor[1000]; Istotniejsze jest jakie jest max zapotrzebowanie na...
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....
https://obrazki.elektroda.pl/2092602500_... Odbiornik globalny? Co to właściwie jest? No cóż, odpowiedź może być jednocześnie prosta a zarazem nieco pokrętna. Taki odbiornik, powinien umożliwiać minimum odbiór stacji BC ( BroadCast - czyli radiodyfuzja, nadajniki nadające program ogólnodostępny bez względu na wykorzystywane pasmo oraz...
Więc przerób na przyszłość na: [syntax=delphi]procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var Date1,Date2,Row,Str:string; begin ComPort.ReadStr(Str,Count); Memo.Lines.Add(Str); while Length(Str)>0 do begin Row:=Parse(Str,#13); Label1.Caption:='wynik odczytu Date1= '+Copy(Row,1,1);//początek danych Label2.Caption:='wynik odczytu...
Kod funkcji włączania i wyłączania np. diody Ten kod będzie powodował, że po pełnym zapaleniu dioda z powrotem zgaśnie i zacznie się rozjaśniać. Linijka z ifem nic nie robi, bo wartość byte nie może być mniejsza od zera ani większa od 255. Poza tym po wciśnięciu przycisku będzie dodawana nowa funkcja przerwania onLamp() bez usuwania starej i będą ze...
[syntax=c] char *odebrany_string="zmienna1=15"; char *wsk; int zmienna1 = 0; // nie sprawdzam poprawnosci całego stringa zakladam ze jest tylko jedna "komenda" //zakładam ze jest to C string czyli zakonczony zerem - funkcja czytajaca z sieci powinna poprawnie go zakonczyc. // mozesz oczywiscie szukac np znaków rodzielajacych jezeli ich bedzie wiecej...
Chyba piszę głupoty z tym PullUp, bo PullUp dotyczy chyba tylko wejść cyfrowych, a nie analgowych. Aaaa... no to ok. Fałszywy alarm. Bo już akurat zrobiłem test na tym Nucleo co Ty i zmierzyłem prądy na wejściach i żadnego pullupa nie wyczułem. Problemem było to, że A1 pokazywał zawsze 1.000 Przyczyna jest prosta. funkcja AnalogIn.read() zwraca liczbę...
https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
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ć):...
Jeśli nie masz na stanie generatora to może zainteresuje Cię, albo kogoś innego, taki najprostszy generator który operowany jest dwoma potencjometrami. Jeden ustawia częstotliwość a drugi wypełnienie 1%-99%. To pozwoli szybko znaleźć odpowiednie parametry dla przetwornicy i potem można ustawić Tiny13 na rejestrach . Kod będzie działał na Arduino Mega2560,...
Mam jeszcze pytanie, czy jest mozliwosc manipulowania przyciskiem reset? Tzn, mam wgrany prorgam stoper i po wcisnieciu przycisku reset np 2krotnie lub przytrzymaniu, chciałbym aby zmienil mi sie na program zegara. Jest taka mozliwosc? Przcisk 'Reset' na Arduino nie ma takiej możliwości, ani nie jest taka jego funkcja. Jego funcją jest uruchomienie...
https://obrazki.elektroda.pl/5200698600_... Witajcie moi drodzy Dzisiaj przedstawię mojego pierwszego własnego shielda (nakładkę) dla Arduino UNO . Jest to shield VGA (generator obrazu video dla monitora VGA ) z bonusową obsługą klawiatury PS/2 i bazuje na wcześniej już opisywanej przeze mnie bibliotece ' ASCII Video Terminal ' autorstwa...
Wskazany w linku debugger to zapewne JLink ale za cenę niespełna 10 $ to napewno nielegalny klon :) Jeżeli chcesz poznać LPC'ki i mieć debugger to wejściami . Kiedyś zapomniałem o tym fakcie i dziwiłem się dlaczego program nie działa tak jakbym się tego spodziewał.
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...
Chciałbym przedstawić jeden z możliwych sposobów wykonania cyfrowego regulatora PID Przestawiony regulator nie ma konkretnego zastosowania , to do czego zostanie wykorzystany zależy od czytelnika. Opis regulatora kieruję do osób które zaczynają przygodę z automatyką i układami regulacji. Spróbowałem wyjaśnić jak działa cyfrowy regulator PID, czemu ich...
https://obrazki.elektroda.pl/9299255200_... Odkąd radioodbiorniki zagościły w samochodach pewien problem stanowiło podłączenie ich do instalacji samochodowej - nie było bowiem jednolitego sposobu. Dopiero w latach 90-tych opracowano standard złącz tzw. kostki ISO oraz rozmiar radioodbiornika tzw. DIN. Co prawda producenci aut często...
Cześć. Potrzebuję w swoim programie pisanym w C (Arduino) zaimplementować wyliczanie Checksumy według poniższych wytycznych. https://obrazki.elektroda.pl/7896861500_... Stworzyłem taką funkcję, która będzie obliczała Checksumę z danych umieszczonych w tablicy. Parametrem "lenght" określam wielkość tablicy. [syntax=c]uint8_t calcChecksum(uint8_t...
http://obrazki.elektroda.pl/5734781700_1... Witam Video demonstrujące o co tu chodzi... https://www.youtube.com/watch?v=6Ttkx0uV... https://obrazki.elektroda.pl/8256856800_... Wzbogacony plan działania oparty na HDMI ... Od dłuższego czasu pracuje jak ulepszyć mój pojazd nie tylko silnik lub zewnętrzny...
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_...
Witam, po krótkiej przerwie ;) właśnie wróciłem do budowy urządzenia i zastosowałem kilka zmian w koncepcji. Postanowiłem ramę jednak wykonać z profili aluminiowych od chłopaków z openbuilds. Trafiłem na nich przypadkiem podczas przeszukiwania różnych przykładów w sieci i zainteresowały mnie więc zakupiłem taki zestaw: - Profil systemu V-Slot™...
http://obrazki.elektroda.pl/3848101600_1... Coraz bardziej popularne jest budowanie zegarków własnej konstrukcji. Pochodzący z Brazylii autor poniższego projektu przekonuje, że podobne konstrukcje są stosunkowo proste i nie wymagają zaawansowanych umiejętności. Poniższy zegarek nie jest też zwykłym czasomierzem. Posiada on funkcje pomiaru...
Na Atmedze mówisz... no jasne, wszystko można, jak się umie programować. Ja chyba od 15 lat się próbuję języka C nauczyć i ni huhu. Z 10 razy siadałem do tego, kursy jakieś, książki i dupa... może się nauczę, jak będę 70-letnim dziadkiem... Proste rzeczy to proste miganie diodą, ale składania bardziej skomplikowana to dupa, to trzeba po jednym kablu,...
https://obrazki.elektroda.pl/5325188100_... Przedstawię tutaj ADS1115 czyli 4-kanałowy, 16-bitowy przetwornik ADC. ADS1115 dostępny jest do kupienia w naszym kraju za kilkanaście złotych, a zza granicy można go sprowadzić nawet o połowę taniej. ADS1115 korzysta z protokołu I2C, więc można na jedną magistralę podłączyć aż 4 osobne takie...
https://obrazki.elektroda.pl/7246994600_... Dzisiejszy projekt będzie opierać się o Arduino. Pokażę tutaj jak uruchomić kontroler wyświetlacza/klawiatury ze starego tunera sat w oparciu o jego notę katalogową oraz bibliotekę Wire z Arduino. Poznamy szczegóły jego interfejsu szeregowego opartego o linie SDA i SCL i spróbujemy przygotować...
https://obrazki.elektroda.pl/6559535100_... Dzisiaj testujemy malutki 0.91-calowy wyświetlacz OLED oparty o sterownik SSD1306 i oferujący sterowanie przez I2C. Omawiany tu moduł oferuje dość małą rozdzielczość, raptem 128x32, ale można to łatwo usprawiedliwić jego małą ceną (około 5 zł) i oczywiście małym rozmiarem. Na pewno przyda...
http://obrazki.elektroda.pl/6223122300_1... Domyślną metodą kontroli napięcia 230 V AC jest kontrola poprzez triak. Tak zrealizowany jest każdy ściemniacz. Kontrola taka oparta jest o kontrolę fazy - triak jest otwierany jedynie na pewną część sinusa napięcia przemiennego. http://obrazki.elektroda.pl/2250705900_1...
https://obrazki.elektroda.pl/7847594800_... Dzisiaj chciałbym przedstawić interaktywny projekt muzyczny Arduino. Używając sześciu modułów unikania przeszkód i modułu MP3 DF, zbudujemy muzyczne pianino (pierwotnie miałem osiem modułów unikania przeszkód, ale podczas montażu okazało się, że dwa są niekompatybilne i nie mają wskaźników...
https://obrazki.elektroda.pl/3330083100_... Model Warstwy Łączna liczba parametrów Liczba aktywnych parametrów na token Łączna liczba ekspertów Liczba aktywnych ekspertów na token Długość kontekstu gpt-oss-120b 36 117b 5,1b 128 4 128 tys. gpt-oss-20b 24 21b 3,6b 32 4 128 tys. Tutaj pokażę uruchomienie gpt-oss:20b krok po kroku oraz...
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ą....
Witajcie, wrzuciłem na GitHuba wersję Evo 3.8.12 https://obrazki.elektroda.pl/4004401800_... https://obrazki.elektroda.pl/9905821100_... https://obrazki.elektroda.pl/5992657600_...
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ż...
https://obrazki.elektroda.pl/3993332100_... Zapraszam na praktyczną demonstrację połączenia CAN pomiędzy dwoma urządzeniami z ESP32. Pokażę tutaj, jak wygląda procedura nadawania i odbierania ramek na podstawie sterownika TWAI, użyję środowiska PlatformIO. TWAI to skrót od Two-Wire Automotive Interface, czyli w wolnym tłumaczeniu interfejs...
arduino funkcja arduino tworzyć funkcja funkcja delay arduino
elektronika dysku seagate zbiornik zmywarka konica minolta ustawienie papieru
mikrokomputer cobra1 agregat volvo
Orange – blokada rozmów wychodzących, przyczyny, VoLTE, eSIM, kody USSD, windykacja Silnik Boxer BX 124 gaśnie po wyłączeniu ssania