http://ideone.com/xbmv91 getIntAfterDef(buff,"0=",-1) czyli częściowy klucz. Porządnie to trzeba złożyć klucz poprzez strcat lub sprintf szukając razem ze znakiem '&' a jak brak takiego to ze znakiem '?'
https://obrazki.elektroda.pl/5502422400_... Witajcie moi drodzy Chciałbym zaprezentować tutaj drugą wersję mojego Arduino VGA Shield (nakładki na Arduino UNO generującej jednokolorowy obraz VGA i czarno-biały PAL/NTSC ) - tym razem wykonaną za pomocą elementów SMD , i z dodatkowymi układami na pokładzie ( expander portów MCP23016 oraz...
https://obrazki.elektroda.pl/1184062400_... Pokażę tu projekt zegara zbudowanego na ESP8266 i wyświetlaczu opartym na MAX7219, dodatkowo wzbogaconego o moduł przekaźników na MCP23017. PCB pod ESP będzie pochodzić z sieci, moduł przekaźników z kolei projektowałem sam. Firmware złożę samodzielnie w PlatformIO z gotowych bibliotek. Czas...
https://obrazki.elektroda.pl/1275250200_... Czy zdarzyło Ci się kiedyś nie usłyszeć dzwonka do drzwi? Na przykład będąc w części domu, w której go po prostu nie słychać - w zamkniętej sypialni, piwnicy albo na strychu? A może wystarczyło słuchać muzyki w słuchawkach? Dzięki poniższemu projektowi problem ten przestanie istnieć. Poniższy...
https://obrazki.elektroda.pl/2718988000_... Witajcie moi drodzy W tym temacie pokażę jak każdy początkujący może najprościej uruchomić w warunkach amatorskich mikrokontroler PIC32MX795F512H bez potrzeby trawienia/kupowania pod niego konkretnego PCB. Oprócz minimalnego niezbędnego układu pracy tego mikrokontrolera umieszczę tutaj kilka...
(at)ElektrodaBot Nasunęły mi się jeszcze dwie kwestie podczas naszej rozmowy: 1) W listingu ISO week użyłeś linii dayOfYear += 28 + (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); zabiegu, który ja od dawna stosuję eliminując, gdzie możliwe instrukcje warunkowe. Jestem przekonany, że procesorom i uC łatwiej się liczy niż skacze po adresach...
Czy to nie jest przypadkiem 0.00? Poza tym robisz pulse_frequency++; dla zmiennej float, jak już to pulse_frequency+=1; poza tym po grzyba Ci tu float w przerwaniu? Poza tym jak zmiennej używasz w przerwaniu to powinna być volatile uint32_t pulse_frequency; - może być co prawda float, ale po grzyba przy zliczaniu impulsów, może być pół? Używanie licz...
Dla innego przykładu: zamiast pokazać 33.333 ma pokazać 33.3. to castem tego nie zrobisz. poczytaj o funkcji sprintf
Potrzebujesz na przykład wyświetlic x= 127 w formacie 5 cyfrowym z zerami na froncie „00127” ? Zrób tak: Wyświetlasz najpierw: Lcd.print("- :Wynik: 00000"); A w następnej lini określasz położenie cursora na poz początku wpisu zmiennej’x”. W tym wypadku oczywistą będzie to 13 poz.(16-3) i wpisujesz zmienną „x”, która...
Zacząłem pisać, więc dorzucę: Przyczyn może być wiele, czas między odczytami musi być większy niż minimum - może moduł się zawiesza; RAM może być za mało i jedne dane nadpisują inne; podzespoły na kabelkach, które łączą/nie łączą, a po ewentualnym rozłączeniu wymagają inicjalizacji. Dobrze jest mieć kilka zestawów, podmienić Arduino, LCD lub czujnik...
O ile wiem to nie (ale dawno nie sprwdzałem). Są dwie inne funkcje o ile pamiętam: dtostre, dtostrf Albo sprintf tylko ze musisz w gcc -Wl,-u,vfprintf -lprintf_flt -lm - biblioteka zajmuje prawi 4k. .ino pojecia nie mam- ale znalazłem taki link : http://forum.arduino.cc/index.php/topic,...
Pytanie, co z ta liczbą 64 bit zrobisz? Konwersja sprintfem nie wypali. Sprintf obsługuje int i float. Double traktuje jak float wiec nie wyświetlisz tyle cyfr ile byś chciał. Bawię się w kalkulator i mam własne procedury wyświetlania/wprowadzania longów. Jednak, jak widzę, użycie "po łatwiźnie" procedur matematycznych dostarczanych z Arduino ogranicza...
Assemblera na ARM? Na AVR piszesz w ASM? Nie, czasami robię wstawki w przerwaniu, ale głównie sprawdzam co mi kompilator wypluł bo juz kilka razy miałem że program mi nie mnie chodził jak chciałem przez nadmierną optymalizację kompilatora. W ARM takich problemów nie ma. Wstawek ASM nie trzeba robić ani poprawiac kompilatora. Więcej ram, SPI, I2C, RAM,...
Stringi w Arduino można dodawać i konwertować, np. String0=String1+String2+String(liczba)+S... i potem Serial.println(String0);. Bezpieczniej jednak korzystać ze statycznej tablicy char jako bufor do wszystkiego i w niej lokować po kolei poszczególne znaki np. funkcją sprintf [url=http://mikrokontrolery.blogspot.com...
że skoro u nas ostatnie dwie dane mogą mieć postać 1,2 lub 3 znakową (at)8;2018-12-2;22:22:34;xxx;xxx (at)8;2018-12-2;22:22:34;xx;xx (at)8;2018-12-2;22:22:34;x;x i jeszcze ich wariacje xxx;x itd., to chyba trzeba będzie dopełniać zerami 00x do trzech miejsc (więcej niż 3 nie będzie). Najlepiej dopełnić zerami (formatowanie w sprintf przez %03d). Jeśli...
Witam, ostatnio zakupiłem wyświetlacz taki oto ciekawy [url=https://learn.sparkfun.com/tutorial... jak widzimy aby go podłączyć musimy wykorzystać aż 11 pinów w Arduino. Oto przykładowy kod obsługi jego : [syntax=c]#include "SevSeg.h" SevSeg myDisplay; unsigned long timer; int deciSecond = 0; void setup() { int displayType...
Żeby dopowiedziec i zakończyć odnogę wątku nt języków i standardów. Doświadczony programista przy kodzie o wielkości mieszczącej się na Atmega8? Hmm. Coś sugerujesz, co można odczytywać na wiele sposobów. Że doświadczony programista nie będzie się zajmował A8? A dlaczego? Że uP nie warto oprogramować porządnie (izolacja kodu, moduły współużywalne, założenia...
Próbujesz przepchać ramki CAN 125Kbps poprzez Serial 115.2k, jako stringi generowane z sprintf'a. E: Rzeczywisty transfer jest znacznie mniejszy, ale wciąż każdy bajt jest przesyłany jako 5 + wcześniejsze stringi. Nie wiem czy biblioteka do MCP będzie się wyrabiać, ale podbijanie prędkości uarta w Arduino kończy się gdzieś przy 300-500kbps. Z sprintf'em...
Użyj " zamiast '. Ale to chyba nie rozwiąże problemu tak jakbyś chciał;) Funkcja sprintf załatwi sprawę.
Witam. Mam pytanie :) Zmieniam od jakiegoś wygląd i stwierdziłem że chce dnia tygodnia. Po dodaniu pojawia mi się dzień ale niestety nie w formacie jaki bym chciał. Uzyskałem to w formacie liczby sobota to 6. Jak zmienić by wyświetlało np: "pn" [syntax=arduino] sprintf(_buffordate, "%2d-%s-%d%2d", network.timeinfo.tm_mday,mnths[network.t...
Taka konstrukcja: [syntax=c]sprintf_P( bufor, "%04dcm", distanceInch);[/syntax] nie zadziała z racji tego, że sprintf_P oczekuje stringa formatującego, który jest umieszczony w pamięci programu. Tutaj: [syntax=c]sprintf_P( bufor, (char*)PSTR("%04dcm"), distanceInch);[/syntax] jest zbędne rzutowanie.
Mógłbyś mi wkleić kawałek kodu jak to wysłać po RS232 ? Arduino np Pozdrawiam Coś w stylu:[syntax=c]void setup(void) { Serial.begin(9600,SERIAL_8N1); } uint32_t otime=0; float value=0; void loop(void) { char buf[24]; uint32_t nt = millis(); if (nt-otime < 500) return; otime = nt; if (Serial.available()) { sprintf(buf, "%20.6f", value += 0.01); Serial.println(buf);...
problemem jest pamięć dynamiczna którą zużywam w 83% Taki program powinien działać na kilkudziesięciu bajtach RAM. Kiepsko napisany może 200, ale 800? Szok! Widac aby bawić się Arduino trzeba ArduinoMega2560 albo takie z prockiem Mega1284 (16kB ram). Jest Arduino z Mega1284? Co do kodu w stylu: [syntax=c] (if godzina < 10) { display.print('0');...
Użyj funkcji millis() do zarządzania czasem. Pewnie byś to znalazł, kilka razy wrzucałem taki przykład: [syntax=c]uint32_t czasTeraz,czasPoprzedni,tik=100; //tik musi byc mniejszy niz 1000 i dzilic 1000ms na rowne czesci uint8_t nTik,sekundy,minuty,godziny,dni; //liczniki tikow, sekund, itd. bool fnTik,fsekundy,fminuty,fgodziny,fdni; //flagi zdarzen...
Oczywiście, że ze sprintf jest prościej, trzeba ją tylko znać :D, do wielu rzeczy są gotowe funkcje w C i C++/Arduino.
A jak jest z kompilatorami na AVR-y są darmowe czy płatne ? AVR-GCC, bezpłatny kompilator C/C++. GCC popularny jest także wśród ARM. Na start z AVR dobre jest Arduino (tez korzysta z AVR-GCC). Arduino obsługuje tez PIC32 (ale to chyba ARM). Arduino dobre jest do pobawienia się, szybkiego sprawdzenia jakiegoś układu peryferyjnego, wyswietlacza, czytnika...
Toszt - jesteś WIELKI! Rzeczywiście mamy to! Ramka bez znaku końca ramki 0218 i sumy CRC16 wyliczana jest bezbłędnie! :-) Panowie do dzieła - ESP8266, RaspberryPi, Arduino..... pochwalcie się swoimi projektami. function crc16_mcrf4xx($dane) { $data = pack('H*',$dane); $crc = 0xFFFF; for ($i = 0; $i < strlen($data);...
Moduły muszą mieć dobre zasilanie, czasami trzeba dodać kondensator, zobacz taki przykład: [syntax=c]/* * Arduino Wireless Communication Tutorial * Example 1 - Receiver Code * * by Dejan Nedelkovski, www.HowToMechatronics.com * * Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ */ #include <SPI.h> #include <nRF24L01.h> #include <RF24.h>...
Dzięki za przypomnienie, przekopiowałem to ze szkicu ESP gdzie int jest 32bity "no i przecież działało". Wróciłem do domu i dalej działa, zmieniłem po południu tylko sprintf: https://obrazki.elektroda.pl/8323225500_...
no się zgadzam tylko układ docelowo nie jest przeznaczony na 1 termopare więc dojdzie Read_TC2() :D Problem leży w moich zbyt małych umiejętnościach programistycznych więc korzystam z szablonów nie przerabiając ich znacznie. Niestety im dłużej nad tym siedzę tym gorzej czuje się program :/ na ten moment sprawdzanie 1 bitu przestało działać bo na 90%...
jedyna zaleta jaką widzę to płaska przestrzeń adresowa, co wyeliminuje obsys związany z avr-g++, To jeden z wielu powodów, dla których zrezygnowałem z AVR na rzecz ARM. Te "PROGMEM" i "PSTR" czy tam "F" w Arduino, może doprowadzić do rozpaczy. Nie ma możliwości aby w np "sprintf" ("sprintf_P") mieszać stringi z FLASH i RAM. jedynym istotnym ograniczeniem...
(at)mariomario chyba masz rację z tym, że nie ma sensu upakowywać bit co do bitu. Trochę z tym przesadzam z przyzwyczajenia, bo robiłem/robię systemy gdzie walczę o każdy bit itd. Jakby oferować binarne API pomiarów to można by po prostu kopiować z pamięci do odpowiedzi GET odczyty bez zamiany ich na tekst ASCII. W ten sposób uniknęlibyśmy wielu sprintf...
zamieniłem i wyświetliłem [code] char printbuf[30]; sprintf(printbuf, ""); dtostrf(skladowa_Fx1, 6, 2, printbuf); FTImpl.Cmd_Text(FT_DISPLAYWIDTH/2, FT_DISPLAYHEIGHT/2-15, 29, FT_OPT_CENTER,printbuf); [center] W jaki sposób zrobić żeby wyświetlić tekst + printbuf + jednostka np Fx= printbuf [N] dziękuję i pozdrawiam !!
Ja w tych przykładach nie widzę opcji wyświetlania temperatury , która mogłaby mi pomóc . Bo to trzeba znać C, albo C++ ;) Np. w stylu C/C++, przerabiasz zmienną tempC1 , na string: [syntax=c]void showtemp (void){ char buforstr[16]; int tempC1; // sensors.requestTemperatures(); //nie wiem czy potrzebne tempC1 = sensors.getTempC(P1); sprintf ( buforstr,...
Masz tu program, napisany w czystym C, który skleja dane ze zmiennych w jeden napis. Musisz go sobie zmodyfikować pod Arduino. Zapisz to do pliku np. test.c i skompiluj gcc -Wall -pedantic test.c Temp. wew. : 20 Temp. zew. : -15 Alarm : Wl Swiatlo : Wyl Gsm : Wl
Witam. Chciałem zbudować sobie taki oto projekt https://elportal.pl/projekty/arduino/314... Zainstalowałem potrzebne biblioteki: Adafruit GFX-Library-master i Adafruit_ SSD1306-master Problem w tym że kod pobrany ze strony elportal wogule nie chce się skompliować. Kod: [syntax=arduino]#include...
Wielkie dzięki. To był ten błąd. Pozamieniałem zmienne int na float. Wynikiem jest znak: ?. http://obrazki.elektroda.pl/4688906200_1... [syntax=cpp]#include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); const float wej_pomiarowe=A2; float minnap; float maxnap; void setup(void) { lcd.begin(16, 2); lcd.clear(); } void loop(void)...
W sieci niestety ale nie znalazłem żadnego tutoriala pod kompilator Arduino IDE. Słabo szukałeś. Poszukaj coryjfowler na githubie, używam od wielu lat w różnych projektach. [syntax=c] // CAN Receive Example // #include <mcp_can.h> #include <SPI.h> long unsigned int rxId; unsigned char len = 0; unsigned char rxBuf[8]; char msgString[128];...
print tego nie przekonwertuje lepiej, bo nie ma we float większej liczby danych potrzebnej do takiej konwersji. Serial.print() konwertuje float do string bez wykorzystania funkcji bibliotecznych typu sprintf() czy dtostrf(). Robi to "na piechotę" przez iteracyjne dzielenie przez 10 i konwersję poszczególnych cyfr do znaków. Błędy, jakie mogą się pojawić...
https://obrazki.elektroda.pl/3882937500_... WiFiManager to biblioteka oferująca gotowy system parowania z naszym WiFi a jej konfiguracja to raptem kilka linijek kodu. Parowania dokonuje się w trybie AP (sieci WiFi emitowanej przez ESP) a potem, po podaniu namiarów na naszą sieć, system sam je zapamiętuje i korzysta z nich przy kolejnych...
Napisz program, który będzie odczytywał prędkość i czas co 0,2s z modułu GPRS i zapisywał na kartę pamięci mikroSD. Ogólnie projekt wykonałem na Arduino Mini + GPS GY-NEO6MV2 Witaj na forum elektroda.pl! Na początek świetnie, że już masz sprzęt przygotowany. Skoro używasz Arduino Mini oraz modułu GPS GY-NEO6MV2, będziesz potrzebował bibliotek do obsługi...
No musisz sobie zrobić napis z liczby i go wysłać, np: [syntax=c]/* * Arduino Wireless Communication Tutorial * Example 1 - Transmitter Code * * by Dejan Nedelkovski, www.HowToMechatronics.com * * Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ */ #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> RF24 radio(9, 10); //...
Jesteś jak prawdziwy żołnierz," odporny na wiedze trudny do......." Dlaczego kilkanaście razy powtarzasz Dodano po 1 Zaparłeś się na rzeźbę: Dodano po 2 Co do przerwań od timera, poczytaj https://playground.arduino.cc/Code/Timer
Tak teraz działa poprawnie. Dziękuję bardzo :) A tak przy okazji nie chcę zakładać nowego tematu i mam jeszcze jeden kod tym razem zegara rtc w którym też chciałbym mieć oled 1'3 i po podłączeniu wygląda tak: https://obrazki.elektroda.pl/2924810500_... A powinien wyglądać tak: https://obrazki.elektroda.pl/7489695500_...
https://obrazki.elektroda.pl/1909244200_... Dzięki mikrokontrolerom AVR, takim jak ATmega można zrealizować wiele ciekawych projektów. Autor poniższej konstrukcji postanowił wykorzystać te możliwości do skonstruowania prostego nadajnika AM (z modulacją amplitudy) wykorzystując Arduino Nano (możliwe jest także wykorzystanie Arduino...
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...
(at)mi14chal pełny zrzut konsoli: Invoking: AVR Compiler avr-gcc -I"C:\arduino\hardware\arduino\... -I"C:\arduino\libraries" -I"C:\arduino\hardware\arduino\... -I"E:\avr_workspace\LiquidCryst... -I"E:\avr_workspace\testTempera... -Wall -g2...
https://obrazki.elektroda.pl/1164711900_... Dla interfejsów miedzianych Ethernet typowym złączem jest RJ45 (8P8C) natomiast dla łączności optycznej urządzenia sieciowe najczęściej wyposażone są w gniazda na moduły SPF/QSFP. W zależności od modułu możemy uzyskać różne prędkości transmisji ale także zasięgi od setek metrów do wielu kilometrów...
2 paluszki AA to też nie jest rozwiązanie, od początku napięcie będzie gdzieś w dolnym zakresie, a po chwili może spaść poniżej zalecanego poziomu: "Operating voltage: 2.7V ~ 3.6V Max Emission current: 115mA Max Receive current: 45mA" Osobiście nie zauważyłem znaczącej różnicy testując wewnątrz budynku, tam gdzie zasięg gubiły moduły bez wzmacniacza,...
Cześć !! Gdy uruchomię sam pomiar częstotliwości przy pomocy biblioteki FreqCount to działa super. Problem pojawia się gdy chcę użyć PWM na mega Licznik zaczyna liczyć głupoty a PMW nie dział Co może być że nie mogę użyć #include <Servo.h> ? #include <Arduino.h> #include <FreqCount.h> #include <Wire.h> #include <Servo.h>...
arduino sprintf arduino sprintf string sprintf tablica
eneloop allegro burczeć pompa renault mid136
theremin schemat theremin schemat
Schemat podłączenia syreny alarmu Kia Cee'd ED JD CD – kolory przewodów, lokalizacja, pinout Amica okap – jak bezpiecznie czyścić panel przycisków, jakie środki stosować