实验材料准备

  • 电容触摸传感器*1

    触摸传感器
  • 蠕动泵*1

  • 可孚一次性无菌加药器 50ml(粗针管)

  • 杜邦线公对公

  • Arduino Uno R3*1

  • 粗针头*2

  • 绝缘胶带

电容触摸传感器和蠕动泵需要焊接杜邦线,用剪刀减去杜邦线一端的公头,用剥线钳暴露铜丝,短暂加热焊锡覆盖暴露的铜丝。

配件功能测试

首先测试给水装置核心配件的功能是否正常。

电容触摸传感器

电容触摸传感器上标有VCC、GND和DAT引脚,VCC是电源引脚,用于给传感器供电;GND是接地引脚;DAT是数据引脚,用于传输触摸信号。经过Arduino程序测试,发现电容触摸传感器默认为高电平,触摸时为低电平。

1
2
3
4
5
6
7
8
9
void setup() {
pinMode(A0, INPUT); // 电容触摸传感器
pinMode(2, OUTPUT); // LED
Serial.begin(9600);
}

void loop() {
Serial.println(digitalRead(A0));
}

用绝缘胶带缠绕触摸传感器引脚的杜邦线(起到保护和固定的作用),将粗针头固定到传感器较平整的一面,该装置即可作为小鼠的舔水口,小鼠通过针头舔水时,针头另一端会按压触摸传感器,因此可以根据触摸传感器电平的变化检测舔水事件。

为了更好地观察小鼠的舔水事件,我选用LED灯反映触摸传感器的状态,LED的正极连接arduino开发板的2号引脚。实现的效果为,小鼠舔水时(即按压触摸传感器)时,LED灯亮。

1
2
3
4
5
6
7
void loop() {
if (digitalRead(A0) == LOW){
digitalWrite(2, HIGH);
}else{
digitalWrite(2, LOW);
}
}

蠕动泵

上次买的蠕动泵有一个小配件被我弄坏了,这次测试新买的蠕动泵,通过转接头连接硅胶管,进水口放入粗针管内。给蠕动泵提供5V的电压,经测试,可以正常工作,出水口正常出水。
由于要控制训练过程中每个试次的给水量,因此对蠕动泵的出水量进行测试。经询问师弟,可以采用给水0.1s,间隔0.1s,并重复40次的方式测量,测量前称纸巾的重量,测量后再对纸巾称重,即可计算出每次给水的体积。连续两天测量蠕动泵的出水量,如果保持不变,即认为可正常工作。
$$m=\rho V$$

$$\rho_{水} =1g/cm^3 $$

$$1cm^3=1000\mu L$$

  • 12.29 测试结果:40次 给水0.1s 间隔0.1s 称重:0.05g
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void setup() {
pinMode(A0, INPUT); // 电容触摸传感器
pinMode(2, OUTPUT); // 蠕动泵
Serial.begin(9600);
delay(1000);
int i = 0;
for(i = 1; i <= 40; i ++){ // 测出水量
digitalWrite(2, HIGH);
delay(100); // ms
digitalWrite(2, LOW);
delay(100); // ms
}
}

void loop() {
Serial.println(digitalRead(A0));
}

实验装置

触摸给水装置实物连线

触摸给水

接下来测试触摸传感器控制蠕动泵给水的功能,经测试,功能正常。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void setup() {
pinMode(A0, INPUT); // 电容触摸传感器
pinMode(2, OUTPUT); // 蠕动泵
Serial.begin(9600);
}

void loop() {
Serial.println(digitalRead(A0));
if (digitalRead(A0) == LOW){ // 测试触摸给水
digitalWrite(2, HIGH);
delay(100); // ms
digitalWrite(2, LOW);
}
}

经验

  1. 小鼠训练过程中每天摄入水量为1ml~1.2ml
  2. 测试时针管内的气泡一定要排干净,且传感器的放置方式与实际任务期间保持一致