最终目的

使用web界面控制SG90 9g舵机:

开发语言:MicroPython

所需硬件:NodeMcu-Esp8266开发板、SG90 9g舵机(180度版)

新人必看:

如驱动不成功,一般是舵机选择成了306度版本(一定要是180度版本的舵机),否则会没有任何反应,或者是主板供电不稳,因为驱动舵机,需要的是5v电压,虽说vin可以使用,但是有的时候会不稳定,特别是使用电脑usb作为供电,所以建议对舵机外接供电;

建议使用:webrepl烧录文件;


实现原理图:


舵机接线图:


控制舵机代码:

MicroPython控制舵机代码:

注意:修改代码中当你的WIFI名称,和WIFI密码;

import time
import network
import socket
from machine import Pin, PWM
# 作者:异想实验室
# https://blog.csdn.net/weixin_43775400def WIFI():# 连接WiFiwlan = network.WLAN(network.STA_IF)# 打开WiFi对象wlan.active(True)# 设置WiFi链接信息wlan.connect('WIFI名称', 'WIFI密码')class Control():def __yes__(self):print('舵机归零-平整')servo.duty(38)time.sleep(0.5)def __x1__(self):print('舵机左倾')servo.duty(58)time.sleep(0.5)def __x2__(self):print('舵机右倾')servo.duty(18)time.sleep(0.5)# 连接无线网络:
WIFI()# 定义引脚
servo = PWM(Pin(14), freq=50)
# 开机归零(让舵机平整)
sg90 = Control()#如果使用板载vin供电,开发板开机后功耗瞬间增大
# 有的时候会不稳定,也可以注释掉下面这一行代码
#建议对舵机外接电源;sg90.__yes__()# HTML网页模版文件,显示当前状态,有三个按钮,用来控制舵机,左倾,平整,右倾操作
html = """<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="shortcut icon" href="https://img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico"><title>Web控制舵机</title></head><body><h1>信息:%s</h1><br><br><a href="/x1""><button>左倾</button></a><a href="/y1""><button>平整</button></a><a href="/x2""><button>右倾</button></a><br /></body>
</html>
"""# 生成一个Socket对象
web = socket.socket()
# 绑定监听地址.0.0.0.0是全部ip:
web.bind(('0.0.0.0', 80))
# 监听数据
web.listen(1)webtext = "舵机控制"while True:cl, addr = web.accept()print('访问者IP和通讯端口', addr)user = cl.recv(1024)if user.decode()[:20].find("x1") != -1:sg90.__x1__()webtext = "舵机左倾"elif user.decode()[:20].find("y1") != -1:sg90.__yes__()webtext = "舵机平整"elif user.decode()[:20].find("x2") != -1:sg90.__x2__()webtext = "舵机右倾"response = html % webtextcl.send(response)cl.close()

最后必看:

如果代码成功运行之后,使用PyCharm,烧录别的文件导致失败,只需要重启开发板,不要访问web界面,然后使用webrepl,访问开发板,去烧录文件,即可完美解决;


如果本文对你有帮助的话,请不要吝啬你的赞,谢谢!

