====== 12비트 AD입력 (MCP3202) ====== 큐블록에는 10 비트 해상도의 A/D 변환기가 내장되어 있어, 별도 칩 없이도 10 비트 분해능을 갖는 A/D 변환을 할 수 있습니다. 이보다 더 분해능이 높은 A/D 변환 값이 필요하다면, 외부에 A/D 변환 칩을 추가하는 방법으로 어플리케이션을 구현합니다. 여기에서는 MCP3202 라는 SPI 방식의 12 비트 A/D 변환 칩을 사용하는 방법에 대하여 설명합니다 [[http://ww1.microchip.com/downloads/en/DeviceDoc/21034D.pdf|MCP3202 데이터 시트]] {{ :cublocapp:an31006:mcp3202.png?nolink |}} {{ :cublocapp:an31006:mcp3202table.png?nolink |}} ===== 소스 프로그램 ===== 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 창에 표시됩니다. {{ :cublocapp:an31006:mcp3203debug.png?nolink |}} [[cublocapp:index|큐블록 어플리케이션 노트]]