Konštanty

Konštanty sú symboly reprezentujúce nemennú číselnú alebo inú hodnotu. Prekladač jazyka im priradí typ, ktorý tejto hodnote odpovedá. Majú za úlohu sprehľadniť prácu a priblížiť kód ľudskému jazyku.


HIGH | LOW

Tieto konštanty definujú logickú úroveň pinov Arduina ako vysokú alebo nízku. Sú používané pri čítaní alebo zápisu tejto hodnoty na digitálne piny.

digitalWrite(13, HIGH);

HIGH je definovaná ako logická úroveň 1 alebo ON, zatiaľ čo LOW je logická úroveň 0 alebo OFF.


INPUT | OUTPUT | INPUT_PULLUP

Tieto konštanty sa používajú vo funkcii pinMode() pre prepnutie digitálneho pinu na vstup (INPUT) alebo výstup (OUTPUT).

INPUT – nastaví pin ako vstup. Ten sa používa na čítanie hodnôt z digitálnych senzorov (najjednoduchšie sú tlačidlá), ale aj na komunikáciu.

OUTPUT – pri použití tejto konštanty je pin nastavený ako výstup. Ten znesie prúd do 40 mA. Pri stave HIGH teda tento výstup môže poskytnúť prúd do 40 mA a pri stave LOW môže rovnako veľký prúd prijať.

INPUT_PULLUP – funguje podobne, ako INPUT. Rozdiel je v tom, že dôjde k pripojeniu interného rezistora. Ten je vo vnútri čipu zapojený medzi digitálnym vstupom a napájaním. Východisková hodnota funkcie digitalRead() je teda HIGH. Keď chceme hodnotu zmeniť, musíme vstup pripojiť na GND.


LED_BUILTIN

Väčšina Arduino dosiek má integrovanú a pripojenú jednu LED diódu v sérii s odporom na jeden konkrétny PIN. Konštanta LED_BUILTIN určuje číslo pinu, ku ktorému je táto LED pripojená. Táto hodnota je závislá od typu vývojovej dosky, ktorú sme v IDE programe pre kompilátor vybr/ali.

const int led = LED_BUILTIN;  // pin s integrovanou LED diódou

Najčastejšie je to digitálny pin 13. Treba s tým uvažovať najmä v prípade, ak chceme pin č.13 využiť ako vstupný.


Logické konštanty (true | false)

Logické konštanty sú iba dve hodnoty a to pravda a nepravda. V programovaní im zodpovedajú konštanty true a false. Používajú sa tam, kde je potrebné rozhodovať len medzi dvoma stavmi.

Konštanta false má hodnotu 0.

U konštanty true je situácia trochu komplikovanejšia. Mohlo by sa zdať, že má hodnotu 1, ale nie je to úplne presné. Pri logických operáciách totiž jazyk Wiring vníma akékoľvek nenulové číslo typu integer ako true.

Všimnite si, že true a false konštanty sú zadané malými písmenami na rozdiel od HIGH, LOW, INPUT a OUTPUT.


Celočíselné konštanty

Celočíselné konštanty sú tvorené zápisom celého čísla. Môžu byť zapísané v desiatkovej, binárnej, osmičkovej prípadne v šestnástkovej číselnej sústave. Najprv teda jednoduché zápisy:

 123 -255 255 3287 -3287

ktoré predstavujú celočíselné konštanty. V poradí druhá a posledná predstavujú záporné hodnoty, ostatné sú kladné.

Teraz si uvedieme pravidlá, podľa ktorých určujeme základ číselnej sústavy konštanty:
• ľubovoľná číslica s výnimkou nuly je súčasťou konštanty v desiatkovej sústave (viď príklad hore)
• B (písmeno B) určuje binárny zápis konštanty
• 0 (číslica nula) uvádza konštanty v osmičkovej sústave
• 0x alebo 0X (číslice nula nasledovaná znakom x) uvádza konštanty v šestnástkovej sústave

Konštanta          Príklad    Zápis    Poznámka

10 (desiatková)        123    

2 (binárna)       B1111011    'B'      znaky 0-1, len 8-bitový zápis(0 to 255) 

8 (osmičková)         0173    "0"      znaky 0-7       

16 (šestnástková)     0x7B    "0x"     znaky 0-9, A-F, a-f 

