Stroje, na rozdiel od ľudí, nemôžu jednoducho vytvoriť náhodné čísla. Náhodné čísla zvyčajne pozostávajú zo zložitých sérií algoritmov, ktoré sú štatisticky predvídateľné. Takéto čísla sa nazývajú pseudonáhodné. Na prvý pohľad vyzerajú skutočne ako náhodné, ale nie sú. Princípy generovania skutočne náhodných čísel sa väčšinou zakladajú na meraní fyzickej veličiny, ktorá sa považuje za náhodnú (pohyby plynov a kvapalín, fázový šum v laseru …). To je ale pre Arduino dosť komplikované.
Táto funkcia slúži na generovanie pseudonáhodných čísel. Môže mať jeden alebo dva parametre.
random(max); //vygeneruje "náhodné" číslo medzi 0 a max-1 random(min, max); //vygeneruje "náhodné" číslo medzi min a max-1
Ku správnej funkcii generátoru je ešte potrebné použiť funkciu randomSeed(). Tá sa používa na nastavenie predvolenej hodnoty pre generátor. Má iba jeden číselný vstupný parameter (long, int).
Ako hodnota parametru sa používa funkcia analogRead() pre pin, ku ktorému nie je nič pripojené (neuzemnený – plávajúci). Pri takomto voľnom nezapojenom pine dochádza k zachytávaniu elektromagnetického šumu, ktorý môže slúžiť ako náhodná vstupná hodnota. Celý program môže vyzerať takto:
void setup() { Serial.begin(9600); randomSeed(analogRead(A0)); } void loop() { delay(500); Serial.println(random(256)); }
Naopak, môže byť občas užitočné použiť pseudonáhodné sekvencie, ktoré sa opakujú presne. To sa dá dosiahnuť volaním randomSeed() s pevným číslom pred spustením náhodnej sekvencie.
Tento text je preložený a upravený zo stránok arduino.cc pod licenciou Creative Commons Attribution-ShareAlike 3.0.
Objavila sa i ďalšia alternatíva k Arduino IDE a máme tu Codino. Na domovskej stránke sa chváli slušným editorom, ktorý vie automatické doplňovanie, automatické ukladanie alebo zvýrazňovanie. Taktiež obsahauje sériový terminál a ploter. Codino Studio je úplne bezplatný produkt. Môžete si ho stiahnuť ...
Eclipse je ďalšie z mnoha IDE, v ktorom píšeme zdrojový kód a ladíme programy. Tento nástroj, ktorý okrem iného ponúka príjemné pracovné prostredie, debuger a nemalé množstvo rozširujúcich pluginov, je možné používať bezplatne. V tomto článku popisujem, ako sa ...
Všeobecne najčastejším spôsobom ovládania aplikácií Arduinom s okolitým svetom sú tlačítka, klávesnice (membránové, kapacitné alebo s mikrospínačmi), rotačné enkódery (rotation encoders, inkrementálne otočné ovládače) a rad ďalších spínačov, pracujúcich na...