Software for control of stimuli presentation, recording of responses, and delivery of associated consequences in associative learning (operant conditioning) behavioural paradigms.
- Python (3.6 recommended)
numpy
,scipy
,matplotlib
seaborn
PyQt5
pyserial
colorama
,termcolor
- Arduino (MEGA 2560 recommended)
- TaskScheduler - NOTE: use the version included in this repository
- ElapsedMillis - NOTE: use the version included in this repository
- Install Anaconda (Python 3.6)
- Install PySerial
conda install pyserial
- Install seaborn
conda install seaborn
- Install termcolor
pip install termcolor
- Install PySerial
- Download or clone PyBehaviour
- Unzip to folder of your choice, e.g.
C:/git/PyBehaviour
- Unzip to folder of your choice, e.g.
- Upload
Sketch/sketch.ino
to the arduino- Requires Arduino IDE
- Double click on
execute.bat
(Tip: make a shorcut and place it on your Desktop)
- Interrupt 2 (pin 21) not compatible? Might be device specific.
- Implement auto transition
- Implement adpatation phase, no stimuli, all responses are rewarded
- Major overhaul: increase flexibility, extensibility:
- define arduino pin numbers in python GUI (sub window?), not hardcoded in arduino sketch
- rework arduino functions to be more generic e.g. PinOn rather than StimOn + RewardOn + PunishOn, etc
- move toward generic timed events that are completely adjustable, including giving names to, rather than defined Stim, Response, Reward, Punish etc events
- implement control over number of possible stim types in GUI (currently static, 8)
- dynamically define 'trial types' composed of multiple 'states' wherein actions are associated with triggering 'events'
- Windows 7, 8.1, 10 (64-bit)
- Mac OS X 10.10
- Henry
- Oliver
- Christina
- Carmen
- Adam