Co zrobilem nie tak ? Linia:[syntax=c] caller = adminnumer; //<<<<<<<KOMUNIKAT O BLEDZIE[/syntax]jest już zbędna.
[syntax=cpp]lcd.print(TP.toInt()); [/syntax] Tylko że string musi się składać tylko ze znaków cyfrowych (DIGIT), więc aby uniknąć błędu powinno to wyglądać miej więcej tak: [syntax=cpp] if (isDigit(TP)) { lcd.print(TP.toInt()); } [/syntax]
Chciałbym te dane ładnie wyświetlić na wyświetlaczu najlepiej same wartości całkowite bez części po przecinku. metoda kolejna to w wywołaniu lcd.print aby wyświetlić wartość zmienna jako liczbę całkowitą: Problemem drugim jest ilość znaków np ciśnienia, jeśli ciśnienie większe od 1000 znaków będzie 4 jak mniejsze to 3.
To spróbuj, a później pisz. Proszę bardzo:[syntax=c]String test="40000001"; Serial.println(atol(test.c_str()));[/syn...
Udało mi się odtworzyć ten błąd na Arduino z biblioteką WebSockets by Markus Sattler. Biblioteka zawiera błąd w interfejsie: bool WebSocketsServerCore::broadcastTXT(Strin... & payload); Powinno być bool WebSocketsServerCore::broadcastTXT(const String & payload); i Twój kod skompilowałby się bez problemu. Ale tak nie jest. Rozwiązaniem jest tak, jak zaproponował...
Jeśli to zmienna typu String to remove().
Ale niestety też trzeba się bawić w konwersję liczb, te to bardziej do string. Nie potrzebne są żadne stringi, konwersje itp. . Do wyświetlenia na wyświetlaczu siedmiosegmentowym potrzeba jedynie informacji co ma być wyświetlane na każdej pozycji. Jaka cyfra od 0 do 9. Owszem można użyć konwersji liczby int na string i z tego wyciągnąć wartości poszczególnych...
Ten szereg zmiennych typu String w kodzie z postu #4 jest zbędny, skoro odpowiednie odczyty z digitalRead() są składane w łańcuch tekstowy dopiero w zmiennej 'ciag_wyjsciowy'. Wystarczy użyć operatora +=(int) np.: concat (): [syntax=c]x.concat(digitalRead(...));[/s... https://github.com/arduino/ArduinoCore-a...
Kod na ESP [syntax=c]#include <Wire.h> #include <LiquidCrystal_I2C.h> const int hallSensorPin = 4; // GPIO4 (D2 na ESP8266) const unsigned long sampleTime = 1000; const int maxRPM = 1260; int rpmMaximum = 0; LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { lcd.begin(); pinMode(hallSensorPin, INPUT_PULLUP); Serial.begin(115200); lcd.backlight();...
1) Zapomnij, że istnieje coś takiego jak String... przynajmniej na Arduino. Używaj char (niestety z wszystkimi tego konsekwencjami). 2) Do trzymania komunikatów używaj pamięci FLASH, szkoda marnować RAM na każdy String w programie... czyli nie " Serial.print("Inicjowanie karty SD..."); " lecz " Serial.print(F("Inicjowanie karty SD...")); ".
Nie, to drugie wyśle kody ASCII tych cyfr, a pierwsze wyśle znaki specjalne o kodach 5, 6 i 7, poza tym domyślam się, że każdy każdy println() wysyła jeszcze na koniec znak końca linii.
https://obrazki.elektroda.pl/2408248100_... https://obrazki.elektroda.pl/4414580400_... [syntax=c][/syntax]
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%...
Cześć, Spróbuj najpierw wrzucić wynik do stringa: [syntax=c] String ip = WiFi.localIP().toString(); [/syntax] A dopiero potem porównać wartość.
1. Funkcję konwersji do hex-a możnaby zrobić w oparciu o LUTa (stablicowane wartości). Poniżej prosty przykład na PC-ta dla testów ale łatwo zaadoptować do arduino: [syntax=cpp]#include <iostream> using namespace std; void tohex(unsigned long val, char* buf) { const char* const lut16 = "0123456789ABCDEF"; // tablicę można przenieś do FLASH for...
Nie do końca poradziłem sobie z tym dlatego też zamiast : String message = "PRZEK1=0&PRZEK2=1&PRZEK3=3&... wykonam zapis w takiej formie: String message = "PRZEK1&0&PRZEK2&1&PRZEK... Czyli wywaliłem znaki równości i w te...
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|");...
Nie da się w przypadku printa w serialu. Albo musisz wpisywać w kolejnych printach : [syntax=c] Serial.print("btn_start/column = "); Serial.println(column); [/syntax] albo np. tak : [syntax=c] String tekst = "btn_start/column = " + String(column); Serial.println(tekst); [/syntax] Pozdr
zastanawiam się czy to nie było od pamięci Na 100%. Generalnie, jak masz do czynienia ze stałymi łańcuchami tekstowymi, to lepiej używać F("string"), zamiast "string". Mniej wtedy zużyjesz pamięci dynamicznej. Dla przykładu: [syntax=c]Serial.println(F("brak polaczenia"));[/syntax] Link: https://www.arduino.cc/reference/en/lang...
Nie powiem, że trochę mnie zaciekawił problem ;) Poniżej kod, który u mnie działa normalnie, puszcza stream. Skompilowany w Arduino IDE (zazwyczaj korzystam z Platformio, tam jest jakoś łatwiej ;) ) #include "Audio.h" #include "WiFi.h" #include "Arduino.h" #define I2S_DOUT 25 #define I2S_BCLK 27 #define I2S_LRC 26 String...
ten kawałek kodu wyłuska cały wiersz znajdujący się po AT+CMGR:[syntax=c]String textMessage = "AT+sdfsdfsdfsfd\r\nAT+CMGR=0+CMGR: \"REC UNREAD\",\"+481111111\",,\"21/11/28,20:1... String outString = ""; int position = textMessage.indexOf("AT+CMGR"); // znajdź ciąg znaków AT+CMGR if (position > -1){ String tmpString...
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...
Napisałem Ci ze jest od diabla pomocy w internecie a tamto to nie moj kod kolejny googl i prosze - kolejne 200000 odpowiedzi en podobno 100% dziala ale jak juz pisalem nie jestem arduinowcem, nie mam arduino i nie mam .ino IDE [syntax=c] String boundary = "--73249889599006000"; String URL = "/upload"; String contentType = "text/plain"; String fileName...
Let me google it for you :) Wystarczy w google wpisać: "float to string C" aby otrzymać: double num = 123412341234.123456789; char output Arduino standardowo dołącza biblioteki wyswietlajace float, bo AVR Studio nie?
Jeszcze tu masz buga a nawet kilka: [syntax=c]//char Str; // nie nadużywaj zmiennych globalnych - to zło //int Count = 1; ... // gdzieś w konstruktorzę bądź w inspektorze dla ComPort'a ustaw StopString='\n'; void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count) { AnsiString Str; // Read Str (jak string a przekazywałeś char, ostrzeżeń nie...
1. Spróbuj pozbyć się tej bibioteki - zapisz ręcznie kilkanaście bajtów, potem je odczytaj i np. przy każdym starcie programu zwiększ. 2. Jeśli kiedykolwiek zapisywałeś coś w pętli z dużą szybkością to mogłeś uszkodzić pamięć. 3. jako rozmiar podaje się maksymalny rozmiar danych, które chcesz zapisać, w Twoim przypadku powinno być to co najmniej sizeof(str_dane)....
[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...
Ja obsługę POST rozwiązałem tak: [syntax=c] #include <Arduino.h> #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> const char* ssid = "ssid"; const char* password = "password"; int out1 = 4; int out2 = 5; String out_state1 = "OFF"; String out_state2 = "OFF"; String login = "admin"; String pass = "admin";...
Stacja Pogodowa ESP8266 + wyświetlacz T6963 https://obrazki.elektroda.pl/7068126200_... Wcześniej stworzyłem stację pogodową przy której były użyte dwa mikrokontrolery Atmega328p (arduino nano) i ESP8266 (NodeMCU) z wyświetlaczem opartym na sterowniku T6963. Na forum https://obrazki.elektroda.pl/1280939000_... Zagadnienie...
Czyli coś jeszcze jest nie tak z modułem WIFI, Niekoniecznie, ESP-01 tak się właśnie zachowuje ze względu na (bardzo) kiepskę antenę. Może jest za daleko od AP. Naczytałem się już po internetach, że trzeba go przed użyciem programować, to prawda? W tym projekcie ESP-01 jest użyty w charakterze modemu WiFi i jests podłaczony po SoftSerial do Arduino,...
[syntax=vbnet] Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim ReceivedText As String ReceivedText = SerialPort1.ReadLine MsgBox(ReceivedText) End Sub [/syntax] Jeśli dane są wysyłane co 5 sekund, to możesz ustawić Timer na 4 sekundy i zobaczysz co wyświetli się w okienku MsgBox . Jeśli twoja...
Aby nie pogubić się w kodzie, zwykle w takich sytuacjach tworzy się tzw. maszynę stanów. Aplikacja w danym momencie znajduje się w jednym z nich i przy odpowiednich warunkach przechodzi do innego stanu. Łatwo wtedy rozwijać aplikację o kolejne stany i zachowania. W Twoim przypadku proponowałbym takie stany aplikacji: entering_pin // tryb wprowadzania...
Jak zmienić tą linie żeby każdy inny wpisany znak był rozpoznawalny jako błąd?? Myślałem że to ona odpowiada za to. Co do drugiego stwierdzenia właśnie jak to zrobić aby program był za każdym razem tak jakby w stanie czuwania czyli powracał na początek pętli?? Tu nie wystarczy zmienic tylko jedną linię – wymagany jest nowy kod pisany ze zrozumieniem...
Oto przykładowe menu do nauki i analizy architektury programu. Musisz jeszcze przemyśleć typy danych, które będziesz wprowadzał (ujemne, z kropką dziesiętną, itp.). { "version": 1, "author": "Uri Shaked", "editor": "wokwi", "parts":
U mnie działa ;) inputString musisz kasować zawsze po odebraniu pełnej ramki a nie tylko wtedy gdy jest kierowana do Ciebie.
Tak, w międzyczasie: wygląda to na problem przepełnienia sterty. Czy sprawdzałeś ile masz wolnego miejsca na stercie (ESP.getFreeHeap())? Z tych dwóch fragmentów kodu, które przedstawiłeś wynika, że dość rozrzutnie korzystasz ze sterty :) Dla przykładu poniższy kod też powinien zadziałać (dla małych rozmiarów danych): [syntax=c]int numSSID = WiFi.scanNetworks(false,...
Mam dobrą i złą wiadomość ;) Dobra to jest taka, że udało mi się przerobić kod z postu #3 do współpracy z bitbay.net. Zła jest taka, że to dość dużo zmian. W kodzie zakomentowałem odwołania do LCD - wyniki wyświetlają się w monitorze portu szeregowego Arduino IDE. Zachowałem oryginalne włoskie komentarze :) Korzystałem z informacji zawartych w tym linku:...
Jak zmienić tryb ADC? Tak jak pisałem wcześniej, trzeba pogmerać w rejestrach. W setupie dopisz: [syntax=c]PRR &= ~(1 << PRADC); ADMUX = (1 << REFS0) | (0 << ADLAR) | (0x00 << MUX0); ADCSRA = (1 << ADEN) | (1 << ADATE) | (1 << ADIE)| (0x04 << ADPS0); ADCSRB = (0x00 << ADTS0) | (0 << ACME);...
Jeśli zdecydujesz się na Basic, co zapewne dużo ułatwi pisanie aplikacji, prosze przykład komunikacji MODBUS RTU dla Zamel EXTA FREE, do sterowania ROP. [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 32 $swstack = 10 $framesize = 40 Config Com1 = Dummy , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 8 , Clockpol...
[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...
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...
Czyli o kupowaniu kota w worku i farbowanym lisie słów kilka. Seria ads 1xxx to dość popularne przetworniki w świecie hobbystów. Jest kilka modeli różniących się parametrami. Ja dziś opiszę dwa modele 1015 i 1115. Nie będę opisywał szczegółów konstrukcji bo wszystkie dane są w dokumentacji Zasadniczo to bliźniacze konstrukcje, wszystkie wyprowadzenia,...
A mógłby kolega poprawić ten kod? Ewidentnie porywasz się z motyką na słońce. Zaczynasz programować, ale jednak chcesz zacząć od bardzo skomplikowanego programu, z błędami które nie wiesz jak rozwiązać... Tak jak większość radziłbym zaczynać od małych rzeczy, nie mówię, że masz przez tydzień pisać program do migającej diody, ale polecam jakieś mniej...
Jaki jest twój aktualny kod? Post #3 pokazuje moje zmiany w bibliotece HTTP. Możesz zastosować je ręcznie do kodu HttpResource. Jeśli nie chcesz ręcznie łatać tej biblioteki, oto moja wersja (już załatana): https://github.com/openshwprojects/Ardui... To mój fork, już z dodanymi poprawkami. To było jakiś czas temu, ale znalazłem...
https://obrazki.elektroda.pl/9317464400_... Witam Przedstawiam stację meteo nad którą pracuję już kawałek czasu. Początek prac to też mój początek zabawy z Arduino. Zaczęło się od gotowego projektu malutkiej stacji z wyświetlaczem OLED. https://obrazki.elektroda.pl/5611267500_... Wtedy już samo wgranie programu do...
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...
https://obrazki.elektroda.pl/5547853400_... Ten mały i prosty do wykonania projekt opiera się na prostym pomyśle - reprezentowania danych spektralnych sygnału audio na 32-pasmowym analizatorze widma audio. Aby uprościć konstrukcję układu do prezentacji tego widma, zamiast stosowanych zazwyczaj słupków diod LED autor proponuje zastosowanie...
.Tak teraz wygląda program. Jest to troche bez sensu. Masz wyświetlacz 16 characters x2 linie... Popatrz na te dwie wybrane linie twojego kodu: [syntax=c]lcd.print("Licznik: 00000"); // zawiera 16 characters Lcd.print("- :Wynik: 00000"); // zawiera 16 characters //zera zajmują pos. 12 do 16, czyli wyświetlaczx wypełniny! [/syntax] Nie jest nic w tym...
https://obrazki.elektroda.pl/3654117300_... Nie jest to nic odkrywczego - wręcz idea takiego wykorzystania elektrodowego gadżetu (D1 mini) nasuwa się od razu. Więc zaczynajmy: Założeniem było wykonanie czujnika zapylenia i przy okazji innych parametrów atmosferycznych. Czujnik miał być umieszczony na balkonie i zostać połączony jak...
https://obrazki.elektroda.pl/9509903400_... Witam! Szybki tani projekt rolet automatycznych na arduino nano. Układ obsługuje 2 rolety niezależnie. Posiada podstawowe funkcje takie jak : - automatyczne odsuwanie i zasuwanie o żądanej godzinie, ustawiane poprzez menu na wyświetlaczu oled ssd1306 128x32 - ręczne odsuwanie i zasuwanie....
arduino wysyłanie string arduino sprintf string arduino string odczyt
huawei odblokować usbasp sterownik diora ws442 naprawa
bateria parkside zmywarka whirpool mruga start
Jak włączyć przekaźnik na 10 sekund w Tasmota? Jakie gniazdo Jack 6.3 mm kupić do Korg i30?