This page demonstrates how to deliver a mild shock in both the AD and LT systems. The mild shock stimuli can be used for behavioural assays, such as aversion learning with fish.
Set up
There are two ways of setting up and scripting the shocking plates depending on if you are using one or two tanks. The AD system can only house one tank, the LT system can house either one or two AD size tanks with shocking plates.
The shocking plates must be plugged into the CN5 socket on the top box of the AD or LT unit.
A strip of LED lights are supplied with the shocking plates to test that the stimuli is working correctly. The red crocodile clip should be connected to the shocking panel with the red wire and the black crocodile clip to the shocking panel with the black wire. The LEDs will flash to indicate a shock was successfully delivered (the voltage level must be no lower than 9000 for the test). To run an experiment, unclip the LED lights so that the voltage is not drained away from the plates.
For full instructions on how to set up both the AD and LT unit with the mild shock plates, including pictures and video tutorials see the Pavlovian avoidance learning protocol page.
Script explanation
The script below demonstrates how to deliver a mild electrical shock stimulus. In this script the shock stimuli is repeated 3 times with a wait period between each shock.
DEFINE ITI 4 DEFINE TRIALS 3 SET(VOLTAGE_LEVEL,9000) ACTION MAIN INVOKE(SHOCK_SINGLE,TRIALS) #INVOKE(SHOCK_DOUBLE,TRIALS) COMPLETE
SET(VOLTAGE_LEVEL,9000) - sets the voltage level in millivolts. In this example, it is set at 9,000mV - which is the lowest setting that can be used in testing to provide enough power for the LED test lights to flash. For experiments you can reduce the voltage to any value to reduce the shock that is delivered. The highest that the voltage can be set is 10,000mV.
The code will then run an action called SHOCK_SINGLE or SHOCK_DOUBLE. Single or double refers to whether you are using just one tank or two. When using the LT system you have the option to use one or two tanks. A "#" is used to de-select the option you do not want. The action is repeated a number of times as defined by TRIALS at the top of the script.
ACTION SHOCK_SINGLE ZCOMMAND("V3#1 P70 V3#0") WAIT(ITI) COMPLETE
The Zcommand above is for one tank connected to an AD or LT system. V3#1 turns on the the relay that delivers the voltage to the shocking plates. P70 tells the system to pause for 70ms, you may increase or decrease the duration of a shock by adjusting the value of P. V3#0 turns off the relay that delivers the voltage to the shocking plates. After the shock has been delivered there is a wait period defined in seconds as the ITI at the top of the script.
ACTION SHOCK_DOUBLE ZCOMMAND("V3#1 V4#1 P70 V3#0 V4#0") WAIT(ITI) COMPLETE
The Zcommand above is for two tanks connected to an LT system. V3#1 turns on the the relay that delivers the volatge to one of the pairs of shocking plates, while V4#1 delivers voltage to the second pair. P70 tells the system to pause for 70ms, you may increase or decrease the duration of a shock by adjusting the value of P. V3#0 V4#0 turns off the relay that delivers the voltage to both pairs of shocking plates. After the shock has been delivered there is a wait period defined in seconds as the ITI at the top of the script.
NOTE: the above code demonstrates both tanks in an LT system delivering the same length & strength shock at the same time. Both V3# and V4# can be used in separate Zcommands if you wish to deliver different shocks in the tanks or at different times.
Script download
To download the mild_shock_demo script as a .zs file (file type Zantiks software reads), choose the Save File As option in the right-click dialogue box. Clicking on the script name hyperlink will open a read-only version of the script.
Script download: mild_shock_demo.zs