Witaj, to urządzenie jest najprawdopodobniej zbudowane w oparciu o TuyaMCU, więc procedura wyglądałaby tak jak tutaj: https://www.elektroda.com/rtvforum/topic... https://www.elektroda.com/rtvforum/topic... Z tego co widzę dpID są już znane: A właściwie to mamy już zrobione, można to pominąć, chyba, że producent coś mocno pozmieniał...
Wypróbuj ten kod: [syntax=c] #define F_CPU 16000000 #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> //-------LCD------------------------ #define LCD_ADDRESS (0x7C) /* * LCD_commands */ #define LCD_CLEARDISPLAY 0x01 #define LCD_RETURNHOME 0x02 #define LCD_ENTRYMODESET 0x04 #define LCD_DISPLAYCONTROL 0x08 #define LCD_CURSORSHIFT...
Czy liczba jest zawsze siedmiocyfrowa? Nie mówie że to jedyny sposób ale podam jeden z możliwych. Deklarujesz zmienną tekstową siedmioznakową. Taka zmienna ma w rzeczywistości osiem bajtów. Nie chcesz wysyłać ósmego NULL. No i OK :D Na te zmienną nakładasz bufor siedmiu bajtów. Kiedy zmienna Dword każesz zamienić Bascomowi na string to on zapisze komórki...
[syntax=c]unsigned char buffer[3] = {}; // zmienna globalna[/syntax] Za mały bufor na 3 znaki - gdzieś trzeba zmieścić NULL. [syntax=c]buffer=="abc"[/syntax] warunek nigdy nie zostanie spełniony - porównujesz wskaźniki na tablice. Powinieneś użyć coś w rodzaju strcmp().
zmienna tymczasowa (na dole) używa się często i jest to bardzo przydatna funkcja. Podam przykład: mamy zdarzenie X z 0 na 1 - zmienna tymczasowa 0 -> Wykonuje się raz zdarzenie Y zdarzenie trwa X=1 - zmienna tymczasowa 1 -> Nie wykonuje się zdarzenie Y zdarzenia nie ma X=0 - zmienna tymczasowa 0 -> Nie wykonuje się zdarzenie Y Wykorzystujemy to np w...
Bo to bardziej skomplikowane jest - ty chcesz od tyłu wprowadzić multitasking. A to nie takie proste. Albo zrób obsługę silnika na przerwaniach, a w programie głównym modyfikuj tylko flagi sterujące wykonaniem kodu w przerwaniu, albo zmień menu tak, aby wysyłało komunikaty do kolejki. Zawsze przy takiej okazji polecam: http://www.sics.se/~adam/pt/...
1. Poczytaj ogólnie o timerach. 2. Poczytaj o trybach timerów, Tobie radziłbym CTC. 3. Poczytaj o przerwaniach. 4. Z Timera co sekundę będziesz wysyłać przerwanie. 5. Ustaw pin z przełącznikiem jako wejście. 6. Podciągnij wewnętrzny rezystor do pinu albo daj jakiś rezystor po drodze - nie zwieraj bezpośrednio do masy. 7. Ustaw port z diodą jako wyjście....
Powszechnie stosowane są dwa rozwiązania - polling albo broadcasting. Pierwsze polega na aktywnym odpytywaniu węzłów przez węzeł centralny ("serwer"), drugie na automatycznym rozsyłaniu pakietów z informacją z sensorów - na podstawie zdarzeń (np. zmiana odczytywanej wartości) lub cyklicznie (heartbeat) - a serwer tylko pasywnie nasłuchuje tych rozgłoszeń...
Kolejne pytanie: Jeśli chcę odebrać kilka znaków z klawiatury to powinienem wpisać to w jakąś tablicę? Jeśli chcę wysłać do PC cały wyraz to jak to robić? Możesz to zrobić różnie. Zależy czego potrzebujesz i na ile jesteś wprawny w programowaniu w C. W każdym z przypadków trudno jednak będzie się obyć bez tablic dla ciągów znaków odbieranych i wysyłanych....
Zacznijmy od tego, że parametr prędkości obrotowej nie jest parametrem SMART tylko cechą/parametrem pamięci masowej dla uproszczenia przypisywaną do interfejsu/magistrali wymiany danych ATA i jej późniejszych wersji czyli w tym przypadku SATA. Domowymi sposobami nie masz możliwości sprawdzenia rzeczywistej prędkości obrotowej talerzy, osobiście nie...
Skąd wiesz o tym wysyłaniu 'c'? Ustaliłem to bardzo prymitywnie tj. metodą prób i błędów. Wciskałem różne klawisze w terminalu. Tuner reagował tylko na 'c'. Próbowałem wysyłać wiele 'c', bo może się przepełni jakiś bufor i jakaś zmienna dalej będzie nadpisana przez co stanie się coś ciekawego. Jednak tak się nie dzieje. Wynikałoby to też z fragmentu...
. . https://obrazki.elektroda.pl/4308874000_... Kamera oferowana jest w kilku wariantach. Poszczególne modele różnią się: • rozdzielczością 720P ( 1MPx), 960P(1,3MPx), 1080P ( 2MPx) • sposobem zasilania ( 12V lub dodatkowo w modelach droższych POE 48V) • ogniskową obiektywu, a co za tym idzie kątem widzenia. My do...
https://obrazki.elektroda.pl/9107147700_... Pokażę tutaj wnętrze 'inteligentnego' radaru/czujnika ruchu/oświetlenia Tuya opartego o TuyaMCU, przeanalizuję jego protokół komunikacji, a potem przedstawię jak można go obsłużyć w OpenBeken. Dla wygody użytkowania utworzę też dla tego urządzenia mini stronkę WWW w Bootstrapie, którą zahostuję...
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...
https://obrazki.elektroda.pl/2537694500_... Pokażę tutaj jak wygląda tworzenie strony WWW dla dowolnego urządzenia IoT na wieloplatformowym firmware Podstawa interfejsu REST OpenBeken/Tasmota OpenBeken ma interfejs REST zgodny z podstawą Tasmoty, co oznacza, że składania komend i zwracanych danych jest w dużej mierze taka sama. Samą...
Witam wszystkich serdecznie. Właśnie rozpoczynam przygodę z Home Assistantem. Chcę zintegrować mój panel pokojowy (termostat) z HA i powiem szczerze nie wiem jak się do tego zabrać. Próbowałem coś znaleźć w sieci, ale kiepsko mi idzie. Producent podaje takie informacje: Pilot R WiFi nie jest modułem internetowym jednakże umożliwia komunikację w sieci...
https://obrazki.elektroda.pl/4136220100_... Witam. Chciałbym przedstawić mój system sterowania roletami i oświetleniem w domu jednorodzinnym. System powstawał stosunkowo długo. Ewoluował wraz z budową domu. Niestety nie mogę poświęcić mu tyle czasu ile bym chciał dlatego nadal nad nim pracuje. Część komponentów doczekała się kolejnych...
Cześć. Jest sobie program, w którym jest 6 następujących po sobie case. Kiedy warunki w jednym się wykonają, przeskakujemy do kolejnego i tak w kółko. W 4 z nich migają diody, dodatkowo w dwóch z nich uruchamianie na chwilę jest serwo i tu jest pies pogrzebany... Diody migają elegancko, aż wskakujemy w case z obsługą serwa - pulseout. Wtedy program...
kiedy wciskam przycisk, liczenie czasu nie rozpoczyna się. czy mógłbyś zaproponować inaczej napisany kod? Wstępna ocena dostępnych informacji Analiza podanych przez użytkownika danych: - Problem zgłoszony przez użytkownika: - Po wciśnięciu przycisku, liczenie czasu nie rozpoczyna się . - Użytkownik prosi o propozycję innego kodu, który rozwiąże ten...
Podrzucę swoje dość mocno rozbudowane w możliwości urządzenie na bazie ESP-01. Kod napisany w C (ARDUINO) . Zdalne sterowanie przekaźnikiem: Kod pozwala na zdalne włączanie i wyłączanie po zdefiniowanym czasie przekaźnika za pomocą połączenia Telnet. Dzięki temu możesz zdalnie kontrolować urządzenie Router / modem . Automatyczna aktualizacja DNS: Jeśli...
https://obrazki.elektroda.pl/3452723900_... Witajcie, dzisiaj przedstawię tu już drugą frytkownicę z WiFi na Elektrodzie. Rok temu pokazywałem Zakup BW-AF1 Produkt kupowałem już jakoś rok temu, więc nie pamiętam dokładnie jak to z tym było, ale kupiłem go w promocji z kuponem, nie zapłaciłem więcej niż 300 zł. Teraz jest on znacznie...
Jeśli dobrze cię zrozumiałem chcesz wysyłać zmienna szeregowo na wskazany pin portu X czy chcesz tą zmienna wyświetlić na całym porcie (równolegle) Poza tym w mikrokontrolerach nie ma określenia nie chcę wykonywać warunków . Narysuj proszę jakiś graf tego o ma robić program .
Witam! Posiadam wzmacniacz Denon PMA710AE. Wzmacniacz zaczął ostatnio przechodzić w tryb awaryjny po dość zróżnicowanym czasie pracy - zwykle od 20 do 60 minut. Z instrukcji wynika, iż może to być powodem przeciążeń, przegrzania lub zwarcia kabli kolumnowych z tyłem obudowy. Przeglądałem kilkukrotnie podłączenie kabli do terminali. Nie widzę tutaj problemu...
W sumie to można wysyłać bez unii i dodatkowej pętli, i dodatkowo w C++ ;) value to zmienna typu float. Analogicznie można odbierać funkcją Serial.readBytes(): [syntax=c] Serial.readBytes((byte *)&value, sizeof(value)); [/syntax] Albo wykorzystać do odbioru funkcję Serial.parseFloat() - to jest trudniejsze. https://www.arduino.cc/reference/en/lang...
Komeda LCD zmienna zamienia zmienną na ascii wystarczy teraz to ominąć. Dla przykłady zamiast zmienną dla cyfr modyfikować w zakresie 0-9 modyfikować w zakresie %h30-&h39. I wysyłać na LCD, poprzez chr(zmienna), lub dodawać do stringa.
Napewno poradzisz sobie i w VB. Musisz anlezc przyczyne. moze to wina przetwarzania danych i wysylania na port. sprobuj zrobic zmienna typu boolean ktora bedzie miala wartosc False w momecie przetwarzania obrazu i wysylania go do zyswietlacza. Jezeli wszystko sie zakonczy nabierze ona wartosc True. W Timerze wstaw ta zmienna tak by wykonywal kod tylko...
Więc czym się różni ręczne wpisywanie do portu, a czym się to rożni gdy działa pętla ? Może tym, że w pętli robisz to kilka tysięcy razy, do tego szybko? Ręcznie robisz raczej mniej, a na pewno wolniej. A może tym, że kiedy wpisujesz ręcznie, to program czeka na zdarzenie, i w tym czasie zajmuje się wykonaniem tego, co kazałeś wpisać do portu, a jak...
ale ja chcę wysyłać w pętli odebrany znak z przerwania do tego jak napiszę UDR=109; to wysyła literę "m" czyli znak ASCII od litery m, tak jakby zmienna znak gubiła swoją wartość po wyjściu z przerwania.
Bardzo dziękuję za odpowiedź. Dorzuciłem dzisiaj układ MAX232 i ogólnie - działa :). Rzeczywiście brakowało tej negacji. Program typu echo działa bez zarzutu. W przypadku wysyłanie tego samego znaku wynik jest następujący: http://obrazki.elektroda.pl/9198348500_1... Wysyłana jest zmienna typu uint8_t o wartości 10. Jak widać - pojawia...
Mam od co najmniej tygodnia kłopot z wyciągnięciem zmiennych z bufora uart i proszę Was o pomoc bo temat mi nie idzie. Pokonałem blututy, automatyczne łączenie się i teraz to. W nadajniku czekam na znak ? i jak odbiorę to w przerwaniu uxrc realizuję odpowiedź -wysyłkę trzech zmiennych: Bufor to siedzi tam zmienna EVtxt z nadajnika. Podgląd zmienych...
Może zamiast wysyłać mi tę samą stronę Kolega mógłby mi wytłumaczyć do czego służy ta druga zmienna w stod?
Rozumiem że printem wysyłam a poleceniem input odbieram ale on tylko raz nadajnik odpytuje o zmienna a ja potrzebuje że by to cały czas robił. Np. master odlicza 1s a=a+1 print A a odbiornik odbiera input A locate 1 , 1 Lcd " wartosc" ; A ale on tylko przy właczeniu sprawdza
To moze baskom bedzie dosc cwany i zrozumie komende: P3 = zmienna albo : P3 = wartosc Powinno zadzialac, jak sadze.
Musisz sam wykryć zmianę i tylko wtedy wysyłać dane. Najłatwiej to zrobić dodając jeszcze jedną zmienną (powiedzmy o nazwie old) która przechowuje stan jaki był w poprzednim cyklu. Jeśli stan z poprzedniego cyklu jest inny niż stan w obecnym cyklu (powiedzmy, że przechowuje go zmienna new) to wysyłasz dane na RSa i zapisujesz obecny stan do zmiennej...
Witam, tak jak w temacie - chciałbym wysłać zmienną typu double przez USART. Niejako podobny temat zlokalizowałem pod tym linkiem: [url=http://www.elektroda.pl/rtvforum/to... lecz nie udało się mi wywnioskować jak to zrealizować. Mój tok rozumowania: 1. zmienna typu float/double zajmuje w pamięci odpowiednio 2 i 4 bajty w pamięci. Usart...
Wysyłasz wartości czy ustawiasz wartość konkretnego bitu ? Działanie 1 - 33834_2 Działanie 2 - 33834_3 Działanie 3 - 33834_4 STAND-BY - 33834_5 ON/OFF - 33834_7 Piszesz że zmienna '33834' która odpowiada za konkretne działania na konkretnym bicie W takim przypadku nie możesz do niej wysyłać wartości zmiennych które zmieniają więcej niż jeden bit, a...
Witam, nie koniecznie problem ale chciałem przedstawić sposób na to aby przedstawić dowolną zmienną z pomocą zmiennej tekstowej string (ciąg HEX) i odwrotnie. Podana przeze mnie metoda robi dużo więcej niż tylko zmienia int na hex czy hex na integer obsługuje oprócz tego String,Int, Long, byte, word, fload, double, oraz tablice i struktury i dowolna...
Czy jakbym zrobił to w ten sposób, miałoby to sens? Nie ma sensu! Czemu służy "delay(3);"? Para ma iść w gwizdek? W ten sposób to nie wiadomo jak szybki będzie uC, delay "zabije" jego prędkość. Zmienna (tablica) "readString " ma jakiś rozmiar, tajemnicą jest jaki, ale większość Arduino ma 2kB (2048) RAM. Stos (ok20 bajtów zależnie od skomplikowania...
Witam, potrzebuję wykonać prosty projekt na arduino i chciałbym tylko skonsultować pomysł. Potrzebuję zliczać dokładnie ilość impulsów i wysyłać stan licznika dokładnie co 100ms. Chcę podawać impuls na wejście przerwania zewnętrznego (jednego z dwóch) i w przerwaniu inkrementować zmienną licznika. Do tego ustawić drugie przerwanie na timerze które wykona...
Jak chcesz wysyłać kilka zmiennych o różnych rozmiarach, to zrób strukturę. Ja mam np taką [syntax=c] struct CfgEEiic { uint32_t crc; // crc musi byc pierwszom zmienna w strukturze uint32_t CntWrite; uint32_t CntRst; uint16_t szt; uint32_t total; char txt[16]; }; struct CfgEEiic Cfg; [/syntax] Później wysyłasz tą strukturę przekazując adres i rozmiar...
W sumie z buforem to chciałem oszczędnie, jeśli chodzi o pamięć. Dane można wysyłać przez Printbin, a odebrać przez Inputbin. Nadając zmienną integer funkcją Printbin wysyłasz 2 bajty. Nagłówkiem może być jakiś bajt, nic nie przeszkadza żeby stworzyć sobie jakiś format przesyłania danych ;). nagłówek bajt X zmienna 1 long zmienna 2 word zmienna 3 byte...
Cześć, chciałbym napisać program który będzie sterował klimatyzacją. Podłączyłem pod arduino odbiornik podczerwieni, ściągnąłem z pilota kody i chciałbym to teraz wysyłać ale coś mi nie wychodzi. Czy mógłby ktoś na to zerknąć okiem ? Kilka informacji. Ściągnąłem i dołączyłem bibliotekę IRRemote. Wgrałem przykładowy ciut zmodyfikowany program do wysyłania...
Możesz skorzystać z opcji "OVERLAY" podczas deklaracji zmiennych (DIM). Poczytaj w helpie o "DIM" gdzie masz tą opcje OVERLAY opisaną. Tak w skrócie: Deklarujesz zmienna LONG która za pomocą Qverlay jest adresowana pojedynczymi bajtami, dzięki czemu możesz czytać i wysyłać takie pojedyncze bajty.
W tytule dałeś Arduino a tu się okazuje, że używasz ESP8266 :D Chcesz zapisać 200 pomiarów * 60 sekund * (4 + 4 + 4 + 1 bajtów) = 156 kB? Na wstępie można zoptymalizować trochę zmienne, np. do zapisania milisekund w 60 sekundach nie potrzebny ci int a wystarczy jakaś zmienna 2bajtowa (uint16_t?). Pomiar adc może lepiej będzie zapisać w wartości adc...
http://archiwum.zajezdnia.org/getimage.p... Taką libre mam. Nie znam się na modelach więc nie wiem. Dopiero mam plan to odrestaurować ale nie wiem jak jeszcze. Akurat miernik uniwersalny mam bardzo porządny i potrafię z niego korzystać UNI-T M890C+. Wiesz teoretycznie mam magnetowid, nie pamiętam czy dawał radę...
Może tak : - Shift down - A down - A up - C down - C up - Shift up Dokładnie tak robię, z tym, że w/g specyfikacji USB modyfikator jest niejako "dodatkiem" do samego klawisza. Czyli po mojemu: - SHIFT-A down (pierwsze wciśnięcie A) - SHIFT-0x00 (SHIFT-brak klawisza - czyli w/g specyfikacji oznacza to:" A-up, SHIFT dalej wduszony") - SHIFT-A down (drugie...
Może pokaż cały kod nadajnika bo trudno rozwikłać o co chodzi autorowi. Np. w funkcji display_temp jest przekazywany parametr TTemp, który zaraz w pierwszej linii jest nadpisywany zmienną display_temp. Co to ma na celu? Co to za zmienna display_temp? Następnie temperatura (a może już to nie jest temperatura) jest rozbijana na dwa bajty. A na koniec...
Nie rozumiem również linijki w usart_getc: UART0_RxTail = (UART0_RxTail + 1) & UART0_RX_BUF_MASK; Po co ta maska? Zajrzyj do przykładów z dokumentu o którym wspomniałem, tam jest opisany przyklad takiej funkcji getc z prawidłowo użytymi indeksami. Wyjaśnię za autora. Masz tablicę 2*N elementową, maska (N jedynek) w tym przypadku ogranicza zasięg i...
W bascomie i ASM trzeba najpierw ustalić gdzie znajduje się zmienna temperatury. Potem w bascomie użyć funkcji peek i poke(zajrzyj do helpa) a w ASM wysyłać kolejno wszystkie bajty zmiennej(pewnie przez akumulator albo jakiś inny rejestr) do pamięci i potem tak samo to wywoływać. Zresztą nawet w C powinno być coś jak peek i poke(wkońcu to i tak określenia...
Witam W budowanym urządzeniu zapragnąłem wysyłać informacje diagnostyczne przez USART. Nie znalazłem żadnej informacji o kolejce FIFO znanej mi z AVR-ów - szkoda :cry:. Zmuszony zostałem do wykorzystania DMA. Konfigurując DMA musiałem podać rozmiar bloku pamięci do wysłania więc skorzystałem z operatora sizeof() dla struktury: [syntax=c]struct ramka_t...
arduino wysyłać zmienna delphi wysyłać zmienna wysyłać arkusz
jednofazowy trójfazowy silnik zresetować tusze lexmark instalacja elektryczna simson
zwrotnica beyma technics korektor wyświetlacz
Wymiana czujnika zamrażarki AEG SCT71800S1 Chrysler Town & Country V 2009 4.0 – lokalizacja czujników silnika EGQ, knock, MAP, TPS