Scientific Journey

私の冒険記録。たまに回り道。

【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につないである。

実行結果

f:id:an-modoki:20160922035606p:plain

次はviewerモードで実装してみます!