LuckyFace's Systems Lifescience
sensor 본문
// Sensor read
cursensor = bitRead(PINB,sensorPin);
if (cursensor & ~prevsensor) {
printf("%lul1\n",times);
prevsensor = cursensor;
if (state==2) {
outcome = true;
} // if sensor is touched during delay state, make outcome true. else, it is omitted trial.
if (waterClear == false) {
waterClear = true;
}
} // sensor is turned on
else if (~cursensor & prevsensor) {
prevsensor = cursensor;
} // sensor is turned off
미리 정의된 sensorPin으로부터 신호가 들어오는 것을 bitRead. 여기서 들어오는 변수는 boolean으로 해도 되지 않을까 싶은데.
초기 설정값은 prevsensor, cursensor 모두 false이다.
자 만약 sensor로부터 값이 들어왔다면 cursensor가 true가 되었다면 ~prevsensor도 true이기 때문에 prevsensor가 true로 바뀌게 됨.
그뒤에 sensor가 꺼지게 되면 즉 cursensor가 false가되면 다시 prevsensor를 false로 바꾸는 과정이 포함됨.
이 과정들에서 time은 microsecond단위로 흘러가고 있다는 것이 중요!
'Systems Neuroscience > ARDUINO functions' 카테고리의 다른 글
State conversion in trials (0) | 2017.04.19 |
---|---|
bit Math (0) | 2017.04.19 |
Serial 통신(2) (0) | 2017.04.19 |
void setup과 Serial 통신 (0) | 2017.04.18 |
boolean and String, char (0) | 2017.04.18 |