Základné čítanie zo sériového portu

Blokový diagram vykonáva základnú operáciu čítania zo sériového portu.
- Inicializuje komunikáciu s konkrétnym sériovým portom.
- Načíta až 10 000 bajtov dát z pripojenia.
- Zobrazí prijaté dáta v indikátore reťazca Read Buffer.
- Uzavrie sériovú reláciu a uvoľní prostriedky.
- Spracuje a ohlási prípadné chyby pomocou bloku Simple Error Handler.
Menu Tools > MakerHub > LINX

Grafické rozbaľovacie menu v prostredí LabVIEW.
- Zobrazená navigačná cesta je Tools > MakerHub > LINX.
- Toto menu poskytuje prístup k nástrojom pre konfiguráciu hardvéru.
- Zobrazené možnosti umožňujú používateľovi nastaviť a prepojiť LabVIEW s externými mikrokontrolérmi alebo vývojovými doskami pomocou nástrojovej sady LINX.
LINX Firmware Wizard

Grafické rozhranie sprievodcu LINX Firmware Wizard slúži na prípravu hardvéru pred prvým použitím.
Základné nastavenia na obrazovke:
- Rodina zariadení: Arduino
- Typ zariadenia: Arduino Uno
- Spôsob nahratia firmvéru: Serial / USB
Účelom tohto okna je vybrať správnu dosku a spôsob pripojenia, aby sa do zariadenia Arduino Uno mohol nahrať základný firmvér umožňujúci komunikáciu s prostredím LabVIEW.
Paleta funkcií LINX

Paleta funkcií LabVIEW zobrazuje menu nástrojovej sady LINX určenej na prepojenie s mikrokontrolérmi a vstavanými zariadeniami.
Hlavná paleta LINX obsahuje bloky pre pripojenie (Open, Close) a priečinky so špecifickými funkciami. Šípky ukazujú na obsah troch rozbalených priečinkov:
- Peripherals (Periférie): Obsahuje štandardné vstupno-výstupné protokoly ako Analog, Digital, PWM, I2C, SPI a UART.
- Sensors (Senzory): Obsahuje funkcie pre konkrétne hardvérové komponenty ako akcelerometre, displeje, svetlá a teplotné senzory.
- Utilities (Nástroje): Obsahuje pomocné funkcie pre sieťovú konfiguráciu, časovanie slučiek a vlastné príkazy.
Programátori ťahajú tieto ikony z palety na blokový diagram, aby zostavili kód.
Paleta Peripherals > Digital

Navigačné menu palety nástrojov v prostredí LabVIEW.
- Vľavo je otvorená hlavná paleta Peripherals (Periférie).
- Zvýraznená kategória Digital (Digitálne) je zakrúžkovaná.
- Šípka ukazuje obsah tejto zložky.
- Vpravo sú dostupné funkcie: Read (Čítať), Write (Zapisovať), Pulse Width (Šírka impulzu) a Square Wave (Obdĺžniková vlna).
Obrázok slúži ako vizuálna pomôcka na nájdenie funkcií pre prácu s digitálnymi vstupmi a výstupmi.
Digitálny zápis jedného pinu (COM6)

- Inicializácia: Blok
Open.vinadviaže sériovú komunikáciu na porte COM6. - Hlavný cyklus: Spustí sa slučka While s časovačom nastaveným na 100 ms.
- Čítanie vstupu: V slučke sa neustále sleduje stav prepínača LED ON/OFF z predného panelu.
- Zápis výstupu: Získaná logická hodnota sa posiela do bloku
Digital Write.vi, ktorý ju zapisuje na digitálny kanál č. 8. - Ukončenie: Slučka beží, kým používateľ nestlačí tlačidlo Stop.
- Zatvorenie a chyby: Po ukončení slučky sa port uzavrie pomocou
Close.via prípadné chyby zachytíSimple Error Handler.vi.
Digitálny zápis viacerých pinov

