본문 바로가기

Arduino/AVR/0. 회로이론25

아두이노 오류 : multiple definition of `Matrix::Matrix()' arduino error D:\arduino-0015/hardware\libraries\Matrix/Matrix.cpp:64: multiple definition of `Matrix::Matrix()' `Matrix::Matrix()' 함수가 두번 정의 되었다는 오류입니다. 폴더 또는 파일명이 다르더라도 `Matrix::Matrix()'함수가 두번 정의되어 있으면 오류가 발생합니다. include 하지 않아도 libraries폴더에 함수가 존재하면 오류가 발생합니다. 사용하지 않는 폴더는 제거 합니다. 2009. 7. 9.
가속도센서와 자이로센서의 차이점(원리) 가속도 센서와 자이로 센서는 완전히 다른것입니다. 가속도라는것은 특정 방향 직선운동에 대한 속도의 증감비를 말합니다. 여기서 중요한것은 직선 방향이라는것이 중요합니다. 따라서 가속도센서는 직선방향으로의 단위시간에 속도 증감비를 수치로 알려주는 센서입니다. 한가지 더 중력도 가속도의 하나이기 때문에 가속도 센서는 기본적으로 항상 Z축 방향으로 -g(중력가속도)값을 가지고 시작합니다. 만약 센서가 정지해 있는 상태에서 X축에서도 가속도값이 나온다면 X축으로 기울어져 있다는 것도 알수 있겠지요 자이로센서는 각속도를 측정합니다. 한축을 기준으로 단위시간에 물체가 회전한 각도의 값을 수치로 알려주는 센서입니다. 정리하자면 속도와 각도의 차이입니다. 두 센서는 서로 상호 보완관계로 활용하여야 활용도가 극대화 된다고.. 2009. 7. 8.
스위치 입력과 채터링(chattering)에 관하여 스위치가 열려 있는 상태에서 닫거나 닫혀있는 상태에서 열때. 즉 스위치의 상태가 변하는 순간 10ms 이내에 열림과 닫힘이 수회 반복되는 현상을 잡음 또는 채터링(chattering)이라고 합니다. 채터링을 처리하지 않고 그냥 AVR에서 처리한다면 한번의 S/W 누름 행동이 프로그램상에는 여러번 눌린것처럼 나타나게 됩니다. 따라서 반드시 채터링을 처리해야 합니다. 채터링을 처리하는 방법에는 하드웨어적인 방법과 프로그램적인 방법이 있습니다. 하드웨어적인 방법으로는 104 캐페시터를 연결하는 방법이 있습니다. 제가 소개할 방법은 프로그램적인 방법입니다. 프로그램으로 처리하면 부품값(얼마안하긴 합니다만)을 절약할 수 있다는 장점이 있으나 메모리를 더 소모한다는 단점도 있습니다. (사실 둘다 미미합니다. ^^).. 2009. 7. 1.
전압나눔(Voltage divider) 회로란 - 저항분배의 법칙 두개의 저항을 이용하여 전압을 낮출때 사용하는 회로로 실제 측정하고자하는 전압이 Vin이고 이 저항 값을 떨어뜨린 전압이 Vout 입니다. 계산은 이와 같이 계산합니다. 즉 Vin = 10v R1 = 10k R2 = 10k 이면 10k/20k *10 = 5v가 됩니다. 반으로 줄었지요 아두이노 전압계에도 이걸 응용하면 Vout을 아두이노 입력으로 읽고, R1 = 40k R2 = 10k 로 하고 측정하고자 하는 전압을 Vin 에 연결하면, 아두이노가 5v까지 측정 가능하니 5배즉 Vin에 25v까지 측정이 가능하게 됩니다. R1을 더 높이면 더 높은 전압도 측정가능하겠지요? 이때 사용하는 저항은 오차가 적은것을 사용해야 정확한 계산이 됩니다. 2009. 6. 17.