【问题标题】:digital read from pin that is on the same arduino?从同一个arduino上的引脚进行数字读取?
【发布时间】:2016-09-21 13:18:05
【问题描述】:

我想检查电缆是否连接。所以我想将引脚 6 连接到引脚 13。现在我将引脚 6 的 pinMode 设置为 OUTPUT,将引脚 13 的 pinMode 设置为 INPUT。然后我用digitalWrite的方法看看13号和6号针之间有没有连接。

代码如下:

void setup() {
  pinMode(6, INPUT);
  pinMode(13, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  analogWrite(13, 100);
  Serial.println(analogRead(6));

}

不幸的是,这不起作用:(

那我还能做什么?

【问题讨论】:

    标签: arduino


    【解决方案1】:

    据我了解,您正在寻找此代码。我希望这能达到你的目的

    int pin6 = 6;
    int pin7 = 7;
    int pin8 = 8;
    int pin9 = 9;
    int pin10 = 10;
    int pin11 = 11;
    int pin12 = 12;
    int pin13 = 13;
    
    void setup()
    {
    pinMode(pin6, INPUT);
    pinMode(pin7, INPUT);
    pinMode(pin8, INPUT);
    pinMode(pin9, INPUT);
    pinMode(pin10, INPUT);
    pinMode(pin11, INPUT);
    pinMode(pin12, INPUT);
    pinMode(pin13, INPUT);
    Serial.begin(9600);
    }
    
    void loop()
    {
    pin6status = digitalRead(pin6);
    pin7status = digitalRead(pin7);
    pin8status = digitalRead(pin8);
    pin9status = digitalRead(pin9);
    pin10status = digitalRead(pin10);
    pin11status = digitalRead(pin11);
    pin12status = digitalRead(pin12);
    pin13status = digitalRead(pin13);
    
    if (pin6status == HIGH)
    {Serial.print(PIN6 = CONNECTED);}
    else {Serial.print(PIN6 = NOT CONNECTED)}    
    
    if (pin7status == HIGH)
    {Serial.print(PIN 7 = CONNECTED);}
    else {Serial.print(PIN 7 = NOT CONNECTED);}
    
    if (pin8status == HIGH)
    {Serial.print(PIN8 = CONNECTED);}
    else {Serial.print(PIN8 = NOT CONNECTED);}    
    
    if (pin9status == HIGH)
    {Serial.print(PIN 9 = CONNECTED);}
    else {Serial.print(PIN 9 = NOT CONNECTED);}
    
    if (pin10status == HIGH)
    {Serial.print(PIN 10 = CONNECTED);}
    else {Serial.print(PIN 10 = NOT CONNECTED);}    
    
    if (pin11status == HIGH)
    {Serial.print(PIN 11 = CONNECTED);}
    else {Serial.print(PIN 11 = NOT CONNECTED);}
    
    if (pin12status == HIGH)
    {Serial.print(PIN 12 = CONNECTED);}
    else {Serial.print(PIN 12 = NOT CONNECTED);}    
    
    if (pin13status == HIGH)
    {Serial.print(PIN 13 = CONNECTED);}
    else {Serial.print(PIN 13 = NOT CONNECTED);}
    }
    

    【讨论】:

      【解决方案2】:

      您说的是digitalReaddigitalWrite,但在代码中使用了analogReadanalogWrite

      analogWritePWM 设置在具有PWM 支持的引脚上。但是如果你有没有PWM 支持的pin,它会设置LOWHIGH(不确定何时,如果值大于127 或者最坏的情况是它等于255)。在大多数板上,pin 13 通常不支持PWM

      此外,analogRead 仅适用于模拟引脚 (A0-An)。所以使用 pin 6 不是一个好主意。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多