Kód riadi digitálne výstupy externého zariadenia pomocou sériovej komunikácie.
- Otvorí spojenie na porte COM6.
- Spustí hlavnú slučku While Loop s časovačom 100 ms.
- Zoberie čísla pinov z poľa DO Channels a ich požadované stavy z poľa Values.
- Funkcia
Digital Writeodošle tieto logické stavy na zvolené piny zariadenia. - Slučka sa neustále opakuje až do stlačenia tlačidla Stop.
- Po zastavení sa sériové spojenie korektne uzavrie a spracujú sa prípadné chyby.
Digitálne čítanie vstupu (kanál 2)

Program nepretržite monitoruje digitálny vstupný pin hardvérového zariadenia pripojeného cez sériový port.
- Inicializácia: Kód otvorí sériové spojenie na porte COM6.
- Hlavná slučka: Slučka While beží opakovane s oneskorením 100 ms na každú iteráciu.
- Čítanie dát: Vnútri slučky funkcia
Digital Readkontroluje stav digitálneho kanála 2. - Zobrazenie: Výsledná booleovská hodnota aktualizuje zelený indikátor LED s názvom DI Value na prednom paneli.
- Ukončenie: Slučka beží dovtedy, kým používateľ neklikne na tlačidlo Stop. Po zastavení program uzavrie sériové spojenie a spracuje prípadné chyby.
Kombinovaný digitálny vstup aj výstup

Program zabezpečuje sériovú komunikáciu so zariadením na porte COM6.
- Otvorenie komunikácie: Na začiatku sa inicializuje sériové spojenie.
- Hlavná slučka: Cyklus beží opakovane s pauzou 100 ms.
- Digitálny zápis: Program zoberie stav prepínača z predného panelu a pošle túto hodnotu na výstupný kanál 2.
- Digitálne čítanie: Program načíta hodnotu zo vstupného kanála 3 a podľa nej rozsvieti alebo zhasne zelený indikátor na prednom paneli.
- Zastavenie a zatvorenie: Po stlačení tlačidla Stop sa hlavný cyklus ukončí, sériový port sa zatvorí a program spracuje prípadné chyby.
Čítanie stavu tlačidla (logika priamej hodnoty)

Program neustále číta stav fyzického tlačidla pripojeného na digitálny vstup a zobrazuje ho na prednom paneli.
- Otvorí sa spojenie cez sériový port COM6.
- Spustí sa slučka s opakovaním každých 100 ms.
- Vnútri slučky sa číta hodnota z digitálneho kanála 2.
- Zistený stav sa zobrazuje na indikátore DI Value. Nestlačené tlačidlo dáva signál True, stlačené tlačidlo dáva signál False.
- Slučka sa zastaví kliknutím na tlačidlo Stop na prednom paneli.
- Na záver sa sériový port korektne zatvorí a ošetria sa prípadné chyby.
Čítanie tlačidla s negáciou (NOT)

Program číta stav digitálneho tlačidla cez sériový port a zobrazuje jeho invertovanú hodnotu.
- Program inicializuje sériové spojenie na porte COM6.
- Spustí sa hlavná slučka opakujúca sa každých 100 ms.
- Blok
Digital Readčíta stav z digitálneho kanála 2. Nestlačené tlačidlo vracia False (Low), stlačené True (High). - Prečítaný signál prechádza logickým operátorom NOT (negácia) zvýrazneným v rámčeku. Výstupná hodnota je teda opačná ako vstupná.
- Výsledná negovaná hodnota sa prenáša na zelený indikátor DI Value na prednom paneli.
- Slučka beží, kým používateľ nestlačí Stop. Po zastavení sa port uzavrie a chyby sa spracujú.
Čítanie tlačidla s indikátorom na prednom paneli

