Arduino a já

arduino, teensy, atmega, pic a jine (software, hardware)
Odpovědět
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

22. 6. 2022, 10:35

Prosím o radu. Našel jsem si krásný senzor: "Senzor přiblížení a gest GY-9960LLC APDS-9960, I2C" Umí toho hodně, ale já využiji pouze směr pohybu - tedy přibližování zprava nebo zleva. Tohle samozřejmě funguje. Problém nastane ve chvíli, kdy potřebuji zapojit těch senzorů 6 kousků. Komunikují po I2C sběrnici a mají adresu 0x39, která se nedá změnit.
Netrvám nutně na tomhle senzoru, ale chci použít něco inteligentního, co ten směr dokáže vyhodnotit.

Díky za info.
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

22. 6. 2022, 11:12

u některých snímačů se stejnou adresou se vždy aktivuje jedno čidlo přez volný výstup a to se přečte a pak se přepne na další .
mám tak udělané laserové dálkoměry . mělo by to jít přez vstup INT.
pavel-gravos
Příspěvky: 318
Registrován: 27. 1. 2008, 4:30

22. 6. 2022, 11:45

Asi bych pouzil na 2x Analog. mux 4051, jeden na SCL a druhy na SDA.
atlan
Příspěvky: 3343
Registrován: 7. 2. 2011, 9:12

22. 6. 2022, 1:10

Daj tam i2c multiplexer € 0,66 13%OFF | diymore TCA9548A I2C IIC Multiplexer Breakout Board 8 Channel Expansion Board for Arduino
https://a.aliexpress.com/_mPUGu3U
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

22. 6. 2022, 10:33

díky za info, zkusím obojí. :D
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

22. 7. 2022, 12:15

Tak multiplexovaná sběrnice je vyřešená :? , nakonec zadavatel použil jiné řešení. Konečně jsem se mohl vrátit k "výzkumnému úkolu" AVR versus STM32. Zatím to tedy není žádná hitparáda :cry:
V prostředí Arduina je omezení jen na některé typy, ale docela přibývají. Jinak práce je vcelku snadná a hódně podobná bežným AVR. Ostražitost potřebujeme hlavně u analogových vstupů, které většinou netolerují 5V. Asi to není vhodná platforma pro "arduinisty", kteří primárně používají CTRL+C a CTRL+V. Pokud máme v programu cyklické složitější výpočty, pak je STM prokazatelně rychlejší. Porovnání ATMEGA 328 a BLUE PILL sem hodím až budu mít vše poměřené.
Programování STM mimo arduino je s odpuštěním oser. Já jsem ii koupil CUBE a zkouším programovat jak s knihovnama, tak bez. Pravdou je, že naprogramovat obyčejnou sériovou linku je je docela záhul. Pro profíka programátora má smysl věnovat učení tu spoustu času, pro mě ale ne.
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

8. 11. 2022, 10:52

Původní "nadšení" z STM32 trochu ochladlo. Je vidět, že HW 8 a 32 bitových kontrolérů je odlišný a některé arduino knihovny nefungují, případně "koktají". Na netu je sposta diskuzí, ale nemalá množina diskutujících nemá ani základy a tak se s tím poprat je trochu únavné. Teď momentálně se peru s klávesnicí 4x4. Mám ošklivý pocit, že to nakonec skončí kompletní úpravou kódu přímo na mou aplikaci. :?:
Uživatelský avatar
Cjuz
Příspěvky: 2422
Registrován: 17. 2. 2013, 6:27
Bydliště: Předklášteří
Kontaktovat uživatele:

8. 11. 2022, 3:55

Já jsem dělal jednu záležitost s Arduino DUE, potřeboval jsem vyčítat data přes USB, mít služný AD převodník apod. Jenom upravit ty knihovny pro to USB trvalo šíleně, ty výchozí měli tolik omezení a tolik chyb že to bylo nepoužitelné. Vždy jsem hledal a nakonec našel že se s tím už někdo potkal a problém nějak obešel. Myslím že tohle není ani pro programátora, ten použije jinou platformu a perfektně odladěné knihovny si koupí.
Na konci poznávacího procesu je omyl zcela vyvrácen a my nevíme nic. Zato to víme správně.
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

8. 11. 2022, 6:39

Tím že nejsem programátor a v 68 letech ani nepředpokládám, že bych se chtěl učit naprosto novou platformu. Přesně jak píšeš, úprava knihoven je pěknej oser. Na takové to "domácí programování" otočného stolu a děličky ..... normální AVR stačí, ale na aplikace v reálném čase je ten BLUE PILL děsně lákavej. Pokud jsem neudělal chybu v měření (to uvidím zítra) tak při časově kritickejch operacích je cca 10x rychlejší. Ono dělení a sčítání LONG proměnných asi u 32 bitové mašiny jde rychleji.
Zase když si lámu hlavu přemejšlením, tak házím klacky pod nohy tomu němcovi, co žere mozek. :-)
atlan
Příspěvky: 3343
Registrován: 7. 2. 2011, 9:12

8. 11. 2022, 7:35

Naco pocitas long premene, je zaujimave ze tie druzice letia na 8b uP :D
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

9. 11. 2022, 1:30

Tak zkusím závěrečné zhodnocení. Pokud budu používat slušnější vývojové prostředí, třeba CUBE, tak je výsledný SW produkt až několikrát rychlejší než klasicé AVR. Samozřejmě hlavně tam, kde se uplatní 32b architektura, nebo přímo speciální IO porty. Pokud ovšem chci získat "za málo peněz hodně muziky" a používat k programování arduino s nadstavbou pro STM32, tak to asi nebude tak růžové. Pouhé "tupé" cyklení třeba ve smyčkách FOR/NEXT je překvapivě pomalejší než u AVR a to poměrně výrazně u 62000 cyklů je to rozdíl cca 8 mS v neprospěch STM. Na druhou stranu je tady nabídka IO pinů s nadstandardními funkcemi, cena je stále docela přívětivá a i u nás je lze koupit do 150 korun.
Představa, že rychle a snadno ..... se nekoná. Pro běžného bastlíře, který maximálně použije knihovnu pro LCD tam nebudou asi problémy (kromě 5V netolerujících vstupů).
Celý článek vychází z mých testování a pokusů a výsledky nemusejí odpovídat reálným parametrům.
Odpovědět

Zpět na „MCU“