Widzę też np. moduł wifi ESP-12F i jest napisane "for arduino", ale chyba nie ma ograniczeń, że musi być konkretny mikrokontroler, żeby z tego skorzystać? Tak samo jakieś buzzery albo czujniki światła, to chyba da się na płytce uniwersalnej podłączyć z Pico i używać?
Jak nie, to napiszcie co kupić na początek, żeby zacząć z programowaniem mikrokontrolerów, ogólnie elektroniką.
Są takie oficjalne - https://botland.com.pl/arduino-edukacja-oryginalne-zestawy/4796-arduino-starterkit-k000007-oficjalny-zestaw-startowy-z-plytka-arduino-uno-7630049200081.html
Ale cena jest gruba. W innym oficjalnym zestawie za 70 euro jest lutownica, którą na ali za 13 zł wczoraj widziałem, więc zajebistą marżę mają XD
#programowanie
Mikrokontrolery AVR są bardzo proste na początek i mają bardzo dobrą dokumentację, wszystko jest w jednym PDFie. STM32 (ARM) pewnie będą tańsze, ale są dużo bardziej złożone w konfiguracji a dokumentacja składa się z kilku potężnych PDFów. A tak naprawdę niskopoziomowo możesz nawet PCta programować - piszesz program w asemblerze i wgrywasz na bootowalny nośnik ( ͡° ͜ʖ ͡°)
Pytanie czy chcesz się pobawić, żeby dobrze zrozumieć zasadę działania mikroprocesora, kompilacji itp, czy bardziej pod kątem przyszłego wykorzystania wiedzy w praktycznych projektach i pracy?
@cec Chcę zrozumieć działanie mikroprocesora. Na razie nie przewiduję, żadnych projektów, ale kiedyś zrobiłem światłoluba. Tylko to tak bez zrozumienia i bym od zera pouczył się elektroniki, lutowania, wytrawiania, projektowania układów itd. ale to uzależniam od programowania mikrokontrolerów, bo jak mnie nie wciągnie, to pewnie nie będzie mi się chciało. Tylko minnisumo chciałbym od zera zrobić z tego co przychodzi mi do głowy.
Wiem, że można na PC pisać niskopoziomowo, ale podobają mi się ograniczenia sprzętowe w mikrokontrolerach. Wymyślanie algorytmów, żeby przezwyciężyć ograniczenia sprzętowe. Jak raycasting tj. fałszywe 3d na GameBoyu, który nie ma akceleratora.
No i do mikrokontrolera można podłączyć inne układy, widać jak przebiegają obwody, tu sygnał analogowy przekonwertujemy na cyfrowy itd. Jak zabawka, a do PC w procka się nie wepnę.
To możesz polecić jakiś AVR. To zamówię.
A jak jeszcze z tym Pico w porównaniu z AVR? Jak to się różni oprócz architektury?
@ReferenceError na rpi będzie łatwiej. Masz tak naprawdę gotowca. Możesz pisać na nim w ci c++, ale jego największą przewagą jest to, że rozumie Pythona.
To o czym wyżej piszesz to właśnie poczujesz w arduino. Rpi pico to jak chcesz mieć działający, tani i energooszczędny, ale szanujesz swój czas i nie jesteś mistrzem C.
@Amhon No to chcę Arduino i będę uczył się C. Arduino Nano, czy co innego kupować?
polecam ESP32 z chin kupisz już z oled albo eink za grosze, a od razu masz wbudowane wifi i bt (a najnowsze modele zigbee) i można fajne rzeczy ogarnąć. Sam robiłem sterowanie oświetleniem akwarium na neopixel i odczyty temperatury. Teraz mam to spięte z HomeAssistant ale zabawa daje nieco frajdy ;)
@dotevo no czytałem, że też dobry, ale czym to się różni od Arduino?
No tym, że możesz użyć wifi i bt. Możesz używać w większości przypaków tych samych libek co dla arduino i nawet używać IDE dla arduino. Ja akurat używam platform.io
@ReferenceError Tak okołotematycznie - jakiś czas temu trafiłem na serię, w której gość buduje od podstaw komputer na 6502 (znanym na przykład z małego Atari), programuje go w assemblerze i ogólnie tlumaczy BARDZO przystępnie, jak to działa. Coś niesamowitego, polecam.
https://youtube.com/playlist?list=PLowKtXNTBypFbtuVMUVXNR0z1mu7dp7eH&si=rF5B-vLVX36lde8R
Spieprzyli coś to aliexpress, bo liczy koszty dostawy osobno od tego samego sprzedawcy i po dodaniu paru rzeczy okazuje się, że wychodzi 5 zł taniej niż w PL, a za to czekasz miesiąc
Takie coś jeszcze znalazłem https://pl.aliexpress.com/item/1005005133180800.html?spm=a2g0o.detail.0.0.5a23zp5Czp5C9M&mp=1&gatewayAdapt=glo2pol
Kilka zł tańsze od reszty, to jakiś zmodyfikowany klon? Różni się budową.
Szczerze mówiąc jeżeli masz zacięcie to nie ma znaczenia czy to rPI czy Arduino. Wręcz uważam że z rPI więcej wyciągniesz. Nie musisz nawet się zagłębiać w OS. Tu:
https://youtube.com/playlist?list=PLVxiWMqQvhg9FCteL7I0aohj1_YiUx1x8&si=U-skbZsDmD9gEUkT
Jest zajebisty tutorial pod bare metal na rPI. Koleś pisze kod od podstaw - stawianie srodowiska, konfig Makefile, kod startowy, protokoły komunikacyjne itd. bez żadnego OS. Trzymaj się raspberry i powodzenia!
ZX Spectrum Next
MEGA65
MiniPET
Foenix F256K
AgonLight2
Commander X16
To są maszyny dla twardzieli - a nie jakieś Arduino…
Nie wiem jak wiele masz motywacji w sobie i jak dokładnie chcesz rozumieć mikrokontrolery, więc odpiszę co nieco odnosząc się do niektórych komentarzy. Mam sporo doświadczenia w embedded, chętnie się podzielę.
Osobiście na początek odradzałbym raspberry i tego typu rzeczy jeśli chcesz się czego nauczyć, ponieważ to są małe komputery. Poradniki opierają się na "wgraj se na kartę pamięci raspbiana i się baw", czyli pracujesz na linuksie (raspbian to Linux), czyli na zwykłym kompie - jeden użytkownik pisał że można wtedy używać pythona. Tak, super, tylko po co? Oczywiście raspberry ma jakieś interfejsy typu uart, i2c itp, ale używając driverów z kernela wydaje mi się że nie nauczysz się wiele - no ale pytanie czego oczekujesz. Co do wyższej szkoły jazdy - tak, jeśli chcesz nauczyć się wypiekać własnego linuksa, skrojonego na twoje potrzeby (np buildroot). To jest wyższa szkoła jazdy.
No chyba że raspberry pi bare metal, jednak to jest na pewno bardziej skomplikowane niż arduino.
Amatorski świat embedded kręci się wokół Arduino Uno, najwięcej gotowców, exampli w necie i wszystkiego jest właśnie pod pinout Uno i chyba od tego poleciałbym zacząć. Jest pełno driverów w necie z których można korzystać, ale różnica w porównaniu z rpi będzie taka, że łatwiej będzie zobaczyć co się skąd bierze (w końcu nie masz całego kernela linuksowego do prześwietlenia). Można kupić jakiś zestaw Uno + czujniki + podstawowe elementy elektroniczne + płytka stykowa. Najlepiej szukać klona arduino (chiński klon jest jakieś 100zł tańszy). W ten sposób powinieneś zapoznać się ze światem embedded, poznać problemy ze sprzętem, podstawowe interfejsy komunikacyjne, jakieś podstawy podstaw elektroniki. Oczywiście wszystko jest pisane w C czy nawet jakimś arduinowej modyfikacji.
Co do następnego kroku to spróbowałbym innego mikrokontrolera (np stm32) albo zrobić blinking leda w innym języku. Tak, w embedded można pisać w C++ (z powodzeniem, nie słuchaj jak ktoś mówi że nie xd), jest jakiś micropython, nawet w lua.
Tego typu mapki są fajne do nauki, bo są specyficzne pojęcia w tej branży, o których ludzie z innych branż nie zawsze mają pojęcie
@ZohanTSW no ja właśnie chcę operować bezpośrednio na sprzęcie bez żadnych niepotrzebnych warstw abstrakcji. C kiedyś się uczyłem i mi C odpowiada. W takim razie kupię klona Uno.
To jest dla mnie prosta droga tj. albo mi podejdzie pisanie w C bezpośrednio na sprzęcie, albo sobie daruję, bo mnie interesuje sposób działania układów scalonych tj. rejestry, zarządzanie pamięcią, wskaźniki, stosy itd. Przebranżawiać się nie będę, a zbudować to chciałbym jedynie robota minisumo od zera. Projektowanie PCB i ta fizyczna część elektroniki też mnie interesuje, ale to osobna sprawa.
Rusta też się uczyłem i widziałem, że też jest opcja pisać w Ruscie na Uno.
Okej, brzmi jakby dobrze było to zrobić na RTOSie, przynajmniej ja bym tak zrobił, ale bare metal też się da
Dawno nic w tym nie robiłem, ale spostrzeżenia są takie:
Jak chcesz faktycznie niskopoziomowo to ATmega / ATtiny, programator, kwarc i własna płytka stykowa.
Arduino i jego "ekosystem" daje ci po prostu możliwość pisania prostszego kodu dzięki gotowym bibliotekom które "schowają" przed Tobą ustawienia rejestrów, przestawiania wajchy dla trybów na pinach etc.
Także do nauki pierwsza opcja, później jak już to ogarniasz i chcesz tworzyć szybko rozwiązania to Arduino :)
P.S. Arduino jest OpenSource, jest pełno płytek które są markowane innym logiem np. Funduino, ACS
@argonauta płytki Arduino zawierają ATmege i nie zczaiłem na początku, ale chyba rozumiem.
Masz na myśli, że kupuję goły mikrokontroler, obudowę do niego, płytkę uniwersalną, zasilanie (kwarc), programator łączę do odpowiednich pinów układu i tak działam?
Też o tym myślałem i też tak raczej zrobię niezależnie czy kupię coś jeszcze.
@ReferenceError dokładnie tak
@ReferenceError polecam kupić ESP32 (nie poprzednie, bo są nie wspierane).
Od razu nauczysz się obsługi RTOS, queue, tasków oraz innych przydatnych w tym świecie rzeczy które później nauczą Cię sporo w wyższych levelach. Do tego ten mikro zostanie z Tobą na dłużej bo ma 2 rdzenie, dość sporo ramu i flasha oraz ma wifi i bt więc jak będziesz chciał robić ciekawsze rzeczy to nie będzie dla Ciebie ograniczeniem.
Dzięki za odpowiedzi.
Kupiłem klona Nano i różne sensory. ESP32 dużo mocniejsze, ale na co mi ta moc teraz. Najwyżej po prostu kupię w przyszłości. Już chciałem to po prostu zamówić, bo każdy co innego pisze i poleca XD
Zaloguj się aby komentować