Experiment Programs

I offer an assortment of experiments programs that can be used with the Propeller Experiment Controller. Click on the name of the experiment to save the .spin file. You can also download the entire group of programs by clicking here. After downloading, move the files to your Propeller folder. The .spin can be also be viewed in plain text editors similar to any .txt document.

The files provided here are compatible with version 1.5 of the Propeller Experiment Controller software. Click here to download the experiment programs for previous versions of the Propeller Experiment Controller. The programs function identically. The only benefit to downloading the original versions of the program is that the line numbers match the line numbers described in Varnon & Abramson (2012). I strongly suggest using version 1.5 of the Propeller Experiment Controller and the experiment programs. Although the line numbers have changed slightly, the descriptions and instructions in Varnon & Abramson (2012) are still applicable to the newer versions of the programs.


Non-associative Conditioning

Habituation

This program will repeatedly present a stimulus. A response can be measured to detect habituation or sensitization to the stimulus. An optional mastery criterion is available that requires a fixed number of trials without any responses before the experiment ends. In case this criterion is never met, an 'escape' input is available to terminate the experiment at any time.

Variable Habituation

This program will repeatedly present a stimulus. A response can be measured to detect habituation or sensitization to the stimulus. The stimulus duration, and the time between stimulus presentations can be variable. An optional mastery criterion is available that requires a fixed number of trials without any responses before the experiment ends.

Variable Habituation with Variable Stimulus Intensity

This program will repeatedly present a stimulus at a specified intensity. The stimulus intensity, stimulus duration, and the time between stimulus presentations can be variable. An optional mastery criterion is available that requires a fixed number of trials without any responses before the first part of the experiment ends.

After all trials elapse or the mastery criterion is met, the experiment will begin presenting the stimulus at a second intensity level. The second level of intensity enables experiments such as habituating a response to a low intensity, then increasing the intensity to observe if the response remains habituated. At the second intensity level, the program works as with the previous intensity level. It will only end after a fixed number of trials have passed, or if the mastery criterion is met.The variables related to the number of trials and mastery criterion for the second intensity level can be set to 0 if a second intensity level is not desired.


Classical Conditioning

Classical Conditioning

The program will present an unconditioned stimulus and a conditioned stimulus for a specified number of trials. Several trial types may be used. Inhibition trials occur first. Only the conditioned stimulus will be presented. A large number of inhibition trials may cause latent inhibition. Acquisition trials occur next. Both the unconditioned stimulus and the condition stimulus will be presented. Extinction trials occur last. Only the condition stimulus will be presented. A wide variety of CS/US conditioning procedures, including delay conditioning, trace conditioning and backward conditioning, can be created by changing the start and stop times of each stimulus within a trial.

Classical Conditioning with a Tone as the CS

This program is identical to the Classical Conditioning program except that the CS is a 440hz tone. The purpose of this program is to provide and example of how to modify a program to use frequency generation or pulse-width modulation.

Classical Conditioning Discrimination

The program will present an unconditioned stimulus and a conditioned stimulus for a specified number of trials. Two trial types may be used. In CS+ trials, a CS is presented with a US. In CS- trials, a different CS is presented, and the US is not presented. The program randomly or pseudorandomly determines the order of the trial types.

 


Operant Conditioning

Continuous Reinforcement

This program provides a reinforcer for every response. Reinforcement is not provided if it is already available.

Extinction

This program is identical to the Continuos Reinforcement program except that reinforcers will never be provided.

Shaping

This program provides a reinforcer for every response. It also provides shaping reinforcers using a user operated device. The data file makes a distinction between responses and shaped approximations, as well as between reinforcers and manually provided reinforcers during shaping.

 

Chaining

This program provides a reinforcer only when responses are emitted in a specific order. If two response devices are used, the subject must activate the response1 device then the response2 device to receive reinforcement. Three response devices can also be used so that the subject must activate all three response devices in the correct order (1, 2, 3) before receiving reinforcement.

Operant Discrimination

This program provides a reinforcer for every response emitted in the presence of a discriminative stimulus (SD). Reinforcement is never provided in the presence of an S-Delta stimulus. The program randomly or pseudorandomly determines the order of the stimulus presentations.

Operant Discrimination Alternate

This program functions identically to the Operant Discrimination program, but uses different programing techniques. The purpose of this program is to provide an example of how using an additional cog can simplify the programing process.

Fixed Ratio

This program implements a fixed ratio schedule of reinforcement. Reinforcement is only provided when the response count meets the requirements. The response count resets after each reinforcer.

Variable Ratio

This program implements a variable ratio schedule of reinforcement. After each reinforcer, the next response requirement is randomly selected from a user provided range. 

Fixed Interval

This program implements a fixed ratio schedule of reinforcement. Reinforcement is only provided when a specified interval of time passes before a response.

Variable Interval

This program implements a variable interval schedule of reinforcement. After each reinforcer, the time interval is randomly selected from a user provided range.

Fixed Time

This program implements a fixed time schedule of reinforcement. Reinforcement is provided at a regular interval and is not contingent upon the subject's behavior.

Variable Time

This program implements a variable time schedule of reinforcement. Reinforcement is provided at a regular interval and is not contingent upon the subject's behavior. The time interval is randomly selected from a user provided range.

Fixed Duration

This program implements a fixed duration schedule of reinforcement. Reinforcement is only provided when a single response duration meets the requirements. The response duration resets after each response. Response durations do not sum to meet the requirements.

Variable Duration

This program implements a variable duration schedule of reinforcement. Reinforcement is only provided when a single response duration meets the requirements. The response duration resets after each response. Response durations do not sum to meet the requirements. After each reinforcer, the next response duration requirement is randomly selected from a user provided range.

Differential Reinforcement of High Rate

This program implements a differential reinforcement of high rate schedule. Reinforcement is only provided when the required number of responses occurs within a specified time interval. The response count resets after each reinforcer so that a new burst of high rate response is needed to produce more reinforcement.

Differential Reinforcement of Low Rate

This program implements a differential reinforcement of low rate schedule. Reinforcement is only provided when no responses occur until a specified time interval elapses. A response that does not produce reinforcement resets the time interval.


Other Programs

Propeller Experiment Controller Test

This program is designed to test the QuickStart and the connection to the SD card. All the QuickStart's LEDs will flash twice, then a test file will be written to the SD card, then all LEDs will flash twice again. If a QuickStart is not being used, the program can still test the SD card connection. If all connections are correct, a file called "TESTFILE.TXT" will be created containing the text:

The SD card is connected properly!

The Propeller is reading and writing files properly!