목록ADC (3)
마음 속 하늘은 항상 맑음~!
아두이노 UNO와 LCD1602A로 만든 간단한 ADC값 측정기. A5~A2까지의 값을 읽어서 보여준다. 눈으로 읽을 수 있으려면 초당 10회 정도로 측정을 제한해야 했다. LCD 1602A의 라이브러리는 LiquidCrystal을 사용했다. LCD1602A의 V0 연결이 중요한데 그냥 1k저항만을 연결해줘도 상당한 밝기의 글자가 보인다. Vdd-V0 값으로 글자 밝기가 정해지는데, GND에 V0를 연결하면 최대 글자 밝기가 된다. LCD1602A는 네이버에서 협신전자(ic114.com)를 검색하면 저렴하게 구입할 수 있다. 공간제약으로 4개의 ADC값만 표시할 수 있었다. 각각의 16x2의 각각의 글자칸에는 메모리 내용이 남아 있어서 공백으로 지워줘야 깨끗하게 숫자가 나타난다. #include /* *..
OP AMP에서 ADC로 바로 입력하면 ADC에서는 값이 오락가락한다. 특히 PWM으로 조절되는 값을 얻어내려고 하면 0~최대값의 엄청난 차이의 값이 읽어들여지게 된다. 이를 안정하게 받아들이는 법으로 10k와 2.2uF(1.4kHz 기준)의 캐패시터를 연결하여 ADC의 입력으로 만들어주면 좋다. 확실하지 않아서 테스트를 하고 싶다면 아두이노의 아날로그 1번 예제를 이용해서 확인하면 된다. 그리고 더 낮은 주파수 값이라면 C1의 값을 늘려주면 된다. 단순하지만 많은 아마추어들은 정말 모를 힌트. 앞의 OP AMP구성은 가장 무난한 잡음을 비교적 적다는 구성.
ATTiny2313이나 ATTiny4313은 ADC가 없다. 그래서 다른 방법으로 ADC를 읽어오는 방법을 고안했는데, 약간의 딜레이를 무시하고 사용할 수 있도록 고려했다. 이러한 핀 중에서 7,6,5를 아날로그 입력으로 이용하고, 4번을 읽을 때 1번으로 하면 활성화되도록 했으며, 읽을 수 있는 상태가 되면 2번이 1이 된다. 3번으로 클럭을 입력하면 높은 비트에서 낮은 비트 순으로 10비트의 데이터를 전달한다. 1. GP3에 1을 할당.2. GP5가 1이 될 때까지 대기.3. GP4에 클럭을 입력. 0에서 1이 되면 비트가 GP5에 설정된다. 10번을 반복해서 ADC0, 10번을 반복해서 ADC1, 10번을 반복해서 ADC2를 얻는다. 높은 비트에서 낮은 비트 순으로로 출력된다. 4. 만약 GP3가 ..