用Arduino玩ESP32(06):CD74HC4067使用一路ADC 采集16路模擬信號(hào)

??CD74HC4067 作用是選通一路對(duì)十六路模擬信號(hào),就像一個(gè)單刀多擲開(kāi)關(guān),根據(jù)芯片上 S0-S3 四個(gè)不同管腳的組合,讓SIG管腳和C0-C15導(dǎo)通(每次只能連接一個(gè)),它適用于數(shù)字和模擬信號(hào),可以只用5針最多連接16傳感器系統(tǒng),也可以用它來(lái)管理多個(gè)設(shè)備。

//測(cè)量換算每個(gè)Pin的電壓
int s0 = 34;
int s1 = 35;
int s2 = 32;
int s3 = 33;
int SIG_pin = 25;
void setup() {
  // put your setup code here, to run once:
  pinMode(s0, OUTPUT);
  pinMode(s1, OUTPUT);
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);

  digitalWrite(s0, LOW);
  digitalWrite(s1, LOW);
  digitalWrite(s2, LOW);
  digitalWrite(s3, LOW);
  Serial.begin(115200);

}

void loop() {
  // put your main code here, to run repeatedly:
  int v;
  for (int i = 0; i < 16; i ++)
  {
    Serial.print("Value at channel ");
    Serial.print(i);
    Serial.print(" is : ");
    v = readMux(i);
    Serial.println(v * 5.0 / 4096);
  }
  Serial.println(" ");
  delay(3000);

}
int readMux(int channel)
{
  int controlPin[] = {s0, s1, s2, s3};

  int muxChannel[16][4] =
  {
    {0, 0, 0, 0}, //channel 0
    {1, 0, 0, 0}, //channel 1
    {0, 1, 0, 0}, //channel 2
    {1, 1, 0, 0}, //channel 3
    {0, 0, 1, 0}, //channel 4
    {1, 0, 1, 0}, //channel 5
    {0, 1, 1, 0}, //channel 6
    {1, 1, 1, 0}, //channel 7
    {0, 0, 0, 1}, //channel 8
    {1, 0, 0, 1}, //channel 9
    {0, 1, 0, 1}, //channel 10
    {1, 1, 0, 1}, //channel 11
    {0, 0, 1, 1}, //channel 12
    {1, 0, 1, 1}, //channel 13
    {0, 1, 1, 1}, //channel 14
    {1, 1, 1, 1} //channel 15
  };

  //loop through the 4 sig
  for (int i = 0; i < 4; i ++)
  {
    digitalWrite(controlPin[i], muxChannel[channel][i]);
  }

  //read the value at the SIG pin
  int val = analogRead(SIG_pin);

  //return the value
  return val;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 37款傳感器與模塊的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭...
    驢友花雕閱讀 1,593評(píng)論 0 3
  • 幾天時(shí)間把《自體心理學(xué)導(dǎo)論》看完了,作為一個(gè)心理學(xué)愛(ài)好者,基本都能看得懂,不深?yuàn)W,甚至有點(diǎn)簡(jiǎn)單。 這本書(shū)主要講的是...
    名字就是個(gè)標(biāo)簽閱讀 486評(píng)論 2 18
  • 為什么今天也沒(méi)什么感想呢?很少有東西能觸動(dòng)我,讓我有動(dòng)力能寫(xiě)下來(lái),都是一些非常日常的事情,不知道該怎么說(shuō)才好。 為...
    少女心未遂閱讀 164評(píng)論 0 0
  • 我一開(kāi)始認(rèn)為《瓦爾登湖》是一本敘事小說(shuō),“想為一本寂寞的書(shū)打破一點(diǎn)寂寞,此愿已久”這是這本書(shū)代序的開(kāi)篇,慢慢地...
    彭元飛閱讀 440評(píng)論 1 1
  • 毛萬(wàn)年的老家在離縣城二、三十里的一個(gè)村子,朱家莊。村子里大部分都姓朱,有近百戶(hù)人家,村支書(shū)村主任都是朱姓,朱姓在村...
    滄海愚夫閱讀 534評(píng)論 2 9

友情鏈接更多精彩內(nèi)容