Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 从5v到3.3v的电压电平转换_C_Arduino_Resolution_Pic - Fatal编程技术网

C 从5v到3.3v的电压电平转换

C 从5v到3.3v的电压电平转换,c,arduino,resolution,pic,C,Arduino,Resolution,Pic,我有传感器倾斜仪它的规格附在下面。它的输出在0-5v之间变化。从输出端在2.5v、+70@5v和-70@0v下读取0度。我有10位分辨率的32模拟输入引脚的微控制器芯片套件,可以读取0-3.3v之间的电压 问题: 如何将5v传感器输出转换为3.3v以匹配其分辨率。?? 我还尝试使用二极管将5v输出降低到3.3v。它将如何影响传感器输出电压?? 通过一些阻抗,你可以划分电压。 我认为Z1:4k7欧姆和Z2 8k2欧姆应该可以工作。 剩下的我会用软件来纠正。你说我用1,15或类似这样的数字来叠加电

我有传感器倾斜仪它的规格附在下面。它的输出在0-5v之间变化。从输出端在2.5v、+70@5v和-70@0v下读取0度。我有10位分辨率的32模拟输入引脚的微控制器芯片套件,可以读取0-3.3v之间的电压

问题:

如何将5v传感器输出转换为3.3v以匹配其分辨率。?? 我还尝试使用二极管将5v输出降低到3.3v。它将如何影响传感器输出电压?? 通过一些阻抗,你可以划分电压。 我认为Z1:4k7欧姆和Z2 8k2欧姆应该可以工作。
剩下的我会用软件来纠正。你说我用1,15或类似这样的数字来叠加电压,这个问题似乎是离题的,因为它不是一个编程问题。它是,但它有一个硬件,不是。在问题中发布代码不会使其成为编程问题。是否使用Arduino Uno?这个有一个从地到5V的10位ADC。请让我知道,如果你使用Arduino@FABIAN哈姆森:我正在使用类似于arduino的chipkit uno32 IDE。Arduino UNO ANlog端口使用5v输入。因为转换没有问题,所以你说我用的是电阻网络。为了满足模拟管脚的电流要求,我使用了4.4k和10K电阻。对于0v,我得到-75,2.5v,0度,对于3.3v,最大角度达到23.90度。如何在此处选择合适的电阻器。[此处附上芯片套件UNO的数据表]
int sensorPin = A0; 
float Yvoltage;
//static float ARDUINO_ANALOG = 0.00488758;5v/1024;
static float ARDUINO_ANALOG_SCALING =0.00322265625;//  3.3v/1023
static float Ydegree;
static int Sensor_Value;
static float Xdegree;
float Xvoltage;

void setup()
{
  Serial.begin(9600);
}
void loop() 
{
  Sensor_Value=analogRead(A0); 
  Serial.print(" Sensor vlaue:");
  Serial.println(Sensor_Value);

  Yvoltage = Sensor_Value * ARDUINO_ANALOG_SCALING;
  Serial.print(" Y voltage:");
  Serial.println(Yvoltage);
  Ydegree=(30*Yvoltage)-75; 
  Serial.print(" Y degree:");
  Serial.println(Ydegree);
  Serial.println("......................");
  delay(1000);
}