gpt4 book ai didi

c - 如何使用多路复用器查看以前的数据

转载 作者:行者123 更新时间:2023-11-30 17:27:00 25 4
gpt4 key购买 nike

我在电路中使用 arduino uno、2 路多路复用器和电压分配器网络。我正在使用 8:1 模拟多路复用器。这是我的下面的代码。问题我想在发送 so,s1,s2,s3 时读取值。目前,在下面的程序中,我只是启用 so、s1、s2 引脚并读取值。一旦发生切换,我想读取这些值。例如,当读取 A0、A5 时,s0、s1、s2 为低电平。 1秒后,它调整S0=0,S1=0,S1=1。现在旧数据被新模拟值取代,即来自 mux1 的 A1 和来自 Mux 2 的 A1。

Datasheet attached here这里A0-A7通过分压器网络连接。到2个多路复用器。S0,s1,s2,E 短路为 2 个多路复用器并提供给 arduino 的 7,6,5,4 引脚模拟输出根据真值表读取,并根据真值表进行控制。

在我的代码中,我可以正确读取模拟值。但是我如何存储它们或区分多路复用器输出的 Ao,A1???应该会影响其他 channel 。

 int SO_enable=7;
int S1_enable=6;
int S2_enable=5;
int Enablepin=4;
int Sensor_Value0=0;
int Sensor_Value1=0;
float voltage0;
float voltage1;
float ARDUINO_ANALOG_SCALING=0.0048875855327468231;
int row,column;

int array[9][4]={
{0,0,0,0},
{0,0,0,1},
{0,0,1,0},
{0,0,1,1},
{0,1,0,0},
{0,1,0,1},
{0,1,1,0},
{0,1,1,1},
{1,0,0,0}

};




void setup()
{
pinMode(SO_enable, OUTPUT) ;
pinMode(S1_enable, OUTPUT) ;
pinMode(S2_enable, OUTPUT) ;
pinMode(Enablepin, OUTPUT) ;
pinMode(A0, INPUT) ;
pinMode(A5, INPUT) ;

Serial.begin(9600);
}

void loop()
{
for(row=0;row<9;row++)
{
int k=(8*array[row][0]+4*array[row][1]+2*array[row][2]+1*array[row][3]);
Serial.print("value of k :");
Serial.println(k);
digitalWrite(Enablepin,array[row][0]);
digitalWrite(SO_enable,array[row][1]);
digitalWrite(S1_enable,array[row][2]);
digitalWrite(S2_enable,array[row][3]);

Sensor_Value0=analogRead(A0);
Sensor_Value1=analogRead(A5);
voltage0=Sensor_Value0 * ARDUINO_ANALOG_SCALING;
voltage1=Sensor_Value1* ARDUINO_ANALOG_SCALING;

Serial.print("VOlt across Analog pin0:");
Serial.println(voltage0);

Serial.print("VOlt across Analog pin5:");
Serial.println(voltage1);
Serial.println("......................");
delay(2000);

}




}

最佳答案

您想获得电压随时间的变化吗?为什么只声明一个全局数组:

float prev_voltage0[9];
float prev_voltage1[9];

for (...) {
....
//difference is (voltage0 - prev_voltage0[row])
prev_voltage0[row] = voltage0;
prev_voltage1[row] = voltage1;
delay(2000);
}

关于c - 如何使用多路复用器查看以前的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26559944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com