Operácie

Schaeffler Modul 3A: Rozdiel medzi revíziami

Z SensorWiki

Riadok 49: Riadok 49:
 
</tabs>
 
</tabs>
  
Úlohy: zmeňte prenosovú rýchlosť na 9600 Bd, skúste zmeniť aj iné parametre a otestujte ako sa to prejaví na prijímaných dátach.
 
 
 
 
[[Súbor:TerminalExample.png]]
 
 
Ukážka práce s Terminalom vrátane správneho nastavenia parametrov
 
  
 
<BR>
 
<BR>
 
<BR>
 
<BR>
'''Úloha:''' <BR>
+
'''Úlohy:''' <BR>
Zobrazte v programe SerialPlot všetky tri osi akcelerometra a predveďte, že meria skutočne aj gravitačné zrýchlenie.
+
1. Zmeňte prenosovú rýchlosť na 9600 Bd, skúste zmeniť aj iné parametre a otestujte ako sa to prejaví na prijímaných dátach.
 +
<BR>
 +
2. Zobrazte v programe SerialPlot všetky tri osi akcelerometra a predveďte, že meria skutočne aj gravitačné zrýchlenie.
  
 
Postup:<BR>
 
Postup:<BR>
* vytvorte program v prostredí makecode:
+
* upravte program v Pythone nasledovne:
** program má pomocou príkazov Serial_Write_Number poslať do PC tri čísla -- zrýchlenie v osi x-, y- a z-. Čísla majú byť oddelené čiarkou (Serial_Write_String) a na konci má byť nový riadok (Serial_Write_Line).
+
** program má poslať do PC tri čísla -- zrýchlenie v osi x-, y- a z-. Čísla majú byť oddelené čiarkou a na konci má byť nový riadok ('\r\n').
 
* program preneste do micro:bitu
 
* program preneste do micro:bitu
* skontrolujte v správcovi zariadení, aké číslo portu mu pridelil OS Windows (v prípade, že žiaden nevidíte, môže pomôcť vytiahnutie a opätovné pripojenie micro:bitu)
+
* spustite program Terminal, nastavte komunikačné parametre a stlačte Connect - v terminálovom okne by ste mali vidieť prijaté znaky. Ak je formát vyhovujúci, odpojte port (Disconnect) a pokračujte ďalej
* spustite program Terminal, nastavte komunikačné parametre 115200,n,8,1 a stlačte Connect - v terminálovom okne by ste mali vidieť prijaté znaky. Ak je formát vyhovujúci, odpojte port (Disconnect) a pokračujte ďalej
 
 
* Nastavte parametre pre grafický program SerialPlot. Po spustení programu SerialPlot by ste mali vidieť grafické priebehy.  
 
* Nastavte parametre pre grafický program SerialPlot. Po spustení programu SerialPlot by ste mali vidieť grafické priebehy.  
  
Riadok 81: Riadok 75:
  
  
* === Serial Terminal by Bray ===
+
 
 +
 
 +
 
 +
=== Serial Terminal by Bray ===
  
 
[[Súbor:IconTerminal.png|left]] Na testovanie a prvé pokusy so sériovým rozhraním sa vám určite zíde aj nejaký terminálový program, masochisti môžu použiť aj Hyperterminál z Windows. Terminál je jednoduchý program, v ktorom sa zobrazujú všetky prijaté znaky a naopak, je možné nejaké iné znaky odvysielať. Dajú sa samozrejme aj nastaviť základné komunikačné parametre.
 
[[Súbor:IconTerminal.png|left]] Na testovanie a prvé pokusy so sériovým rozhraním sa vám určite zíde aj nejaký terminálový program, masochisti môžu použiť aj Hyperterminál z Windows. Terminál je jednoduchý program, v ktorom sa zobrazujú všetky prijaté znaky a naopak, je možné nejaké iné znaky odvysielať. Dajú sa samozrejme aj nastaviť základné komunikačné parametre.
 +
 +
[[Súbor:TerminalExample.png]]
 +
 +
Ukážka práce s Terminalom vrátane správneho nastavenia parametrov
  
  

Verzia zo dňa a času 11:23, 24. november 2023

Komunikácia a UART - praktická časť

Softvér a materiály na stiahnutie

  • Mikroprocesor Nordic Semiconductor nrf51
  • ARM Cortex M0+ User manual
  • Nástroj na testovanie komunikácie
  • Nástroj na kreslenie prijatých údajov



Odkazy


1. Bare-metal prístup k programovaniu

2. Programovanie vo vyššom programovacom jazyku

Teraz to isté spravíme vo vyššom programovacom jazyku, bude to Python:

from microbit import *

uart.init(baudrate=115200, bits=8, parity=None, stop=1)

while True:
    accX = accelerometer.get_x()
    
    uart.write('%d\r\n' % (accX))

    sleep(100)
    display.set_pixel(1,1,5)
    sleep(100)
    display.set_pixel(1,1,0)




Úlohy:
1. Zmeňte prenosovú rýchlosť na 9600 Bd, skúste zmeniť aj iné parametre a otestujte ako sa to prejaví na prijímaných dátach.
2. Zobrazte v programe SerialPlot všetky tri osi akcelerometra a predveďte, že meria skutočne aj gravitačné zrýchlenie.

Postup:

  • upravte program v Pythone nasledovne:
    • program má poslať do PC tri čísla -- zrýchlenie v osi x-, y- a z-. Čísla majú byť oddelené čiarkou a na konci má byť nový riadok ('\r\n').
  • program preneste do micro:bitu
  • spustite program Terminal, nastavte komunikačné parametre a stlačte Connect - v terminálovom okne by ste mali vidieť prijaté znaky. Ak je formát vyhovujúci, odpojte port (Disconnect) a pokračujte ďalej
  • Nastavte parametre pre grafický program SerialPlot. Po spustení programu SerialPlot by ste mali vidieť grafické priebehy.




3. Simulink

No a na záver vyskúšame programovať v prostredí Simulink




Serial Terminal by Bray

IconTerminal.png
Na testovanie a prvé pokusy so sériovým rozhraním sa vám určite zíde aj nejaký terminálový program, masochisti môžu použiť aj Hyperterminál z Windows. Terminál je jednoduchý program, v ktorom sa zobrazujú všetky prijaté znaky a naopak, je možné nejaké iné znaky odvysielať. Dajú sa samozrejme aj nastaviť základné komunikačné parametre.

TerminalExample.png

Ukážka práce s Terminalom vrátane správneho nastavenia parametrov


Serial Plotter

IconSerialPlotter.png
Serial Plotter je trocha sofistikovanejší program ako Terminal, jeho úlohou je zakresliť graficky všetky prijaté informácie. Najjednoduchšie je posielať mu čísla, pričom ich môže byť aj viac, oddelených čiarkami. Každá jedna n-tica hodnôt musí končíť znakom pre nový riadok. V knižnici Serial použite bloky Serial Write Number pre čísla, Serial Write String pre čiarky a Serial Write Line pre ukončenie riadka. Neposielajte hodnoty príliš často, aby sa nepreplnil vstupný buffer.



SerialPlotter01.png