SW520D, 라는 기울기 센서를 사용.
기울기 센서의 원리는 센서 안에 들어있는 공(수은)이 움직이면서
회로의 open,close를 설정함.
open, close의 속도등을 수학을 이용하여 가속도등을 계산할 수도 있음.
아두이노 우노 보드를 사용하여 센서가 open 상태일 때 LED가 들어오는 코드.
/*
* Tilt_sensor.c
*
* Created: 2023-12-26 오전 11:50:03
* Author : cdm05
*/
#define F_CPU 16000000UL // 16MHz,크리스탈 주파수를 지정해주어야 올바른 시간 사용 가능
#include <avr/io.h>
#include <util/delay.h>
#define input 0x10 // D12, PB4
#define LED 0x20 // D13, PB5
#define input_value PINB
void setup(){
PORTB = 0x00;
DDRB = (1 << DDB5); // PB5만 출력
}
int main(){
setup();
while(1){
PORTB = 0x00;
if(input_value & input){ // Tilt sensor data 1
PORTB |= LED; //
_delay_ms(100);
}
}
}