Ak prefix zápisu celočíselnej konštanty určoval základ číselnej sústavy, potom sufix, pokiaľ je uvedený, určuje celočíselný dátový typ. A to následovne: u alebo U modifikuje typ na unsigned, zatiaľ čo l alebo L hovorí, že ide o typ long. Obidva sufixy je možné spojiť, takže napríklad: 123UL je (desiatková) konštanta 123 typu unsigned long.


Racionálne konštanty

Racionálne konštanty (konštanty s plávajúcou desatinnou čiarkou) umožňujú zapísať číselnú konštantu, ktorá nemusí byť celočíselná. Vnútorne je reprezentovaná v tvare, ktorý obsahuje mantisu a exponent, oboje s prípadným znamienkom.

 n = 1.234;

Implicitný typ racionálnej konštanty je double. Napríklad 12.34e5. Ak chceme, aby konštanta bola typu long double, pripojíme k zápisu písmeno L, teda napríklad 12.34e5L.

Racionálne konštanty možno vyjadriť aj v rôznych zápisoch. Znaky “E” a “e” sú platné ako ukazovatele exponentu.

racionálna       ekvivalentný           hodnota
konštanta          zápis

   10.0	             10                    10
  2.34E5          2.34 * 10^5            234000
  67e-12         67.0 * 10^-12        .000000000067

Znakové konštanty

Znakové konštanty sú tvorené požadovaným znakom, respektíve postupnosťou znakov, uzavretým medzi apostrofy. Na nasledujúcom riadku je zapísaných niekoľko znakových konštánt:

'a' 'A' 'Š' 'ň' '}' '#' '"'

Prvé dve nás iste neprekvapia, ďalšie dve nemusia byť nutne k dispozícii na všetkých systémoch (aj keď podpora národného prostredia je čím ďalej väčšou samozrejmosťou). Ďalšie dva znaky zase nie sú k dispozícii na štandardných slovenských klávesniciach, ale programovanie si bez nich nedokážeme predstaviť. No a posledná znaková konštanta sú úvodzovky. Týmto si pripravujeme nasledujúcu otázku.

Ako zapíšeme znakovú konštantu apostrof? A čo iné špeciálne znaky (riadiace symboly, znaky nenachádzajúce sa na klávesnici, …). Tu si pomáhame symbolom opačné lomítko a snajmenej jedným ďalším znakom. Týmto postupnostiam hovoríme escape sequence. Tie môžu byť jednoduché, keď opačné lomítko nasleduje jediný znak. Alebo nasleduje osmičkový či (po x) šestnástkový kód znaku. Takto sme schopní zadať aj znak, ktorý sa na klávesnici nenachádza, ale jeho kód je nám známi.

Prehľad známych escape sequencií obsahuje tabuľka:

Postupnosť     Meno                 Ctrl-znak     Význam

\a             Alert (Bell)         G             Pípnutie

\b             Backspace            H             návrat o jeden znak

\f             Formfeed             L             nová stránka alebo obr/azovka

\n             Newline              J             presun na začiatok nového riadku

\r             Carriage return      M             presun na začiatok aktuálneho riadku

\t             Horizontal tab       I             presun na nasledujúcu tabulačnú pozíciu

\v             Vertical tab         K             stanovený presun dole

\\             Backslash                          obr/átené lomítko

\'             Single quote                       apostrof

\"             Double quote                       úvodzovky

\?             Question mark                      otáznik

\OOO                                              ASCII znak zadaný ako osmičková hodnota

\xHHH                                             ASCII znak zadaný ako šestnástková hodnota

Konštantné reťazce

Konštantné reťazce – literály sú na rozdiel od znakových konštánt tvorené viac než jedným znakom, spravidla slovom či vetou (teda znakovou postupnosťou, reťazcom). Začiatok a koniec reťazca sú vymedzené úvodzovkami. Nasledujúce reťazce sú úmyselne písané slovensky:

"dve slova" "Cela tato veta tvori jeden retazec." "a" "Ahoj!"

Na predposledný reťazec musíme upozorniť. Ide o reťazcovú konštantu tvorenú písmenom a, teda reťazcom dĺžky jeden znak. Nesmieme ju zamieňať so znakovou konštantou. Tá je vymedzená dvoma apostrofmi. Naviac, znaková konštanta, bez ohľadu na jej zápis, predstavuje jeden jediný znak, zatiaľ čo reťazcová konštanta môže byť aj dlhšia.

