繁体   English   中英

Arduino/Genuino Uno 的错误编译板 [暂停]

[英]Error compiling board for Arduino/Genuino Uno [on hold]

我仍然是 arduino 的初学者。 我正在构建一个带有 PIRsensor(运动传感器)、超声波传感器、LCD 显示器和 IR 传感器的 Arduino 安全系统。 我的错误是:

Arduino:1.8.9(Windows 10),板:“Arduino/Genuino Uno”

Tone.cpp.o(来自插件的符号):在 function `timer0_pin_port' 中:

(.text+0x0): `__vector_7' 的多重定义

library\IRremote\IRremote.cpp.o(来自插件的符号):(.text+0x0):首先在这里定义

collect2.exe:错误:ld 返回 1 退出状态

退出状态 1

为板 Arduino/Genuino Uno 编译错误。

如果你想看我的完整代码,这里是:

#include <C:\Users\LENOVO USER\Documents\Arduino\libraries\U8glib\src\U8glib.h>
#include <LiquidCrystal.h>
#include <IRremote.h>     

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int trigPin = 10;
const int echoPin = 9;
const int buzzer = 6; //buzzer to arduino pin 6

int ledPin = 7;
int RECV_PIN = 13; 
int PIRsensor = 8;              // PIR sensor(motion sensor)
int state = LOW;             // by default, no motion detected
int val = 0;                 // variable to store the sensor status (value)
int countdown = 0;

float duration, distance;    //Ultrasonic sensor

IRrecv irrecv(RECV_PIN);     
decode_results results; 

void setup() {
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  pinMode(echoPin, INPUT); // Sets the echoPin as an Input

  lcd.begin(16, 2);
  irrecv.enableIRIn();  

  pinMode(buzzer, OUTPUT); // Set buzzer - pin 9 as an output
  pinMode(ledPin, OUTPUT);
  pinMode(PIRsensor, INPUT);    // initialize sensor as an input

  Serial.begin(9600); 
}

void loop() {
  val = digitalRead(PIRsensor);   // read sensor value
  if(state == LOW){
    digitalWrite(ledPin, HIGH);
    digitalWrite(trigPin, HIGH);
    duration = pulseIn(echoPin, HIGH);
    distance = (duration/58);
    if(distance >= 182){
      for(int i=0; i==30; i++){
        countdown++;
        delay(1000); 
      }
      if (irrecv.decode(&results)){     
       int value = results.value;  
       Serial.println(value);         
       switch(value){        
         case -7177: //Keypad button "2"  
         countdown = 0;
         lcd.print("Welcome!");
         delay(30000);     
       }
       switch(value){        
         case 12495: //Keypad button "1"  
         if(countdown == 30){
          tone(buzzer, 1000); // Send 1KHz sound signal...   
         }
       }
       switch(value){        
         case 539: //Keypad button "3"  
         if(countdown == 30){
          tone(buzzer, 1000); // Send 1KHz sound signal...   
         }
       }
       switch(value){        
         case 25979: //Keypad button "4"  
         if(countdown == 30){
          tone(buzzer, 1000); // Send 1KHz sound signal...   
         }
       }
       irrecv.resume();
      }  
    }
  }
  else{
      digitalWrite(ledPin, LOW);
  }
} 

请帮忙,谢谢!

IRRemote 库和tone function 使用相同的定时器。 你不能一起使用它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM