从同一个arduino上的引脚进行数字读取?
问题描述:
我想知道是否连接了电缆。所以我想连接让我们说引脚6到引脚13.现在我设置引脚6的引脚模式来输出引脚13的引脚模式到输入。然后我用的digitalWrite方法,看看是否有针13和6从同一个arduino上的引脚进行数字读取?
这之间的连接代码:
void setup() {
pinMode(6, INPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop() {
analogWrite(13, 100);
Serial.println(analogRead(6));
}
不幸的是,这并不工作:(
这样还能有什么怎么办?
答
据我所知,您正在寻找此代码。我希望这可以达到你的观点
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);}
}
答
你在谈论digitalRead
和digitalWrite
但在代码analogRead
和analogWrite
来代替。
analogWrite
设置PWM
支持PWM
的引脚。但是,如果您的引脚不支持PWM
,则它会设置LOW
或HIGH
(不确定何时,如果值大于127
或最差情况等于255
)。而且在大多数主板上,通常不支持PWM
,因此13
引脚通常不支持。
另外analogRead
只适用于模拟引脚(A0
- An
)。所以使用pin 6
不是一个好主意。