SG90舵机(Arduino)/XY轴摇杆使用(Arduino)

XY轴摇杆使用

需要注意,必须是 ADC 引脚才可以接收模拟信号输入

c 复制代码
/** 接线
 *  PS2摇杆      Arduino
 *  x           A0
 *  y           A1
 *  sw          7
*/

const int yg_x_pin = A0;
const int yg_y_pin = A1;
const int yg_btn_pin = 7;  // 摇杆按下的输入引脚 

void setup() {
  // 摇杆引脚连接
  pinMode(yg_btn_pin, INPUT);
  digitalWrite(yg_btn_pin, HIGH);
 
  Serial.begin(9600);
}

void loop() { 
  // x/y 引脚读取需要使用 analogRead,按钮使用 digitalRead 即可
  yg_x_val = analogRead(yg_x_pin);
  yg_y_val = analogRead(yg_y_pin);
  yg_btn_val = digitalRead(yg_btn_pin); 
  
  
  // Serial.print("\tX: ");
  // Serial.print(yg_x_val, DEC);
  // Serial.print("\tY: ");
  // Serial.print(yg_y_val, DEC);
  // Serial.print("\tZ: ");
  // Serial.println(yg_btn_val);
}

SG90舵机

c 复制代码
/**
 **** Arduino 接线 ****
 * Arduino   传感器
 * 5v       红色
 * GND       棕色
 * 8         黄色      
**/


#include <Servo.h>
Servo myservo;

void setup() {
  // 连接上引脚,注意这里每个舵机的后两位值是不一样的,如果发现舵机转动的角度不对时可以设置后面两位数组,默认情况下无需设置
  // myservo.attach(引脚, 脉冲宽度最小值, 脉冲宽度最大值);
  // D5 可以输出 PWM , D5 引脚对应 gpio14
  myservo.attach(8, 500, 2500); 
}
void loop() {
    int pos;
   // 慢慢转动到 180 度
  for (pos = 0; pos <= 180; pos += 1) {
    myservo.write(pos);
    delay(15);
  }

   // 慢慢转动到 0 度
  for (pos = 180; pos >= 0; pos -= 1) {
    myservo.write(pos);
    delay(15);
  }
}
相关推荐
Quanqiucard11 小时前
充电桩物联网卡如何精细化管理?实现企业高效降本增效
物联网
Inhand-Victor12 小时前
智慧药房如何实现智能化?从设备联网到边缘AI推理的解决方案实践
物联网·视频
K成长日志13 小时前
BLE链路层-隐私保护
网络·物联网·蓝牙·iot·ble
superxxd15 小时前
基于rust的多平台原生GIS引擎
人工智能·物联网·实时音视频
wuyk55516 小时前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
YCOSA202516 小时前
迎双节 雨晨 Windows 11 IoT 企业版 LTSC 26H1 轻装 28000.2956
windows·物联网
Ricon组态薄荷糖17 小时前
Ricon组态系统:工业组件开发指南与实践
前端·后端·物联网
会周易的程序员1 天前
5 节点边缘冗余方案(上):基于 aiRaft 的物联网高可用控制面设计
c++·分布式·物联网·raft·iot·共识
AISenz1 天前
AIMesh 2.5 vs SmartMesh IP:6TiSCH 工业无线协议对比与选型指南
物联网·工业物联网·物联网协议
当下新鲜事1 天前
空调机房冷冻泵与冷却泵技术分析:赛莱默B&G背包式智能变频管道泵的工程应用
运维·物联网·业界资讯