Web控制SG90 9g舵机(180度版)-MicroPython-NodeMcu-Esp8266开发板相关推荐

  1. 51单片机控制SG90 9g舵机

    目录 1.工具准备 2.接线 3.写代码并生成hex文件 4.用烧录软件烧录  1.工具准备 一个51开发板(51开发板型号为:51mini  开发板芯片型号:STC98C52) 一个舵机(舵机型号为 ...

  2. MG996R舵机180度与360度驱动,ULN2003A步进电机驱动,触控开关控制

    产品类型:MG996R舵机 产品扭矩:9kg/cm(4.8V),11kg/cm(6V) 产品速度:0.19秒/60°(4.8V),0.18秒/60°(6V)   #0.19/60=0.0032s/度 ...

  3. [ESP32/ESP8266专题笔记-6] ESP8266开发板-Micropython-WS2812灯的控制

    WS2812全彩LED简介 所谓基于WS2812B的LED灯珠,就是将一个控制芯片封装进全彩LED灯珠中,配合单独的通信协议可以实现对单个灯的全彩控制 WS2812 全彩LED灯珠封装实物图 WS28 ...

  4. linux 控制虚拟串口,linux虚拟串口控制器实现-适用于无开发板学习tty driver-好向圈...

    在前面几章,我们介绍了tty子系统的框架.数据结构.tty驱动的注册与注销等内容,本章我们借助 之前学习的内容开发一个虚拟的串口控制器驱动,以便我们理解开发串口驱动的步骤及驱动开发实践. 本次实现的虚 ...

  5. arduino的180度舵机与360度舵机控制

    文章目录 前言 一.180度舵机 二.360度舵机 三.区别于应用 1.区别 2.应用 总结 前言 许多时候我们都会用到舵机,目前市面上的舵机大致分为两种,一种是180度舵机,另一种是360度舵机,下 ...

  6. STM32F103单片机控制SG90舵机

    前言 在智能衣柜系统中,试用SG90旋转0°-180°,模拟衣柜的开关门,舵机正转开门,180°-0°反转模拟一个关门的现象. 一,SG90舵机 1.1SG90链接: [淘宝]https://m.tb ...

  7. Nodemcu+ESP8266实现WEB控制家用电器

    一,教程目的 通过Nodemcu+ESP8266通过网页去控制继电器以及灯泡. 二,实验环境 操作系统: windows10 硬件: ESP8266开发板 x1(CP2102)需要下载CP2102驱动 ...

  8. 【STM32 .Net MF开发板学习-11】步进电机控制(非PWM模式)

    选用的步进电机的型号为28BYJ-48(或MP28GA,5V,转速比1/64),驱动电路选用 uln2003芯片的驱动板,其控制时序图如下: 四相八拍:A->AB->B ->BC - ...

  9. 树莓派Pico开发板与大功率MOSFET/IGBT器件驱动控制24V直流电机技术实践

    摘要:本文在介绍MOSFET器件和IGBT器件作为电子开关基本原理的基础上,讲述了树莓派Pico与MOSFET&IGBT器件驱动控制24V直流电机硬件接口技术,最后给出了树莓派Pico开发板G ...

最新文章

  1. Redis、Kafka 和 Pulsar 消息队列对比
  2. 开始→运行→输入的命令集锦
  3. MIPS中的异常处理和系统调用【转】
  4. WebDAV服务漏洞利用工具DAVTest
  5. Leetcode 179. 最大数 解题思路及C++实现
  6. 如何保证redis高可用?薪资翻倍
  7. ubuntu zip解压
  8. 递归列出文件下的文件信息,迭代器
  9. CCF201503试题
  10. [BZOJ2006][NOI2010]超级钢琴
  11. 反射进行.newInstance()方法,报错Caused by: java.lang.NoSuchMethodException:XXXX.<init>()
  12. 老板突然出现,游戏飞速隐藏,开源神器在手,摸鱼不怕被抓包
  13. 关于imcrop的一点注意事项
  14. RocketMQ消费进度管理
  15. ipa包上传itunes store失败
  16. vue 循环播放音乐列表 音量控制
  17. cocos2d-iPhone 点滴
  18. Jfinal极速开发微信系列教程--------------Jfinal_weixin demo的使用分析
  19. 亲测,2023年私藏的免费好用的磁力网盘资源搜索网站,找资源不用愁
  20. MySQL学习之一条SQL更新语句的执行

热门文章

  1. 关于局域网内,超简单实现电脑与Android设备的文件传输。
  2. 【论文】时空预测模型Spatio-Temporal Graph Convolutional Networks
  3. 如何设置文本框内的默认文字?
  4. 设计一个低电平VI转换器
  5. python打印转义双引号和单引号
  6. 百科知识 内六角扳手尺寸
  7. Linux命令(65)——ld命令
  8. python开源协议gpl_[转载]五种开源协议(GPL,LGPL,BSD,MIT,Apache)
  9. Java多线程与并发-原理
  10. 推荐个占用内存很小的经典音乐播放器CHKen Player