XY轴摇杆使用
需要注意,必须是 ADC
引脚才可以接收模拟信号输入
/** 接线
* 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舵机
/**
**** 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);
}
}