정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

if문 빠져나가는것좀 알려주세요 ㅠㅠ
김민 | 2018-09-26

#include <SoftwareSerial.h>
//#define MIN 0
//#define MAX 359
SoftwareSerial BTSerial(2, 3);   
const int xPin = 0;
const int yPin = 1;
const int zPin = 2;
int SensorPin = A3;
int minVal = 265;
int maxVal = 402;

double x;
double y;
double z;

char um;

void setup() {  
  Serial.begin(9600);
  BTSerial.begin(9600);
}

void loop() {
   int xRead = analogRead(xPin);
  int yRead = analogRead(yPin);
  int zRead = analogRead(zPin);

  int xAng = map(xRead, minVal, maxVal, -90, 90);
  int yAng = map(yRead, minVal, maxVal, -90, 90);
  int zAng = map(zRead, minVal, maxVal, -90, 90);

  x = RAD_TO_DEG * (atan2(-yAng, -zAng) + PI);
  y = RAD_TO_DEG * (atan2(-xAng, -zAng) + PI);
  z = RAD_TO_DEG * (atan2(-yAng, -xAng) + PI);
 
  int SensorReading = analogRead(SensorPin); 
  int p = map(SensorReading, 0, 1024, 0, 255);
  
//  BTSerial.print(" x ");
//  BTSerial.print(x);
//  BTSerial.print(" y ");
//  BTSerial.print(y);
//  BTSerial.print(" z ");
//  BTSerial.print(z); 
//  BTSerial.print(" p ");
//  BTSerial.print(p);
  int stnd = 180; 
  int q = x - stnd;
  int q2 = y - stnd;
  int q3 = z - stnd;
  if(q>50 && q<100 )
  {
      um = 'a';
     
    } 
  else if(q<-50 && q>-100 )
  {
       um = 'b';
    }
  else if(q2>50 && q<100 )
  {
       um = 'c';
    }  
   else if(q2<-50 && q>-100 )
  {
       um = 'd';         
    }
   else
  {
    um = 'z';
  }
   BTSerial.print(um); 
   delay(100);  
}

 

 

이 코드에서 if문에 들어가고 a를 한번밖에 저장할수는 없나요? void loop 안이라 계속 반복될거 같은데..

이전글   |    가속도센서 값의 범위에 따라 음이 다르게 나오는 코드입니다.... 2018-09-25
다음글   |    아두이노로 초음파센서와 블루투스를 이용하려고 하는데 질문이 있습니다.... 2018-09-27