Difference between revisions of "Matrix - Analog to Digital Converter"
From FriendlyELEC WiKi
(→使用方法) |
(→相关资料) |
||
Line 65: | Line 65: | ||
Copy your compiled bin to your board and you are ready to go. | Copy your compiled bin to your board and you are ready to go. | ||
− | == | + | ==Resources== |
Revision as of 10:06, 5 August 2015
Contents
1 Introduction
We utilize the PFC8591T in this module and extend necessary pins through a 2.54 mm spacing pin header. The PFC8591T is an 8-bit A/D and D/A converter. It has 4 A/D channels and 1 D/A channel. In this module we use the PFC8591T's power, ground, I2C, A/D and D/A pins. The I2C's address is configured as 1001000x. Its power source range is 2.5V - 6.0V. By default the power pin is 5V however if you want to take a 0 - 3.3V analog signal and keep its accuracy you can connect it to a 3.3V power source.
2 Features
- Wide power input range: 2.5V-6.0V
- I2C, 3.3V/5V
- 8-bit A/D x 4
- 8-bit D/A x 1
- Tiny dimension, easy to use in various situations
- 2.54 mm spacing pin
3 How To
3.1 Connection
- Connect Tiny4412 SDK (1506)
- VCC: 5V
- G: Ground
- SDA: I2C SDA
- SCL: I2C SCL
3.2 Code Sample in C Under Linux
#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include "libfahw.h" int main(int argc, char ** argv) { int devFD; int data, channel, mode; if ((devFD = pcf8591Init()) == -1) { printf("Fail to init pcf8591\n"); return -1; } if (pcf8591SetCtrl(devFD, PCF8591_INIT_AD_CONTROL) == -1) { printf("Fail to Set pcf8591 control AD\n"); pcf8591DeInit(devFD); return -1; } mode = 0; printf("pcf8591 working as AD in mode%d\n",mode); for(channel = PCF8591_AIN_CHANNEL0;channel <= PCF8591_AIN_CHANNEL3; channel++) { data = pcf8591Read(devFD, mode, channel); printf("Channel%d's value: %d\n",channel,data); } pcf8591DeInit(devFD); return 0; }
3.3 Compile and Run
git clone http://github.com/friendlyarm/fa-hardware.git cd fa-hardware cd demo/matrix-analog_to_digital_converter make
Copy your compiled bin to your board and you are ready to go.