找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3365|回复: 2
打印 上一主题 下一主题
收起左侧

Arduino UNO+红外+舵机,用于流水线处理工件

[复制链接]
跳转到指定楼层
楼主
ID:564890 发表于 2019-7-10 17:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本程序所用Arduino开发板为Arduino UNO开发板
通过红外传感器检测工件,当工件经过时舵机响应,对工件进行操作
此程序实现的功能为:
Arduino启动,当传感器检测到工件,舵机开始旋转90°,
当再次检测到下一个工件,舵机回转90°,就这样在每次检测到工件时来回摆动

#include <Servo.h>    // 声明调用Servo.h库
Servo myservo;        // 创建一个舵机对象
int PIN_SENSOR = 13; //红外传感器引脚
int n=0;
void setup()
{
   pinMode(PIN_SENSOR, INPUT);  
   Serial.begin(4800);//设置波特率为4800
   myservo.attach(9);  // 将引脚9上的舵机与声明的舵机对象连接起来
}
void loop()
{
  int y = digitalRead(PIN_SENSOR);   //读取传感器信号
  Serial.println(y);
  delay(5);
  int x = digitalRead(PIN_SENSOR);//延时5ms再次读取传感器信号
  Serial.println(x);
  if (x==0)
    {
      if (x||y)                               //对两次读取值进行综合判断,确定舵机是否执行
      { n=n+1;
         if (n%2==1)                                 
             {myservo.write(0);                // 给舵机写入角度0°  
              delay(5);
             }
         if (n%2==0)                                      
             {myservo.write(90);               // 给舵机写入角度90°   
              delay(5);
             }   
       }  
     else
        return;
    }
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:584041 发表于 2019-7-21 17:39 | 只看该作者
额,,,不知所云
回复

使用道具 举报

板凳
ID:437261 发表于 2019-8-25 19:05 | 只看该作者
干活,多谢楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表