Riadenie Pico DrDAQ cez počítač
USB záznamník DrDAQ v malom zariadení ponúka osciloskop, generátor, meranie hluku, teploty, PH, DIO a iné. Na jeho ovládanie sa dodáva program Picolog alebo Picoscope. Je často používaný aj ako zariadenie na zber údajov v zákazníckej aplikácii kde je potrebné spracovávať namerané hodnoty vo vlastnom programe.
Tu je na stiahnutie wrapper usbDrDaqApi.h pre Free pascal, Lazarus a možno aj Delphi (poriadne nevyskúšané).
Na riadenie z jazyka Pascal potrebujete splniť nasledujúce podmienky:
Windows:
- nainštalujte Free Pascal alebo Lazarus
- nainštalujte program Picoscope / Picolog alebo PicoSDK zo stránky: www.picotech.com/downloads
- stiahnite súbory usbDrDaqApi.pas a PicoStatus.pas a nastavte ich použitie vo vašom zdrojovom kóde
Linux / Raspbian:
- nainštalulte program Picoscope alebo driver pre Linux zo stránky www.picotech.com/downloads/linux
- ak je to nutné, podľa inštrukcií na stránke vyššie nastavte práva
- stiahnite súbory usbDrDaqApi.pas a PicoStatus.pas a nastavte ich použitie vo vašom zdrojovom kóde
- ak sa objavia problémy skúste spustiť programy ale inštaláciu ako root (sudo)
Na vyskúšanie komunikácie a či je knižnica a driver správne nainštalovaný môžte použiť môj program DrDAQ_cnt - na stiahnutie dolu. Ďalej budete potrebovať návod na programovanie Pico-DrDAQ-pmen.pdf a jeden kus čerstvého mozgu.
Vzorový priklad aj s komentármi ukazuje otvorenie zariadenia a základné operácie:
program example_drdaq;
uses sysutils, usbDrDaqApi, PicoStatus;
var
DrDAQhandle : int16;
ivalue : int16;
overflow : word;
InfoStr : array[0..63] of char;
Status : PICO_STATUS;
fValue : single;
begin
Status := UsbDrDaqOpenUnit(DrDAQhandle);//pokus sa otvorit USB zariadenie DrDAQ
if Status = 0 then //uspesne otvorene
begin
UsbDrDaqEnableRGBLED(DrDAQhandle,1); //povol pouzitie RGB LED
UsbDrDaqSetRGBLED(DrDAQhandle, 0, 40, 0); //nastav zelenu na 40, cervena a modra na 0
UsbDrDaqSetSigGenBuiltIn(DrDAQhandle, 0, 1000000, 56, USB_DRDAQ_SINE); //nastav vystup z generatora 1 Vpp, 56 Hz, Sinus
UsbDrDaqGetSingle(DrDAQhandle, USB_DRDAQ_CHANNEL_LIGHT, ivalue, overflow); //precitaj surove data zo senzoru osvetlenia
Writeln('Light sensor raw output: ', ivalue);
UsbDrDaqSetScalings(DrDAQhandle, USB_DRDAQ_CHANNEL_TEMP, 0); //nastav citanie na stupne Celzia
UsbDrDaqGetSingleF(DrDAQhandle, USB_DRDAQ_CHANNEL_TEMP, fvalue, overflow); //precitaj jednu floating hodnotu
Writeln('Temperature sensor output: ', format('%4f '#$00b0'C',[fvalue*0.1]));
Status := UsbDrDaqGetUnitInfo(DrDAQhandle, InfoStr, 64, ivalue, PICO_BATCH_AND_SERIAL); //precitaj informacie ako text
Writeln('DrDAQ batch and serial: ',InfoStr);
UsbDrDaqCloseUnit(DrDAQhandle);
end
else Writeln('Error during open: ',Status);
end.
Jenom tak klidně levitují ve vzduchu. Jelikož slunce jasně září a na obloze byste od východu k západu hledali mráček marně, balónky působí jako jakási fata morgána uprostřed pouště. Zkrátka široko daleko nikde nic, jen zelenkavá tráva, jasně modrá obloha.
Ak sa vyskytnú problémy skontrolujte nasledovné:
Windows:
- skontrolujte či je knižnica USBDrDAQ.dll rovnako 32/64 bit ako vaša aplikácia (nieje možné volať 32 bit knižnicu z 64 bit aplikácie a naopak)
Linux
- pri problémoch s libusbdrdaq.so.2 vyskúšajte niektorú z nasledujúcich možností:
- v nastavení projektu v Lazarus-e: "Compiler Options -> Paths -> Libraries" pridajte
/opt/picoscope/lib/libusbdrdaq.so.2.0.0
- vytvorte symlink v adresár kde váš program kompilujete ktorý smeruje na
/opt/picoscope/lib/libusbdrdaq.so.2.0.0
v adresári kde kompilujete spustite príkaz:ln -s /opt/picoscope/lib/libusbdrdaq.so.2.0.0 libusbdrdaq.so.2
a v nastavení projektu v Lazarus-e: "Compiler Options -> Compilation and Linking" zapnite voľbu: "Pass options to linker with "-k", delimiter is space" pridajte parameter:-R ./
- skúste spustiť vašu aplikáciu ako root
Verzia súboru usbDrDaqApi.h pre Pascal usbDrDaqApi.pas a tiež PicoStatus.h PicoStatus.pas. Ukážkový projekt pre Lazarus: picoDrDaq-Lazarus.zip.
Program na vyskúšanie či je správne nainštalovaný driver a knižnica a skúška USB spojenia. Zdrojový kód DrDAQ_cnt.lpr (stiahnite a skompilujte príkazom: fpc DrDAQ_cnt.lpr
). Celý projekt ako archív: DrDAQ_cnt.zip. Vyskúšané pod Linux x64, Raspbian na Raspi 3B+, Win32 a Win64.
Skompilované binárne verzie, nezabudnite po stiahnutí nastaviť Execute flag.
- Raspbian: DrDAQ_cnt-arm
- Linux x64 DrDAQ_cnt-x86_64
- Win32 DrDAQ_cnt-i386.exe
- Win64 DrDAQ_cnt-x86_64.exe
Raspbian - krátky návod na inštaláciu ovládačov a kontrolu funkčnosti
Nasledujúce príkazy vpíšte do okna terminálu:
- stiahnite archív zo stránky výrobcu:
wget https://labs.picotech.com/debian/pool/main/libu/libusbdrdaq/libusbdrdaq_2.0.40-1r2131_armhf.deb
- nainštalujte stiahnutý súbor:
sudo dpkg -i libusbdrdaq_2.0.40-1r2131_armhf.deb
- stiahnite testovací program:
wget https://www.elso.sk/drdaq/DrDAQ_cnt-arm
- nastavte práva na spustenie:
chmod -x DrDAQ_cnt-arm
- spustite:
./DrDAQ_cnt-arm