Może nie tyle sprawdzanie co odwołanie się do funkcji "MyHandleNoteOn(3,127,127);"
A masz w ogóle piny ustawione jako wyjścia? http://arduino.cc/en/Reference/PinMode
żeby czujnik był dokładny i w czasie rzeczywistym pokazywał wielkość opadów Do tego potrzebujesz deszczomierz. Płytka nie zmierzy Ci wielkości opadów.
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...
Dobrze napisana biblioteka dla Arduino nie będzie operować na rejestrach, bo wtedy działałaby tylko na jednym procesorze, a Arduino to nie tylko ATMega 328P (a dawniej ATMega8). Można napisać bibliotekę tak, że gdy jest AVR odwołuje sie do jego rejestrów, gdy ARM STM do jego, jak nieznany procesor, to przez bibliotekę Arduino.
Serial to jakieś 30% całości. W tym momencie program jest za duży o jakieś 7% (~300 bajtów). Do tego celu używam kona arduino Blue pro micro ( odczytywane przez kompilator jako leonardo ). Problem w tym, że to nie koniec rozbudowy programy, a jedynie początek Czyli wstępnie, jak już nadmieniono, sprzęt za słaby do zadania. Ale możesz się pobawić np...
Czytasz tylko wybrane posty i odpowiadasz tylko na wybrane pytania? W ten sposób daleko nie zajdziesz ... i czasu więcej stracisz ... Czytam wszystkie i odpowiadam na wszystkie, na które znam odpowiedź. Nie mam kompresji (a przynajmniej nie ma nic takiego w opcjach), piszę w Arduino IDE.
A jak jest np. z biblioteką arduino.FFT? Jak już mowa o FFT, szczególnie jeśli trzeba ją liczyć szybko, to przy Pi Pico mamy do dyspozycji świetną, profesjonalną bibliotekę matematyczną firmy ARM z różnymi obliczeniami w tym FFT, w różnych wariantach typów zmiennych stało czy zmiennoprzecinkowych. I co najważniejsze biblioteka jest optymalizowana ściśle...
jak napisać program w arduino powodujący miganie diody 10 razy a następnie kończący działanie? Wstępna ocena dostępnych informacji Przeanalizowałem Twoje pytanie dotyczące napisania programu w Arduino, który spowoduje miganie diody 10 razy, a następnie zakończy działanie. Celem jest stworzenie programu sterującego diodą LED, który wykona określoną...
Zgodnie z warunkami w programie po zakończeniu procedury rozpalania idzie procedura gaszenia i tak w kółko jeśli ktoś zasłania czujnik. Musisz dorobić warunek który rozpocznie inicjowanie procedur dopiero jak zaistnieją po sobie dwa warunki: 1: zasłonięcie czujnika , 2: odsłonięcie. Czyli trzeba wprowadzić dodatkową zmienną np. [syntax=c]bool on_barrier_up=false;...
sprawdź zmienne... longi ci tam nie są potrzebne, tam gdzie masz 0 i 1 daj to http://arduino.cc/en/Reference/BooleanVa...
Witam! Czy ktoś się może orientuje jak działa opcja "Optimize code", w Bascomie AVR 1.11.7.4. Czy jest to bezpieczne, bo jeśli tak to ciekawa opcja- skróciła mi kod o połowę.[/list]
Witam. Jak to napisać optymalniej bo w obecnym stanie zżera mi dużo pamięci if(i+e*10+f*100>=j+k*10+l*100&&j+k*10+l*... Dzieki. Dodano po 2 język C
Cześć. możecie mi powiedzieć o co chodzi w poziomach optymalizacji kodu w AVR-GCC, Jak mam okreslić który poziom wybrać i czym sie kierować przy wyborze. Czy działanie programu moze zależeć od jego wyboru? Sławek
Piszę sobie szczęśliwie kody baremetal na ARMy w RPi3 i RPi4. Nie wnikałem w szybkość pracy bo i tak była duża. Ale potrzebowałem mocno zoptymalizować jeden algorytm, i dodałem sobie licznik cykli. I się mocno zdziwiłem. Kod jest najprostszy z możliwych. Czysty baremetal, nawet bez przerwań. Wzorowany na tym: https://www.elektroda.pl/rtvforum/viewto...
Hej ;) Jestem poczatkujacym w dziedzienie uP dlatego prosze o wyrozumialosc :). Stworzylem ostatnio prosty uklad ktory ma sterowac praca 3 diod. Napisalem program w C: #include <avr/io.h> #define F_CPU 8000000 #include <util/delay.h> int main() { int dioda_zolta = 0x01; int dioda_zielona = 0x02; int dioda_czerwona = 0x04; int...
Witam Chciałbym zoptymalizować kod pod względem zajętości pamięci konkretnie chodzi mi o obsługę UARTU. Nie wiem ile dokładnie pamięci zyskam (pewnie 2 bajty, ale chciałbym się też czegoś nowego przy okazji nauczyć) Generalnie mam 2 funkcje [syntax=c] static void SendByte(uint8_t data){ while(!(UCSR0A & (1<<UDRE0))); UDR0 = data; static uint8_t...
Kreowanie i usuwanie obiektu client klasy WiFiClient w pętli loop() za każdym jej przebiegiem jest mało praktyczne i może wiązać się ze zwiększoną fragmentacją sterty. Dodano po 8 A teraz pytania – czy takie natychmiastowe zamknięcie serwera (bez pobierania) jest poprawne? O jakie "zamknięcie" serwera chodzi? Gdzie jest to w kodzie?
http://obrazki.elektroda.pl/3011607100_1... Dzień dobry! Będąc zespołem młodych, zmotywowanych ludzi w ciągu roku zbudowaliśmy robota serwującego drinki oraz zaprojektowaliśmy proces jego wytwarzania. http://obrazki.elektroda.pl/3764306700_1... Wymagania jakie sobie postawiliśmy na początku: - dokładnie odmierzane proporcje...
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...
Witam. Zamierzam obsługiwać multiplexer i zakładając, że będę potrzebował wszystkich jego 16 pinów napisałem program z 16 funkcjami. Każda wygląda mniej więcej tak: funkcja1() { digitalWrite(0, LOW); digitalWrite(1, HIGH); digitalWrite(2, LOW); digitalWrite(3, HIGH); } I moje pytanie brzmi, czy jak wgram...
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...
Samo Arduino nie jest zgodne ze sztuką, więc tym się nie przejmuj. Z czasem, jeśli będziesz kontynuował naukę programowania, będziesz pisał coraz lepiej. Nauka ogólnego programowania na uK w tym Arduino to bardzo zła polityka. Po pierwsze dominacja bardzo kiepskich wzorców, szkodliwych (antywzorców). Brak refleksji "jak zrobić to naprawdę dobrze",...
Ok, tutaj są moje bazgroły na "szybcika" , ot taka radosna twórczość. Ja;Kod arduino uno do optymalizacji i usunięcia ewentualnych błedów: #include <FastLED.h> #define LED_PIN 2 #define NUM_LEDS 30 #define SPARKLE_INTERVAL 100 // Czas odświeżania iskrzenia (ms) #define FADE_AMOUNT 50 // Ilość przyciemnienia #define BASE_BRIGHTNESS 50 // Jeszcze...
https://obrazki.elektroda.pl/2635305000_... Poniższy projekt to stacja pogodowa oparta na module z układem ESP8266. Nie byłoby w niej nic szczególnego, co wyróżnia ją na tle innych tego rodzaju konstrukcji, gdyby nie optymalizacja systemu pod kątem minimalizacji poboru prądu. Wykorzystany mikrokontroler nie jest zbyt energooszczędny,...
Nie miałeś znaczącego zysku, bo nie jest to dobrze zrobione. Ratujcie, silniejszy procesor potrzebny. oczywiscie ze tak , ale .... $ vs czas wydanie na kazdy MCU 100-300zl jest dla mnie czasem tansze niz optymalizacja kodu :) przy 10 sztukach produktu rocznie optymalizacja jest za droga czasy gdy chcialo mi sie wciskac kod ze stosem TCP na arduino...
https://obrazki.elektroda.pl/7351720800_... Dzisiaj luźny temat, krótka galeria ze środka kolejnego tunera satelitarnego odzyskanego z elektrośmieci. Zobaczymy co ma w środku i czy coś ze środka może się przydać. Nie jest to pierwsza taka prezentacja we "Wnętrzach urządzeń", bawiłem się już w ten sposób w temacie Skymaster XL120 Zasadniczo...
Dziękuję. (at)ElektrodaBot Compilation error: 'class RC5' has no member named 'begin' Czego mi brakuje w Arduino ? Bezpośrednia odpowiedź Komunikat class RC5 has no member named ‘begin’ oznacza, że posiadasz inną wersję biblioteki RC5.h niż ta, do której odwoływał się mój przykład – w Twojej wersji metoda `begin()` nie istnieje. Najprostsze i w...
Polecam zobaczyć [url=https://hackaday.com/2018/03/08/rac... Jest to przykład co można zrobić z ATtiny85 (animowane demo 204 x 240 pikseli i 60 FPS). Tekst, który napisałeś jest mocno tendencyjny. To, że w udostępnionym przykładzie ktoś poszedł po linii najmniejszego oporu i czyści za każdym razem cały wyświetlacz, nie znaczy...
(...) 5) trochę dotycząca pkt.1) jak zrobić czcionkę, w której potrzebują tylko cyfr, lub paru liter (niekoniecznie po kolei wg kodów ASCI, np T, O, M, I), pomyśl o jakichś deskryptorach ułatwiających i optymalizujących takie potrzeby Zaproponuj jakieś rozwiązanie w AVR GCC zgodnie z powyższymi założeniami Projektowanie biblioteki czcionek dla systemów...
Ilekroć słyszy się termin: „zasilanie beztransformatorowe”, łatwo jest sobie wyobrazić rozwiązanie oparte na kondensatorze wysokiego napięcia, który jest połączony szeregowo z linią sieciową, a następnie prostownik mostkowy, diodę Zenera, kondensator filtrujący i tak dalej... Taki obwód nie tylko nie jest w stanie dostarczyć wystarczającego...
(at)tronics Arduino i mbed są przeznaczone do zastosowań amatorskich lub do nauki. Jak brakuje miejsca to bierze się po prostu płytkę z większą ilością pamieci. Przecież żadna poważna firma nie buduje swoich projektów na arduino/mbed więc optymalizacja kosztów nie ma znaczenia.
Soft napisany w arduino czy faktycznie w C++ ? O tym, juz ktoś pisał na Elektrodzie. Sa osoby, które sądzą, ze Arduino to język. Arduino używa C/C++. Wystarczy obejrzeć np biblioteki. Kompilatorem jest AVR-GCC. Łatwo to sprawdzić. Arduino, to nie Bascom. Doskonale wiem jak działa arduino ;) Nie mniej jednak jeśli soft był pisany w środowisku arduino,...
To zdradzę ci parę patentów na SMD. Scalaki prosto się lutuje, kluczem jest odpowiednia ilość topnika. Lutuje transformatorówką, przelatując po pinach. Wychodzi jak z automatu. Elementy dyskretne - bierzesz pastę lutowniczą, nanosisz na pola, po czym pęsetą nakładasz elementy (kluczem jest małą ilość pasty, jeśli wydaje ci się, że jest dosyć to znaczy,...
Albo optymalizacja kodu, albo przesiadka.
Wiec tak, uklad HC ma stan wysoki gdy jest polaczony, stan niski gdy czeka na polaczenie - stad kod wykonywany tylko gdy zostanie podany stan wysoki :) Plytki to 2x Arduino NANO, czyli maja po jednym serial porcie sprzetowym ? Arduino1 - Arduino 2(kod powyżej) - moduł BT Arduino1(kod powyzej) - Arduino 2 - moduł BT Czemu tak ? Jak dodam gotowe biblioteki,...
Cześć wszystkim, Po ponad 2 miesięcznej przerwie wróciłem do swojego projekciku i niestety o ile wtedy wszystko szło w dobrym kierunku, to teraz pozapominałem niektórych kwestii i na dodatek przekombinowałem teraz z kodem co w efekcie przysporzyło mi kilku problemów. Program pisany jest w C# i ma współpracować z Arduino, do którego podpięte są dwa włączniki...
C. C++ potrzebuje większych zasobów, np klasy String trzeba używać z rozwagą. potrzebuje albo i nie. Kwestia tego co się użyje. Widzę jednak małą niespójność w logice kolegi wypowiedzi. Z jednej strony piszesz, że Audruino'wcy nie znają C++, nie chcą się uczyć i generalnie ogólnie mam odczucie, że ma masz o nich niskie mniemanie... Z drugiej strony...
PIC16F18855 (14k Flasha, 1k RAM) programowany za pomocą PIC18LF25K50 (32k Flasha, 2K RAM) - czy nie powinno być na odwrót ? :D Pewnie użyli darmowego kompilatora i tylko na tym się zmieściło :D PS. Zaciekawiła mnie optymalizacja kodu w MPLAB X IDE oraz MPLAB Xpress która ponoć daje do nawet 60% oszczędności miejsca w Flash'u , ale co bardziej istotne...
Zapewne biblioteki eth i SD jeśli są dobrze napisane to mają możliwość zmiany wielkości buforów, co umożliwi zaoszczędzenie pamięci. Ewentualnie można je porządnie napisać samemu lub przejść na C i wywalić tą całą kobyłe jaką jest Arduino i zapewne zwolni ci się od razu z 50% pamięci :)
Robisz jakieś dziwne kombinacje. Dwa procesory to nie dwukrotnie większy problem, ale wielokrotne większy. A ty, bez urazy, na razie nie do końca ogarniasz jeden :) Takie sekwencje: [syntax=c] ex.pinMode(0, OUTPUT); ex.pinMode(1, OUTPUT); ex.pinMode(2, OUTPUT); ex.pinMode(3, OUTPUT); ex.pinMode(4, OUTPUT); ex.pinMode(5, OUTPUT); ex.pinMode(6, OUTPUT);...
Co do braku JTAG itp umożliwiających debugowanie. Osobiście bez debugowania za projekt się nie zabieram, ale popularne Arduino debugowania nie ma a powstaje na niego dużo projektów podobnie jak kiedyś na Bascom. Oczywiście Arduino debugowanie ma - popularna ATMega328 na której często jest oparte wspiera debugowanie w pełnym zakresie. Faktycznie, ATMega168...
Od jakiegoś czasu próbuję odpalić oszukanego Black Pill'a - STM32F103C8T6 na Macbook'u Pro z OS Sierra używając środowiska Arduino IDE https://obrazki.elektroda.pl/5361253000_... Zamówiłem konwertery TTL z Aliexpress (CH340, CP2102 i YP-01- do tego nie mogę znaleźć sterownika). Pinout sprawdzony kilkukrotnie, TX do TX, RX do RX, 3,3V...
AVE... Problem z zestawami typu RPi czy Arduino jest taki, że one nie uczą zbyt dobrze warstwy sprzętowej, a i często też uczą złych praktyk programistycznych. Na przykład tego, że łatwiej jest o większą moc obliczeniową niż o optymalizację kodu... To nie jest tak. Zazwyczaj po prostu taniej jest dorzucić więcej żelastwa (oczywiście w przypadku projektów...
Ciekawi mnie w jaki sposób dobrano zestaw czujników w kuchni są 2 zestwy czujników - podejrzewam, że generalnie będa wskazywały podobnie poza wyjatkowymi sytuacjami (np. gotowanie) Kotłownia. Może akurat część tych danych da sie wydobyć bezpośrednio z pieca np. jeśli to Vailant to ma interfejs eBUS. Zbyt wiele czujników to wyzwanie dla arduino jesli...
(at)tplewa Niech kolega jeden sensowny powód dlaczego nauka C jest niemożliwa Ponieważ imputujesz mi stwierdzenia, które nie padły z mojej klawiatury - dyskusja jest niemożliwa. To ja zapytam: dlaczego twierdzisz że nauka C na PC-ie jest nimożliwa, a debugger przeszkadza w trakcie debugowania? Nie nie przeszkadza... to kolega twierdzi że najpierw należy...
AVE... Nie musisz umieszczać dodatkowej pętli while(1) w pętli głównej, bo wszystko w pętli głównej będzie wykonywane ciągle. Ustaw przerwanie dla ADC i w pętli obsługi przerwania wartość odczytuj. W ten sposób mikrokontroler może robić inne, interesujące rzeczy czekając na pomiar. Mikrokontrolery z reguły są dużo szybsze od ADC. Co do MPLABX i XC8...
Proszę kolego. Wolę się pobawić niż spierać o to kto jest mądrzejszy. To mój pomysł i metodę losująca można zastosować każdą inną. Miało być krótko. [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 Config Portb = Output Config Pinc.1 = Input : Portc.1 = 1 : Przycisk Alias Pinc.1 Dim X As Byte Dim Miliseconds As Word , Powtorz As Byte 'na starcie...
Bramka czasu skomunikowana bezprzewodowo ze stoperem opartym o wyświetlacze 7-segmentowe. Jest to układ potrzebny do projektowanej przeze mnie gry planszowej. W prototypie opartym o arduino skorzystałem z emitera i odbiornika ir do konstrukcji bramki czasu jaki i do bezprzewodowej komunikacji ze stoperem. Jestem dość zielony w układach elektronicznych...
Witam, To zadanie obsłuży większość mikrokontrolerów współczesnych, nawet Arduino, z lekką optymalizacją, by sobie poradził. RBPi to lekki przesyt formy, nie wykorzystamy mocy systemu. Na RBPi można zaaplikować system "zero latency", jeżeli dokładność czy opóźnienia są problemem przy liczeniu z rozdzielczością 10 ms :). Pozdrawiam
Dziwne, zrobiłem pentlę z przypisaniem i też nic to nie dało... Czyżby ponowna dzika optymalizacja?
Ładnie wygląda ale chyba coś "przedobrzone" bo szwankuje. Prawdę mówiąc określiłeś to jak obrażona panienka a nie programista. Co konkretnie szwankuje ? Równie dobrze w starym mogła być "parzysta ilość błędów" (to taki niby żart zawodowy, ale zaskakująco często się sprawdza) JA: czy Qwen z opcją refaktoryzacji "Advanced C++23" nadaje się do optymalizacji...
Jeżeli są różne wersje gcc (i na razie nie wiadomo jakie), to nie powinno dziwić, że są różne kody binarne. To, czy do Arduino IDE "doinstalowywano zewnętrznie" gcc może mieć o tyle znaczenie, że mogą być ustawione różne wersje optymalizacji dla kompilatora - to też może mieć wpływ działanie kodu wynikowego i jego rozmiar. Bez konkretnej wiedzy na temat...
Nie ATMega32 a albo 168 albo 328. Nowsze wersje. I szukaj takiej która ma 328. Bo w 168 szybko może ci się miejsce na program skończyć jak zaczniesz coś poważniej pisać używając gotowych bibliotek bez optymalizacji.
Cieszę się, że sobie sporo wyjaśniliśmy, choć nadal pozostaniemy przy swoich zdaniach :) A Tomka poproszę, by osobiście odpowiedział w tamtym temacie na Twoje pytanie, choć znam odpowiedź - zapomniał dodać: użyte w funkcji przerwania, a to zależy od wybranego rodzaju optymalizacji, co łatwo sprawdzić podglądając plik wynikowy .lss powstały z różnymi...
Możliwość optymalizacji jest poważnym argumentem za używaniem switch.
optymalizacja laptop optymalizacja internetu optymalizacja komputer
pralka buczy pracy zawór filtrze paliwa chinczyk schematy
laptopy gamingowe laptopy gamingowe
Slican CTS-330 brak podświetlenia BLF linii miejskiej – konfiguracja i diagnostyka Alfa Romeo 159 2.0 JTDm – schemat połączenia EGR, wiązka, bezpiecznik F18, ECU Bosch