180度舵機文章來源:http://www.zghlxwxcb.cn/news/detail-591623.html
//驅動180讀舵機 安裝ServoESP32庫
//接線 棕色 負極 紅色 5V 橘黃色 信號線 D4
//安裝庫 ServoESP32
//控制舵機正傳180度 反轉180度
#include <Servo.h>
static const int servoPin = 4;
Servo servo1;
void setup() {
Serial.begin(115200);
servo1.attach(servoPin);
}
void loop() {
for(int posDegrees = 0; posDegrees <= 180; posDegrees++) {
servo1.write(posDegrees);
Serial.println(posDegrees);
delay(20);
}
for(int posDegrees = 180; posDegrees >= 0; posDegrees--) {
servo1.write(posDegrees);
Serial.println(posDegrees);
delay(20);
}
}
360度舵機文章來源地址http://www.zghlxwxcb.cn/news/detail-591623.html
#include <Arduino.h>
int t = 100;
int channel_PWM = 3; //使用3號通道 定時器1 總共16個通道
// 舵機頻率,那么周期也就是1/50,也就是20ms ,PWM?共有16個通道,0-7位?速通道由80Mhz時鐘驅動,后?8個為低速通道由1Mhz
int freq_PWM = 50; //50HZ pwm波
// PWM分辨率,取值為 0-20 之間 ,這?填寫為10,那么后?的ledcWrite 這個??填寫的pwm值就在 0 - 2的10次? 之間 也就是 0-1024,如果是要求不?的東西你可以直接拿1000去算了
int res_PWM = 10; //分辨率 0-1024 共1025
const int PWM_PIN = 4; //使用4號引腳
void setup() {
ledcSetup(channel_PWM,freq_PWM,res_PWM); //設置通道
ledcAttachPin(PWM_PIN,channel_PWM); //將引腳綁定到通道上
}
//正傳t秒 停止t秒 反轉t秒 停止t秒 循環(huán)...
void loop() {
ledcWrite(channel_PWM,52); //20ms?電平為1ms左右 ,也就是1/20*1024 = 52,此時360度舵機正傳5秒
delay(t);
ledcWrite(channel_PWM, 77); //20ms?電平為1.5ms左右 ,也就是1.5/20*1024 = 77,此時360度舵機?乎停轉
delay(t);
ledcWrite(channel_PWM, 102); //20ms?電平為2ms左右 ,也就是2/20*1024 = 102,此時360度舵機反轉
delay(t);
ledcWrite(channel_PWM, 77); //20ms?電平為1.5ms左右 ,也就是1.5/20*1024 = 77,此時360度舵機?乎停轉
delay(t);
//ledcDetachPin(PWM_Pin); //這個是解除IO?的pwm輸出功能模式
}
到了這里,關于ESP32使用Arduino驅動180 360度舵機的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!