Joystick控制舵机旋转

来自Microduino Wikipedia
Hustshenyang@126.com讨论 | 贡献2015年7月15日 (三) 14:30的版本 (Created page with "{{Language| Joystick控制舵机旋转}} {| style="width: 800px;" |- | ==目的== 通过Joystick摇杆来控制舵机进行旋转。 ==原理== ==设备== {|class="wikitable...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

通过Joystick摇杆来控制舵机进行旋转。

原理

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-Sensorhub/zh 1 传感器转接板
Microduino-Servo/zh 1 舵机转接板
Mirco Servo/zh 1 舵机
Microduino-Joystick/zh 1 摇杆传感器
Microduino-BM/zh 1 电源管理

搭建硬件

  • Setup 1:将CoreUSB接到电脑。打开示例程序,选择好板卡和串口下载程序。

Joystick_Servo

  • Setup 2:将CoreUSB与Sensorhub叠堆。
  • Setup 3:将舵机连到舵机转接板,再将舵机转接板接到Sensorhub的D8引脚上,将Joystick摇杆传感器接到A0、A1引脚上。
Microduino-sensorhub rule.JPG

软件调试

代码说明

  • Joystick控制引脚定义:
#define JoystickX_PIN A1
#define JoystickY_PIN A0
  • 计算Joystick摇杆所在的角度,然后将舵机旋转到对应的角度。
    float valueX = (float)(analogRead(JoystickX_PIN)-512);
    float valueY = (float)(analogRead(JoystickY_PIN)-512);
    float valueL = sqrt(sq(valueX)+sq(valueY));        
    float angle = asin(valueX/valueL)*180/PI;     //通过反三角函数计算摇杆的角度
    myservo.write(angle+90);       //舵机旋转到对应角度
    delay(100);

结果

将Joystick的摇杆推到不同的角度,舵机也会旋转到对应的角度。

视频