求助UNO和NANO之间一些问题。-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 545|回复: 3

[未解决] 求助UNO和NANO之间一些问题。

[复制链接]
发表于 2021-12-24 18:49 | 显示全部楼层 |阅读模式
UNO和NANO之间代码互换后nano信号端感应到继电器灯亮但是用电器不工作。UNO正常工作代码如下

int irSensor0 = A0;
int irSensor1 = A1;
int irSensor2 = A2;
int irSensor3 = A3;
int irSensor4 = A4;
int irSensor5 = A5 ;
int irSensor6 = A6;
int irSensor7 = A7;

int zjq0 = 2;
int zjq1 = 3;
int zjq2 = 4;
int zjq3 = 5;
int zjq4 = 6;
int zjq5 = 7;
int zjq6 = 8;
int zjq7 = 9;


void setup() {
  // 初始化 串口通讯
  Serial.begin(9600);
  pinMode(irSensor0, INPUT);
  pinMode(zjq0, OUTPUT);  
  pinMode(irSensor1, INPUT);
  pinMode(zjq1, OUTPUT);
  pinMode(irSensor2, INPUT);
  pinMode(zjq2, OUTPUT);
  pinMode(irSensor3, INPUT);
  pinMode(zjq3, OUTPUT);
  pinMode(irSensor4, INPUT);
  pinMode(zjq4, OUTPUT);
  pinMode(irSensor5, INPUT);
  pinMode(zjq5, OUTPUT);
  pinMode(irSensor6, INPUT);
  pinMode(zjq6, OUTPUT);
  pinMode(irSensor7, INPUT);
  pinMode(zjq7, OUTPUT);


}

//
void loop() {
  bool sensorReading = digitalRead(irSensor0);
  if ( sensorReading ) {
    digitalWrite(zjq0, HIGH);  
  else {
    digitalWrite(zjq0, LOW);  
  }
  bool sensorReading1 = digitalRead(irSensor1);  
  if ( sensorReading1 ) {
    digitalWrite(zjq1, HIGH);   
  }
  else {
    digitalWrite(zjq1, LOW);  
  }
  bool sensorReading2 = digitalRead(irSensor2);  
  if ( sensorReading2 ) {
    digitalWrite(zjq2, HIGH);  
  }
  else {
    digitalWrite(zjq2, LOW);  
  }
  bool sensorReading3 = digitalRead(irSensor3);
  if ( sensorReading3 ) {
    digitalWrite(zjq3, HIGH);   
  }
  else {
    digitalWrite(zjq3, LOW);   
  }
  bool sensorReading4 = digitalRead(irSensor4);  
  if ( sensorReading4 ) {
    digitalWrite(zjq4, HIGH);   
  }
  else {
    digitalWrite(zjq4, LOW);   
  }
  bool sensorReading5 = digitalRead(irSensor5);  
  if ( sensorReading5 ) {
    digitalWrite(zjq5, HIGH);   
  }
  else {
    digitalWrite(zjq5, LOW);   
  }
  bool sensorReading6 = digitalRead(irSensor6);  
  if ( sensorReading6 ) {
    digitalWrite(zjq6, HIGH);   
  }
  else {
    digitalWrite(zjq6, LOW);   
  }
  bool sensorReading7 = digitalRead(irSensor7);  
  if ( sensorReading7 ) {
    digitalWrite(zjq7, HIGH);   
  }
  else {
    digitalWrite(zjq7, LOW);   
  }
  Serial.println(sensorReading);  
}


相同代码编写在nano中继电器灯亮但是用电器不工作

发表于 2021-12-24 19:23 | 显示全部楼层
供电不足继电器没吸合.
发表于 2021-12-25 08:13 | 显示全部楼层
一般來講負觸發的驅動電流比較高
可以將繼電器線圈改一端常時接正電,另一端
接MCU I/O,用 LOW 輸出準位來驅動繼電器

BTW,繼電器線圈記得要接飛輪二極體免得
傷到 I/O 端口,或者加 ULN2003 這類的 IC
(內建飛輪二極體)來驅動繼電器,對 MCU
的負擔比較小、順便有保護作用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 17:57 , Processed in 0.071641 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表