전체 글(32)
-
AVR초음파 센서
이번에는 외부 인터럽트와 타이머를 사용해서 초음파 센서를 배워볼 것이다. 타이밍 다이그램을 보면, 10us이상의 신호를 주면, 초음파의 Trig신호에서 40kHz의 초음파 신호 8개가 나가게 된다. 직후, Echo핀의 핀 Level이 HIGH로 올라간 후, 위의 초음파 신호가 되돌아오면 Echo핀이 0으로 떨어지게 된다. 여기서 거리를 알려면, 거리 = 속도 * 시간을 이용해서 소리의 속도 * Echo핀이 High였다가 Low가 된 시간을 곱하면 거리를 알 수 있게된다. 이제 초음파 센서로부터 오는 시간을 알기 위해 외부 인터럽트를 알아보자. 1.외부 인터럽트 아트메가 128은 8개의 인터럽트 핀이 있다. 아두이노에서는 PulseIn()함수로 펄스의 시간을 셀 수 있는데, PulseIn함수는 atmega..
2023.03.03 -
Timer를 이용한 Fan만들기
1. State Machine 설계 상태 머신은 Fan 상태를 기준으로 동작하고, Fan이 OFF 상태일때는 Timer는 동작하지 않는다. Fan이 ON되면 기본적으로 타이머가 꺼진 상태로 동작하고, Timer 버튼을 누르면 타이머의 시간을 설정할 수 있다. 현재는 디버그용으로 5초, 10초로 동작하게 설정되어있다. 시간이 경과한후 Timer상태는 Timer_OFF상태, Fan상태는 FAN 꺼짐 상태로 동작하게 된다. 2. S/W Stack 설계 두번째로는 소프트웨어 스택을 설계하였다. 소프트웨어 스택 방식으로 코딩하면 디버그와 모듈 추가가 그렇지 않을 때보다 훨씬 쉬워지는 장점이 있다. main()함수에서 바로 하드웨어 핀을 제어하는게 아닌, 메인함수는 Application 단을 호출하고, Applic..
2023.03.02