Difference between revisions of "Matrix - Analog to Digital Converter"
From FriendlyELEC WiKi
(→特性) |
(→使用方法) |
||
Line 13: | Line 13: | ||
* 2.54 mm spacing pin | * 2.54 mm spacing pin | ||
− | == | + | ==How To== |
− | === | + | ===Connection=== |
− | * | + | *Connect Tiny4412 SDK (1506) |
− | :: | + | ::VCC: 5V |
− | :: | + | ::G: Ground |
− | :: | + | ::SDA: I2C SDA |
+ | ::SCL: I2C SCL | ||
− | === | + | ===Code Sample in C Under Linux=== |
<syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> | ||
#include <stdio.h> | #include <stdio.h> | ||
Line 55: | Line 56: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === | + | ===Compile and Run=== |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git clone http://github.com/friendlyarm/fa-hardware.git | git clone http://github.com/friendlyarm/fa-hardware.git | ||
Line 62: | Line 63: | ||
make | make | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Copy your compiled bin to your board and you are ready to go. | |
==相关资料== | ==相关资料== |
Revision as of 10:05, 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.