1-使用元件:
- 9G 舵机
- ARDUINO UNO
- 面包板
- 跳线
2-实现功能
原理:
手工测量距离,通过Serial输入给arduino,经过公式换算为按压屏幕的时长
arduino操作舵机按压屏幕,停留换算的时间后抬起舵机,实现跳跃。
3-代码
比较简单,从网上找来的
#include <Servo.h> //引入lib
float jump;
float press_time;
float timestamp;
Servo duoji; // 创建一个伺服电机对象
void setup()
{
duoji.attach(4); //定义舵机的引脚为4
duoji.write(155);
Serial.begin(9600); //设置波特率
}
void loop()
{
while (Serial.available() > 0) //判断串口是否有数据
{
jump = Serial.parseFloat();//读取数据,串口一次只能读1个字符
Serial.print(jump);
Serial.println("mm");
press_time = (316 * 2.099 * jump / 25.4) * 1000;
Serial.print( press_time / 1000 );
Serial.println("ms");
timestamp = micros();
duoji.write(155);
while(micros() - timestamp < press_time) {
}
duoji.write(140);
}
}
4-注意
1、需要在屏幕上贴上一小块的湿纸巾,并用水润湿,用来模拟手指触屏
2、杜邦线可以不用一直用手拿着,接到arduino的5V上即可
3、舵机的角度需要根据实际位置进行微调
跳一跳 物理外挂 跳一跳 物理外挂 跳一跳 物理外挂
网友评论