가속도 센서로 각도를 측정하여

자작한 LCD쉴드에 출력

 

serial모니터로 출력하여 측정된값을

컴퓨터로 출력하여 확인하지 않고

아두이노에 LCD를 부착하여 측정값을 바로

확인할수 있도록 하였다.

 

LCD쉴드 http://eskelt.tistory.com/78  글 참고

가속도센서 http://eskelt.tistory.com/79 글 참고

가속도센서로 각도측정 http://eskelt.tistory.com/80 글 참고

 

소스 스케치

============================================================================

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
float x,y,z;

void setup(){
  lcd.begin(16, 2);
}

void loop(){
 
  x = analogRead(0);
  y = analogRead(1);
  z = analogRead(2);
 
  float xsintheta = constrain(mapinfloat(x,268,406,-1,1),-1,1);
  float ysintheta = constrain(mapinfloat(y,267,406,-1,1),-1,1);
  float zsintheta = constrain(mapinfloat(z,275,412,-1,1),-1,1);
 
 
 
  float xtheta = asin(xsintheta)*180/PI;
  float ytheta = asin(ysintheta)*180/PI;
  float ztheta = asin(zsintheta)*180/PI;
 
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("x: ");
  lcd.setCursor(5,0);
  lcd.print(xtheta);
 
  lcd.setCursor(0,1);
  lcd.print("y: ");
  lcd.setCursor(5,1);
  lcd.print(ytheta);
 
  delay(100); 
}

float mapinfloat(float i, float imin,float imax, float omin, float omax){
  float o = (i-imin)*(omax-omin)/(imax-imin) + omin;
  return o;
}

============================================================================

 

작동 영상

영상에서는 x축만 출력하였다.

참고로 -70~70도 사이에서는 비교적 정확하게 측정되나

-70과 70도를 벗어나면서 정확한 값을 측정하기 어려움.

 

여러 센서를 연결하고
센서 값을 바로 눈으로 확인하기 위해
LCD를 사용하지만
그때마다 핀을 연결해야하는 수고가....
만능기판에 LCD 모듈과 Uno에 맞게
적층핀을 연결해 LCD 쉴드를 제작했다.

회로도와 작동 스케치는 http://eskelt.tistory.com/17 글 참고

앞뒷면과

 


매우 신경써서 납땜을 했는데도 조금 조잡한듯...TT




UNO에 연결한 모습이다.

'아두이노_프로세싱 > 아두이노' 카테고리의 다른 글

가속도 센서로 각도 측정  (1) 2013.06.28
가속도센서  (1) 2013.06.26
말하는 도트매트릭스  (2) 2012.12.22
xbee 통신 + 기울기센서로 모터제어  (3) 2012.08.29
아두이노 포토인터럽터  (0) 2012.08.24

+ Recent posts