큐블록에는 10 비트 해상도의 A/D 변환기가 내장되어 있어, 별도 칩 없이도 10 비트 분해능을 갖는 A/D 변환을 할 수 있습니다. 이보다 더 분해능이 높은 A/D 변환 값이 필요하다면, 외부에 A/D 변환 칩을 추가하는 방법으로 어플리케이션을 구현합니다.
여기에서는 MCP3202 라는 SPI 방식의 12 비트 A/D 변환 칩을 사용하는 방법에 대하여 설명합니다
Const Device = CB280 Const iodi = 7 Const iodo = 6 Const ioclk = 5 Const iocs = 4 Dim I As Byte Dim ad As Integer Do Low iocs i = &b1011 'Channel 0 'i = &b1111 'Channel 1 Shiftout ioclk,iodi,0,i,4 ad = Shiftin(ioclk,iodo,3,12) High iocs Debug Dec ad,cr Delay 100 Loop
MCP3202 에 전원이 들어오면, CH0, CH1 단자로 들어오는 전압을 A/D 변환하여 데이터를 갖고 있습니다.
SPI 통신으로 MCP3202 가 변환한 데이터를 읽어오기만 하면, 특별한 설정작업 없이 A/D 변환결과를 얻을 수 있습니다.
MCP320 의 CH0, CH1 핀에 인가되는 전압은, MCP3202 에 인가되는 전원전압을 초과해서는 안됩니다. A/D 변환 결과는 DEBUG 창에 표시됩니다.