You are not logged in.
Dobrý den,
prosím o radu, jak propojit ultrazvukový senzor JSN-SR04T DC5V se systémem REXduino.
Používám RPi3 a Arduino MEGA 2560. Pro komunikaci s Arduinem používám blok Arduino_MEGA2560hex. Pokouším se upravit Rexduino_commands.ino a vložit instrukce pro vyhodnocování měřené vzdálenosti. Pokud nahraji modifikovaný Rexduino_commands.ino do Arduina, na SerialMonitoru vidím správné hodnoty naměřené sensorem (odeslané přes Serial.print)
Pro přenos do REXduina posílám naměřenou hodnotu přes Serial1.print. Po spuštění projektu očekávám v bloku Arduino_MEGA2560hex měřenou hodnotu na pinu 19 - TX1. Blok Arduino_MEGA2560hex ale nefunguje, pokud mám na pinu 19 nastaven jakýkoliv mód 2-6. Pokud pin 19 není definován, funguje zbytek bloku bez problémů.
Je tento postup správný? Je potřeba upravit REXLANG? Co dělám špatně?
Jsem v této oblasti úplný začátečník, proto se omlouvám za chybějící základní znalosti seriové komunikace a ptám se na (možná) primitivní věci.
Předem děkuji za odpověď
J.Gazda
Offline
Dobrý den,
nejdříve doporučuji přečíst manuál
https://github.com/jaroslavs/REXduino/b … _Guide.pdf
a pak se zaměřit na nezdokumentovanou funkci "U", což je uživatelský příkaz. Odpověď na tento příkaz jsou 4 byte dat, které defaultně indikují dobu běhu Arduina. Toto můžete lehce změnit na data z ultrazvukového senzoru. V REXduino_commands.ino hledejte funkci
void commandU(byte microseconds, byte verbose)
V REXu se tato pak tato data objeví na výstupu userRecv, kde si je můžete zpracovat dle potřeby (např. pomocí bloků BITOP, LIN nebo INTSM).
Snad to takto v rychlosti stačí.
S pozdravem
Jaroslav Sobota
Monarco HAT for Raspberry Pi - Lightweight I/O for monitoring, archiving and control.
Raspberry Pi in industrial automation!
Offline
OK, díky, funguje.
J.Gazda
Offline