Arduino利用红外感应控制舵机
实现功能:当红外感应到人时,控制舵机转动180度
参考:基于Arduino的多种方式控制舵机(舵机、电位器、蓝牙).
硬件连接:
舵机连接:
Arduino | Micro Servo 9g |
---|---|
5V | 红线 |
GND | 棕色 |
PWM~9 | 橙色 |
如图:
实现:在串口输入舵机转动角度,arduino控制舵机转动相应角度。
代码:
#include <Servo.h> //调用库文件Servo myservo; // 创建一个伺服电机对象 char inByte = 0; //串口接收的数据
int angle = 0; //角度值
String temp = "";//临时字符变量void setup()
{ myservo.attach(9); //定义舵机的引脚为9Serial.begin(9600); //设置波特率
} void loop()
{ while (Serial.available() > 0) //判断串口是否有数据 { inByte = Serial.read();//读取数据,串口一次只能读1个字符 temp += inByte;//把读到的字符存进临时变量里面缓存, //再继续判断串口还有没有数据,直到把所有数据都读取出来 } if(temp != "") //判断临时变量是否为空 { angle = temp.toInt(); //把变量字符串类型转成整型 Serial.println(angle); //输出数据到串口上,以便观察 } temp = "";//清空临时变量 myservo.write(angle); //控制舵机转动相应的角度。 delay(100);//延时100毫秒
}
红外连接:
Arduino | HC-SR501红外 |
---|---|
5V | + |
A5 | OUT |
GND | - |
实现:当感应到人时,舵机旋转180度,反之,旋转0度。
代码:
#include <Servo.h> //调用库文件
Servo myservo; // 创建一个伺服电机对象 int angle1 = 0; //原始角度值
int angle2 = 180; //旋转角度值
int Sensor_pin = A5;void setup()
{pinMode(Sensor_pin,INPUT); //设置人体红外接口为输入状态
myservo.attach(9); //定义舵机的引脚为9
Serial.begin(9600);
}
void loop()
{int val=digitalRead(Sensor_pin); //定义参数存储人体红外传感器读到的状态
Serial.println(val);
if(val == 1) //如果检测到有人(在检测范围内)
{myservo.write(angle2); //控制舵机转动相应的角度。
}
else
{myservo.write(angle1); //控制舵机转动相应的角度。
}
delay(100); //延时100毫秒
}
总接线图:
Arduino利用红外感应控制舵机相关推荐
- 关于以Arduino为主板,利用红外遥控器控制42步进电机同步带滑台移动
Arduino控制步进电机 Arduino控制滑台 Arduino红外遥控 红外遥控步进电机 红外遥控滑台 本案例使用物品 Arduino Mega 1838红外一体接受器 红外遥控器 200mm同步 ...
- Arduino人体红外模块控制
Arduino人体红外模块控制 示例代码 /** Arduino UNO R3(或Arduino Nano)连接红外人体感应模块检测是否有人*/int irSensorPin = 3;//Arduin ...
- Arduino人体红外感应+继电器+蜂鸣器
实现功能:当人体红外感应到人时,蜂鸣器报警,继电器模块闭合:反之,继电器模块断开. 模块连接: Arduino人体红外和继电器连接同Arduino人体红外感应+继电器. 蜂鸣器连接: Arduino ...
- 基于Arduino的红外遥控器控制MP3播放
基于Arduino的红外遥控器控制MP3播放(MP3音乐模块.红外接收模块.红外遥控器) ✨通过红外遥控器来控制音乐播放
- Arduino人体红外感应+继电器
Arduino利用人体红外控制继电器 参考文档: Arduino学习(六) 继电器实验. 实现功能:当红外感应到人时,继电器模块闭合,反之继电器模块断开. 继电器连接: Arduino uno 继电器 ...
- Arduino学习记录——蓝牙控制舵机(含LED指示灯)
文章目录 前言 一.学习目的 二.模块介绍 三.代码记录 前言 今天记录一下有关舵机的学习,由于我的舵机在51和STM32系列单片机上都好像有供电不足的情况,然后我的电源模块也没到,所以就用Ar ...
- openmv利用模板匹配+控制舵机来控制小车使P点触碰到靶心
(注:每行代码的解释均已标注,适合复习使用和openmv新手学习) import sensor, time, image from image import SEARCH_EX, SEARCH_DS ...
- Arduino利用蓝牙远程操控舵机运转(Arduino+ZS040+电机)
Arduino蓝牙远程操控舵机运转(Arduino+ZS-040 or HC-05+电机) 一.效果内容 二.ZS-040蓝牙设置 三.电机的接线及设置 大功告成!编写不易,大家成功后点个关注or赞谢 ...
- Arduino篇-红外遥控器控制小车
#include <IRremote.h> const int irReceiverPin =2; //定义红外接收模块的信号接收为D2引脚 IRrecv irrecv (irReceiv ...
最新文章
- Eclipse使用Maven建立SSM多模块的项目
- 如何去重一个Oracle表
- c++ 获取64位进程模块地址_针对银行木马BokBot核心模块的深入分析
- Linux配置基础命令
- swift 适配的方法autolayout 和 masory===snapKit库
- windows系统-程序加载时生成栈和堆的过程
- Qt连接Myql的那些事,关于QT连接报错driverNoLoad问题
- Docker的基本使用(部署python项目)+两个奇技淫巧,将 Docker 镜像体积减小 99%
- 【Python】Numpy中对向量、矩阵的使用
- c语言中浮点数如何声明,C语言中浮点数定义和文本处理的配合
- URL传递中文、Ajax传递中文,Java如何编码如何解决乱码
- SSH远程启动tomcat后,退出SSH,tomcat也退出
- vue中实现视频直播(萤石云)/实时视频:
- Unity调用安卓文件管理器
- 现代经济感悟(4)-为什么一分钱一分货,两分货却要一块钱
- 数据库常用表操作SQL语句案例
- 编程练习:头条校招题
- 关于socket error 10054
- “易语言.飞扬”十分钟入门教程
- f5双机配置_F5负载均衡器双机切换机制及配置