晒一晒自己DIY的桌面码垛机_第1页
晒一晒自己DIY的桌面码垛机_第2页
晒一晒自己DIY的桌面码垛机_第3页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、晒一晒自己 DIY 的桌面码垛机下面是程序#include <PS2X_lib.h> /for v1.6#include <Servo.h>PS2X ps2x; / create PS2 Controller ClassServo myservo;/ 创建伺服器对象Servo myservo1;Servo myservo2;Servo myservo3;int serover =3; / 定义舵机信号线接口int serover1=4;/ 小臂int serover2=5;/ 大臂int serover3=6;int pos;int pos1;int pos2;int

2、pos3;float x;/ 定义数学方程变量float y;float posa;float A;float B;float C;float D;float pi=acos(-1.0);int error = 0;byte type = 0;byte vibrate = 0;byte a = 0;void setup()Serial.begin(115200);myservo.attach(serover);myservo1.attach(serover1);myservo2.attach(serover2);myservo3.attach(serover3);pos=72;x=150;y=

3、0;pos3=90;servo_write();error = ps2x.config_gamepad(13,11,12,10,false, false); /setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for errorif(error = 0)Serial.println(); else if(error = 1)Serial.println();else if(error = 2)Serial.println();Serial.println();

4、/Serial.print(ps2x.Analog(1), HEX);type = ps2x.readType();switch(type) case 0:Serial.println(0);break;case 1:Serial.println(1);break;case 2:Serial.println(2);break;void loop()if(error = 1) /skip loop if no controller foundreturn; if(type = 2) /Guitar Hero Controller ps2x.read_gamepad(); /read contro

5、ller return;else /DualShock Controller ps2x.read_gamepad(false, vibrate);if(ps2x.Analog(PSS_LY)<127)y=y-2;/L-UPservo_write();if(ps2x.Analog(PSS_LY)>128)y=y+2;/L-DOWNservo_write();if(ps2x.Analog(PSS_LX)<127)x=x-2;/L-LEFTservo_write();if(ps2x.Analog(PSS_LX)>128)x=x+2;/L-RIGHTservo_write();

6、if(ps2x.Analog(PSS_LY)=127) &&(ps2x.Analog(PSS_LX)=128)/b_stop(); if(ps2x.Analog(PSS_RY)<127)pos+;/R-UPservo_write();if(ps2x.Analog(PSS_RY)>128)pos-;/R-DOWNservo_write();if(ps2x.Analog(PSS_RX)<127)pos3+;/R-LEFT servo_write();if(ps2x.Analog(PSS_RX)>128)pos3-;/R-RIGHTservo_write();

7、void servo_write()/ 写入舵机角度A=sqrt(x*x+y*y);/ 数学方程B=atan(y/x);C=acos(A/300);D=acos(1.0-A*A/45000);D=D/pi*180;posa=B+C;pos1=posa/pi*180;pos2=180-pos1-D;myservo.write(pos);myservo1.write(pos1);myservo2.write(pos2);myservo3.write(pos3);Serial.print(pos=);/ 显示 pos 的值Serial.println(pos);Serial.print(pos1=);/ 显示 pos1 的值Serial.println(pos1);Ser

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论