【PsychoPy】Galileo2(Arduino)とシリアル通信をしてみる。(coder編)
本日の朝、動作を確認しました。
Galileo側にコンパイル、スケッチを書き込み後、
PsychoPyのcoderモードで動作を確認しました。
以下が、Galileo側のプログラム
//------------------------------------------ //Tact switch time (P/N: 611 - PTS635SL50LFS) //------------------------------------------ unsigned long tt, tt2, tt3; int b_pin = 2; // Desital pin int ledpin = 13; int state = 0; // pin state int flag = 0; float tt4; void setup() { Serial.begin(9600); pinMode(b_pin, INPUT); // input setting pinMode(ledpin, OUTPUT); // input setting digitalWrite(ledpin, LOW); // LED pin } void loop() { float ans , temp , tv ; float ans2 , temp2 , tv2 ; state = digitalRead(b_pin); // read data ans = analogRead(0) ; // read sensor from A0 pin ans2 = analogRead(1) ; // read sensor from A1 pin if(state == 1 && flag == 0){ flag = 1; tt = millis(); Serial.println("ON"); digitalWrite(ledpin, HIGH); } if(state == 0 && flag == 1){ tv = (ans*5)/1024; // convert sensor value to voltage tv2 = (ans2*5)/1024; // convert sensor value to voltage temp = 100 * (tv - 0.5); // convert voltage to temperature temp2 = 100 * (tv2 - 0.5); // convert voltage to temperature tt3 = millis(); tt2 = tt3 -tt; tt4 = (float)tt2 / 1000; flag = 0; Serial.print("time:"); // output serial monitor Serial.print(tt4); // output serial monitor Serial.print(",coldbar:"); // output serial monitor Serial.print(temp); // output serial monitor Serial.print(",warmbar:"); // output serial monitor Serial.println(temp2); // output serial monitor digitalWrite(ledpin, LOW); } delay(100); }
以下がPsychoPyのcoder側のプログラム。
import serial com06 = serial.Serial('COM6') # open first serial port COM6 line = com06.readline() # read a '\n' terminated line print(line) com06.close()
Galileo2はCOM6につないである。
実行結果
次はviewerモードで実装してみます!