簡體   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