Programovací jazyk

Je komunikačným nástrojom medzi programátorom, ktorý v programovacom jazyku formuluje postup riešenia daného problému, a počítačom, ktorý program interpretuje technickými prostriedkami. Programovací jazyk je vlastne súbor pravidiel pre zápis algoritmu. Návrh algoritmu obvykle určuje všeobecný postup riešenia danej úlohy.

Tutoriály-arduino

Arduino Tutoriál

Arduino Interrupts (prerušenia) Tutoriál


RX-TX-prebeha-komunikácia

Ako to funguje?

Čomu rozumie Arduino ? (jazyk)

Kedy použiť Arduino a kedy Raspberry Pi ?

Komunikačné protokoly – Arduino

Arduino a Typy premenných

(pinMode) Arduino INPUT_PULLUP

Sériová komunikácia medzi Raspberry Pi a Arduino – všetko, čo potrebujete vedieť


Výpočet trvania akcie – Arduino

Časovač v Arduine (Watchdog)

Arduino a Standard Firmata

Ako uložiť typ údajov do pamäte EEPROM

Ako zrýchliť operáciu digitalWrite()

Na obrázku nižšie vidíte najzákladnejšie minimum ktoré stále musí Arduino program (skica) obsahovať. Funkciu void setup() a Funkciu void loop().

ako-funguje-IDE2
  • void setup() Táto funkcia sa vykoná iba raz, keď sa Arduino spúšťa. Bez ohľadu na to, či bol práve zapnutý alebo resetovaný, ovládač Arduino začne okamžite vykonávať logiku vo vnútri tejto funkcie a potom sa presunie do funkcie loop (). Zvyčajne sa používa na inicializáciu knižníc alebo premenných, ktoré budete následne používať vo svojom kóde.
  • void loop() Toto je základná logika vašej aplikácie, ktorá sa bude opakovane vykonávať navždy. V každom programe Arduino musíte mať obe vyššie uvedené funkcie, aj keď bude len prázdny. Toto je minimálna požiadavka na program Arduino.

Arduino millis() verzus micros()

Arduino a funkcia pulseIn()

Arduino a funkcia readString()

Arduino a knižnica STL (C++)

Vytvorte si vlastnú knižnicu Arduino

Premenné , Funkcie : (Pamäť)

Používanie premenných v Arduino náčrtoch

Používanie funkcií v Arduino náčrtoch

Ako fungujú Skice a ako sa nahrávajú do Arduina

Pamäť a programovanie


Skica
Riadiaca štruktúra
Ďalšia syntax
Aritmetické operátory
Porovnávacie operátory
  • != (not equal to)
  • < (less than)
  • <= (less than or equal to)
  • == (equal to)
  • > (greater than)
  • >= (greater than or equal to)
Booleovské operátory
  • ! (logical not)
  • && (logical and)
  • || (logical or)
(Pointer) Operátori prístupu
  • & (reference operator)
  • * (dereference operator)
Bitové operátory
  • & (bitwise and)
  • << (bitshift left)
  • >> (bitshift right)
  • ^ (bitwise xor)
  • | (bitwise or)
  • ~ (bitwise not)
Zložené operátory
  • %= (compound remainder)
  • &= (compound bitwise and)
  • *= (compound multiplication)
  • ++ (increment)
  • += (compound addition)
  • — (decrement)
  • -= (compound subtraction)
  • /= (compound division)
  • ^= (compound bitwise xor)
  • |= (compound bitwise or)


  • 1. Volanie príliš veľa funkcií Volanie príliš veľa funkcií, napríklad v rekurzívnej slučke, môže spôsobiť zlyhanie a resetovanie Arduina. Môže to nastať po približne 300 volaniach funkcií. Funkcie s viacerými lokálnymi premennými alebo väčšími lokálnymi premennými znižujú počet volaní funkcií, ktoré je možné vykonať pred resetovaním Arduina. Rekurzívna slučka funkcií je najpravdepodobnejším spôsobom, ako dosiahnuť tento limit funkcie.
// Rekurzívna slučka – funkcia, ktorá volá sama seba
print(int a) {
  if (a > 1000) return; //ako ukončiť rekurziu
  print(a++); //rekurzia
}
  • 2. Pridelenie príliš veľkého množstva pamäte→ Ak sa Arduinu minie pamäť, môže sa správať nepredvídateľným spôsobom. Najjednoduchší spôsob, ako Adruinu vyčerpať pamäť, je prideliť príliš veľa premenných alebo príliš veľa miesta premenným, napríklad pomocou funkcie malloc().Tiež je možné vyčerpať pamäť pomocou volaní funkcií (ako je popísané vyššie). Po pridelení všetkej pamäte vám žiadna ďalšia požiadavka na pamäť nebude fungovať, ale volania funkcií stále áno! Ak chcete zabrániť zlyhaniu Arduina nedostatkom pamäte: Deklarujte premenné vo funkcii pri príprave náčrtu, pre väčšinu projektov Arduino by malo byť možné vypočítať premenné potrebné pri písaní kódu; kompilátor vás upozorní, ak budú príliš veľké; Vyhnite sa používaniu malloc(); Použite free().
  • 3. Zaseknutie v nekonečnej slučke→ Arduino sa môže zaseknuť v nekonečnej slučke, ktorá mu bráni spustiť iný kód. Toto je zvyčajne spôsobené, keď kód kontroluje stav slučky, ktorý vždy skončí ako pravdivý.
// nekonečná slučka
int a = 0;
while(a == 10){
  a = returnTen(); //  funkcia, ktorá vždy vráti 10
}

Technicky Arduino vždy beží nekonečnú slučku funkcia void loop (), ale Arduino môže uviaznuť v slučke, ktorú ste nezamýšľali. Na rozdiel od PC nie je Arduino zvyčajne schopné spustiť dva programy súčasne. To znamená, že ak sa program zasekne v slučke, celé Arduino zvyčajne prestane vykonávať akúkoľvek inú úlohu.

  • 4. Čakanie na návrat funkcie→Najbežnejšou funkciou, v ktorej sa to deje, je Serial.available().Arduino uviazne v slučke, kým nebude k dispozícii sériové pripojenie; ak nie je dostupné žiadne pripojenie, Arduino nespustí žiadny iný kód.
void setup(){
  Serial.begin(9600);
  while(!Serial.available()); // počkať na sériové pripojenie
}

void loop() {
  // robiť
}
  • 5.Arduino sa resetuje, ak vstupné napätie klesne pod určitú úroveň.→zvyčajne to nastane, keď dôjde k výraznému a trvalému poklesu napätia napájacieho zdroja mimo tolerančných úrovní Arduina. Buďte opatrní pri pripájaní komponentov obvodu, ktoré využívajú veľa prúdu (napr. motory) k rovnakému zdroju napätia, aký používa Arduino, náhly odber prúdu môže narušiť napájanie Arduina.

Nemôžete kopírovať obsah tejto stránky