Program neustále číta stav fyzického tlačidla a zobrazuje ho na prednom paneli.
- Inicializácia: Otvorí sériovú komunikáciu na porte COM6.
- Hlavná slučka: Beží donekonečna s pauzou 100 ms v každom kroku.
- Čítanie vstupu: Funkcia
Digital Readčíta stav z digitálneho kanála 2. - Zobrazenie: Ak je fyzické tlačidlo stlačené (True/High), rozsvieti sa zelený indikátor DI Value. Ak nie je stlačené (False/Low), indikátor zhasne.
- Ukončenie: Po kliknutí na Stop sa slučka zastaví, sériové spojenie sa uzavrie a program skontroluje prípadné chyby.
Paleta Peripherals > Analog

Navigácia v palete menu grafického programovacieho prostredia LabVIEW.
- Pravý panel zobrazuje menu Peripherals s rôznymi možnosťami hardvérovej komunikácie.
- Priečinok Analog je zvýraznený a vybraný.
- Šípka ukazuje na ľavý panel s obsahom priečinka Analog.
- Dostupné funkcie vo vnútri sú Write, Read a Set Ref Voltage.
Obrázok znázorňuje, kde nájsť konkrétne bloky potrebné na čítanie alebo zápis analógových signálov.
Riadenie PWM signálu

Kód riadi PWM signál cez sériovú komunikáciu.
- Inicializácia: Otvorí sériové pripojenie na porte COM6.
- Čítanie hodnôt: Vo vnútri slučky priebežne číta percentuálnu hodnotu z ovládacieho prvku PWM.
- Výpočet striedy: Vydelí prečítanú hodnotu číslom 100, čím získa rozsah od 0 do 1.
- Nastavenie PWM: Odošle vypočítanú striedu na kanál 3 pomocou bloku
PWM Set Duty Cycle. - Časovanie: Slučka čaká 100 ms pred každým ďalším opakovaním.
- Zastavenie: Celý proces beží, kým používateľ nestlačí Stop Button.
- Ukončenie: Spojenie sa korektne zatvorí a prípadné chyby spracuje
Simple Error Handler.
Jednorazové čítanie analógového signálu

Program vykonáva jednorazové načítanie analógového signálu.
- Inicializuje sériové pripojenie na porte COM6 pomocou bloku
Open.vi. - Načíta analógovú hodnotu z kanála 0 pomocou bloku
Analog Read.vi. - Zobrazí namerané napätie na prednom paneli v indikátore Voltage.
- Uzavrie pripojenie pomocou bloku
Close.vi. - Odošle prípadné chybové stavy do bloku
Simple Error Handler.vi.
Program sa vykoná iba raz a následne sa ukončí, pretože neobsahuje žiadnu slučku.
Pravidelné čítanie analógovej hodnoty (slučka)

Program pravidelne číta analógovú hodnotu cez sériové rozhranie.
- Zariadenie sa inicializuje na sériovom porte COM6 pomocou bloku
Open.vi. - Program vstúpi do slučky While Loop.
- Blok
Analog Read.vičíta dáta z analógového kanála 0. - Získaná hodnota sa zobrazuje v číselnom indikátore Voltage na prednom paneli.
- Blok
Wait (ms)pozastaví slučku na 1000 ms (1 sekunda) počas každej iterácie. - Slučka sa opakuje, kým používateľ nestlačí tlačidlo Stop.
- Po zastavení blok
Close.viukončí sériové spojenie aSimple Error Handler.vivypíše prípadné chyby.
Hotové bloky pre senzory (Sensors paleta)

Grafické programovacie prvky prostredia LabVIEW z kategórie senzorov.
- Knižnica na ľavej strane obsahuje kategórie ako Accelerometer, Distance a Temp.
- Šípka ukazuje na štyri príklady predpripravených blokov (Virtual Instruments) pre konkrétne senzory: TMP3x, Thermistor, DHTRead a Photocell.
- Tieto hotové bloky je možné priamo použiť na čítanie údajov zo senzorov, alebo ich nahradiť vlastnými blokmi vytvoreným od nuly.
Jednorazové čítanie teploty (senzor TMP36)

