LVGL and squareline I tried it with adafruit displays - what a pain! Touch is not working. Works well with the elecrow device though. It's weird with strange pinouts...ssee figure below Also finicky to upload sketch to, make sure to update settings on it and press the boot button. AUTOMATED SIT-TO-STAND SYSTEM Would be awesome for widespread use if it could: 1. Connect to the persons smartphone automatically. 2. Display the result for them on that, and possibly store their results within the app which could also be sent to us to record. Labsocket-E and LINX on Raspberry Pi Labsocket-E !!!!!! runs on Raspberry Pi 2 and 3 without them needing to be connected to a computer. This could be awesome, as saves a lot of the hassle of designing pretty webpages to host on the pi or embedded microcontroller. Only $50 for academics to. Get raspberry pi with 7inch touchscreen and designspark enclosure. Seems like a great setup and can mount it to my system https://www.youtube.com/watch?v=mUr9xdGAkAc : how to control a LED using Raspberry Pi and Linx Labview. Also : https://www.youtube.com/watch?v=Cg0nKRgb81A https://www.youtube.com/watch?v=_PnTWgiDQEA: shows labsocket-e running on raspberry pi, with GUI on the Pi monitor. https://forums.ni.com/t5/LabVIEW/LINX-3-0-on-the-Raspberry-Pi-2-3-and-4-running-Raspbian-Buster/m-p/3967984#M1130511 RSprewell15! 192.168.43.253 Raspbery Pi connect to Windows computer using Putty: https://www.raspberrypi.org/documentation/remote-access/ssh/windows.md Setting up LINX on Pi https://www.youtube.com/watch?v=zsX0rJQGFqQ *****HOWEVER: doesn’t seem to work with later versions of OS. Use Raspbian Jessie April 2017 edition https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=2989&p=11322&hilit=unknown+is+a+not+LINX#p11322 Some more points on installing it Do it manually: https://www.labviewmakerhub.com/doku.php?id=learn:libraries:linx:misc:target-manual-install Only seems to work on Labview 2014 32-bit. https://forums.ni.com/t5/LabVIEW/Problem-installing-LINX-3-0-on-Raspberry-Pi-3/td-p/3684153/page/3?profile.language=en and running it by mapping the hardware input/outputs https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=3039 Linx startup executable https://www.youtube.com/watch?v=Cg0nKRgb81A Using the RX/TX pins and powering from 5V pin https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=9665 Designspark case and screens look really good https://au.rs-online.com/web/p/raspberry-pi-cases/9064665/ small touchscreen https://www.sparkfun.com/products/14776 big touchscreen https://www.sparkfun.com/products/13733 Seems like this may be possible by doing this: 1. Create the system with an ESP32, and have this setup as an Access Point https://randomnerdtutorials.com/esp32-access-point-ap-web-server/ 2. Then create a cross platform app that can automatically connect to this access point via a QR code scan. Open the app, scan the QR code and it will automatically link to the ESP32. - Alternative is to have it set up the first time for the person by a helper/health person. Wifi would be setup to automatically reconnect the next time it is used. Then whenever someone goes near it then it would connect, and all they need to do is scan the QR code and it will be linked up and would automatically send their data to the phone. - Check out PuraVida app inventor extensions https://puravidaapps.com/wifi.php https://randomnerdtutorials.com/esp8266-controlled-with-android-app-mit-app-inventor/ https://www.instructables.com/id/Home-Automation-With-ESP8266-WiFi-Without-Using-Bl/ Labview Web Server: worth a look and a really good how to guide on creating simple webpage using html and javascript that interacts using json format. https://forums.ni.com/t5/LabVIEW-Web-Development/Getting-Started-Series-Simple-JavaScript-and-HTML-with-LabVIEW/ta-p/3503111?profile.language=en Seems like you can deploy a Labview Web Server to a raspberry pi or beaglebone black using Linx 3.0. This instruction video/guide looks very impressive, and could be great to follow to build standalone systems. Very intriguing as could deploy anywhere and connect to any computer/phone via the web. https://www.labviewmakerhub.com/doku.php?id=learn:tutorials:libraries:linx:3-0:web-services Labsockets Troubleshooting: If you can’t figure out what is wrong (i.e. canyouseeme is showing open ports, everything is correct but the websites won’t post and it say Labsocket Error! Or can’t post javascript) simply uninstall the virtualbox software and reinstall the latest version from the internet. This seems to fix it every time, and it has happened a couple of times. !!!!WTF!!! For some reason now it only takes string arrays if they are paste in as a horizontal array from excel, not as a vertical one. I don’t know why but this is what it does. ---fixed this by changing input format to get rid of “enter”. Simply: 1. Copy all data from the excel spreadsheet 2. Paste into notepad++ 3. Ctrl+f, then choose replace. Make sure you do exactly as shown in this picture: 4. Copy the results and paste into the string input on the webpage. Works sweet. 3D Printing How to print circuits using 3D conductive filament https://www.instructables.com/id/3D-Printing-Circuit-Boards-and-Components/ New 3D printer – ultimaker S5 vs Lulzbot Taz Pro Ultimaker not good for ninjaflex/semiflex (sucks as I have heaps of it) Taz Pro is unknown…and the aerostruder sucked. Ultimaker looks awesome for heaps of things, but doesn’t do great with non ultimaker filament apparently. Taz Pro - bought and returned, poor quality and non-stop issues with it.... Milling PCB Circuit Boards https://forum.shapeoko.com/viewtopic.php?f=28&t=3332&start=20 Talks about how best to mill PCB boards with shapeoko. Need to use double sided tape to tape the board to the plate to make it as flat as possible. Also need correct milling bits. https://wiki.shapeoko.com/index.php/Materials#Tips_for_Milling_PCBs -----better off just making and ordering them from core-electronics. Could order thousands for the price of a mill. XBEES Guide https://learn.sparkfun.com/tutorials/xbee-shield-hookup-guide/all https://learn.sparkfun.com/tutorials/exploring-xbees-and-xctu?_ga=1.190274217.345664215.1456808104 Pulse Sensor Make sure to seal it – blew up the last one! This system could be valid for HRV analysis http://www-tandfonline-com.ezproxy.usc.edu.au:2048/doi/pdf/10.1080/03091900701781317 Article on HRV and stroke – this could be very interesting to look at. https://www.researchgate.net/publication/280390979_Heart_rate_variability_and_baroreceptor_sensitivity_in_acute_stroke_A_systematic_review Raspberry Pi3 LINX to interface with labview INTERESTING STUFF https://www.motionguidance.com/ very simple laser light system for rehab Deeplabcut – looks like a great option for pose estimation of humans and animals. Can be run in Python. HIGH SPEED LOGGING https://www.sparkfun.com/products/14641 QWiic openlog – can do 20,000 bytes per second without corruption! And also can GREAT!!!! 9DOF IMU with onboard processing https://www.adafruit.com/product/2472 ARDUINO TOUCHSCREEN https://www.jaycar.com.au/240x320-lcd-touch-screen-for-arduino/p/XC4630 cheap touchscreen for Arduino – looks pretty good! More info at http://blog.ylett.com/2017/01/playing-with-jaycar-28-tft-lcd-touch.html Awesome example of how to use things like ultrasonic sensors, leds and even playing a flappy birds games on the Arduino with a touchscreen https://howtomechatronics.com/tutorials/arduino/arduino-tft-lcd-touch-screen-tutorial/ This is the 2.8 inch touchscreen I bought from banggood When using the 2.8inch shield from banggood it uses up all the uno pins, so need to use a mega. Sending data between two arduinos · Consider sending the data between the two Arduinos using I2C https://www.instructables.com/Communication-Between-Two-Arduinos-I2C/ This would overcome the asynchronous nature of serial, and you could have multiple channels on the master (i.e. touchscreen Arduino) that receive each sensor result individually – makes the programming much easier I think. I.e. lidar distance on one pin, load cell on another, and possibly the button on another??? LATTEPANDA **can set it up to automatically power on when you provide it with 5V power. This would be very useful to perform for the home based systems as it would allow us to sleep and wake it using an accelerometer with sleep/wake mode and a relay. https://github.com/LattePandaTeam/LattePanda-Win10-Software/tree/master/Bios INTEL REALSENSE Could use the dual infrared cameras as a stereoscopic system – this would be nice! Need to get an IR light though, this one from Jaycar might work: https://www.jaycar.com.au/infrared-spotlight-kit-b223/p/KG9068 https://www.jaycar.com.au/switchmode-plugpack-12vdc-400ma-unregulated/p/MP3282 Here’s the link to the LabVIEW code for it: https://github.com/IntelRealSense/librealsense/tree/development/wrappers/labview Having trouble getting skeleton to work – trying nuitrack but the support docs are bad. **Figured out need to download their SDK separately, then follow the readme files where it gives a lot of information. When installing CMAKE make sure to install the binary – this is the GUI. ******NEW – they have added dll .NET wrappers for their API. Need to try installing this and seeing if it works well. This could allow direct use with labview without having to muck around as much. https://nuitrack.com/blog OTHER KINECT ALTERNATIVES https://www.vicovr.com/user-guide/product-description-and-technical-data https://orbbec3d.com/product-persee/ Some of these work with Android which is good. Teensy 3.2 and Teensy 3.6 https://www.pjrc.com/teensy/td_usage.html ARDUINO NRF24L The guide on how to set them up for Arduino: http://forum.arduino.cc/index.php?topic=421081 Example of multiple transmitters to a single receiver: https://forum.arduino.cc/index.php?topic=411686.0 This looks interesting – Arduino with built-in nrf24l https://tronixlabs.com.au/arduino/boards/wireless/nrfduino-atmega328p-and-nrf24l01-australia/ Video showing my external antenna NRF24L chips – and connection of external capacitor. https://www.youtube.com/watch?v=57pdX6b0sfw To use for high speed EMG could have a receiver for each transmitter – just run the receivers on the same Arduino using multiple SPI chip select digital pins. Then set each receiver low, read it, then set high and cycle through that way. This may overcome some issues with it slowing down, but probably not all issues as they still transmit on the same frequency. Hopefully using the high power antenna on the receiver will fix the problem. *** can’t seem to combine the small green chips with the large antenna-based ones to get them to talk together. That sucks….. · Doesn’t seem to work with Samd21mini. May be a library issue. Have had it working with Teensy 3.6 and 3.2 in the past though. · Maybe something in this post about using multiple nrf24’s via SI https://forum.arduino.cc/index.php?topic=435717.0 REMEMBER that they can send 32 bytes per packet without really affecting speed – and if you have 2 of them talking to one receiver they can often clash with each other if you are sending data really quickly. So the best way to send high frequency data is to have a single receiver for each transmitter. The next best way is to create arrays of the data on the transmitter and send it when they are 32 bytes long. That allows up to 16 different 16-bit unsigned integers to be put in an array and sent in a burst. This reduces the chances of lost packets dramatically. My latest working examples of this are: RF24_exampleMULTI_BATCH_B1 RF24_exampleMULTI_BATCH_B2 RF24_exampleMULTI_Receiver_BATCH OSV System Currently has way too many parts, so use an Arduino with integrated charge circuit and Bluetooth. The best/only one I can find with Bluetooth classic is the Huzzah ESP32 from Adafruit. https://learn.adafruit.com/adafruit-huzzah32-esp32-feather?view=all#using-with-arduino-ide Seems to have the best combo of good processor, 12-bit analog input, in-built Bluetooth, lipo charger and charge status indicator. Should (fingers crossed) just require me to connect it to the EMG chip and a battery and everything else is taken care of. https://randomnerdtutorials.com/esp32-pinout-reference-gpios/ Windows Tablet Looks like the Fusion5 4gb model with 64gb hard drive is the way to go. Also buy the protective gel case and the keyboard to try it out. May not be able to order the Fusion5 to Australia which sucks. If so could try this Pipo one. Does not have a battery though so if there is a power outage they would need to turn it back on and deal with those issues. Would much prefer a tablet with battery pack. https://www.ebay.com.au/itm/PIPO-X9S-Windows-10-32G-HD-Mini-PC-TV-Box-Z8350-2-16GHZ-Intel-Quad-Core-WIFI-BT/183730028075?hash=item2ac729be2b:g:Z~gAAOSw0exZ6bGe Transistor https://learn.adafruit.com/internet-of-things-infrared-remote/wiring this shows how to hook one up with a resistor on a 3.3v system BLUETOOTH HC-05 This module takes some fiddling – but is way cheaper than the sparkfun series so is worth the effort. You need to first set it up in a softwareserial format to change the AT commands. Use this guide AND YOU MUST connect the key pin. Just slide a jumper cable into the EN pinhole, it will do fine. http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/ Most likely using it on a 3.3V system in the end, so make sure to include a voltage divider as per below. Easy as, just have one resistor double the capacity of the other so any combo should work: + jumper into pinhole Upload the code to the Arduino to allow you to configure the module, then connect to the Arduino via the USB port connection to run the code – it talks to both the Arduino and the hc-05 using this method. Once the code is run and you set the commands: · To change device name from the default HC-05 to let's say MYBLUE enter: "AT+NAME=MYBLUE" · To change default security code from 1234 to 2987 enter: "AT+PSWD=2987" · To change HC-05 baud rate from default 9600 to 115200, 1 stop bit, 0 parity enter: "AT+UART=115200,1,0" Disconnect the serial window and remove the power supply to the Bluetooth module. Then upload code for doing whatever you want (AS PER NORMAL SERIAL METHOD) to the Arduino using the standard method. Then disconnect the Arduino, connect the HC-05 RX/TX pins to the RX/TX pins of the Arduino and provide power to the Arduino (not via computer). You can then talk directly to the Arduino via the HC-05 as if it were a wired serial port. ***problems when running 3+ Bluetooth at once on same computer in same program. Get around this by having individual programs for each channel, and link them together like I did with Kinect with shared variable to start and stop test. JDY-31 Bluetooth Module Banggood Might be some info here http://www.martyncurrey.com/bluetooth-modules/ ***These JDY chips are AWESOME!!!!! FAR better than the HC chips. So cheap and easy. The only trick is when trying to change baud rate etc. For step by step: 1. Hook them up to an Arduino STATE: N/C RX: Arduino RX (yup - you actually don't do an RX/TX crossover to the Arduino when sending AT commands to the module) TX: Arduino TX GND: Arduino GND VCC: Arduino 3.3V 2. Open the Arduino IDE serial monitor. MAKE SURE THAT YOU ARE USING THE SERIAL PORT FOR THE ARDUINO – NOT THE BLUETOOTH CHIP. IT TALKS VIA THE ARDUINO COM PORT. Set the serial monitor to 9600 baud and "Both NL and CR" - Type "AT+VERSION" into the input text box at the top of the serial monitor and hit the "Send" button. You should see this response in the serial monitor: +VERSION=JDY-31-V1.34,Bluetooth V3.0 – 3. To change baud rate, type AT+BAUD8 to change to 115200 QDUINO MINI May need to connect to usb2.0 port to upload data. Can be finicky. ***IMPORTANT!!!!**** To use with serial port must use Serial1.begin instead of Serial.begin. Massive pain in the arse and won’t work if you forget. **Can’t run the mpu9250 on the qduino, it seems to brick the bloody thing. Lost 3 qduinos trying to do it. **May be better of using the Adafruit M0 feather range with prototype board. Works brilliantly and can send Bluetooth EMG at 1000Hz. - But qduino is great for lipo as it has a charger and led indicators. http://sheepdogguides.com/arduino/aht8b-qduino.htm qduino softwareserial works on channels 9,10 in that order Adafruit Feather Bloody awesome! Can run EMG and Bluetooth a hell of a lot better than qduino can. ****but softwareserial does not work on 328p feather!! This is a big problem if using serial devices. LASER Pointer - Twist the metal lens to change how sharp the point is. Used to think I’d broken it, but this happens after the glue “cracks” JAYCAR DUINOTECH BLUETOOTH – HC-06 It is a HC-06, not a HC-05. This is actually good (maybe) for reprogramming it as you don’t need to press the button on it. http://forcetronic.blogspot.com.au/2014/08/getting-started-with-hc-06-bluetooth.html AT+BAUD8 Use the Arduino program: JAYCAR_BLUETOOTH_SETUP_WORKS_hc-06_ATcommands_PIN_NO_BUTTON **Make sure that the setup code is set to 115200 baud rate, the 9600 in the online code is too slow. **********NEWER VERSIONS OF THE HC-06 USE THE SAME PROTOCOL AS HC-05 – VERY CONFUSING!!!!!! These are simple to setup, just connect to the ftdi cable, open the serial port for the ftdi cable and set the baud rate to 9600. Then type in the following commands to change the settings: To change name: AT+NAME=ROSS To change baud rate: AT+UART=115200,1,0 **to note – sometimes I cannot use the HC-06 with SPI interface hardware. The Bluesmirf from sparkfun works though. Buggered if I know why. **remember that Bluetooth with Arduino works much better than on a windows pc LIDAR Use the I2C method – no reason to use PWM and I2C has more options and is easy to wire (no resistor). Seems to run fine off 3.3V, so no need to boost to 5V. Make sure to set the pin for the LED light high. WORKS_QDUINO_Lidar_I2c_Laser_Batt Wire the orange wire to a digital pin, and set it low to power off. When powering back on add a delay of 25ms + otherwise it doesn’t work. ADS1115 ADC Great bit of kit. WORKS_Qduino_BT_EMG_adc16bit_attempt SAMD21 Mini Awesome – just need to make sure that you put SerialUSB if trying to read through the usb connector or Serial1 if using Bluetooth connected to RX/TX BOSCH BNO055 IMU Make sure to set the address of the IMU as follows Adafruit_BNO055 bno = Adafruit_BNO055(55, 0x29); Banggood 2.8 inch resistive touchscreen _ make sure to use the David Prentice library https://github.com/prenticedavid/MCUFRIEND_kbv MCUFRIEND_kbv Make sure to install all the Arduino libraries (https://learn.adafruit.com/adafruit-2-8-tft-touch-shield-v2?view=all), including the touchscreen.h one. Then run the calibration program, making sure to follow the highlighted crosshairs in order. Then copy the pins into the Arduino programs, and additionally the calibration details. Test it is correct using the simple button example. LEDS Charlieplexing seems a good way to run multiple LEDS of minimal digital pins https://www.instructables.com/id/Controlling-20-Leds-from-5-Arduino-pins-using-Cha/ 6 leds from 3 pins is easily doable, and this double as you add more pins. LOAD CELLS / STRAIN GAUGE This video is brilliant!!! https://youtu.be/vzwbtT0nvjM Teaches you how to make different bridge strain gauges, and how to mount them on aluminium. Awesome. Carbon Fibre https://www.banggood.com/200X300mm-3K-Carbon-Fiber-Board-Carbon-Fiber-Plate-Twill-Weave-Matte-Panel-Sheet-0_5-5mm-Thickness-p-1434024.html?rmmds=buy&ID=41227&cur_warehouse=CN Consider buying some carbon fibre sheet to test as a force plate top. Axivity The AX6 looks quite good – you need to update the OMGUI software and also download and update the OMconvert software. just need to setup the roll/pitch/yaw from it. Can use the code from the following link: Designed for 9-dof IMU, but can simply input white noise into the 3 magneto channels to overcome this. Hi there, You can replace the measurement data with white gaussian noise on the (missing) magnetometer or accelerometer channels, depending on what type of 6-axis IMU you have. See if you get it to work. /Roger Tried this but couldn’t seem to get it to work. Running multiple cameras through Labview https://forums.ni.com/t5/LabVIEW/Multiple-IMAQdx-USB-camera-acquisitions-simultaneously/td-p/3201718/page/3 Might be good for 4k high def cameras. http://zone.ni.com/reference/en-XX/help/370281AD-01/imaqvision/stereo_vision_example/ Using stereo vision with Labview https://www.umart.com.au/Logitech-Brio-4K-Ultra-HD-webcam-with-RightLightT-3-with-HDR--Bro_40615G.html?gclid=CjwKCAjwwdTbBRAIEiwAYQf_Ew2jCATDjLl-R7eU19keEuvdqboeWh_cQYdFPMTqiI2WQGhr4uW8XBoCZSQQAvD_BwE 4K webcam – worth buying 2 to see how good they are. Muscle Wire (https://cdn.sparkfun.com/datasheets/Components/General/TCF1140.pdf) Use this guide to set it up http://robotics.cs.tamu.edu/dshell/uno/ Could use a Uno with it as long as not running more than maybe 2 muscle wires at once. If using three need to cycle through them. Resistor Packs https://au.rs-online.com/web/p/resistor-sample-kits/7472711/ Consider buying these --- FORCE PLATES Quotes received in September 2018 Amti 400*600 = $21,000 delivered BP400600OP with optima amp and rails / resin kit. Accugait = $16,500 delivered. Pick either digital or analogue. Only handles 120kg. These should work with Optitrack SOFTWARE NOTES!!!!!! Python and Labview https://forums.ni.com/t5/LabVIEW/Labview-2018-Python-Node-and-Anaconda-Environment/td-p/3853701/page/2?profile.language=en Install notes, check out the PDF. https://www.youtube.com/watch?v=dDzyNCUv-SM https://forums.ni.com/t5/LabVIEW/Python-Node-in-LV2018/td-p/3797256/page/4?profile.language=en For python it is great to use Spyder to test any code. Much better than just IDLE that comes with Python. ****May be an issue with labsockets, as it seemed to play up a bit when hosting online. Not sure if it is the python stuff though as even with that in the block diagram but set to false in a case structure still had some issues. Need to play with this…. The trick to using the python node is making sure that the input data you set is the same as the output data. This can be tricky. Check these examples: Consider reformatting data in python so that it fits the output styles labview allows. https://stackoverflow.com/questions/41792463/how-to-convert-a-list-of-list-to-array-in-python doing ANOVA? http://www.pybloggers.com/2018/10/repeated-measures-anova-in-python-using-statsmodels/ https://github.com/mathang/jupyter/tree/master/Python_ANOVA and use the list to array method above. Might work ///////////SCREW THIS NEXT PART!!! Best to use the python node when you can, much better /* OLD – IGNORE UNLESS NODE DOES NOT WORK Can be quite difficult to run libraries etc through Python in Labview. What seems to work is: 1. Install all libraries etc. in Python on the computer (important for server). Best to do this after the Labview and Python install, then use the PIP install XXX command line method shown here https://www.youtube.com/watch?v=YWn8Wj69Dm4 I used matplotlib, statsmodels, numpy, scipy, statistics : pip install 2. Load the .py file as a text file in Labview, then change the string to update the data (i.e. put the array numbers in that way). Save the .py file, making sure to use “return” for the variable that you want to send back to labview. 3. Labview and python must be the same bitness (eg. 32-bit labview with 32-bit python). This example runs a shapiro wilk test on data, which I update in Labview: /////// from scipy.stats import shapiro def Shapiro(data): data = [1,2,3,4,5,5,5,5,5,6,5,4,3,2,1] stat, p = shapiro(data) return p; ////// 4. Use the Labview python integration vi’s to read back the return value. ****Found that arrays are tricky to send from labview, so better off just building the .py file in labview and putting the data in that way (broken wire in pic is array of data), saving it to the computer, then running the python integrator to just pull the result. Works nicely! ****Seems to struggle running any python module via the integrator that do things behind the scenes (eg. save files). Best bet is to just create a python script then run it use system exec command line. This is a little weird as it d oesn’t seem to like running direct command line, need to set the location of python.exe and then set location of the python script to run. As per below (broken wire is just error coming in).pip stats */ If multiple versions of Python make sure to set default version like this: https://www.quora.com/Can-I-have-32-and-64-bit-Python-installed-at-once-Will-there-be-any-issues-I-accidentally-installed-32-bit-a-while-ago-and-I-dont-know-how-to-upgrade-it-without-messing-anything-up ****When calling Python from labview it can be difficult as you need to run it as a function. I’ve had lots of issues with this, so often better off just calling a python script (see the website stats program for an example) from the command line via labview and saving the result to file. Then you load the file and display the result. - When saving text file convert the output to string before saving. Eg: output = levene(*dat) string = str(output) file = open("C:\BUILDS\sample.txt","w") file.write(string) file.close() arduino for gesture recognition https://www.sparkfun.com/products/15580 consider trying this for steps, stair climbing etc. classification. https://github.com/arduino/ArduinoTensorFlowLiteTutorials/blob/master/GestureToEmoji/exercises/exercise8.md circuitpython https://learn.adafruit.com/arduino-to-circuitpython?view=all emg https://masteringelectronicsdesign.com/measure-a-bipolar-signal-with-an-arduino-board/ https://robotacademy.net.au/ You need to look at this!!!!! Shows how to calculate inverse kinematics etc using Peter Corke’s toolboxes https://bookshelf.vitalsource.com/#/books/9781492576334/cfi/62!/4/4@0:0.00 ***This is the research in biomechanics textbook that shows in detail how to calculate all joint angles, forces etc. in gait. Data visualisation: Here’s a list of data viz tools, no highcharts though….. https://blog.capterra.com/free-and-open-source-data-visualization-tools/ HIGHCHARTS Update Data by clicking Here’s a great example of how you can update highcharts graphs by typing a number and clicking add data: http://jsfiddle.net/b4rbjhtq/ This one is great – shows how to update the yaxis range manually by typing in values on the graph. These typed in values don’t show up in the exported graph either so it looks great. http://jsfiddle.net/Wm7ft/ The best flowchart and Gantt chart software. Great for visualising tables etc. https://www.draw.io/ Great book http://www.dspguide.com/ Sankey Flow charts https://www.highcharts.com/docs/chart-and-series-types/sankey-diagram Here’s some examples to take code snippets from: http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/sankey-outgoing This one shows how to change font size, location etc. http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/sankey-inverted/ This one shows how to set colour – important! http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/sankey/ This one uses styled mode to change the visible text to whatever you like, and also sets colour. VERY USEFUL!!! Here’s my CONSORT diagram example: C:\HIGHCHARTS\examples\Vertical Sankey CONSORT Diagram.html Use Highcharts with an excel style data input table (handsontable). This is very nice! https://codepen.io/handsoncode/pen/prBejL Statistics: http://www.estimationstats.com/#/ This has some nice example graphs with effect size and distribution plotted with the dot point graph. HOWEVER – the distribution is fake, as it always looks Gaussian. LABVIEW: Playing videos Don’t try to embed them, just use a command line interface to open them in the default media player. This is much better! The command looks like this: cmd /c "C:\Users\Ross\Videos\EMG Setup.mp4" Custom buttons When making buttons with images or GIFs, click Advanced, customise, Operate, change to customise mode, then picture item to choose the false/true condiution for the picture, then Import from file at same size. Sharing Data Between Executables Use shared variables as per the example program. Make sure to setup the build EXACTLY as it is done in that example, and to include shared variable runtime engine in the build. GAIT ANALYSIS BiomechZoo: seems to be able to calculate joint angles and moments from c3d file, replicates the methods of PiG. Can I alter this so it will do whatever I want? Need to go through the code to find out. C:\Users\Ross\Desktop\EQUIPMENT\BiomechZOO https://github.com/PhilD001/biomechZoo/tree/master/Toolbox https://www.sciencedirect.com/science/article/pii/S0169260716304424?via%3Dihub#bib0029 An intriguing python toolkit from the Childrens hospital in Melbourne – appears to be able to calculate kinematics and kinetics from c3d files. Documentation is lacking though. https://pycgm2.github.io/pyCGM2-API-DOC/pyCGM2.html A python library from Cleveland – not sure how much use it is but worth a look: https://gait-analysis-toolkit.readthedocs.io/en/latest/ Scratch Using this to make the games for OSV EMG biofeedback system. Need to convert the scratch code into executables. The best method seems to be this one: https://www.youtube.com/watch?v=bB00qUvH3L0 https://junebeetle.github.io/converter/online/ ***no longer!!!!! Scratch 3.0 allows you to create html files for the games which is GREAT! Simply copy the project id from the browser into the htmlifier and run it and it will create the webpage. Runs quite well, I use the following page and settings. https://sheeptester.github.io/words-go-here/htmlifier/#note-2 To load these as full screen games in chrome, make a copy of chrome shortcut (to chrome itself) for each of the games. Then type this onto the end of the target in the properties tab of the shortcut --start-fullscreen --allow-file-access-from-files file:///C:/A.html If the file is called A.html SGH equipment: 1. EMG system: 3 x Bluetooth HC05 (have) OR 6 x rf24L (have – can I use antenna versions with non-antenna?) 3 x qduino (need to get) 3 x lipo batteries (??? Get more) 3 x myoware (get more) 2. LIDAR systems 2 x lidars (have expensive ones Lidar Lite V3) 2 x Arduino to run them (should provide 5V power to LIDAR at 140ma – but have run at 3.3V no problem form tinyduino so not sure of that….) **with weigh scales need to have hx711 amplifiers – have a few of them lying around. Custom HHD with two IMU build - The IMU on the hand held dyno uses the Y angle. Doesn’t seem to need any correction for Euler angle issues. - IMU on shin uses Y as well – but does need correct. If Z angle is below -100 negate the Y angle, if above -100 then keep as is. - Com ports 37 (hhd imu), 29 (load cell), 21 (ankle) Online quiz creation https://freeonlinesurveys.com/app#!/1119841/launch It has decent free options, but I think can only be used within 10 days. Labview embed 3D model on front screen. Works great with STL files. You can use this link to guide you on how to set the 3d display up so it looks nice. http://zone.ni.com/reference/en-XX/help/371361K-01/lvhowto/3d_configure_camera/AUTOMATED SIT-TO-STAND SYSTEM Would be awesome for widespread use if it could: 1. Connect to the persons smartphone automatically. 2. Display the result for them on that, and possibly store their results within the app which could also be sent to us to record. Labsocket-E and LINX on Raspberry Pi Labsocket-E !!!!!! runs on Raspberry Pi 2 and 3 without them needing to be connected to a computer. This could be awesome, as saves a lot of the hassle of designing pretty webpages to host on the pi or embedded microcontroller. Only $50 for academics to. Get raspberry pi with 7inch touchscreen and designspark enclosure. Seems like a great setup and can mount it to my system https://www.youtube.com/watch?v=mUr9xdGAkAc : how to control a LED using Raspberry Pi and Linx Labview. Also : https://www.youtube.com/watch?v=Cg0nKRgb81A https://www.youtube.com/watch?v=_PnTWgiDQEA: shows labsocket-e running on raspberry pi, with GUI on the Pi monitor. https://forums.ni.com/t5/LabVIEW/LINX-3-0-on-the-Raspberry-Pi-2-3-and-4-running-Raspbian-Buster/m-p/3967984#M1130511 RSprewell15! 192.168.43.253 Raspbery Pi connect to Windows computer using Putty: https://www.raspberrypi.org/documentation/remote-access/ssh/windows.md Setting up LINX on Pi https://www.youtube.com/watch?v=zsX0rJQGFqQ *****HOWEVER: doesn’t seem to work with later versions of OS. Use Raspbian Jessie April 2017 edition https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=2989&p=11322&hilit=unknown+is+a+not+LINX#p11322 Some more points on installing it Do it manually: https://www.labviewmakerhub.com/doku.php?id=learn:libraries:linx:misc:target-manual-install Only seems to work on Labview 2014 32-bit. https://forums.ni.com/t5/LabVIEW/Problem-installing-LINX-3-0-on-Raspberry-Pi-3/td-p/3684153/page/3?profile.language=en and running it by mapping the hardware input/outputs https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=3039 Linx startup executable https://www.youtube.com/watch?v=Cg0nKRgb81A Using the RX/TX pins and powering from 5V pin https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=9665 Designspark case and screens look really good https://au.rs-online.com/web/p/raspberry-pi-cases/9064665/ small touchscreen https://www.sparkfun.com/products/14776 big touchscreen https://www.sparkfun.com/products/13733 Seems like this may be possible by doing this: 1. Create the system with an ESP32, and have this setup as an Access Point https://randomnerdtutorials.com/esp32-access-point-ap-web-server/ 2. Then create a cross platform app that can automatically connect to this access point via a QR code scan. Open the app, scan the QR code and it will automatically link to the ESP32. - Alternative is to have it set up the first time for the person by a helper/health person. Wifi would be setup to automatically reconnect the next time it is used. Then whenever someone goes near it then it would connect, and all they need to do is scan the QR code and it will be linked up and would automatically send their data to the phone. - Check out PuraVida app inventor extensions https://puravidaapps.com/wifi.php https://randomnerdtutorials.com/esp8266-controlled-with-android-app-mit-app-inventor/ https://www.instructables.com/id/Home-Automation-With-ESP8266-WiFi-Without-Using-Bl/ Labview Web Server: worth a look and a really good how to guide on creating simple webpage using html and javascript that interacts using json format. https://forums.ni.com/t5/LabVIEW-Web-Development/Getting-Started-Series-Simple-JavaScript-and-HTML-with-LabVIEW/ta-p/3503111?profile.language=en Seems like you can deploy a Labview Web Server to a raspberry pi or beaglebone black using Linx 3.0. This instruction video/guide looks very impressive, and could be great to follow to build standalone systems. Very intriguing as could deploy anywhere and connect to any computer/phone via the web. https://www.labviewmakerhub.com/doku.php?id=learn:tutorials:libraries:linx:3-0:web-services Labsockets Troubleshooting: If you can’t figure out what is wrong (i.e. canyouseeme is showing open ports, everything is correct but the websites won’t post and it say Labsocket Error! Or can’t post javascript) simply uninstall the virtualbox software and reinstall the latest version from the internet. This seems to fix it every time, and it has happened a couple of times. !!!!WTF!!! For some reason now it only takes string arrays if they are paste in as a horizontal array from excel, not as a vertical one. I don’t know why but this is what it does. ---fixed this by changing input format to get rid of “enter”. Simply: 1. Copy all data from the excel spreadsheet 2. Paste into notepad++ 3. Ctrl+f, then choose replace. Make sure you do exactly as shown in this picture: 4. Copy the results and paste into the string input on the webpage. Works sweet. 3D Printing How to print circuits using 3D conductive filament https://www.instructables.com/id/3D-Printing-Circuit-Boards-and-Components/ New 3D printer – ultimaker S5 vs Lulzbot Taz Pro Ultimaker not good for ninjaflex/semiflex (sucks as I have heaps of it) Taz Pro is unknown…and the aerostruder sucked. Ultimaker looks awesome for heaps of things, but doesn’t do great with non ultimaker filament apparently. Milling PCB Circuit Boards https://forum.shapeoko.com/viewtopic.php?f=28&t=3332&start=20 Talks about how best to mill PCB boards with shapeoko. Need to use double sided tape to tape the board to the plate to make it as flat as possible. Also need correct milling bits. https://wiki.shapeoko.com/index.php/Materials#Tips_for_Milling_PCBs -----better off just making and ordering them from core-electronics. Could order thousands for the price of a mill. XBEES Guide https://learn.sparkfun.com/tutorials/xbee-shield-hookup-guide/all https://learn.sparkfun.com/tutorials/exploring-xbees-and-xctu?_ga=1.190274217.345664215.1456808104 Pulse Sensor Make sure to seal it – blew up the last one! This system could be valid for HRV analysis http://www-tandfonline-com.ezproxy.usc.edu.au:2048/doi/pdf/10.1080/03091900701781317 Article on HRV and stroke – this could be very interesting to look at. https://www.researchgate.net/publication/280390979_Heart_rate_variability_and_baroreceptor_sensitivity_in_acute_stroke_A_systematic_review Raspberry Pi3 LINX to interface with labview INTERESTING STUFF https://www.motionguidance.com/ very simple laser light system for rehab Deeplabcut – looks like a great option for pose estimation of humans and animals. Can be run in Python. HIGH SPEED LOGGING https://www.sparkfun.com/products/14641 QWiic openlog – can do 20,000 bytes per second without corruption! And also can GREAT!!!! 9DOF IMU with onboard processing https://www.adafruit.com/product/2472 ARDUINO TOUCHSCREEN https://www.jaycar.com.au/240x320-lcd-touch-screen-for-arduino/p/XC4630 cheap touchscreen for Arduino – looks pretty good! More info at http://blog.ylett.com/2017/01/playing-with-jaycar-28-tft-lcd-touch.html Awesome example of how to use things like ultrasonic sensors, leds and even playing a flappy birds games on the Arduino with a touchscreen https://howtomechatronics.com/tutorials/arduino/arduino-tft-lcd-touch-screen-tutorial/ This is the 2.8 inch touchscreen I bought from banggood When using the 2.8inch shield from banggood it uses up all the uno pins, so need to use a mega. Sending data between two arduinos · Consider sending the data between the two Arduinos using I2C https://www.instructables.com/Communication-Between-Two-Arduinos-I2C/ This would overcome the asynchronous nature of serial, and you could have multiple channels on the master (i.e. touchscreen Arduino) that receive each sensor result individually – makes the programming much easier I think. I.e. lidar distance on one pin, load cell on another, and possibly the button on another??? LATTEPANDA **can set it up to automatically power on when you provide it with 5V power. This would be very useful to perform for the home based systems as it would allow us to sleep and wake it using an accelerometer with sleep/wake mode and a relay. https://github.com/LattePandaTeam/LattePanda-Win10-Software/tree/master/Bios INTEL REALSENSE Could use the dual infrared cameras as a stereoscopic system – this would be nice! Need to get an IR light though, this one from Jaycar might work: https://www.jaycar.com.au/infrared-spotlight-kit-b223/p/KG9068 https://www.jaycar.com.au/switchmode-plugpack-12vdc-400ma-unregulated/p/MP3282 Here’s the link to the LabVIEW code for it: https://github.com/IntelRealSense/librealsense/tree/development/wrappers/labview Having trouble getting skeleton to work – trying nuitrack but the support docs are bad. **Figured out need to download their SDK separately, then follow the readme files where it gives a lot of information. When installing CMAKE make sure to install the binary – this is the GUI. ******NEW – they have added dll .NET wrappers for their API. Need to try installing this and seeing if it works well. This could allow direct use with labview without having to muck around as much. https://nuitrack.com/blog OTHER KINECT ALTERNATIVES https://www.vicovr.com/user-guide/product-description-and-technical-data https://orbbec3d.com/product-persee/ Some of these work with Android which is good. Teensy 3.2 and Teensy 3.6 https://www.pjrc.com/teensy/td_usage.html ARDUINO NRF24L The guide on how to set them up for Arduino: http://forum.arduino.cc/index.php?topic=421081 Example of multiple transmitters to a single receiver: https://forum.arduino.cc/index.php?topic=411686.0 This looks interesting – Arduino with built-in nrf24l https://tronixlabs.com.au/arduino/boards/wireless/nrfduino-atmega328p-and-nrf24l01-australia/ Video showing my external antenna NRF24L chips – and connection of external capacitor. https://www.youtube.com/watch?v=57pdX6b0sfw To use for high speed EMG could have a receiver for each transmitter – just run the receivers on the same Arduino using multiple SPI chip select digital pins. Then set each receiver low, read it, then set high and cycle through that way. This may overcome some issues with it slowing down, but probably not all issues as they still transmit on the same frequency. Hopefully using the high power antenna on the receiver will fix the problem. *** can’t seem to combine the small green chips with the large antenna-based ones to get them to talk together. That sucks….. · Doesn’t seem to work with Samd21mini. May be a library issue. Have had it working with Teensy 3.6 and 3.2 in the past though. · Maybe something in this post about using multiple nrf24’s via SI https://forum.arduino.cc/index.php?topic=435717.0 REMEMBER that they can send 32 bytes per packet without really affecting speed – and if you have 2 of them talking to one receiver they can often clash with each other if you are sending data really quickly. So the best way to send high frequency data is to have a single receiver for each transmitter. The next best way is to create arrays of the data on the transmitter and send it when they are 32 bytes long. That allows up to 16 different 16-bit unsigned integers to be put in an array and sent in a burst. This reduces the chances of lost packets dramatically. My latest working examples of this are: RF24_exampleMULTI_BATCH_B1 RF24_exampleMULTI_BATCH_B2 RF24_exampleMULTI_Receiver_BATCH OSV System Currently has way too many parts, so use an Arduino with integrated charge circuit and Bluetooth. The best/only one I can find with Bluetooth classic is the Huzzah ESP32 from Adafruit. https://learn.adafruit.com/adafruit-huzzah32-esp32-feather?view=all#using-with-arduino-ide Seems to have the best combo of good processor, 12-bit analog input, in-built Bluetooth, lipo charger and charge status indicator. Should (fingers crossed) just require me to connect it to the EMG chip and a battery and everything else is taken care of. https://randomnerdtutorials.com/esp32-pinout-reference-gpios/ Windows Tablet Looks like the Fusion5 4gb model with 64gb hard drive is the way to go. Also buy the protective gel case and the keyboard to try it out. May not be able to order the Fusion5 to Australia which sucks. If so could try this Pipo one. Does not have a battery though so if there is a power outage they would need to turn it back on and deal with those issues. Would much prefer a tablet with battery pack. https://www.ebay.com.au/itm/PIPO-X9S-Windows-10-32G-HD-Mini-PC-TV-Box-Z8350-2-16GHZ-Intel-Quad-Core-WIFI-BT/183730028075?hash=item2ac729be2b:g:Z~gAAOSw0exZ6bGe Transistor https://learn.adafruit.com/internet-of-things-infrared-remote/wiring this shows how to hook one up with a resistor on a 3.3v system BLUETOOTH HC-05 This module takes some fiddling – but is way cheaper than the sparkfun series so is worth the effort. You need to first set it up in a softwareserial format to change the AT commands. Use this guide AND YOU MUST connect the key pin. Just slide a jumper cable into the EN pinhole, it will do fine. http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/ Most likely using it on a 3.3V system in the end, so make sure to include a voltage divider as per below. Easy as, just have one resistor double the capacity of the other so any combo should work: + jumper into pinhole Upload the code to the Arduino to allow you to configure the module, then connect to the Arduino via the USB port connection to run the code – it talks to both the Arduino and the hc-05 using this method. Once the code is run and you set the commands: · To change device name from the default HC-05 to let's say MYBLUE enter: "AT+NAME=MYBLUE" · To change default security code from 1234 to 2987 enter: "AT+PSWD=2987" · To change HC-05 baud rate from default 9600 to 115200, 1 stop bit, 0 parity enter: "AT+UART=115200,1,0" Disconnect the serial window and remove the power supply to the Bluetooth module. Then upload code for doing whatever you want (AS PER NORMAL SERIAL METHOD) to the Arduino using the standard method. Then disconnect the Arduino, connect the HC-05 RX/TX pins to the RX/TX pins of the Arduino and provide power to the Arduino (not via computer). You can then talk directly to the Arduino via the HC-05 as if it were a wired serial port. ***problems when running 3+ Bluetooth at once on same computer in same program. Get around this by having individual programs for each channel, and link them together like I did with Kinect with shared variable to start and stop test. JDY-31 Bluetooth Module Banggood Might be some info here http://www.martyncurrey.com/bluetooth-modules/ ***These JDY chips are AWESOME!!!!! FAR better than the HC chips. So cheap and easy. The only trick is when trying to change baud rate etc. For step by step: 1. Hook them up to an Arduino STATE: N/C RX: Arduino RX (yup - you actually don't do an RX/TX crossover to the Arduino when sending AT commands to the module) TX: Arduino TX GND: Arduino GND VCC: Arduino 3.3V 2. Open the Arduino IDE serial monitor. MAKE SURE THAT YOU ARE USING THE SERIAL PORT FOR THE ARDUINO – NOT THE BLUETOOTH CHIP. IT TALKS VIA THE ARDUINO COM PORT. Set the serial monitor to 9600 baud and "Both NL and CR" - Type "AT+VERSION" into the input text box at the top of the serial monitor and hit the "Send" button. You should see this response in the serial monitor: +VERSION=JDY-31-V1.34,Bluetooth V3.0 – 3. To change baud rate, type AT+BAUD8 to change to 115200 QDUINO MINI May need to connect to usb2.0 port to upload data. Can be finicky. ***IMPORTANT!!!!**** To use with serial port must use Serial1.begin instead of Serial.begin. Massive pain in the arse and won’t work if you forget. **Can’t run the mpu9250 on the qduino, it seems to brick the bloody thing. Lost 3 qduinos trying to do it. **May be better of using the Adafruit M0 feather range with prototype board. Works brilliantly and can send Bluetooth EMG at 1000Hz. - But qduino is great for lipo as it has a charger and led indicators. http://sheepdogguides.com/arduino/aht8b-qduino.htm qduino softwareserial works on channels 9,10 in that order Adafruit Feather Bloody awesome! Can run EMG and Bluetooth a hell of a lot better than qduino can. ****but softwareserial does not work on 328p feather!! This is a big problem if using serial devices. LASER Pointer - Twist the metal lens to change how sharp the point is. Used to think I’d broken it, but this happens after the glue “cracks” JAYCAR DUINOTECH BLUETOOTH – HC-06 It is a HC-06, not a HC-05. This is actually good (maybe) for reprogramming it as you don’t need to press the button on it. http://forcetronic.blogspot.com.au/2014/08/getting-started-with-hc-06-bluetooth.html AT+BAUD8 Use the Arduino program: JAYCAR_BLUETOOTH_SETUP_WORKS_hc-06_ATcommands_PIN_NO_BUTTON **Make sure that the setup code is set to 115200 baud rate, the 9600 in the online code is too slow. **********NEWER VERSIONS OF THE HC-06 USE THE SAME PROTOCOL AS HC-05 – VERY CONFUSING!!!!!! These are simple to setup, just connect to the ftdi cable, open the serial port for the ftdi cable and set the baud rate to 9600. Then type in the following commands to change the settings: To change name: AT+NAME=ROSS To change baud rate: AT+UART=115200,1,0 **to note – sometimes I cannot use the HC-06 with SPI interface hardware. The Bluesmirf from sparkfun works though. Buggered if I know why. **remember that Bluetooth with Arduino works much better than on a windows pc LIDAR Use the I2C method – no reason to use PWM and I2C has more options and is easy to wire (no resistor). Seems to run fine off 3.3V, so no need to boost to 5V. Make sure to set the pin for the LED light high. WORKS_QDUINO_Lidar_I2c_Laser_Batt Wire the orange wire to a digital pin, and set it low to power off. When powering back on add a delay of 25ms + otherwise it doesn’t work. ADS1115 ADC Great bit of kit. WORKS_Qduino_BT_EMG_adc16bit_attempt SAMD21 Mini Awesome – just need to make sure that you put SerialUSB if trying to read through the usb connector or Serial1 if using Bluetooth connected to RX/TX BOSCH BNO055 IMU Make sure to set the address of the IMU as follows Adafruit_BNO055 bno = Adafruit_BNO055(55, 0x29); Banggood 2.8 inch resistive touchscreen _ make sure to use the David Prentice library https://github.com/prenticedavid/MCUFRIEND_kbv MCUFRIEND_kbv Make sure to install all the Arduino libraries (https://learn.adafruit.com/adafruit-2-8-tft-touch-shield-v2?view=all), including the touchscreen.h one. Then run the calibration program, making sure to follow the highlighted crosshairs in order. Then copy the pins into the Arduino programs, and additionally the calibration details. Test it is correct using the simple button example. LEDS Charlieplexing seems a good way to run multiple LEDS of minimal digital pins https://www.instructables.com/id/Controlling-20-Leds-from-5-Arduino-pins-using-Cha/ 6 leds from 3 pins is easily doable, and this double as you add more pins. LOAD CELLS / STRAIN GAUGE This video is brilliant!!! https://youtu.be/vzwbtT0nvjM Teaches you how to make different bridge strain gauges, and how to mount them on aluminium. Awesome. Carbon Fibre https://www.banggood.com/200X300mm-3K-Carbon-Fiber-Board-Carbon-Fiber-Plate-Twill-Weave-Matte-Panel-Sheet-0_5-5mm-Thickness-p-1434024.html?rmmds=buy&ID=41227&cur_warehouse=CN Consider buying some carbon fibre sheet to test as a force plate top. Axivity The AX6 looks quite good – you need to update the OMGUI software and also download and update the OMconvert software. just need to setup the roll/pitch/yaw from it. Can use the code from the following link: Designed for 9-dof IMU, but can simply input white noise into the 3 magneto channels to overcome this. Hi there, You can replace the measurement data with white gaussian noise on the (missing) magnetometer or accelerometer channels, depending on what type of 6-axis IMU you have. See if you get it to work. /Roger Tried this but couldn’t seem to get it to work. Running multiple cameras through Labview https://forums.ni.com/t5/LabVIEW/Multiple-IMAQdx-USB-camera-acquisitions-simultaneously/td-p/3201718/page/3 Might be good for 4k high def cameras. http://zone.ni.com/reference/en-XX/help/370281AD-01/imaqvision/stereo_vision_example/ Using stereo vision with Labview https://www.umart.com.au/Logitech-Brio-4K-Ultra-HD-webcam-with-RightLightT-3-with-HDR--Bro_40615G.html?gclid=CjwKCAjwwdTbBRAIEiwAYQf_Ew2jCATDjLl-R7eU19keEuvdqboeWh_cQYdFPMTqiI2WQGhr4uW8XBoCZSQQAvD_BwE 4K webcam – worth buying 2 to see how good they are. Muscle Wire (https://cdn.sparkfun.com/datasheets/Components/General/TCF1140.pdf) Use this guide to set it up http://robotics.cs.tamu.edu/dshell/uno/ Could use a Uno with it as long as not running more than maybe 2 muscle wires at once. If using three need to cycle through them. Resistor Packs https://au.rs-online.com/web/p/resistor-sample-kits/7472711/ Consider buying these --- FORCE PLATES Quotes received in September 2018 Amti 400*600 = $21,000 delivered BP400600OP with optima amp and rails / resin kit. Accugait = $16,500 delivered. Pick either digital or analogue. Only handles 120kg. These should work with Optitrack SOFTWARE NOTES!!!!!! Python and Labview https://forums.ni.com/t5/LabVIEW/Labview-2018-Python-Node-and-Anaconda-Environment/td-p/3853701/page/2?profile.language=en Install notes, check out the PDF. https://www.youtube.com/watch?v=dDzyNCUv-SM https://forums.ni.com/t5/LabVIEW/Python-Node-in-LV2018/td-p/3797256/page/4?profile.language=en For python it is great to use Spyder to test any code. Much better than just IDLE that comes with Python. ****May be an issue with labsockets, as it seemed to play up a bit when hosting online. Not sure if it is the python stuff though as even with that in the block diagram but set to false in a case structure still had some issues. Need to play with this…. The trick to using the python node is making sure that the input data you set is the same as the output data. This can be tricky. Check these examples: Consider reformatting data in python so that it fits the output styles labview allows. https://stackoverflow.com/questions/41792463/how-to-convert-a-list-of-list-to-array-in-python doing ANOVA? http://www.pybloggers.com/2018/10/repeated-measures-anova-in-python-using-statsmodels/ https://github.com/mathang/jupyter/tree/master/Python_ANOVA and use the list to array method above. Might work ///////////SCREW THIS NEXT PART!!! Best to use the python node when you can, much better /* OLD – IGNORE UNLESS NODE DOES NOT WORK Can be quite difficult to run libraries etc through Python in Labview. What seems to work is: 1. Install all libraries etc. in Python on the computer (important for server). Best to do this after the Labview and Python install, then use the PIP install XXX command line method shown here https://www.youtube.com/watch?v=YWn8Wj69Dm4 I used matplotlib, statsmodels, numpy, scipy, statistics : pip install 2. Load the .py file as a text file in Labview, then change the string to update the data (i.e. put the array numbers in that way). Save the .py file, making sure to use “return” for the variable that you want to send back to labview. 3. Labview and python must be the same bitness (eg. 32-bit labview with 32-bit python). This example runs a shapiro wilk test on data, which I update in Labview: /////// from scipy.stats import shapiro def Shapiro(data): data = [1,2,3,4,5,5,5,5,5,6,5,4,3,2,1] stat, p = shapiro(data) return p; ////// 4. Use the Labview python integration vi’s to read back the return value. ****Found that arrays are tricky to send from labview, so better off just building the .py file in labview and putting the data in that way (broken wire in pic is array of data), saving it to the computer, then running the python integrator to just pull the result. Works nicely! ****Seems to struggle running any python module via the integrator that do things behind the scenes (eg. save files). Best bet is to just create a python script then run it use system exec command line. This is a little weird as it d oesn’t seem to like running direct command line, need to set the location of python.exe and then set location of the python script to run. As per below (broken wire is just error coming in).pip stats */ If multiple versions of Python make sure to set default version like this: https://www.quora.com/Can-I-have-32-and-64-bit-Python-installed-at-once-Will-there-be-any-issues-I-accidentally-installed-32-bit-a-while-ago-and-I-dont-know-how-to-upgrade-it-without-messing-anything-up ****When calling Python from labview it can be difficult as you need to run it as a function. I’ve had lots of issues with this, so often better off just calling a python script (see the website stats program for an example) from the command line via labview and saving the result to file. Then you load the file and display the result. - When saving text file convert the output to string before saving. Eg: output = levene(*dat) string = str(output) file = open("C:\BUILDS\sample.txt","w") file.write(string) file.close() arduino for gesture recognition https://www.sparkfun.com/products/15580 consider trying this for steps, stair climbing etc. classification. https://github.com/arduino/ArduinoTensorFlowLiteTutorials/blob/master/GestureToEmoji/exercises/exercise8.md circuitpython https://learn.adafruit.com/arduino-to-circuitpython?view=all emg https://masteringelectronicsdesign.com/measure-a-bipolar-signal-with-an-arduino-board/ https://robotacademy.net.au/ You need to look at this!!!!! Shows how to calculate inverse kinematics etc using Peter Corke’s toolboxes https://bookshelf.vitalsource.com/#/books/9781492576334/cfi/62!/4/4@0:0.00 ***This is the research in biomechanics textbook that shows in detail how to calculate all joint angles, forces etc. in gait. Data visualisation: Here’s a list of data viz tools, no highcharts though….. https://blog.capterra.com/free-and-open-source-data-visualization-tools/ HIGHCHARTS Update Data by clicking Here’s a great example of how you can update highcharts graphs by typing a number and clicking add data: http://jsfiddle.net/b4rbjhtq/ This one is great – shows how to update the yaxis range manually by typing in values on the graph. These typed in values don’t show up in the exported graph either so it looks great. http://jsfiddle.net/Wm7ft/ The best flowchart and Gantt chart software. Great for visualising tables etc. https://www.draw.io/ Great book http://www.dspguide.com/ Sankey Flow charts https://www.highcharts.com/docs/chart-and-series-types/sankey-diagram Here’s some examples to take code snippets from: http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/sankey-outgoing This one shows how to change font size, location etc. http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/sankey-inverted/ This one shows how to set colour – important! http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/sankey/ This one uses styled mode to change the visible text to whatever you like, and also sets colour. VERY USEFUL!!! Here’s my CONSORT diagram example: C:\HIGHCHARTS\examples\Vertical Sankey CONSORT Diagram.html Use Highcharts with an excel style data input table (handsontable). This is very nice! https://codepen.io/handsoncode/pen/prBejL Statistics: http://www.estimationstats.com/#/ This has some nice example graphs with effect size and distribution plotted with the dot point graph. HOWEVER – the distribution is fake, as it always looks Gaussian. LABVIEW: Playing videos Don’t try to embed them, just use a command line interface to open them in the default media player. This is much better! The command looks like this: cmd /c "C:\Users\Ross\Videos\EMG Setup.mp4" Custom buttons When making buttons with images or GIFs, click Advanced, customise, Operate, change to customise mode, then picture item to choose the false/true condiution for the picture, then Import from file at same size. Sharing Data Between Executables Use shared variables as per the example program. Make sure to setup the build EXACTLY as it is done in that example, and to include shared variable runtime engine in the build. GAIT ANALYSIS BiomechZoo: seems to be able to calculate joint angles and moments from c3d file, replicates the methods of PiG. Can I alter this so it will do whatever I want? Need to go through the code to find out. C:\Users\Ross\Desktop\EQUIPMENT\BiomechZOO https://github.com/PhilD001/biomechZoo/tree/master/Toolbox https://www.sciencedirect.com/science/article/pii/S0169260716304424?via%3Dihub#bib0029 An intriguing python toolkit from the Childrens hospital in Melbourne – appears to be able to calculate kinematics and kinetics from c3d files. Documentation is lacking though. https://pycgm2.github.io/pyCGM2-API-DOC/pyCGM2.html A python library from Cleveland – not sure how much use it is but worth a look: https://gait-analysis-toolkit.readthedocs.io/en/latest/ Scratch Using this to make the games for OSV EMG biofeedback system. Need to convert the scratch code into executables. The best method seems to be this one: https://www.youtube.com/watch?v=bB00qUvH3L0 https://junebeetle.github.io/converter/online/ ***no longer!!!!! Scratch 3.0 allows you to create html files for the games which is GREAT! Simply copy the project id from the browser into the htmlifier and run it and it will create the webpage. Runs quite well, I use the following page and settings. https://sheeptester.github.io/words-go-here/htmlifier/#note-2 To load these as full screen games in chrome, make a copy of chrome shortcut (to chrome itself) for each of the games. Then type this onto the end of the target in the properties tab of the shortcut --start-fullscreen --allow-file-access-from-files file:///C:/A.html If the file is called A.html SGH equipment: 1. EMG system: 3 x Bluetooth HC05 (have) OR 6 x rf24L (have – can I use antenna versions with non-antenna?) 3 x qduino (need to get) 3 x lipo batteries (??? Get more) 3 x myoware (get more) 2. LIDAR systems 2 x lidars (have expensive ones Lidar Lite V3) 2 x Arduino to run them (should provide 5V power to LIDAR at 140ma – but have run at 3.3V no problem form tinyduino so not sure of that….) **with weigh scales need to have hx711 amplifiers – have a few of them lying around. Custom HHD with two IMU build - The IMU on the hand held dyno uses the Y angle. Doesn’t seem to need any correction for Euler angle issues. - IMU on shin uses Y as well – but does need correct. If Z angle is below -100 negate the Y angle, if above -100 then keep as is. - Com ports 37 (hhd imu), 29 (load cell), 21 (ankle) Online quiz creation https://freeonlinesurveys.com/app#!/1119841/launch It has decent free options, but I think can only be used within 10 days. Labview embed 3D model on front screen. Works great with STL files. You can use this link to guide you on how to set the 3d display up so it looks nice. http://zone.ni.com/reference/en-XX/help/371361K-01/lvhowto/3d_configure_camera/
0 Comments
|
AuthorRoss Clark ArchivesCategories |