单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:3516|回复: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;
   }
}

评分

黑币 +50
收起理由
+ 50
共享资料的黑币奖励!

查看全部评分

沙发
ID:584041发表于 2019-7-21 17:39|只看该作者
额,,,不知所云
板凳
ID:437261发表于 2019-8-25 19:05|只看该作者
干活,多谢楼主

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

Powered by 单片机教程网