机器谱

R316】名片机

作者:机器谱

图文展示3264(1)

图文展示3264(1)

副标题

概述

3. 电子硬件

在这个示例中,我们采用了以下硬件,请大家参考:

1. 功能描述

      本文示例将用两种模式来控制R316样机名片机实现功能。

      自动模式:当 近红外传感器 触发时,名片机将名片推出去;等待3秒后,名片机将名片收回来(该功能模拟用户自动取名片的情形)。

      复位模式: 触碰传感器 触发时,程序进入复位模式,名片机做收回名片的动作(模拟当厂家感觉到名片机位置发生偏移时,需要重新校准名片机的情形)。

概述

2. 结构说明

      名片机采用“探索者”结构件搭建,整体结构以圆周舵机为驱动元,采用摩擦力的方式来控制名片的递出与回收;通过添加拉簧,利用弹簧的弹性可以更好的适应不同数量的名片;整体结构两侧添加螺丝,用以防止名片在结构内或者运动过程中跑偏位置;前侧添加双弧形零件,可以阶梯状筛选伸出的名片,以保证每次只递出一张名片。

/*------------------------------------------------------------------------------------

  版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.

           Distributed under MIT license.See file LICENSE for detail or copy at

           https://opensource.org/licenses/MIT

           by 机器谱 2023-12-26 https://www.robotway.com/

  ------------------------------*/

/*

-------------------------------------------------------------------------------

名称:

  名片机

接线:

    A0:近红外传感器,控制程序进入自动模式

    A3:触碰传感器,控制程序进入复位模式

    D4:圆周舵机引脚

   

功能说明:

  1.当A0触发时:用手遮挡A0后,名片机会将名片推出去,

            等待3秒后,名片机收回来(该功能为简称为用户自动取名片)

 

  2.当A3触发时,程序进入复位模式.这里的意思是,当厂家感觉自己的名片机位置发生偏移后,需要

            重新校准名片机,按下A3后,名片机做收回的动作.

  3.其他情况暂时忽略

--------------------------------------------------------------------------------

*/

#include<Servo.h>                 //调用舵机库函数

Servo card_servo;                 //声明名片机器

#define servo_port 4              //定义名片机舵机引脚

#define sensor_numbers 3          //定义传感器数量

#define spit_out   100              //名前机器吐出名片速度(顺时针)

#define take_back 75              //名前机器收回名片速度(逆时针)

#define stop_move 85              //名片机圆周舵机停止转动

#define servo_spitout_time   500   //名片机将名片推出去花费的时间.单位(毫秒)

#define servo_tackback_time 500   //名片机收回来花费的时间.单位(毫秒)

#define wait_time           3000   //名片机动作等待时间.等待用户拿名片时间,单位(毫秒)

int current_work = 0;             //记录名片机工作模式 0:表示自动模式   2:表示复位模式

int sensor[2] = {A0,A3};     //定义传感器引脚   A0近红外传感器. A3触碰传感器

void setup() {

  delay(1000);Serial.begin(9600);

  sensor_init(); //传感器引脚初始化

  servo_init();   //舵机引脚初始化

}

void loop() {

  business_card_work(); //名片机开始工作

}


void business_card_work(){ //名片机开始工作

  int get_data = get_sensor_value();

  switch(get_data)

  {

    case 0: break;

    case 1: { //当A0传感器触发时,程序进入自动模式

              business_card_spit_out(); //名片机将名片推出去

              delay(wait_time);         //名片机动作等待时间,等待用户拿名片时间

              business_card_take_back();//名片机收回来

            }break;

    case 2: { //当A3传感器都触发时,程序进入复位模式.单纯的让名片机做收回来的动作

              business_card_take_back();//名片机收回来

            }break;

    case 3: { //当A0,A3传感器都触发时,默认为自动模式,名片推出

              business_card_spit_out(); //名片机将名片推出去

              delay(wait_time);         //名片机动作等待时间,等待用户拿名片时间

              business_card_take_back();//名片机收回来

            }break;     

    default: break; //其他情况默认不考虑

  }

}

电路连接:

① 近红外传感器:连在Bigfish扩展板的A0端口上

② 触碰传感器:连在Bigfish扩展板的A3端口上

③ 舵机:连在Bigfish扩展板的D4端口上

4. 功能实现

      编程环境:Arduino 1.8.19

      功能:近红外传感器触发时,名片机将名片推出去,等待3秒后,名片机将名片收回来;当触碰传感器触发时,名片机做收回名片的动作。

① 下面提供一个参考主程序(Main_Program.ino):

下面提供一个名片机开始工作的程序(Work.ino):

5. 资料清单

序号

内容

1

程序源代码

2

样机三维文件


文件下载
【整体打包】-【R316】名片机-概述-资料附件.rar
1.66MB下载12次下载
上一页 1 下一页
© 2024 机器时代(北京)科技有限公司  版权所有
机器谱——机器人共享方案网站
学习  开发  设计  应用