首页 > 编程语言 >基于MicroPython的ESP8266控制舵机的设计方案

基于MicroPython的ESP8266控制舵机的设计方案

时间:2024-09-12 16:52:49浏览次数:14  
标签:duty MicroPython angle ESP8266 引脚 舵机 PWM

       以下是一个基于MicroPython的ESP8266控制舵机的设计方案:

 一、硬件准备

1. ESP8266开发板(如NodeMCU)。

2. 舵机(如SG90)。

3. 杜邦线若干。

 二、硬件连接

1. 将5V直流电源连接到舵机的电源引脚(通常为红色线)。

2.将3.3V直流电源连接到ESP8266的3.3V管脚。

3. 将ESP8266的GND引脚连接到舵机的地线引脚(通常为黑色线)。

4. 将ESP8266的任意一个GPIO引脚(如D1管脚对应GPIO5)连接到舵机的控制信号线(通常为黄色线)。 

三、MicroPython编程

#导入所需库
import machine
import time

# 连接舵机控制引脚的GPIO编号
servo_pin = machine.Pin(5, machine.Pin.OUT)

# 创建一个PWM对象
pwm = machine.PWM(servo_pin)

# 设置PWM频率为50Hz,这是舵机常用的控制频率
pwm.freq(50)

# 定义舵机的最小和最大角度对应的脉宽值
min_duty = 30  #根据实际情况调整
max_duty = 120  #根据实际情况调整

# 定义角度转换为占空比函数
def set_angle(angle):
    duty = int((angle / 180) * (max_duty - min_duty) + min_duty)
    pwm.duty(duty)

# 测试,将舵机转动到不同角度
set_angle(0)
time.sleep(1)
set_angle(90)
time.sleep(1)
set_angle(180)
time.sleep(1)

# 停止PWM输出
pwm.deinit()
 
       以上代码首先设置了连接舵机的GPIO引脚为输出模式,并创建了一个PWM对象。然后定义了舵机最小和最大角度对应的占空比值,之后定义了将角度转换为占空比的函数,并使用这个函数将舵机转动到不同角度进行了测试。最后停止PWM输出。
       请注意,不同的SG90舵机可能在脉宽值和角度对应关系上略有差异,需要根据实际情况调整min_duty和max_duty的值。

标签:duty,MicroPython,angle,ESP8266,引脚,舵机,PWM
From: https://blog.csdn.net/m0_46311182/article/details/142103197

相关文章

  • 基于MicroPython的ESP8266与超声波传感器设计方案
        基于MicroPython的ESP8266与超声波传感器的设计方案:一、硬件准备1. ESP8266开发板(如NodeMCU)2. 超声波传感器(如HC-SR04)3. 杜邦线若干 二、硬件连接1. 将超声波传感器的VCC引脚和ESP8266的3.3V引脚,分别连接5V和3.3V电源。2. 将超声波传感器的GND引脚......
  • STM32L431RC 光照度+温湿度+电机+ESP8266+腾讯云+CSDN 项目
    鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)STM32L431RC光照度+温湿度+电机+ESP8266+腾讯云+CSDN项目介绍1.项目概述......
  • 使用ESP8266-01s的一些知识点
    在这里发表自己并记录自己在做项目的一些问题以及注意事项关于ESP8266通过API接口物联网技术获取当前天气以及当前时间的步骤:1.AT (进入AT指令模式)应答:OK2.AT+CWMODE=1 (设置为STA模式)应答:OK//设置工作模式1:station模式2:AP模式3:兼容AP+station模式3.AT+RS......
  • 【探索科技之翼:舵机工作原理的奇妙之旅】
    舵机如同一颗璀璨的星辰,以其独特的魅力照亮了众多创新领域的道路。它不仅是机器人、无人机及模型制作的核心部件之一,更是实现精准控制与动态平衡的关键。今天,就让我们一起踏上这场探索之旅,通过生动的动画演示与实际应用案例,深入了解舵机那令人着迷的工作原理及其在各类智能设备......
  • 基于micropython的ESP8266控制触摸传感器的设计方案
       以下是一个基于MicroPython的ESP8266控制触摸传感器的设计方案:一、硬件准备1. ESP8266开发板(如NodeMCU)       2. 触摸传感器模块(如TTP223触摸传感器)   3. 杜邦线若干                    ......
  • stm32 TIM输出比较(PWM驱动LED呼吸灯&&PWM驱动舵机&&PWM驱动直流电机)
    理论1.输出比较简介OC(OutputCompare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出的功......
  • 高精度,强扭矩,舵机让每一次转动都精准无误!
    深入探索科技的前沿,我们不得不聚焦于一款革新性的动力核心——高精度、强扭矩的舵机。这项技术杰作,以其精湛的工艺与尖端的技术,重新定义了精密控制的新标准,无论是翱翔天际的航模,还是穿梭于复杂任务中的机器人手臂,都因它而焕发出前所未有的活力与精准。核心技术解析:高精度舵机......
  • ESP-WROOM32编译带LVGL的MicroPython | lv_micropython for ESP32
    ESP-WROOM32编译带LVGL的MicroPython|lv_micropythonforESP32有关LVGL和MicroPython的详细信息,请访问以下链接:lv_micropythonGitHub仓库ESP32端口目录说明lv_micropython已经包含了这些驱动程序:lv_micropython最大支持到v4.4版本,因此需要下载esp-idfv4.4......
  • 手机点灯控制ESP8266板载LED
    #defineBLINKER_PRINTSerial#defineBLINKER_WIFI#include<Blinker.h>charauth[]="c9876669831c";//上一步中在app中获取到的SecretKeycharssid[]="ChinaNet-Ks22";//您的WiFi热点名称charpswd[]="12345678";//您的WiFi密码#include......
  • ESP8266 AP模式配置WIFI
    #include<Arduino.h>#include<ESP8266WiFi.h>#include<WiFiManager.h>//导入WIFI管理模块voidsetup(){Serial.begin(115200);//配置示波器默认频率WiFiManagermanager;//实例化WIFI管理对象manager.autoConnect("esp8266","12345678&q......