|
【R316】名片机
作者:机器谱
概述 |
3. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
概述
2. 结构说明
名片机采用“探索者”结构件搭建,整体结构以圆周舵机为驱动元,采用摩擦力的方式来控制名片的递出与回收;通过添加拉簧,利用弹簧的弹性可以更好的适应不同数量的名片;整体结构两侧添加螺丝,用以防止名片在结构内或者运动过程中跑偏位置;前侧添加双弧形零件,可以阶梯状筛选伸出的名片,以保证每次只递出一张名片。
主控板 | |
扩展板 | |
传感器 | |
电池 | 7.4V锂电池 |
/*------------------------------------------------------------------------------------ 版权说明: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次 | 下载 |