Pokiaľ konštantný reťazec obsahuje špeciálne symboly, zapisujeme ich obdobne, ako sme to robili u znakových konštánt. Napríklad:

"\tPo uvodnom tabelatore prejdeme na novy riadok\nkde text pokracuje na novom riadku."

Použili sme jednoduché escape sequencie. Pokiaľ by sme po nich urobili medzeru, bola by táto rovnako obsiahnutá aj vo výslednom reťazci. A to nechceme.

Tento text je preložený a upravený zo stránok arduino.cc pod licenciou Creative Commons Attribution-ShareAlike 3.0.

Výber na čítanie...

Kondenzátor
Kondenzátor

Kondenzátor je dvojpólová reaktančná súčiastka, ktorá realizuje elektrickú veličinu – kapacitu, to je schopnosť akumulovať elektrický náboj a tým aj energiu v elektrickom poli medzi doskami kondenzátora. V zásade vždy ide o dve elektródy s vloženým...

Čítať viac...

Arduino IDE - návod na inštaláciu
Arduino IDE – návod na inštaláciu

Úspech Arduina a jeho veľké rozšírenie nie je len vďaka zaujímavému hardvéru, ale predovšetkým jednoduchému vývojovému prostrediu (skrátene IDE, čo doslova znamená Integrated Development Environment). Arduino IDE je aplikácia, ktorá nám umožní jednoducho s doskou Arduino ...

Čítať viac...

Dallas DS18B20 – meranie teploty
Dallas DS18B20 – meranie teploty

Ďalší vynikajúci senzor na meranie teploty je Dallas DS18B20. V článku popisujem jeho parametre, dva spôsoby napájania, vnútornú pamäť (registre) a samozrejme zapojenie s Arduinom, jednoduchý program a nejaké fotky. Teplotný senzor (alebo tiež čidlo) DS18B20 od firmy Maxim (predtým Dallas) je v Arduino komunite veľmi obľúbené. Za veľmi dobrú cenu umožňuje...

Čítať viac...

Obľúbené produkty...

Keyestudio Upgrade Mini Smart Tank Robot V3

122.49 EUR

102.89 EUR

Keyestudio Multi-purpose Shield V2

8.07 EUR

8.07 EUR

Vyhľadať články
Programovanie...
  • Dátové typy

    Celočíselné dátové typy môžu obsahovať modifikátory unsigned respektíve signed, čím môžeme požado...

  • Logické operátory

    Logické operátory sú && || ! (and or a not). Vykonávajú výpočet logických výrazov tvorených ich o...

  • Aritmetické operátory

    Aritmetické operátory vykonávajú matematické operácie dvoch výrazov jednej alebo viacerých typov ...

  • Funkcie času

    Štandardne majú dosky Arduino štyri funkcie času. Jedná sa o funkcie delay (), delayMicroseconds ...

  • Ostatné IO funkcie

    U Arduina je možné generovať i zvuk, ale iba v najjednoduchšej podobe. Neumožňuje totiž generovať...

Podpora webu
Na kávu už prispeli
Dátum Meno Suma
08.01.2024 Veres Dusan 10€
15.05.2023 Ivan Danis 10€
28.09.2022 Ivan Vrab 7€
14.05.2022 Nemcic Marian 10€
04.02.2022 Robert Bilko 5€
29.01.2022 Peter Buffa 5€
19.11.2021 Rastislav Rehak 5€
16.09.2021 Anton Strela 5€
13.09.2021 Juraj Jedlak 5€
02.09.2021 Michal Marek 7€
08.08.2021 František Uhrík 5€
21.07.2021 Juraj Hrdina 5€
25.03.2021 Jan Nemec 10€
16.03.2021 Igor Pavlov 5€
25.02.2021 Lukas Lacuch 5€
06.11.2020 Pavol Balint 5€
05.11.2020 Marek Horečný 5€
05.10.2020 Jan Kusnir 5€
27.04.2020 Jan Zuskin 15€
26.04.2020 Dušan Sojka 5€
24.02.2020 Juraj Lackanič 5€
22.01.2020 František Žilinec 10€
20.05.2018 Tomáš F. 2€
17.12.2018 Pavol P. 5€
QR Donate 10Eur