Kód používa knižnicu LINX na komunikáciu s teplotným senzorom TMP36. Vykonáva sa zľava doprava:
- Open.vi: Otvára sériové spojenie so zariadením na porte COM6.
- TMP3x.vi: Vstavaný blok špecificky nastavený na senzor TMP36. Načíta z neho dáta a výslednú teplotu odošle do číselného indikátora Temperature [C].
- Close.vi: Bezpečne uzatvára sériové spojenie a uvoľňuje prostriedky.
- Simple Error Handler.vi: Zachytáva a upozorňuje na akékoľvek chyby počas behu programu.
Výsledok je zobrazený na prednom paneli, kde indikátor ukazuje aktuálne nameranú teplotu 20,8 °C.
Kontinuálne čítanie teploty v slučke (TMP36)

Program komunikuje s Arduinom a kontinuálne číta hodnoty teploty zo senzora.
- Otvorenie spojenia: Blok
Open.vinadviaže sériovú komunikáciu na porte COM6. - Hlavná slučka: Kód beží v slučke While Loop.
- Čítanie senzora: Blok
TMP3x.vinačíta dáta zo senzora TMP36 na analógovom kanáli 0. - Zobrazenie: Nameraná teplota sa ukazuje na prednom paneli v indikátore Temperature [C].
- Časovanie: Blok
Waitzdrží cyklus na 1000 ms. - Zastavenie: Tlačidlo Stop Button ukončí bežiacu slučku.
- Ukončenie a chyby:
Close.vizatvorí spojenie aSimple Error Handler.vispracuje prípadné chyby.
Výpočet teploty z analógového napätia (TMP36)

Program číta dáta z teplotného senzora TMP36 pomocou mikrokontroléra Arduino.
- Program otvorí sériové spojenie na porte COM6.
- Spustí sa slučka opakujúca sa každých 1000 ms.
- Program prečíta analógový signál z kanála 0.
- Získaná hodnota sa zobrazí v číselnom indikátore ako napätie.
- Napätie sa konvertuje na teplotu pomocou matematických blokov: napätie sa vynásobí číslom 100 a odčíta sa hodnota 50.
- Vypočítaná hodnota sa zobrazí v číselnom indikátore ako teplota v stupňoch Celzia.
- Slučka beží nepretržite až do stlačenia tlačidla Stop.
- Po zastavení program bezpečne zatvorí sériové spojenie a ošetrí prípadné chyby.
Meranie teploty termistorom (Steinhart-Hart)

Program slúži na nepretržité meranie teploty termistorom.
- Inicializácia: Blok
Open.vinadviaže komunikáciu cez COM6. - Hlavný cyklus:
Analog Read.vinačíta signál z kanála 0.Steinhart Hart Equation.viprepočíta signál na teplotu.- Hodnota sa zobrazí na paneli v indikátore Temperature [C].
Wait (ms)pozastaví cyklus na 100 ms.- Opakuje sa až do stlačenia Stop.
- Ukončenie:
Close.viuzavrie spojenie aSimple Error Handler.vispracuje chyby.
Formula Node: výpočet odporu a teploty termistora

Kód vypočítava teplotu z nameraného napätia termistora.
- Výpočet odporu: Uzol Formula Node prijíma vstupné napätie
Vouta vypočíta aktuálny odpor termistoraRt. - Výpočet v Kelvinoch: Použije Steinhartovu Hartovu rovnicu s definovanými konštantami na určenie teploty v Kelvinoch.
- Prevod na Celzia: Hodnotu prevedie na stupne Celzia a odošle ju na výstup
TempCspolu s vypočítaným odporomRt.
Matematický vzorec Steinhart-Hart v bloku

Program počíta teplotu termistora pomocou rovnice Steinharta a Harta v troch krokoch:
- Výpočet odporu Rt: Súčin
VoutaRosa vydelí rozdielomVinaVout. - Teplota v Kelvinoch: Použije sa prirodzený logaritmus odporu a konštanty A, B a C vo vzorci:
T = 1 / ( A + B·ln(Rt) + C·(ln(Rt))³ )
- Teplota v stupňoch Celzia: Od hodnoty v Kelvinoch sa odpočíta 273,15 a výsledok sa zobrazí v okne TempC.