...ano...tuto připomínku beru jako info i pro ostatní zájemce, kteří toho moc o programování nevě...
Pafixa 19.06.2019 17:47 Bydliště: Masada
2407
138
2238
Poota napsal(a):To čumím - ono už to umí i věštit
Věštit umím taky, ale bude to u Jeffa tak by případová studie mohla být automatické měření teploty piva s následným ohřevem či vychlazováním podle zadané požadované teploty zlatavého moku.....
...no a pro pokročilejší domácí minipivovar řízený Arduinem....
0
1
Had 21.06.2019 19:57 Bydliště: Tam kde hřmí stihačky
1475
89
1452
V diáři je další puntík s vykřičníkem.
0
1
Pafixa 03.07.2019 21:02 Bydliště: Masada
2407
138
2238
Raspberry Pi 4
Nová verze startuje.
Bude více využitelná pro průmyslové aplikace a IoT
Jarin's 08.07.2019 15:07 Bydliště: Za dveřmi je Rak
948
141
909
Pafixa napsal(a):Nová verze startuje.
Bude více využitelná pro průmyslové aplikace a IoT
Škoda, že opět asi zase nepřidali hardware-ové kódování H265, jako má např. srovnatelný Orange Pi ..... To už by byl kompletní trhák....
0
0
E_man 08.07.2019 17:47 Bydliště: Kde lišky dávají dobrou noc
2217
85
1824
Jarin's napsal(a):Škoda, že opět asi zase nepřidali hardware-ové kódování H265, jako má např. srovnatelný Orange Pi ..... To už by byl kompletní trhák....
Myslím, že Arduino je pro úplně jiný typ amatérských aplikací než "malina". Rozhodně ne pro multi mediální aplikace.
0
0
Pafixa 08.07.2019 18:03 Bydliště: Masada
2407
138
2238
E_man napsal(a):Myslím, že Arduino je pro úplně jiný typ amatérských aplikací než "malina". Rozhodně ne pro multi mediální aplikace.
Souhlasím. Stejně jako máme štípačky na štípání a šroubovák na šroubování. Jen trouba bude zkoušet šroubovákem přeštípnout drátek, i když se mu může podařit ho přetrhnout....
0
0
Jarin's 09.07.2019 01:05 Bydliště: Za dveřmi je Rak
948
141
909
Jarin's napsal(a):Škoda, že opět asi zase nepřidali hardware-ové kódování H265, jako má např. srovnatelný Orange Pi ..... To už by byl kompletní trhák....
E_man napsal(a):Myslím, že Arduino je pro úplně jiný typ amatérských aplikací než "malina". Rozhodně ne pro multi mediální aplikace.
Nereaguji na nějaké nové arduino, ale na nové Raspberry Pi 4 v Pafixově příspěvku, oproti Raspberry Pi 3, tedy na něco, co vůbec nesouvisí a Arduinem a jeho naprosto nemožným multimediálním využitím. Vůbec nechápu, jak tě to spojení (nové Pi 4, H265 a Arduino) mohlo napadnout???
Má reakce souvisí s rozsáhlou lítostní diskuzí na jiných forech o tom, že nepoužili už pro Raspberry Pi 3 hardware-ové kódovaní H265 a jak je vidno nepolepšili se ani u nového Raspberry Pi 4. Toť vše.........
0
0
E_man 09.07.2019 07:46 Bydliště: Kde lišky dávají dobrou noc
2217
85
1824
Jarin's napsal(a):Nereaguji na nějaké nové arduino, ale na nové Raspberry Pi 4 v Pafixově příspěvku, oproti Raspberry Pi 3, tedy na něco, co vůbec nesouvisí a Arduinem a jeho naprosto nemožným multimediálním využitím. Vůbec nechápu, jak...
Omlouvám se. Svedl mě název vlákna "Arduino…" a vůbec jsem si neuvědomil pokračování názvu"...a jiné mikropočítače".
0
1
Adam 06.08.2019 10:47 Bydliště: Praha
6209
577
6025
Takhle jsme si hráli s Arduinem v sobotu na přednášce.
Pro obecenstvo jsem si připravil ukázkový program, který nahodile rozsvěcoval a zhasínal pět
barevných LED. Nejdříve s sekundovým intervalem, což mi přišlo dost pomalé, tak jsme ten interval stáhli na 200 ms.
(Snížena kvalita videa, aby to tu mohlo rovnou oslňovat coby GIF)
Adam napsal(a):Takhle jsme si hráli s Arduinem v sobotu na přednášce.
... ... ukázkový program, který nahodile rozsvěcoval a zhasínal pět
barevných LED. ...
Tady je to v lepší kvalitě.
Překvapilo mě, že i když jde o tzv. pseudonáhodné hodnoty, rozložení náhody se zdá být docela pěkně rovnoměrné.
Arduino - Program náhodných stavů LED - Video (Dostupné jen pro přihlášené uživatele)
0
1
Adam 07.08.2019 22:25 Bydliště: Praha
6209
577
6025
Adam napsal(a):... Překvapilo mě, že i když jde o tzv. pseudonáhodné hodnoty, rozložení náhody se zdá být docela pěkně rovnoměrné.
Rovnováha nahodilosti u Arduina - užitím funkce random()
A skutečně...
Napsal jsem program, který mi vygeneroval jedno náhodné číslo za druhým a všechna v intervalu 0-10.
Budu-li průběžně provádět výpočet jejich průměrné hodnoty, dle zákonitostí náhody by se mi průměrná hodnota měla stále více blížit číslu 5.
Tento test generování náhodných čísel jsem provedl celkem 3x a prakticky se dá říct, že odchylka rovnováhy nahodilosti se dostává pod 10% už někde u 17. tahu náhodného čísla a pod 5% přibližně někde
kolem 100. taženého čísla. Což je velmi slušné.
Když nám bude v rámci nějakého projektu záležet na co nejskutečnější nahodilosti, tedy na dobře rovnoměrném rozptylu generovaných čísel z daného intervalu, zřejmě se na Arduino
a na funkci random() - společně s randomSeed(analogRead(...)) - můžeme docela dobře spolehnout.
Křivky třech testů odchylek rovnováhy nahodilosti (Dostupné jen pro přihlášené uživatele)
Kód programu pro testování rovnováhy nahodilosti (Dostupné jen pro přihlášené uživatele)
Obrázky není povoleno jakkoli šířit bez souhlasu jejich autora, a to ani v jakékoli upravené formě
0
3
Jarin's 08.08.2019 20:07 Bydliště: Za dveřmi je Rak
948
141
909
Adam napsal(a):A skutečně...
Napsal jsem program, který mi vygeneroval jedno náhodné číslo za druhým a všechna v intervalu 0-10.
Budu-li průběžně provádět výpočet jejich průměrné hodnoty, dle zákonitostí náhody by se mi...
Ahoj, Tvoje peripetie s generátorem náhody jsou zcela jasné. Tento problém mají úplně všechny implementace C a C++. Jde o to, že generátor je sice inicializován náhodným číslem z nedefinovaného analog vstupu viz: void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
}
ale následně je už počítána stále se stejně opakující sekvence v implementaci algoritmu.
Pokud chceš tedy v C či C++ generovat opravdu náhodu, musíš vždy před samotnou generací inicializovat randomizer do jiného počátečního stavu .
Jde o to, že inicializace je volána pouze jednou na startu programu.
Pokud funkci randomSeed(analogRead(0));
přehodíš do smyčky Loop()
bude generátor inicializován náhodným číslem pokaždé před generováním čísla.
Potom budeš po každém generování náhody opět generovat náhodu.
Je zde však ještě jeden možný zádrhel a to sice, že analogová hodnota na vstupu bude za jistých okolností dlouhodobě stabilní, např. vytahovací odpor na plus nebo zem či cosik jiného na daném vstupu.
100% jistotu, že generátor začne pokaždé jinde budeš mít pokud použiješ funkci micros()
vrací počet mikrosekund od startu arduina. Samozřejmě že i ulong(datový typ v arduinu 32bit) jednou přeteče a pojede to znovu, ale jen ta inicializace. Protože Loop() nikdy netrvá stejnou dobu (kecají do toho některá přerušení) bude to vždy naprosto jiné číslo pro inicializaci randomizeru.
Mám dotaz ohledně technických parametrů Arduina. Kvůli navazujícím periferiím bych potřeboval znát vstupní a výstupní proudy vstupů/výstupů. U některých zařízení se liší i pro různé úrovně ( log 0/ log 1). Nepodařilo se mi to u Arduina na netu najít. Přitom pro konstruktéra je to dost důležitý údaj. U vstupu jde o to, jak moc vstup impednačně ovlivňuje předchozí výstupy. U výstupu zase potřebuji vědět, jestli třeba k cívce relé můžu paralelně připojit ledku, případně kolik dalších vstup uživí jeden výstup (logický zisk). Díky za odpověď
0
0
Adam 11.08.2019 10:56 Bydliště: Praha
6209
577
6025
Jarin's napsal(a):... randomSeed(analogRead(0));
přehodíš do smyčky Loop() ... ... ...
100% RANDOM
void loop() {
randomSeed(micros()); ...
Kdepak...
Nevím, jestli sis to zkoušel někdy v praxi, ale přemístění funkce randomSeed() do procedury loop(),
nebo i to použití randomSeed(micros()), situaci jen zhoršuje.
Opakovaně volaný randomSeed(micros())
v určitém ohledu nahodilost zcela zabíjí - funkce generuje pořád zcela stejnou posloupnost čísel (stále stejnou při každém resetu Arduina).
Současně neposkytuje dobrou rovnováhu náhodných čísel, protože třeba i po 1 milionu tahů náhodného čísla z rozsahu 0-10 byla průměrná hodnota všech 5,100.
Opakovaně volaný randomSeed(analogRead())
způsobuje ještě větší malér - už po několika tazích přestane vybírat z celého rozsahu 0-10
a začne tahat jen 3-4 čísla z něj a později jen 1-2.
Jak jsem psal v tom příspěvku s grafem, tak to klasické použití, kdy randomSeed() je voláno jen jednou na začátku programu a kdy jeho argumentem je analogRead(), dává velice slušné a vyvážené výsledky, že jsem byl až překvapen.
Když se to budeme snažit ještě nějak vylepšit, akorát se můžeme dopustit nějaké matematické rezonance
nebo interference, obrazně řečeno a z toho dobrého vyladění to akorát vyhodíme.
Nakonec, vždycky to budou jen pseudonáhodná čísla...
0
1
Adam 11.08.2019 11:34 Bydliště: Praha
6209
577
6025
Ilem napsal(a):Mám dotaz ohledně technických parametrů Arduina. Kvůli navazujícím periferiím bych potřeboval znát vstupní a výstupní proudy vstupů/výstupů. ...
Vstupní odpor a maximální výstupní proud
Vstupy by měly mít vysoký vnitřní odpor v jednotkách nebo desítkách MΩ.
Výstupy by měly zvládnout proud do 40 mA.
Taky jsem byl docela překvapen, že jsem tohle nikde nenašel nějak pěkně a jasně uvedené.
0
0
Ilem 11.08.2019 12:12 Bydliště: Hradec Králové
451
67
525
Děkuji, zatím mi to takhle stačí. Ale umím si představit aplikace, kdy je rozdíl, jestli je vstupní odpor jenotky Mohmu, nebo desítky. Tak kdyby někdo věděl víc, budu rád.
0
0
Pafixa 11.08.2019 14:08 Bydliště: Masada
2407
138
2238
Ilem napsal(a):Děkuji, zatím mi to takhle stačí. Ale umím si představit aplikace, kdy je rozdíl, jestli je vstupní odpor jenotky Mohmu, nebo desítky. Tak kdyby někdo věděl víc, budu rád.
Napadlo mne dohledat si parametry užitého procesoru - technická data k procesoru, kterým to určité dané Arduino disponuje, by měla být dohledatelná na netu. Tak jen takový nápad. Nezkoušel jsem ještě.
0
2
Pafixa 11.08.2019 14:34 Bydliště: Masada
2407
138
2238
Vyrobte si vlastní Arduino ....
Podobných návodů je více, jeden za všechny v příloze v angličtině.