[英]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.