Issues and Solutions

Summary of issues encountered and solutions implemented

Issue: Trouble appending an array’s elements to another array (adding two arrays)
Solution: Make use of a “for loop” to add each new element individually to the desired array, his loop also saves the new array after each element is added so the array can continue to be built during the next iteration and is show in the below image.

Solution-Appending Array

Issue: The USB DAQ’s datasheet showed that it is unable to source enough current to power LEDs at the desired level of luminescence as they are designed primarily of logic operations.
Solution: Further investigation showed that the same outputs can sink much more current near zero volts than they can supply at five volts. Based on these findings, the indicator circuit was designed to float high and to be ‘active low’ by sinking ~4.34mA through the USB-DAQ output. An excerpt of the datasheet is shown below and clearly illustrates this data.

USB-DAQ_Output[6]

Issue: Oscilloscope fading too quickly when outputting a large recorded data set
Solution: Increase the write rate as compared to the read rate, in this case the input is being read at 100 samples per second while the output is being written at 100,000 samples per seconds. Adding a retention delay on the scope is also possible and can be used to further increase the data retention if required.
Issue: Main program being stalled by cosmetic sound effects
Solution: Instead of placing the sounds output sub-VI within the tab controlled case structure, a local variable was used to control a true/false case inside a separate loop (below). Furthermore, edge detection was used on the case structure to only play the theme music upon entering the “batman” case.

Batman-SoundLoop

Issue: Oscilloscope with 1V/Div does not make use of full screen with an input of 0..5V
Solution: Inclusion of offset and scaling to make better use of the available outputs whilst retaining accuracy, as shown below.

Input Scaling