Tak Arduino je v první řadě zaměřeno na "kreativce", kteří neví nic a jen si chtějí udělat něco blikacího, točícího, nebo jinak nespecifikovaně "cool", ale technice nerozumí a bojí se jí. Takže ačkoli základem je kvalitní mikroprocesor a řada "čtyřdírkových modulů" je postavena okolo rozumně kvalitních aprověřených součástek (na takové LED se toho zase až tak moc zkazit nedá, pokud má vůbec nějaak fungovat
), tak je to celé zapouzdřené tak, aby to pro ty technikou nepolíbené "kreativce" vypadalo přístupně a neutekli s panickým vřískotem když to spatří, nebo o tom uslyší
(A díky tomu se to mezi nima ujalo a rozjelo ve velkém a tak jsou teď díky masové výrobě a prodeji a módě různá mrňaduina a moduly k nim dostuné za lidové ceny, čehož často využíjí i ti, kteří ví, co dělají)
Důsledkem je samozřejmě to že bylo před předpokládaným publikem nutno utajit, že jde o C++, takže "IDE" tam samo dopisuje nějaké hlavičky a v dokumentaci se mluví o "Wiring", což je knihovna, okolo které je to postavené (a o jejímž použití a nedodržování podmínek bylo dost nehezkých věcí mezi Arduino teamem a jejím skutečným autorem, ale to je zase jiná pohádka, nakonec se snad nějak dohodli, nebo aspoň právnické bitvy už nejsou ventilovány) a arduino team se vší silou snaží spojitost s C++ nezmiňovat a pokud možno u co nejvíc před uživateli utajit, že vlastně tak nějak jakože (fuj fuj) "programují", takže se oficiálně raději používá výraz "sketch" čili "náčrtek". Což docela sedí.
Ono když ti na umělecké kreaci občas blbě bliknou diody, nebo se to náhodně restartuje, tak se to dá prezentovat buď jako "umělecký záměr" nebo, jak výše zmíněno "not perfect therefore more human" a vlastně to nevadí ...
... teda dokud se v tom nezačne šťourat někdo, kdo má trochu vyšší ambice (jako aby mu to otvíralo kurník, vářilo všely v úlu, měřilo čas na autodráze, blikalo více diodama nebo cokoli jiného, kde jsou spíš kriteria typu funguje dobře/špatně/vůbec než líbí se hodně/nerozumíte umění).
Ono do jisté míry jde jít tím prvním směrem, kdy se tak nějak podle citu metodou pokus - omyl sestaví něco, co něco nějak dělá a většinou to i přibližně funguje, ale čím dál jdete, tím víc narážíte na kindergarden ohrádku která vás má uchránit před krutou realitou (jakože piny mají nějakou proudovou zatížitelnost, LED mají nějaký odběr a nelineární charakteristiky, diody (a nejen Zenerovy) vedou i v zavřeném směru a zvláště na vyšších frekvencích, cívky mají i kapacitu a kondenzátory indukčnost, motory dobře ruší v širokém spektru a 5V/20mA jim často nestačí, výrazy "objekty" a "seznamy" se nepoužívají jen na výstavách a "ukazatele" jen v ekonomice a tak podobně ...)
No a když na tuto ohrádku začnete narážet častěji a tvrdě, tak si holt musíte připustit, že asi bude lepší ji občas prostě přelézt ačkoli to bude znamenat se učit spustu věcí znova a jinak ... čímž neříkám, že se do ní už nesmíte nikdy vrátit a používat tamní hračky na to, na co stačí. Ale je dobré si uvědomit, že ta ohrádka tu je a uvnitř je všechno nalakováno na růžovo tlustou vrstvou potravinářského laku. I scarabeus tam je prezentován s kuličkama čokolády a veselým žlutým motýlkem na krku.
Naštěstí datasheety jsou dostupné a ta ohrádka je z venku celkem snadno rozpoznatelná, takže jde i dlouhou dobu lavírovat s jednou nohou uvnitř a druhou venku. Například mám projekt, kde arduino interpretuje jednoduchý jazyk, anologové piny jsou používány v digitálním módu, u INPUT_PULLAP znám hodnoty těch interních odporů a podle toho mám dopočítané externí odpory, aby mohl bezpečně "jít do zkratu" se 74xx řadou integráčů a poznal tak vstup od výstupu a pomocí testování zlistil, který z té řady to je, kde má jaké vývody a zda uvnitř funguje správně, i když má popisek opískovaný do nečitelna, nebo pochází z číny kde mnohdy není jasné, zda je uvnitř to, co je deklarováno na obálce.
Najděte rozdíl :
Takže až vám Arduino ekosystém přestane vyhovovat, tak nezoufejte, spousta toho hardware a čast software se dá použít i dost jiným způsobem a přechod může být i pozvolný
http://robodoupe.cz/2018/drobnicky-006-klikimouse-aneb-volim-si-tebe-klikacu/
http://micro-corner.gilhad.cz/blog/Arduino/progs/KlikiMouse2/2019-04-06-Arduino-progs-Klikimouse2.html
(současný klikimouse už je v.4+ a místo drátků vzduchem má úhledné spojky, ale HW je jinak ten samý, jen je tam na ta 3 tlačítka zapojeno asi 18 různě kompexních funkcí, které řeší i pohyby myši a jsou dělány přez potomky generické třídy pro stavový automat - těch stavových automatů tam naráz běží víc, takže to může reagovat řádově rychleji, než je nastavený debouncing )
http://micro-corner.gilhad.cz/blog/Arduino/Arduino-ArduinoJakoKlavesnice-1.html