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...
czy tamtego nie da się naprawić Na początku tego tematu wrzuciłem Ci poprawki do programu. Poniżej cały program - z kodu początkowego. Nie uwzględnia korekcji zaproponowanych przez bota. Zwróć uwagę na uproszczenie całości przez dodanie jednej funkcji. Delay zostawmy na później żeby Ci nie mieszać. W tym przypadku za jego pomocą decydujesz jedynie,...
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...
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...
Oto coś, nad czym GPT i ja pracowaliśmy, aby stworzyć symulator BL0937 do testowania OpenBeken na różnych platformach. Jest to szkic Arduino, który działa na ESP-WROOM-32 i jest obecnie podłączony do RTL8720DN/BW16E NiceMCU_RTL8720_V1 z uruchomionym OpenRTL. Szkic wykorzystuje PWM do symulacji CF, CF1 i SEL, umożliwiając OpenBeken interpretację sygnałów...
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...
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();...
(...) 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ą...
Projekt jest elegancki, masz wszystkie użyte biblioteki w zipie, jedyną niewiadomą zostaje core ESP8266. Na początek wgrałem do siebie sam szkic, artykuł jest z 2020r. więc od razu czuję problemy, potem wrzuciłem brakującą bibliotekę do czujnika 280, potem wykasowałem swoją bibliotekę json i wgrałem tą 5 z paczki, bo błąd wyskoczył taki sam, potem pojawiły...
Nie mam pod ręką Arduino, żeby spróbować, więc przerobiłem program tak, by móc przetestować jego działanie pod Linux-em bez Arduino - i działa. Przy zdefiniowanym symbolu ARDUINO kompilują się te elementy, które są dla Arduino; bez niego te, które są do Linux-a. [syntax=c]#ifdef ARDUINO #include <TM1637Display.h> #define ZEGAR A5 #define DANE...
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...
W kodzie masz już "oversampling", robi to funkcja: [syntax=c]int averageAnalogRead(int pinToRead) { byte numberOfReadings = 8; unsigned int runningValue = 0; for (int x = 0 ; x < numberOfReadings ; x++) runningValue += analogRead(pinToRead); runningValue /= numberOfReadings; return (runningValue); }[/syntax] Jak chcesz więcej próbek to możesz zamienić...
Nie wiem jaki masz LCD: 16x2 czy 24x2, jakby co to dasz radę sam ustawić. [syntax=cpp] // DS1307_LCD (C)2010 Henning Karlsen // Uses DS1307 library but not wire library // DS1302: SDA pin -> Arduino Digital 18 // SCL pin -> Arduino Digital 19 // LCD: DB7 -> Arduino Digital 2 // DB6 -> Arduino Digital 3 // DB5 -> Arduino Digital 4 // DB4...
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...
Tak, na szybko: [syntax=c] #include <Wire.h> #define DEVICE_1 B0100000 #define DEVICE_2 B0100001 #define DEVICE_3 B0100010 void setup() { Serial.begin(9600); Wire.begin(); } void loop() { printIOexpander(DEVICE_1); printIOexpander(DEVICE_2); printIOexpander(DEVICE_3); Serial.println(); delay(500); } void printIOexpander(int address) { Serial.print(address,...
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...
Krótsza wersja: [syntax=c] unsigned int b; for(int i=0; i<(sizeof(a)/sizeof(*a)); i++){ b = b<<1 | a[i]; }[/syntax] I cały program z przykładem użycia: [syntax=c]#include <stdio.h> #include <stdlib.h> int a[32]= {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}; int main(){ unsigned...
Chodziło mi o wykorzystanie tej funkcji tylko do znalezienia znaków ? i & . Przeanalizuj gotowca: [syntax=c]char strStartsWith(const char* s, const char* startsWith) { for (;;) { if (*startsWith == '\0') return 1; if (*s != *startsWith) return 0; ++s; ++startsWith; } } char getChrVal(const char* const s, const char* const key, char& variable) { if...
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,...
Ale ja już sprawdziłem odbiornik na samym Arduino. Napisałem prosty program, który zapalał diode… …. Zaprogramowałem też płytkę tak, aby można było zapalać i gasić diodę dowolnym przyciskiem pilota, bez odczytywania kodu, Występuje natomiast problem ze sczytaniem kodów. Wgrywałem do Arduino wszystkie ogólnodostępne programy do obsługi pilotem...
Nie umiem znaleźć na polskich stronach za wiele o tych flagach Nie szukaj aby było ‘za wiele’ bo w nadmiarze informacji łatwo zgubisz się… Flaga to zwyczajna zmienna celowo wprowadzona do systemu, sygnalizująca że coś zostało dokonane. Wykorzystuje się je do różnych zadań, często do blokowania towarzyszących lecz jednak nie pożądanych...
masz w tym pliku /** * Read the available payload * * The size of data read is the fixed payload size, see getPayloadSize() * * (at)note I specifically chose 'void*' as a data type to make it easier * for beginners to use. No casting needed. * * (at)note No longer boolean. Use available to determine if packets are * available. Interrupt flags are now...
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...
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";...
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...
Co "toto" jest? ISR_NO_BLOCK(TIMER0_COMP_vect) Wyszukiwarka nie działa? Czemu kolega strzela na ślepo? Ja rozumie "dawno, dawno temu, za siedmioma górami, za siedmioma lasami, gdy nie było Internetu..." Ale teraz? https://www.nongnu.org/avr-libc/user-man... Tak ciężko znaleźć? Przy okazji. Chce kolega koniecznie dziedziczyc...
https://obrazki.elektroda.pl/2059871200_... Witajcie moi drodzy. Zapraszam na krótki test i teardown zegara/termometru/higrometru Tuya TH06 LCD zasilanego z USB. Przedstawię tu krótko jego parowanie z telefonem, funkcjonalność aplikacji mobilnej, jego wnętrze oraz części z których jest złożony, a na koniec opiszę proces inżynierii...
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"...
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.
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...
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,...
To co mi udało się zbudować to zlicza 3 impulsy na 4 wraca do zera ale trzymając przycisk program zapętla i cały czas zał. wył. Wraca do zera, bo po trzecim zerujesz licznik i program nie ma szans osiągnąc stan licznika 4. Ten delay przed zerowaniem licznika tylko zatrzymuje program na ten czas, a ty oczekujesz że 'przeskoczy ' zerowanie. Poza tym...
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_...
Wklejony przez Ciebie kod jest dobry do demonstracji działania silnika i nic poza tym. Głównym problemem jest tu zastosowanie delayMicroseconds() . Poczytaj proszę o możliwości zastąpienia tych funkcji funkcjami nieblokującymi - choćby z wykorzystaniem słynnych millis() - jak to ugryźć znajdziesz w przykładzie Arduino IDE "BlinkWithoutDelay". Ale do...
Spróbuj tego. Nie testowałem, ale powinno zadziałać. HID.cpp [syntax=cpp] /* Copyright (c) 2011, Peter Barrett ** ** Permission to use, copy, modify, and/or distribute this software for ** any purpose with or without fee is hereby granted, provided that the ** above copyright notice and this permission notice appear in all copies. ** ** THE SOFTWARE...
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...
https://obrazki.elektroda.pl/3043864800_... Ten niepozorny moduł opiera się o ESP32 C3 i oferuje 1.44-calowy, kolorowy wyświetlacz o rozdzielczości 128x128, sterowany przez protokół SPI. Tutaj pokażę, jak łatwo można zacząć z nim przygodę, jak można wgrywać mu wsad zdalnie (przez WiFi), jak wyświetlić prostą animację oraz porównam...
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...
https://obrazki.elektroda.pl/4414581900_... Przeznaczenie i zasada działania Istnieją biblioteki do Arduino służące do sterowania urządzeniami poprzez IR. Postanowiłem jednak rozwiązać to w inny sposób – chciałem stworzyć układ uczący się, tzn. zapamiętujący kody z oryginalnego pilota. Umożliwia to sterowanie całym szeregiem urządzeń...
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/7583117900_... Pokażę tutaj moją prostą implementację tzw. "WiFiManger" na Arduino R4, czyli mechanizmu, który pozwala parować Arduino z naszą siecią WiFi w stylu parowania Tasmoty, czyli najpierw Arduino jest w trybie otwartego access pointa, do którego można się podłączyć i wpisać dane naszej sieci WiFi,...
https://obrazki.elektroda.pl/1316672100_... Zapraszam na krótką prezentację nowej płytki Arduino - Arduino R4 WiFi. Pokażę tutaj jak przygotować pod nią środowisko pracy (Arduino IDE na komputer bądź środowisko Webowe) z uwzględnieniem popularnych problemów (Web Edytor nie widzi portu COM?), zaprezentuję tu same możliwości płytki oraz...
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ć...
Przecież tak doradziła AI. Brakuje procedury sterowania touchpadem. [syntax=arduino]// --- Touchpad --- int readTouchX(){ pinMode(X_PLUS,OUTPUT); digitalWrite(X_PLUS,HIGH); pinMode(X_MINUS,OUTPUT); digitalWrite(X_MINUS,LOW); pinMode(Y_PLUS,INPUT); pinMode(Y_MINUS,INPUT); return analogRead(X_PLUS); } int readTouchY(){ pinMode(Y_PLUS,OUTPUT); digitalWrite(Y_PLUS,HIGH);...
https://obrazki.elektroda.pl/7257498500_... Pokażę tutaj jak można łatwo uruchomić zewnętrzną pamięć Flash z dowolnym mikrokontrolerem w oparciu o programowe SPI. Omówię tu działanie i znaczenie poszczególnych operacji (odczyt, zapis, kasowanie) oraz zaimplementuję je w kodzie. Temat użycia takich pamięci wydaje mi się co najmniej...
https://obrazki.elektroda.pl/4767840700_... Wczoraj opublikowana została nowa rodzina modeli Qwen3 oferująca rozmiary od 0.5B do 235B. Jej flagowy model, Qwen3-235B-A22B może z powodzeniem rywalizować z modelami takimi jak DeepSeek-R1, o1, o3-mini, Grok-3, i Gemini-2.5-Pro. Nowe modele Qwen3 obejmują zarówno modele dense , jak i typu...
https://obrazki.elektroda.pl/2558148800_... -BANDIT INFO BOX- 1. WSTĘP Opisywana konstrukcja to zestaw dodatkowych cyfrowych wskaźników które wykonałem do swojego motocykla (Suzuki Bandit 650S K5). Są to wskazania: aktualnego biegu, napięcia w instalacji oraz temperatur: oleju i powietrza (silnik tego motocykla jest chłodzony olejem...
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ą....
https://obrazki.elektroda.pl/4968487700_... Witajcie moi drodzy Pokażę tutaj jak można łatwo złożyć z gotowych modułów (ESP8266, zasilacz, przekaźnik) własny sterownik IoT na WiFi. W przykładowej wersji pozwoli on nam przez internet włączać/wyłączać jedno urządzenie. Będzie to tak jakby Sonoff wersja DIY, ze szczegółowym opisem kolejnych...
return remote return patch carriage return
saunier duval działanie berlingo radio fabryczne naprawa biosu compaq
Wymiana sprzęgła WOM w Massey Ferguson 6180 Whirlpool UW8F2Y WBI F – alarm, cyfra 2 na wyświetlaczu i sygnał dźwiękowy, diagnostyka