가속도 센서로 각도를 측정하여
자작한 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도를 벗어나면서 정확한 값을 측정하기 어려움.
'아두이노_프로세싱 > 아두이노' 카테고리의 다른 글
도트 매트릭스 문자 흐름 (0) | 2023.10.02 |
---|---|
포텐셜미터+네오픽셀(포텐셜미터를 회전시켜 네오픽셀을 이동하듯...) (0) | 2023.10.02 |
가속도 센서로 각도 측정 (1) | 2013.06.28 |
가속도센서 (1) | 2013.06.26 |
LCD 쉴드 자작 (0) | 2013.04.25 |