>

PCA9685舵机驱动板的使用方法

简介 PCA9685驱动板支持控制16路舵机,采用i2c通信协议。 VCC:PCA9685芯片的电源 V+:舵机的电源 舵机数量较少时电源可以通过V+引脚输入,较多时通过绿色电源输入端输入 Arduino驱动示例 #include <Wire.h> #include <Adafruit_PWMServoDriverh> #define SERVO_45 187 Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); void setup() { pwm.begin(); pwm.setPWMFreq(50); pwm.setPWM(0,0,SERVO_45); } 本示例使用了Adafruit PWM Servo Driver Library。 该程序可以使连接在PCA9685舵机驱动板上0号位的舵机转动45°。 setPWMFreq()设置了IIC通信的更新频率(50HZ对应脉冲周期20ms),setPWM()`的三个参数依次为舵机编号、脉冲起始时间、脉冲结束时间,其中脉冲时间要以寄存器的值来表示(187对应1.0ms)。 舵机控制逻辑 上述示例使用舵机型号为SG90,运动范围0°-180°,舵机的控制周期信号为20ms,工作脉冲在0.5ms-2.5ms之间,舵机的转动角度由PCA9685的12位寄存器中的值来决定,而寄存器的值由脉冲时间决定。故可以得到脉冲时间-寄存器值-转动角度的关系如下: '0.5ms-0°':0.5*204=102 '1.0ms-45°':1*204=204 '1.5ms-90°':1.5*204=306 '2.0ms-135°':2*204=408 '2.5ms-180°':2.5*204=510 然而在实际使用时会有误差出现,故除了0°与180°的情况,要将寄存器值乘以0.915的系数。 '0.5ms-0°':0.5*204=102 '1.0ms-45°':1*204=204*0.915=187 '1.5ms-90°':1.5*204=306*0.915=280 '2.0ms-135°':2*204=408*0.915=373 '2.5ms-180°':2.5*204

September 28, 2023 · 1 min

ESP8266-NodeMCU食用指南

基础知识 WIFI模式 接入点模式 esp8266作为接入点,其他设备通过wifi与esp8266连接。 示例: /* 此程序用于演示如何将NodeMCU以接入点模式工作。通过此程序,您可以使用 电脑或者手机连接NodeMCU所建立WiFi网络。 */ #include <ESP8266WiFi.h> // 本程序使用ESP8266WiFi库 const char* ssid = "wifi_name"; const char* password = "12345678"; // 如果建立的WiFi不要密码,则在双引号内不要填入任何信息 void setup() { Serial.begin(9600); // 启动串口通讯 WiFi.softAP(ssid, password); // 此语句是重点。WiFi.softAP用于启动NodeMCU的AP模式。 Serial.print("Access Point: "); // 通过串口监视器输出信息 Serial.println(ssid); // 告知用户NodeMCU所建立的WiFi名 Serial.print("IP address: "); // 以及NodeMCU的IP地址 Serial.println(WiFi.softAPIP()); // 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址 } void loop() { } 无线终端模式 esp8266与路由器连接。 /* 此程序用于演示如何将NodeMcu以接入点模式工作 */ #include <ESP8266WiFi.h> const char* ssid = "wifi_name"; const char* password = "pswd"; void setup(){ Serial....

September 20, 2023 · 3 min