#include <Servo.h>
#include <SPI.h> // 引用程式庫
#include <LiquidCrystal.h>
LiquidCrystal lcd(3, 5, 10, 11, 12, 13);
Servo myservo; // 定义舵机对象
int serpin = 7; //舵机引脚定义
int pos = 0; // 定义舵机转动位置
int pinBuzzer = 3; //数字引脚D3连接到蜂鸣器模块的信号脚
int ledpin = 2;//定义红外探测器2引脚
void setup()
{
pinMode(ledpin, INPUT);//初始化
Serial.begin(9600); // 打开串口,设置波特率为9600 bps
lcd.begin(16, 2); //初始化LCD1602
lcd.print("Hello"); //液晶显示Hello
delay(1000); //延时1000ms
lcd.clear(); //液晶清屏
Serial.println("RFID reader is ready!");
myservo.attach(serpin); // 设置舵机控制针脚
SPI.begin();
}
void loop()//Arduino的循环语句
{
int value = digitalRead(ledpin); //定义传感器检测到的值为value
Serial.println(value);
if(value==HIGH)//如果它的值为高电平,即检测到有人通过
{
Serial.println("Someone!");//输出有人
long frequency = 300; //频率, 单位Hz
lcd.setCursor(0, 0); //设置液晶开始显示的指针位置,0列0行,人类理解的第一行
lcd.print("Wellcome!!");
delay(1000); //延时1000ms
lcd.clear(); //液晶清屏
//用tone()函数发出频率为frequency的波形
tone(pinBuzzer, frequency );
delay(1000); //等待1000毫秒
noTone(pinBuzzer);//停止发声
delay(1000); //等待1000毫秒
// 0到180旋转舵机,每次延时15毫秒
for (pos = 0; pos < 180; pos += 1)
{
myservo.write(pos);
delay(15);
}
delay(2000); //等待2000毫秒
// 180到0旋转舵机,每次延时15毫秒
for (pos = 180; pos >= 1; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}
else
{
Serial.println("Nobody");//输出没人
}
delay(1000);
}
#include <SPI.h> // 引用程式庫
#include <LiquidCrystal.h>
LiquidCrystal lcd(3, 5, 10, 11, 12, 13);
Servo myservo; // 定义舵机对象
int serpin = 7; //舵机引脚定义
int pos = 0; // 定义舵机转动位置
int pinBuzzer = 3; //数字引脚D3连接到蜂鸣器模块的信号脚
int ledpin = 2;//定义红外探测器2引脚
void setup()
{
pinMode(ledpin, INPUT);//初始化
Serial.begin(9600); // 打开串口,设置波特率为9600 bps
lcd.begin(16, 2); //初始化LCD1602
lcd.print("Hello"); //液晶显示Hello
delay(1000); //延时1000ms
lcd.clear(); //液晶清屏
Serial.println("RFID reader is ready!");
myservo.attach(serpin); // 设置舵机控制针脚
SPI.begin();
}
void loop()//Arduino的循环语句
{
int value = digitalRead(ledpin); //定义传感器检测到的值为value
Serial.println(value);
if(value==HIGH)//如果它的值为高电平,即检测到有人通过
{
Serial.println("Someone!");//输出有人
long frequency = 300; //频率, 单位Hz
lcd.setCursor(0, 0); //设置液晶开始显示的指针位置,0列0行,人类理解的第一行
lcd.print("Wellcome!!");
delay(1000); //延时1000ms
lcd.clear(); //液晶清屏
//用tone()函数发出频率为frequency的波形
tone(pinBuzzer, frequency );
delay(1000); //等待1000毫秒
noTone(pinBuzzer);//停止发声
delay(1000); //等待1000毫秒
// 0到180旋转舵机,每次延时15毫秒
for (pos = 0; pos < 180; pos += 1)
{
myservo.write(pos);
delay(15);
}
delay(2000); //等待2000毫秒
// 180到0旋转舵机,每次延时15毫秒
for (pos = 180; pos >= 1; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}
else
{
Serial.println("Nobody");//输出没人
}
delay(1000);
}