일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 스케치
- non block
- urlretrieve
- 머신러닝
- CSV
- 베이즈법칙
- MEGA2560
- Arduino
- ssh원격
- 베이즈이론
- 텍스트 검색
- ssh파일
- 웹 크롤링
- 파이썬 가상환경
- 확률모델
- bs4
- 초대장
- 초음파
- ssh전송
- 파이썬 웹 개발
- 확률공부
- 티스토리
- 아두이노 스케치
- ultrawave sensor
- Python
- 파이참 가상환경
- BeautifulSoup
- 파이썬
- 아두이노
- 파이썬 장고
- Today
- Total
잡
초음파 센서를 사용할때 일반적으로 pulseIn을 사용하게 된다.그러나 이 함수는 신호가 들어올 때 까지 기다리므로 프로그램 전체가 일시적으로 정지하게 된다.물론 물체가 가까우면 상관이 없으나, 거리가 먼 경우 기기의 작동이 느려지는 것을 눈으로 확인할 수 있다. 실제 거리에 따라 모터의 속도가 달라짐을 확인할 수 있다. 이러한 문제를 해결하는데 가장 좋은 방법은 역시 인터럽트를 사용하는것.즉, 초음파 센서에서 트리거를 통해 보낸 후 수신은 하드웨어 인터럽트를 이용해 감지하여 시간을 측정하고 그 시간을 토대로 거리를 확인하는 방법이다.
아두이노를 사용해서 거리를 측정할 필요가 있을 경우에는 대체적으로 초음파센서를 활용한다.저렴한 가격에 괜찮은 성능을 보여주기 때문에 사용하기 좋다. 초음파센서는 초음파 송신부와 수신부로 나뉜다.일반적으로 거리를 측정하는 방법은 송신부에서 보낸 신호를 수신부에서 받을때까지 걸리는 시간을 체크하게 된다. 송신을 담당하는 핀은 Trig이고, echo는 수신하게 된다.송수신 신호의 간격을 음속에 곱하여 속도를 얻게 되며, 식은 다음과 같다. 시간 = time x 0.034 / 2 위 내용을 바탕으로 소스를 구현하였으며, 서보모터와 결합하여 회전하면서 거리를 수신할 수 있도록 하였다.여기에는 pulseIn함수를 사용하며, 말 그대로 신호에 입력변화를 감지하는데까지 걸린 시간을 확인한다.따라서 이 시간동안 프로그램..
서보모터를 이용하는 이유중에 하나는 정확한 제어라고 생각한다. PWM신호를 통해 원하는 각도만큼 혹은 속도만큼 제어가 가능하다.운이 좋게도 서보모터에는 대체적으로 모터드라이버가 들어있어, 큰 어려움 없이 제어가 가능하다.아두이노에서는 서보모터와 관련된 라이브러리를 제공하고 있어 더욱 편하게 코딩할 수 있다. 위 소스에 대해 간략하게 설명하면, 우선적으로 Servo 객체를 선언한다.각 객체를 attach함수를 사용하여 초기화 하는데, 변수는 서보모터의 신호선이 들어가는 디지털 포트를 입력해주면 된다.또한, 서보모터에서 각도는 write 함수를 통해 입력할 수 있고, 입력된 각도에 맞춰 서버모터가 회전하게 된다.위 예제에서는 0에서 180까지 또 180에서 0까지 각도를 변경하게 된다. 서보모터에서 허용되는..