https://obrazki.elektroda.pl/9235682700_... Przedstawię tutaj poprawki, uruchomienie i rozwinięcie biblioteki ArduinoHttpServer na platformie Arduino R4 WiFi. Celem tematu będzie ułatwienie nam operacji związanych z protokołem HTTP, a dokładniej parsowania żądań HTTP (przetworzenie nagłówka, ścieżki zasobu oraz argumentów GET) oraz...
Nie znam Arduino ale chyba tak: 1: while (digitalRead(kontaktron)); 5: while (!digitalRead(kontaktron));
Oczywiście dotyczy to mikrokontrolerów AVR. Bitwait możesz zasymulować prostą pętlą: while (PINB & (1<<PINB0)); czeka, aż B0 otrzyma wartość 0; wtedy przejdzie dalej. while ((PINB & (1<<PINB0)) ==0); czeka, aż B0 otrzyma wartość 1; wtedy przejdzie dalej.
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...
Najprościej chyba tak: [syntax=c] uint16_t * first = &respstruct.v01; uint16_t * last = &respstruct.v16; uint16_t * iterator = first; uint32_t sum = *iterator; // pierwszy element do { // od drugiego do ostatniego iterator++; sum += *iterator; } while (iterator != last); printf("%d\n", sum);[/syntax]
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();...
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...
https://obrazki.elektroda.pl/2408248100_... https://obrazki.elektroda.pl/4414580400_... [syntax=c][/syntax]
Sterownik Adafruit_SH1106G wydaje się być OK. Należy go użyć do obsługi wyświetlacza. Ten kod może działać poprawnie: Dodano po 5 Przy okazji: podziałka decybeli ma wartości w nieodpowiedniej kolejności na skali.
Przeanalizowałem dokładniej Twoje posty. Wygląda na to, że sygnał wychodzący z odbiornika IR jest precyzyjny (wskazują na to wykresy analizatora logicznego i oscyloskopu w #1). Biblioteka, której użyłeś w #1 pogubiła się w odczycie kodu Twojego pilota. Dane wskazują na częściowo poprawne rozpoznanie sygnału. rawData[18]: -3276750 - czas...
Nie przerwiesz pętli for, while, do while jeśli nie będziesz w każdym obiegu pętli sprawdzał stanu, który ma to przerwać. Ta część: if (irrecv.decode(&results)){ long int decCode = results.value; się nie wykona w żadnej takiej pętli. Musiałbyś obsługę tego przenieść w przerwanie, czyli cyklicznie co np. 10ms sprawdzać stan (irrecv.decode(&results),...
(...) 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ą...
Na wstępie napiszę: korzystam z arduino mega, konwertera RS232 TTL- RS485 i modułu W5100 dla arduino, zaznaczam, że swoje doświadczenia opieram na arduino, języku programowania c++, czy wirring...tak to się nazywa w środowisku IDE? Nie jestem też z zawodu programistą, więc jakieś złośliwe komentarze proszę sobie darować, natomiast konstruktywne uwagi...
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,...
Zmień pętlę główną na: Dodano po 6 Jeszcze kilka drobnych poprawek. Tak powinno już działać: [syntax=c]void setup() { pinMode(8, OUTPUT); //pompka jako wyjście pinMode(7, INPUT_PULLUP);//Czujnik pomiaru jako włacznik digitalWrite(8, LOW); //Wyłączenie pompki } #define MAX_CZAS_DEBOUNCINGU (20UL) int odczytCzujnika() { static int dlugoterminowyStanCzujnika...
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...
Nie wytłumaczyłeś dokładnie co twój program ma robić więc ja zrozumiałem po swojemu a jeśli tak to totalnie bez sensu jest odczyt tych danych. Spróbuj tak: [syntax=c]void loop() { Serial.println("Podaj x/10, barbot ma nalac z 1 butelki"); while (!Serial.available()); wlej(7, Serial.read()); Serial.println("Podaj x/10 z drugiej butelki"); while (!Serial.available());...
Zamiast "client.print("kod html");" użyj "client.print(PSTR("kod html"));" To jest dla starego kompilatora, ale jeśli twój program daje się łatwo skompilować, to pewnie taki właśnie masz. W pliku "ETHER_28j60.h": [syntax=c] void print(const char* text); //dodajesz tą linię między "void print(char* text);" i "void print(int value);" [/syntax] W pliku...
Scrolla można by zrobić w oparciu o bufor cykliczny. Co prawda nie mam arduino z wyświetlaczem więc pozwoliłem sobie go zasymulować w terminalu w oparciu o kody ANSII https://filmy.elektroda.pl/48_1667431218...
Alarm.delay() przyjmuje jako argument liczbę milisekund . Gdzie w powyższym kodzie jest te 15 minut? Ponadto do czego służy poniższa funkcja? rinsingdelay powinna być typu unsigned long . Generalnie Alarm.delay() jako argument wejściowy przyjmuje unsigned long.
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...
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();...
ARDUINO UNO R3 ATMEGA328 CH340 Na tym konkretnym typie, który wymieniasz ten program nie pójdzie. Ta biblioteka jest dla Arduino Leonardo, czyli z mikrokontrolerem, który posiada sprzętowy interfejs USB. Również do oryginalnego włoskiego UNO, w którym siedzi drugi mikrokontroler (którego do funkcji klawiatury USB trzeba przeprogramować), normalnie...
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,...
Spróbuj nieco zmodyfikowanej funkcji serialEvent(): [syntax=c] void serialEvent() { while (Serial.available()) { char inChar = Serial.read(); if (inChar != '\n') inputString += inChar; else { stringComplete = true; const char Display_string[12] = "Staly tekst"; FTImpl.DLStart(); FTImpl.ColorRGB(0xFF, 0xFF, 0xFF); FTImpl.Cmd_Text(FT_DISPLAYWIDTH / 2,...
Obawiam się, że masz nieskończoną pętle przy while (bt == 'z')
Proszę tylko o wyrozumiałość to są moje pierwsze korki z programowaniem i avr może opisze o co mi chodzi program ma działać tak wypisuje na lcd*16 napis i wyświetla datę i zegar następnie po wcięciu przycisku przechodzi i pokazuje temperaturę i stan alarmu itp i chodzi mi o to ze jeżeli pokazuje temperaturę to nie pokazuje jej zmiany,dzięki za wyrozumiałość...
Posiadam arduino leonardo, chcę je przesterować tak aby po wciśnięciu przycisku na pilocie wysyłało by sygnał o stanie wysokim,.np na pin 13.Próbowałem tego dokonać na podstawie różnych programów które inni pisali lecz wyskakują mi błędy.Proszę o pomoc i wyrozumiałość :D Oto przykład: [syntax=c] #include <IRremote.h> #define MAX_TIME 150 #define...
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
https://obrazki.elektroda.pl/9262966400_... Te numery wygldaj raczej poprawne.. Spróbuj jeszcze umieścić ten wypakowany kolmplet plków w folderze 'drivers'. Ponadto, poniżej zamieszczam kopję oryginalnej instrukcji: "Please try this: 0. connect the Leonardo directly to the computer's USB port (not through a hub). also, disable any...
Prawdopodobnie nie został zainstalowany driver USB z emulacją COM: Installing drivers for the Arduino Uno with Windows7, Vista, or XP: Plug in your board and wait for Windows to begin it's driver installation process. After a few moments, the process will fail, despite its best efforts Click on the Start Menu, and open up the Control Panel. While in...
Podam w takim razie jeszcze moje rozwiązanie pozbawione błędu "repeat" przy długim wciśnięciu i posiadający bardzo skuteczny filtr antydrganiowy. Z oczywistych względów program jest w C, ale jeśli w arduino można bezpośrednio pisać do rejestrów to to nie będzie problemów z jego adaptacją :) [syntax=c] int lk, licznik; int main(void) { DDRB=0b00000000;//port...
Pewnie jest istotne, jaki jest 'channel' - włączasz dodatkowe nuty tylko dla channel=1, a wyłączasz niezależnie od kanału - jak po wyłączeniu powtarzania puścisz klawisz w innym kanale, to skasujesz informację, że coś miało być wyłączane. Poza tym, w 'C' tablice indeksuje się od 0, więc w MyHandleNoteOn najpierw wpisuj do tablicy, potem zwiększaj indeks,...
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...
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...
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...
Tu masz gotowy kod standardowego drivera (bez akceleracji) przerobiony na C uruchamialny na Arduino. Musisz go tylko przełożyć na swój kompilator (nie wiemy, jaki masz) i wpisać ilość kroków silnika na obrót. Jakby co, to pytaj. [syntax=c]typedef struct { int direction; // Direction of rotation unsigned long step_delay; // delay between steps, in ms,...
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...
Problem jest taki, że diody "pokazują" dźwięk z 3-4 sekundowym opóźnieniem. Na początek przełóż strip.show(); za wewnętrzną pętlę for. Nie ma po prostu sensu wielokrotnie wywoływać przesył (który swoje trwa) dla jednej wartości height. A w pętli zostaną tylko mało czasochłonne operacje wpisu do tablicy w RAM (setPixelColor). Operacje w pętli loop,...
U mnie działa ;) inputString musisz kasować zawsze po odebraniu pełnej ramki a nie tylko wtedy gdy jest kierowana do Ciebie.
uprościmy załozenia załóz sobie ze cala odpowiedz bedzie w np 5 bajtach np "a=xxx", "b=xxx" itd. Tak ja Ci pisałem w php wyslij tylko tę odpowiedz. Wtedy zrób sobie bufor na 5 znakówm czytaj tylko 5 znaków mysle ze ci wystarczy do sterowania. kod php: (zkładam ze wolasz http://twojserver/index.php?cmd=xxxxx" [syntax=php] <?php if(array_key_exists("cmd",_GET))...
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:...
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";...
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...
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...
Można wykorzystać bibliotekę "OneButton". Przykład: [url=https://www.mathertel.de/Arduino/On... albo funkcję millis(): [syntax=arduino]while (button not pressed) {} long start = millis () ; while (button pressed) {} long time_on = millis () - start ; if (time_on < 3000) { // pressed for up to 3 sec } else if (time_on < 5000)...
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....
Witam. Ten kod spróbuj wkleić: Ważne: Ciśnienie jest podawane jako lokalne a nie jakie by było na poziomie morza. Istnieje Możliwość przekonwertowania wyniku tak aby wskazywał też wysokość na jakiej obecnie się znajduje. http://obrazki.elektroda.pl/1493043000_1... Tam jest przykład wraz z przeliczeniem do innych wartości. Pozdrawiam
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ł.
Kupiłem barometr. Sprzedawca stwierdził, że pomyłka, nie 50 a 500pln miało być. Zwrócił kasę. Kupiłem kolejny - zepsuty, stoi pod stołem w kuchni i czeka na etykietę zwrotu. Kupiłem trzeci - nowy ZSRR, ale nie przetrwał transportu... To tyle w odpowiedzi na podstawowe pytanie "po co to robić, nie łatwiej kupić na alegro?", albo: "są dostępne w sieci...
instrukcja while pętel while excel while
mechanizmy magnetofonów pralka łożysko wymienny radio wejscie liniowe
kontrolka ducato chrysler pacifica
ELTA Łódź-Pabianice – czy producent wiatraków jeszcze istnieje? Historia i status marki Bosch SMS50E82EU/73 - Specyfikacja i Rozwiązywanie Usterek