gada888 发表于 2019-9-30 18:15:18

一个Pan-Tilt迷宫游戏台

本帖最后由 gada888 于 2019-10-2 16:23 编辑

这次做个简单的项目,一个云台,可以上下,左右的运动。它主要是通过两个粘在一起的的上下两个伺服电机来实现的。

废话不多说,直接开干。

首先弄个弹珠台,可以买一个,或3D打印一个,我没有,正在学习3D打印软件。希望以后会有。云台部分类似相机云台


只是这次做的没那么高端,用一个简单粗暴的方法实现这个功能。
这次的主角是三轴摇杆

和伺服电机

我从DF商城里捎带买了这个游戏杆,比我以前用的要精准。
主控用了arduino romeo,主要为连线方便。



先看下连线图

为简化连线,我没有连VCC和GND。下面有拍摄的连线照片。可以看的很清楚。



//created by gada888in China 30-09-2019

#include <Servo.h>

int ServoXPin = 9;   
int ServoYPin = 10;   

int XPotPin = 0; //x
int YPotPin = 1; //y
int ZPotPin = 3; //key

int ServoX_Min = 0;
int ServoX_Max = 180;
int ServoY_Min = 0;
int ServoY_Max = 180;

Servo XServo;
Servo YServo;   

int XPotValue;         
int XServoPosition;   
int YPotValue;         
int YServoPosition;   

void setup()   
{
XServo.attach(ServoXPin);   
YServo.attach(ServoYPin);         
}

void loop()
{
int x,y,z;
x=analogRead(XPotPin);
y=analogRead(YPotPin);
z=digitalRead(ZPotPin);
XPotValue= analogRead(XPotPin);
YPotValue= analogRead(YPotPin);
XServoPosition= map(XPotValue, 0, 1023, ServoX_Min , ServoX_Max);
YServoPosition= map(YPotValue, 1023, 0, ServoX_Max , ServoX_Min);   
XServo.write(XServoPosition);      
YServo.write(180-XServoPosition);      
delay(50);   
}



完美运行
视频晚点奉上
https://v.youku.com/v_show/id_XNDM4Mzk5NDE4OA==.html?spm=a2hzp.8244740.0.0
页: [1]
查看完整版本: 一个Pan-Tilt迷宫游戏台