Skocz do zawartości

pmochocki

Aktywni użytkownicy
  • Zawartość

    129
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    6

Wszystko napisane przez pmochocki

  1. A tu: https://www.tme.eu/pl/katalog/potencjometry-osiowe_112328/?
  2. Pomimo posiadanej mniejszej lub większej wiedzy z zakresu elektroniki, zazwyczaj omijałem zagadnienia związane z audio. Oczywiście była jakaś pozytywka gdzie dla zabawy składałem sygnał z dwóch PWMów, aby uzyskać 16bitowe wyjście, ale to raczej wyjątek potwierdzający regułę. Ostatnio kupiłem mojemu synowi gitarę elektryczną i aż się prosi, aby zrobić dla niej samemu (to znaczy z synem) jakiś wzmacniacz. Jako, że mój dziewięciolatek jest z elektroniki zielony, trzeba zacząć od czegoś prostego. A co może być prostsze od kultowego LM386? Sam układ scalony LM386 został wynaleziony w zakładach
  3. Wszystko wydaje się trudne, gdy się tego nie zna. Jedynym wyzwaniem może być brak literatury z języku polskim. Więc jeśli publikacje w języku angielskim nie są Tobie straszne, to wystarczy... zacząć.
  4. @farmaceuta jeśli takie zagadnienia i schodzenie do pojedynczych cykli zegara naprawdę Ciebie interesują, to podszedłbym to tematu troszkę inaczej. Zacznij pod poznania kompilatorów. Wejdź na stronę LLVM i pogrzeb w materiałach. Pooglądaj video z konferencji. Napisz najprostrzego passa. Zrób dummy back end. Jest to pomysł nie tylko na edukację, rozwój umiejętności programowania i poznania różnych architektur. Jest to też pomysł na rozwój w kierunku specjalistycznej kariery zawodowej.
  5. Przecież jeden if jest pusty. Więc jak gcc przejdzie do SSA, to będzie jak na dłoni, że ten "basic block" w "flow control graph" jest pusty i można zoptymalizować. Jeśli chcesz liczyć cykle to musisz rozumieć jakie optymalizacje gcc będzie stosował w różnych przypadkach. PS: przepraszam za wstawki angielskie, ale nie znam prawidłowych nazw tych pojęcieć po polsku.
  6. Ten artykuł mam przeczytany. To po nim zacząłem grzebać na GitLabie. Wiesz czym różni się: kicad-msvc.r25355.6652e5acf4-x86_64.exe kicad-msvc.r25355.6652e5acf4-i686.exe Jeden to jest 64bit a drugi 32bit? Czy jest jakaś inna różnica.
  7. A ten: https://botland.com.pl/potencjometry-obrotowe-suwakowe-i-liniowe/2168-potencjometr-obrotowy-10k-liniowy-1-8w-5904422303716.html ???
  8. Dziękuję @Christophorus Nie wiem jak i gdzie wyczytałeś, że to: jest wersja RC1 6. Ale wierzę na słowo. Co powinienem z tego zainstalować? Mógłbyś podpowiedzieć? Nie ma obaw, nie mam wersji 5. Ostatni raz używałem KiCada 15 czy 20 lat temu. Ciekawe co się zmieniło...
  9. Niestety mój dziewięciolatek nie za bardzo wciągnął się w kurs o elektronice. Za dużo czytania i za mało akcji Ponieważ jednak zna trochę Scratch'a i App Inventor'a postanowiłem podejść do tematu trochę inaczej. Dziś dotarły do mnie płytki Raspberry Pi Pico jak i stacja lutownicza. Przylutowaliśmy piny i włączyliśmy stronę Piper Make. Szybko udało się wgrać "firmware" i rozpocząć zabawę. Okazuje się, że w pierwszym zadaniu Myszka Pip potrzebuje naszej pomocy, aby wskazać robotowi Piperbot, gdzie może wylądować na Marsie. Po krótkim wideo, wprowadzającym nas w zabawę, rozpoczyna się tut
  10. pmochocki

    Inteligentny dom jaki sprzęt

    Potwierdziłeś moje przypuszczenia. Moduły w drodze, zobaczymy jak się będzie na nie programowało.
  11. pmochocki

    Inteligentny dom jaki sprzęt

    Ty RP2040 używasz "bare bones", czyli nie jako moduł tylko sama kość wkomponowana w większy projekt? Zamówiłem oczywiście moduł, ale patrzę, że same procki są śmiesznie tanie i dostępne.
  12. Jednak ilość satelit i czas, który moduł GPS potrzebuje na ustabilizowanie swojego zegara, odgrywa dość ważną rolę. Wygląda na to, że kwarc w moim module GPS się "późni". Po odnalezieniu satelit, długość sygnału PPS cały czas maleje by po kilku minutach dać bardzo stabilną długość impulsu. Doświadczenie jeszcze raz pokazało, że warto po kilku dniach spojrzeć jeszcze raz na swój kod krytycznym okiem - mały babol się znalazł. Kod można obejrzeć na Githubie: https://github.com/pmochocki/precise_1s_pulse_width/blob/main/UNO_pulse_with.ino lub poniżej. Po ustabilizowaniu się modułu GPS
  13. pmochocki

    I2c wzmocnienie sygnału

    Z punktu widzenia Arduino to jest zwykły UART: https://forbot.pl/blog/kurs-arduino-uart-komunikacja-z-komputerem-pc-zmienne-id3836 https://forbot.pl/blog/kurs-arduino-kontynuacja-uart-serwomechanizmy-id7520 Google: Arduino UART
  14. pmochocki

    I2c wzmocnienie sygnału

    Moduły oparte na tych układach można kupić za 20zł: więc tu nie ma się nad czym zastanawiać.
  15. Na GitLabie jest już otagownay kandydat rc1: https://gitlab.com/kicad/code/kicad/-/tree/6.0.0-rc1 Ktoś może używał? Ktoś może wie kiedy w tym projekcie powstają gotowe buildy do testowania na Windowsie? Są to poszczególne wersje rc, czy dopiero alfa/beta?
  16. @farmaceuta mógłbyś na koniec zdradzić czemu to Ciebie interesuje? Jakiś praktyczny problem starasz się rozwiązać?
  17. Qt jest fajne. DirectX, OpenGL czy Vulkan wydają się naturalnym pomysłem, ale mogą stanowić poważne wyzwanie dla początkujących. Może game engine: https://godotengine.org czy https://unity.com ? Szczególnie w tym pierwszym łatwo się piszę. Na przykład już po dwóch wieczorach można mieć coś takiego: https://www.forumastronomiczne.pl/index.php?/topic/21052-efemerydy-nasa/ Wiem, nie jest to VisualStudio i nie jest C++, ale... czy musi być?
  18. Czuje się w obowiązku podkreślić, że nie liczę cykli potrzebnych do skoku do procedury obsługi przerwania. Specjalnie zamieściłem instrukcję RETI, która w tych 4 cyklach zdejmuje ze stosu adres powrotu.
  19. #define ISR_NAKED __attribute__((naked)) Jak widać ISR_NAKED to tak naprawdę atrybut gcc __attribute__((naked)). Ten atrybut własnie sprawia, że po napotkaniu funkcji z atrybutem naked kompilator przestaje generować dla niej prolog i epilog, o zachowanie stanu rejestrów i ich odtworzenie musi więc zadbać programista. Więc nie ma wtedy żadnej obsługi stosu robionej przez kompilator. Robienie tego samemu może być czasami skomplikowane/bolesne. Czasami jednak może być trywialne - np. jak nie dostępujemy zmiennych: ISR(INT0_vect, ISR_NAKED){ PORTB|=0x01; asm volatile("RETI\n\t"::); }
  20. A jaką tolerancję miały użyte elementy? Czy to nie tłumaczy zjawiska, które obserwujesz: https://pl.wikipedia.org/wiki/Szereg_wartości ?
  21. Ja wracam do AVRów po latach i nie mam środowiska teraz pod ręką, no i wiedza trochę zardzewiała, ale taki program: #include <avr/io.h> #include <avr/interrupt.h> int main(void){ sei(); } ISR(INT0_vect, ISR_NAKED){ asm volatile("RETI\n\t"::); } ile zajmie w ASM? Spodziewałbym się, że będzie tylko jedna instrukcja reti, która zajmuje 4 cykle zegara. Według mnie to jest minimalna długość obsługi pustego przerwania.
  22. Otwierasz 37 rozdział specyfikacji i sprawdzasz ostatnią kolumnę:
  23. // init GIMSK |= (1 << PCIE); // wlacz przerwanie PCINT PCMSK |= (1 << PCINT2); // Ustawienie maski dla PCINT2 sei; ISR(PCINT2_vect) { // obsługa przetwanie } Nic więcej nie powinno być potrzebne. EDIT: Pin change interrupts - PCI will trigger if any enabled PCINT[5:0] pin toggles. Nie możesz sobie ustawić czy zbocze ma być opadające czy narastające - to nie będzie u Ciebie problemem?
  24. W sumie racja, ale chyba rzadko używany był, ciekawe dlaczego...
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.