7599| 0
|
[项目] 一个Pan-Tilt迷宫游戏台 |
本帖最后由 gada888 于 2019-10-2 16:23 编辑 这次做个简单的项目,一个云台,可以上下,左右的运动。它主要是通过两个粘在一起的的上下两个伺服电机来实现的。 废话不多说,直接开干。 首先弄个弹珠台,可以买一个,或3D打印一个,我没有,正在学习3D打印软件。希望以后会有。云台部分类似相机云台 只是这次做的没那么高端,用一个简单粗暴的方法实现这个功能。 这次的主角是三轴摇杆 和伺服电机 我从DF商城里捎带买了这个游戏杆,比我以前用的要精准。 主控用了Arduino romeo,主要为连线方便。 先看下连线图 为简化连线,我没有连VCC和GND。下面有拍摄的连线照片。可以看的很清楚。 [mw_shl_code=applescript,true]//created by gada888 in 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); }[/mw_shl_code] 完美运行 视频晚点奉上 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed