Elektroda.pl
Elektroda.pl
X
BotlandBotland
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino, Raspberry PI w przemyśle

dondu 30 Cze 2020 21:36 2820 74
  • #31
    khoam
    Poziom 38  
    _lazor_ napisał:
    To jest to całe arduino core API?

    https://github.com/arduino/ArduinoCore-API
  • BotlandBotland
  • #32
    Chris_W

    Poziom 37  
    Była już taka dyskusja na elektrodzie dość dawno temu, napisałem w niej, że za kilka lat będą przemysłowe klony amatorskich modułów - nie dlatego że one są dobre, ale z powodu wykorzystania zasobów ludzkich - całego pokolenia które się na tym uczy. Biznes ma w nosie kwestie techniczne, że coś jest słabsze, kapitał ludzki na dzień dzisiejszy odgrywa większą rolę i dopasują kwestie techniczne pod ludzi.
  • #33
    _lazor_
    Moderator Projektowanie
    Pewnie zastosowanie będzie zależało od skali, jak w sumie wiele rzeczy. Ja się wypowiadam z skali produktów na rynek międzynarodowy i tym segmencie nie widzę by coś takiego jak arduino się przyjęło. W takiej skali firmy nie oszczędzają na kapitale ludzkim i na narzędziach bo jak pisałem wcześniej to jest koszt jednorazowy, który i tak jest wliczony w cenę produktu...
    Jak będzie jakiś branch arduino, który będzie ułatwiał certyfikowanie do SIL, wsparcie dla software in loop, hardware in loop, ogólnie wsparcia dla testów regresyjnych to powiem wtedy że jak najbardziej i sam się tym zainteresuję. Powyższe hasła są normalnymi rzeczami w rozwoju oprogramowania, jeśli programista uważa, że to tylko dziwne wymysłu i jemu są nie potrzebne to cóż, nie ma co traktować takiej osoby poważnie.
  • #34
    khoam
    Poziom 38  
    _lazor_ napisał:
    ogólnie wsparcia dla testów regresyjnych

    Nie ma żadnego problemu z przeprowadzaniem testów regresywnych w odniesieniu do programów wykorzystujących Arduino HAL. W PlatformIO jest stosowne wsparcie dla tego typu testów (używam) - od decyzji programisty zależy, czy skorzysta z tych narzędzi.
  • #35
    _lazor_
    Moderator Projektowanie
    Ciekawe czy rozumiemy tak samo testy regresyjne... Arduino udostępnia jakieś środowisko testowe, które pozwala na izolowanie poszczególnych funkcjonalności i napisanie dla nich testów i automatyczne zapuszczenie ich w celu weryfikacji czy w procesie iterowania oprogramowania nic nie zostało uszkodzone?

    Pikuś z komunikacją, bo tak jest najprostrza do testów, ale powiedzmy taki wyświetlacz w jaki sposób platforma pozwoli zweryfikować czy funkcja obsługująca wyświetlacz, wyświetla to co ma? Odpowiedź, że użytkownik na to popatrzy i już wie jest nie satysfakcjonująca, bo to katorga a nie testy regresyjne.
    Dość istotna sprawa by były automatyczne, gdyż nie chcemy by deweloper za każdą zmianą ręcznie przeprowadzał testy regresyjne, bo to człowieka doprowadzi do chorób psychicznych.
  • #36
    khoam
    Poziom 38  
    _lazor_ napisał:
    Ciekawe czy rozumiemy tak samo testy regresyjne... Arduino udostępnia jakieś środowisko testowe, które pozwala na izolowanie poszczególnych funkcjonalności i napisanie dla nich testów i automatyczne zapuszczenie ich w celu weryfikacji czy w procesie iterowania oprogramowania nic nie zostało uszkodzone?

    Sądzę, że rozumiemy pojęcie testów regresywnych tak samo, ale w dalszym ciągu upierasz się, że Arduino to jest jakieś zintegrowane środowisko deweloperskie. Nie, to jest platforma programistyczna, a w zasadzie framework w C++. Natomiast osobno są dostępne narzędzia do przeprowadzania testów czy symulacji programów, które ten framework wykorzystują. Zdaje sobie sprawę, że przez wiele lat narosło wiele mitów na temat pojęcia "Arduino" - niektórzy do dzisiaj uważają, że "Arduino" to po prostu ładna płytka z atmega328p, a programy to się pisze w "języku Arduino" z użyciem (jednego z najgorszych na świecie) Arduino IDE, a programy to są skecze. Nic na to nie poradzę.
  • #37
    _lazor_
    Moderator Projektowanie
    Ja nie widzę takiego arduino w swoich zastosowaniach, nawet tego co robię po godzinach w domu. Elementy jakie to oferuje są trywialne, a zaawansowane i tak trzeba realizować samodzielnie. Poświęcanie czasu na naukę tego jest moim zdaniem stratą czasu, ten czas można poświęcić np na naukę pisania unit testów w gtest...
  • BotlandBotland
  • #38
    dondu
    Moderator Mikrokontrolery Projektowanie
    dasej napisał:
    Profesjonalista zrobiłby by porządnie, amator zrobi to na Arduino weźmie dużo niższą kasę i gościu który za to zapłacił będzie się z tym męczył nie wiedząc jak by to wyglądało gdyby to było zrobione porządnie przez fachowca.

    Ale zauważ, że to się właśnie zmienia. Skoro powstają platformy sprzętowo zbliżone do profesjonalnych, to może jednak należy dopuścić myśl, że "pokolenie Arduino" niechybnie doprowadzi do pewnych zmian na rynku w zakresie częśći przedsiębiorstw, o których pisałem wcześniej:

    dondu napisał:
    ... przemysł to nie tylko wielkie fabryki samochodów, ale także małe firmy, gdzie w szczególności liczą się niskie koszty implementacji i tani serwis za 3000zł, a nie za 13000zł miesięcznie. Mikro (96,2%), małe (2,8%) i średnie firmy (0,8%), to 99,8% wszystkich podmiotów prowadzących działalność w Polsce. Wytwarzają odpowiednio 31%, 8% i 11%, razem dokładnie 50% PKB.

    Zwraca na to uwagę także kol.:

    Chris_W napisał:
    ... za kilka lat będą przemysłowe klony amatorskich modułów - nie dlatego że one są dobre, ale z powodu wykorzystania zasobów ludzkich - całego pokolenia które się na tym uczy.

    Z drugiej strony Linux nie wyparł i nie zanosi się, by wyparł Windowsy, ale jakąś część rynku przejął.

    Ja tylko zwracam uwagę na to, że:
    - 10 lat temu, Arduino to była ciekawa nowinka dla amatorów,
    - z biegiem czasu sukcesywnie opanowała świat hobby i ...
    - ... aktualnie na uczelniach wyższych Arduino jest wykorzystywane w programie nauczania,
    - teraz zaczynają pojawiać się rozwiązania dedykowane dla przemysłu,
    - ... naturalnym więc krokiem jest, że mając dostęp do sprzętu "pokolenie Arduino" zabierze część rynku.
  • #39
    _lazor_
    Moderator Projektowanie
    dondu napisał:
    - ... naturalnym więc krokiem jest, że "pokolenie Arduino" zabierze część rynku.


    Zapominasz jeszcze o bardzo ważnym ruchu vendorów - układy pokroju stm32MP1 gdzie masz duży rdzeń cortex-a z linuksem i malutkie dodatkowe rdzenie do real time. I to jest moim zdaniem przyszłość, bo customowo zbudowany linuks daje bardzo potężne przyśpieszenie w projektach a małe rdzenie mogą wykonywać swoje zadanie, dodatkowo być modyfikowne w locie.

    I na to jest zapotrzebowanie na rynku, na ludzi co potrafią budować i robić programy w kernel landzie i znają się na embedded.
  • #41
    _lazor_
    Moderator Projektowanie
    To popatrz na takie rzeczy:
    https://somlabs.com/product/visionsom-stm32mp1/
    albo coś takiego:
    https://www.dh-electronics.com/produkte/dhsom-system-on-modules/dhcor-stm32mp1

    One są przygotowane dla przemysłu.
  • #42
    khoam
    Poziom 38  
    _lazor_ napisał:
    Zapominasz jeszcze o bardzo ważnym ruchu vendorów - układy pokroju stm32MP1 gdzie masz duży rdzeń cortex-a z linuksem i malutkie dodatkowe rdzenie do real time.

    Ruch ze strony ST, którego celem zabranie kawałka tortu z istniejącego rynku linux embedded. OpenSTLinux to prostu kolejna customowa wersja linuksa, która ma wspomóc sprzedaż procesorów ST - nie nazwałbym tego rewolucją przemysłową ;)

    A przy okazji tematu tego wątku, to Arduino Core dla STM32MP1 jest "w drodze" :)
    https://community.st.com/s/question/0D50X0000BcSrQf/arduino-for-stm32mp1-will-arrive
  • #43
    _lazor_
    Moderator Projektowanie
    Napisałem "układy pokroju stm32MP1" Dobrze może być IMX od NXP lub jakikolwiek inny... Jakby kogoś obchodziło jaki to vendor robi. A tak arduino interesuje, bo jak ktoś nie sportuje to do tego czasu dla was ten sprzęt nie istnieje.
  • #44
    tzok
    Moderator Samochody
    Arduino jest piękne, bo jest proste. Wszystko jest zintegrowane i... po prostu działa. Nie trzeba konfigurować środowiska, toolchainów. Programuje się prawie jak za starych dobrych czasów w BASICu. Można się skupić na problemie jaki oprogramowanie ma rozwiązać, a nie na walce z konfiguracją środowiska deweloperskiego. Owszem otwiera to drzwi do tworzenia oprogramowania wielu bardzo słabym programistom, może dlatego ogólny odbiór jest taki zły.

    Tendencja do używania języków wysokiego poziomu w zastosowaniach embedded jest obecna od dawna. Mimo ewidentnych braków mocy obliczeniowej NASA nie pisała oprogramowania pojazdów i sond kosmicznych w języku maszynowym tylko w Fortranie, później w C.

    Arduino jako "język" jest bez porównania bardziej elastyczne, niż język "drabinkowy" sterowników PLC, a popularność i wszechobecność Arduino daje pewność, że nie zniknie ono z dnia na dzień i nie braknie dla niego wsparcia.
  • #45
    atom1477
    Poziom 43  
    tzok napisał:
    Programuje się prawie jak za starych dobrych czasów w BASICu.

    Jest taka różnica że BASIC nie miał za wiele skomplikowanych procedur.
    A w Arduino one są. Ich wywołanie zajmuje sporo zasobów procesora.

    tzok napisał:
    Można się skupić na problemie jaki oprogramowanie ma rozwiązać, a nie na walce z konfiguracją środowiska deweloperskiego. Owszem otwiera to drzwi do tworzenia oprogramowania wielu bardzo słabym programistom, może dlatego ogólny odbiór jest taki zły.

    Równie dobrze można napisać że Arduino nie pozwala zająć się na problemami, bo ma własne rozwiązania na problemy, a jednocześnie utrudnia samodzielne budowanie rozwiązywań.
    Mam na myśli to że ma wiele własnych bibliotek, ale jednocześnie ma mocno utrudniony dostęp do zasobów sprzętowych. Co oczywiście nie jest zrobione bezcelowo, bo celem jest unifikacja dostępu do zasobów sprzętowych w różnych rodzajach procesorów. No ale nie zmienia to faktu że utrudnia to rozwiązywanie problemów. To wymusza rezygnację z rozwiązywania, i skupianie się na wykorzystywaniu gotowych zestawów rozwiązań.
    Przy czym nie neguję że nie pozwala to całkowicie.
    Ale powiedzmy sobie szczerze. Jak ktoś już grzebie wewnątrz bibliotek Arduino (które pewnie są w C), to tak samo by sobie to coś napisał właśnie w C.
    Użycie Arduino w takim wypadku ogranicza się tylko do użycia środowiska oraz szablonu projektu (czy jak to tam zwał).
    A jak nie grzebie wewnątrz bibliotek, i robi tylko zgodnie z tymi oryginalnymi, to po prostu nie robi projektu. Projekt powstanie, ale po prostu jego większość to będzie Arduino a nie to co programista napisał. Programista tylko poskładał dostępne gotowce.
    Może używam tu zbyt uproszczonych albo nawet błędnych opisów czy nazw. Ale 99% projektów tak właśnie wygląda. Że ktoś bierze gotowce, a jak nawet chce coś dodać nowego to szuka tego wśród innych gotowców. Samodzielne rozwiązywanie problemów w postaci pisania kodu z if-amiczy for-ami to już nie jest zbyt popularne.

    tzok napisał:
    Tendencja do używania języków wysokiego poziomu w zastosowaniach embedded jest obecna od dawna. Mimo ewidentnych braków mocy obliczeniowej NASA nie pisała oprogramowania pojazdów i sond kosmicznych w języku maszynowym tylko w Fortranie, później w C.

    Akurat C nie jest uważany za język wysokiego poziomu :D

    Arduino to może zły przykład. Może miało zbyt kiepskie wejście, i przez to ciężko teraz w nim zobaczyć jakąś wartość.
    Ale jakieś tam zintegrowane wysokopoziomowe systemy (czyli może i Arduino) będą w przyszłości coraz częściej używane.
    Tak było i w innych dziedzinach. Np. ponad 100 lat temu nie używało się śrub i nakrętek. Bo ich wykonanie było bardzo trudne. Czasami nawet pilnikiem się wypiłowywało gwint.
    Albo koła. Robiło się praktycznie tylko drewniane, i robieniem zajmowali się ludzie którzy się na tym znali. Pewnie było wiele sposobów robienia, i każdy mógł coś wymyśleć nowego. Nikt raczej nie przypuszczał że kiedyś koła się będzie robiło na tokarce, albo po prostu kupowało w sklepie (czyli że ktoś będzie produkował masowo bardzo zaawansowane koła). Mogło się wtedy wydawać że sens ma jedynie produkowanie podzespołów, aby każdy złożył sobie takie koło jakie chce. Produkowanie dedykowanych mogło się wydawać nonsensem.
    A dzisiaj przecież mamy dosłownie miliony kół do kupienia w niskiej cenie. Do wózków, do zabawek, do paleciaków, do samochodów, do rowerów, do pociągów, koła pasowe, itp.
    Podobnie śruby. Nawet do największej pierdoły, typu zrobienie płotu, używa się kupionych śrub. I robi to kompletny amator. A śruby przecież są produkowane w dość skomplikowanym procesie, i np. dodatkowo cynkowane czy jakoś tam obrabiane chemicznie. Czyli są nawet bardziej skomplikowane niż te pierwsze z przed ponad 100 lat, a mimo to są tańsze i masowo stosowane przez laików.
    Ma to swoje zalety, ale i wady.
    Zaleta że upowszechnia się wykorzystanie, i spada koszt.
    Ale wada że nawet bardziej zaawansowani w danej dziedzinie ludzie, tracą tą wiedzę.
    Tak samo będzie w elektronice.
    Teraz to wygląda tak że ciągle się robi osobne elementy, i jakiś elektronik musi je poskładać. Musi być też PCB.
    Ale już coraz więcej jest układów gdzie nie ma PCB. Modułu RFID, czy jakieś podobne już są praktycznie układami scalonymi gdzie scalone jest wszystko.
    Modułu GPS są w formie ceramicznych klocków, gdzie są i antena i kondensatory filtrujące zasilnie.
    Jeszcze trochę i będzie się produkowało układu gdzie jest po prostu wszystko. Silny procesor, kondensatory, układ zasilania (i ładowarka akumulatorów), moduły radiowe, itp.
    I praktycznie się będzie kupowało dokładnie ten sam układ do wielu różnych zastosowań. A konfiguracja do działania też będzie jakimś kreatorem, a nie pisaniem kodu jak jest jeszcze teraz.
  • #46
    Freddie Chopin
    Specjalista - Mikrokontrolery
    atom1477 napisał:
    Np. ponad 100 lat temu nie używało się śrub i nakrętek. Bo ich wykonanie było bardzo trudne. Czasami nawet pilnikiem się wypiłowywało gwint.

    Wspaniała historia, biorąc pod uwagę to, że gwint i pierwsze śruby wg archeologów wynalezione zostały jakieś 300 lat przed naszą erą, w pierwszym wieku p.n.e. drewniane śruby były powszechnie stosowane w rejonie Morza Śródziemnego, a maszyny do masowej produkcji śrub metalowych zostały na dużą skalę wprowadzone w 18tym wieku. Przy okazji epoka industrialna zaczęła się gdzieś z 200 lat temu, dobrze wiedzieć, że jeszcze przez 100 lat robili te swoje maszyny pilnikami (;

    atom1477 napisał:
    Albo koła. Robiło się praktycznie tylko drewniane, i robieniem zajmowali się ludzie którzy się na tym znali. Pewnie było wiele sposobów robienia, i każdy mógł coś wymyśleć nowego. Nikt raczej nie przypuszczał że kiedyś koła się będzie robiło na tokarce, albo po prostu kupowało w sklepie (czyli że ktoś będzie produkował masowo bardzo zaawansowane koła).

    W istocie. Wręcz niesamowite, że pierwszy samochód powstał ponad 100 lat temu, gdy jeszcze ręcznie robiło się drewniane koła, a to wszystko bez żadnych śrub i nakrętek!

    atom1477 napisał:
    A śruby przecież są produkowane w dość skomplikowanym procesie, i np. dodatkowo cynkowane czy jakoś tam obrabiane chemicznie.

    Tak. Jest to tak skomplikowane, że było stosowane już w 17tym wieku.

    Nie no... Trochę odjechałeś, nie sądzisz?
  • #47
    atom1477
    Poziom 43  
    Freddie Chopin napisał:
    Nie no... Trochę odjechałeś, nie sądzisz?

    Nie sądzę., bo ja mówiłem o masowym stosowaniu w dowolnych zastosowaniach (czyli i przez laików).
  • #48
    _lazor_
    Moderator Projektowanie
    Też uważam że odleciałeś i co gorsze nie doceniasz umiejętność dawnych rzemieślników.
  • #49
    tzok
    Moderator Samochody
    Ja myślę, że przykład, może i historycznie nie był precyzyjny, ale był bardzo adekwatny. Niektórzy się bronią rękami i nogami, ale świat zwariował na punkcie Arduino i RPI i garstka specjalistów, którzy są innego zdania, tego nie zmieni.
  • #50
    _lazor_
    Moderator Projektowanie
    @tzok Pamiętaj o zjawisku Pareta i wtedy ta "garstka" może mieć trochę inny wydźwięk ;)

    Powiedzmy sobie też otwarcie, profesjonalny świat (robienie produktów na skalę światową, w wolumenie setek tysięcy rocznie) nie zwariował na punkcie arduino, a amatorzy może, ale tak samo amatorzy zwariowali na punkcie ZVS, cewek tesli i HHO, nadal nikt tego nie używa na dużą skalę.
    Jeszcze raz powiem, płytko z arduino nie przejdą testów EMC, a jak ktoś uważa że testy EMC są tylko zbędnym wymysłem to znaczy że należy do grupy amatorskiej elektroniki.
  • #51
    atom1477
    Poziom 43  
    _lazor_ napisał:
    Też uważam że odleciałeś i co gorsze nie doceniasz umiejętność dawnych rzemieślników.

    To uważam że nie zrozumiałeś, bo w moim przykładzie właśnie było docenienie dawnych rzemieślników.
    Chodziło w tym o to że kiedyś tylko umiejętności umożliwiały zrobienie czegoś tam.
    Powiedzmy tych śrub. Więc laik ani by ich nie zrobił, ani nie kupił, bo musiał by za nie dość drogo płacić (bo umiejętności rzemieślników były w cenie). Więc laik w tych czasach po prostu nie używał śrub.
    Jeżeli komuś nie pasuje podany okres czasu, 100 lat, to niech sobie wstawi 200 lat i będzie ok. Mi chodziło tylko o zjawisko, a nie o konkretną datę.
    Zresztą mowa o śrubach złącznych i ich powszechnym zastosowaniu. Wcześniej (nawet w starożytności) znany był gwint, ale nie śruby gwintowane złączne.
    Sam gwint używano do pozycjonowania i przesuwania elementów, czyli w bardzo rzadkich zastosowaniach. A nie w śrubach złącznych. Fakt, nie sprecyzowałem o co mi chodziło. Ale wydawało mi się to oczywiste.
    Połączenia gwintowe złączne pojawiły się dopiero w XIX wieku, a mocno upowszechniły dopiero w XX.
    O tym miał być mój przykład.
    I wbrew temu co niektórzy mówią, dobrze on oddaje postęp w elektronice.
    Bo tu jest dokładnie tak samo.
    Przecież procesory czy w ogóle układy scalone, też się pojawiły już dość dawno temu. A upowszechniają się (wśród laików) dopiero teraz.
    O to mi chodziło podając przykład że śrubami.
    Jakoś nie było wysypu elektroników amatorów wraz z pojawieniem się układów scalonych w latach 60. I tak samo nie było wysypu stosowania śrub wśród laików w XIX wieku. Jedno i drugie upowszechniło się dopiero po znacznym obniżeniu kosztów, z jednoczesnym zwiększeniem możliwości.

    _lazor_ napisał:
    Jeszcze raz powiem, płytko z arduino nie przejdą testów EMC, a jak ktoś uważa że testy EMC są tylko zbędnym wymysłem to znaczy że należy do grupy amatorskiej elektroniki.

    Ale sprecyzujmy, że chodzi o klasyczne płytki Arduino.
    A w pierwszym poście są podane specjalne wersje Arduino do przemysłu.
    One są zrobione lepiej. Więc hardware jest mniej więcej załatwiony.
    Nie mniej jednak też mam kiepskie zdanie o tym, z pozostałych powodów.
    A są 2.
    Pierwszy taki że z tymi płytkami załatwiony mamy tylko hardware, a zostaje jeszcze software. Przy umiejętnościach programistycznych nabytych podczas pracy z prostszymi płytkami Arduino, gdzie się składało projekt z kiepskiej jakości płytek modułowych, a kod z kodów gotowców, słabo wygląda nabywanie jakichś umiejętności programistycznych.
    A drugi powód jest powiązany z hardware. Skoro hardware załatwiamy gotowcami, to też się nieszczególnie czegoś uczymy. Jeżeli akurat zabraknie płytki modułowej do jakiegoś tam nietypowego zastosowania, to będzie problem. Albo przynajmniej, nie będzie to już praca elektroniczna. Tylko praca dla automatyka (który składa z gotowych modułów, nie ważne czy profesjonalnych PLC czy z Arduino).
  • #52
    khoam
    Poziom 38  
    atom1477 napisał:
    Jest taka różnica że BASIC nie miał za wiele skomplikowanych procedur. A w Arduino one są. Ich wywołanie zajmuje sporo zasobów procesora.

    Co to za konkretnie "skomplikowane procedury" w Arduino, "które zajmują sporo zasobów procesora"?

    atom1477 napisał:
    Równie dobrze można napisać że Arduino nie pozwala zająć się na problemami, bo ma własne rozwiązania na problemy, a jednocześnie utrudnia samodzielne budowanie rozwiązywań.

    Tezę kolega już postawił, a teraz poproszę o dowód.

    atom1477 napisał:
    Mam na myśli to że ma wiele własnych bibliotek, ale jednocześnie ma mocno utrudniony dostęp do zasobów sprzętowych.

    W Arduino nie występują żadne ograniczenia dostępu do zasobów sprzętowych, wręcz przeciwnie.

    atom1477 napisał:
    Użycie Arduino w takim wypadku ogranicza się tylko do użycia środowiska oraz szablonu projektu (czy jak to tam zwał).

    Nic podobnego. Kolejny mit.

    Kolego @atom1477 wygłosiłeś bardzo wiele tez na temat Arduino. Naprawdę jestem pod wrażeniem kolegi kreatywności. Mam gorącą prośbę, aby następne tego rodzaju opinie o Arduino kolega poparł przykładami (kodem) i wtedy będzie można merytorycznie podyskutować.
  • #53
    _lazor_
    Moderator Projektowanie
    No ogranicza możliwości konfiguracji, weźmy przykład baaardzooo trywialny czyli mruganie diodą.
    https://circuitdigest.com/microcontroller-pro...velopment-board-stm32f103c8-using-arduino-ide

    Widzę tam takie inicjalizowanie pinu:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kurcze, STM32 ma dość rozbudowane możliwości ustawienia pinu, niż tylko output. W końcu można ustawić mu również rezystor tłumiący który jest baardzoo ważny jeśli chodzi o EMC. Czy Arduino po prostu to olewa i aby zapewnić kompatybilność olewa część funkcjonalności sprzętu?
  • #54
    khoam
    Poziom 38  
    _lazor_ napisał:
    Kurcze, STM32 ma dość rozbudowane możliwości ustawienia pinu, niż tylko output.

    To niech kolega wykorzysta bezpośrednio Cube, jeżeli potrzebne są bardziej finezyjne ustawienia pinu. Arduino Core dla STM32 bazuje w 100% na Cube, można więc kod z obu bibliotek "mieszać".

    W samym Arduino Core są tylko takie możliwości ustawienia pinu, jakie są dostępne również dla innych platform sprzętowych, nie tylko dla STM32. Chodzi o zachowanie możliwości przenoszenia kodu źródłowego pomiędzy platformami sprzętowymi - taki jest jeden z głównych imperatywów Arduino.
  • #55
    adamusx
    Poziom 27  
    Moim zdaniem arduino w przemyślę pojawia się raczej w "garażowych" rozwiązaniach na zasadzie "hej stary, Ty się znasz na elektronice i programowaniu, mam taką maszynkę którą muszę zautomatyzować., tak żeby ten silnik się zatrzymywał jak tu się pojawi sygnał".
    Ewentualnie na szybko jakiś temat do zrealizowania, gdzie faktycznie wydajność i "niezawodność" Arduino jest wystarczająca.
    W średnich firmach (nie wspominając o dużych), gdzie dział RD istnieje stosuje się sprawdzone i rozwijane od lat rozwiązania, przetestowany kod itd. Nowa osoba, która do takiego zespołu trafia w 99% (imho) uczy się tego co zastaje na miejscu. Wątpię by przeszło coś na zasadzie "hej, a ja znam dobrze arduino, może zbudujemy sterownik oparty o tą platformę ?". Chciałbym wówczas zobaczyć miny starszych stażem kolegów z działu ;-) No chyba, że firma powstała na zasadzie startupu i cały dział RD to osoby, które znają tylko Arduino.
    Osobiście nie mam nic do Arduino, sam kilkukrotnie je wykorzystałem, ale najczęściej jako np tester do innego urządzenia lub jakaś prosta elektronika użytkowa.
  • #56
    Wojciech.
    Poziom 33  
    tzok napisał:
    Arduino jako "język" jest bez porównania bardziej elastyczne, niż język "drabinkowy" sterowników PLC, a popularność i wszechobecność Arduino daje pewność, że nie zniknie ono z dnia na dzień i nie braknie dla niego wsparcia.

    Ale drabinka to nie jedyny język programowanie PLC. Mamy chociażby tekst strukturalny który daje duże możliwości. Mamy też możliwość wykorzystanie C/C++ do sterowania procesem.
  • #57
    atom1477
    Poziom 43  
    khoam napisał:
    atom1477 napisał:
    Użycie Arduino w takim wypadku ogranicza się tylko do użycia środowiska oraz szablonu projektu (czy jak to tam zwał).

    Nic podobnego. Kolejny mit.

    Wyrwałeś zdanie z kontekstu.
    Ja napisałem o najpopularniejszym sposobie używania Auruino. Napisałem przecież "w takim przypadku [użycia Arduino]", a nie "w każdym przypadku [użycia Arduino]".
    Wymieniałem więc wadę użycia Arduino, a nie wadę samego Arduino.
    Nie mniej jednak chodziło mi o to że Arduino prowokuje do takiego właśnie jego sposobu użycia. Więc w jakimś sensie ono też jest winne, choć nie wprost.
    Czyli: Arduino nie ma jakieś tam wady, ale prowokuje do użycia go w taki sposób że ta wada się pojawi.
    I np. uniwersalność Arduino jest takim czymś. Jest to niby zaleta, ale i wada bo prowokuje do używania go w taki sposób aby tą uniwersalność zachować (w sumie nawet nie "prowokuje", ale zmusza, bo przecież bez tego nie było by Arduino).
    Czyli przykładowo stosować jedynie uniwersalne funkcje do obsługi pinów IO.
    Co w efekcie daje dłużej wykonujący się kod, zajmujący więcej miejsca, i nie pozwalający wykorzystać wszystkich możliwości konfiguracji pinu dla konkretnego procesora.
    Powiesz że to nie jest wada Arduino. Może i nie. Ale taka aura Arduino (nawet jak jest niezamierzona przez samych twórców Arduino) właśnie się tam objawia.
    Więc ostatecznie taka aura (czy "duch") Arduino wisi nad użytkownikami i oni to traktują jako "Arduino" samo w sobie.
    A to co opisujesz (możliwość niskopoziomowego programowania na Arduino) to dla nich jakaś magia, i odejście od idei samego Arduino.
    I właśnie to opisywałem.

    Chyba nie muszę odpowiadać na pozostałe pytania jakie mi zadałeś. Bo ta odpowiedz odpowiada w sumie na wszystkie z nich.
  • #58
    khoam
    Poziom 38  
    atom1477 napisał:
    Chyba nie muszę odpowiadać na pozostałe pytania jakie mi zadałeś. Bo ta odpowiedz odpowiada w sumie na wszystkie z nich.

    Nie odpowiedziałeś merytorycznie kolego na żadne z moich pytań. Powielasz kolejny raz po prostu FUD, bazując na własnych spekulacjach i przypuszczeniach.
    Jakość kodu, który korzysta z Arduino Core wynika wprost z "jakości" programisty. Wszystkie "wady" Arduino, które kolega wymienił można odnieść do dowolnej platformy programistycznej, jeżeli będzie z niej korzystał równie "dobry" programista. Amen.
  • #59
    atom1477
    Poziom 43  
    Ale jakoś przed Arduino na innych platformach te wady nie wychodziły, a tu nagle wychodzą.
    Nie przeanalizowałeś tego zjawiska merytorycznie, ale to mi zarzucasz brak metaforyczności.
    Może i nie podałem merytorycznych argumentów na temat środowiska, ale i nie o tym był mój wpis. Ja nie pisałem o środowisku, lecz o "aurze" jakie ono nad sobą roztacza. Więc tylko w tej sprawie mogę podawać argumenty.
  • #60
    Wojciech.
    Poziom 33  
    atom1477 napisał:
    lecz o "aurze" jakie ono nad sobą roztacza.


    Zgadzam się bo zazwyczaj arduino dedykowane jest dla ludzi którzy nie mają dużo wspólnego z elektroniką. To że zawodowcy wykorzystują w 100% peryferia arduino to inna sprawa.