ESP32(MicroPython) 网页控制四自由度机械臂

该程序使用ESP32和MicroPython通过网页接口控制四自由度机械臂的角度,用户点击网页上的按钮即可改变舵机的角度。程序实现了从网页接收请求并更新舵机角度,但不适合高实时性的应用。连接的WIFI账号和密码需要在代码中设置,网页设计包含多个预设角度的按钮供选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP32(MicroPython) 网页控制四自由的机械臂

本程序用于通过网页控制四自由度机械臂,由于接收网页请求并写入角度后便可继续运行网页功能,不需要多线程,网页响应相对较快,但还是不适合实时性要求高的场景。视频为了便于录制,使用了手机网页,实际上电脑网页能一次显示所有内容,更适合用于操作这个程序。

代码如下

'''
  舵机1-->(17)
  舵机2-->(16)
  舵机3-->(22)
  舵机4-->(27)       
'''

#导入Pin模块
from machine import Pin
import time
from servo import Servo
import network
import socket

#定义LED控制对象
led1=Pin(15,Pin.OUT,Pin.PULL_DOWN)

#连接的WIFI账号和密码
ssid = " "
password = " "

#WIFI连接
def wifi_connect():
    wlan=network.WLAN(network.STA_IF)  #STA模式
    wlan.active(True)  #激活
    
    if not wlan.isconnected():
        print("conneting to network...")
        wlan.connect(ssid,password)  #输入 WIFI 账号密码
        
        while not wlan.isconnected():
            led1.value(1)
            time.sleep_ms(300)
            led1.value(0)
            time.sleep_ms(300)
        led1.value(0)
        return False
    else:
        led1.value(0)
        print("network information:", wlan.ifconfig())
        return True

a1=90
a2=90
a3=90
a4=90
#网页数据
def web_page():
    global a1
    global a2
    global a3
    global a4
  
    html = """<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  <style>
    .button{display: inline-block; background-color: #444444; border: none; 
    border-radius: 4px; color: white; padding: 8px 15px; text-decoration: none; font-size: 20px; margin: 2px; cursor: pointer;}
    a:link {text-decoration:none;}a:visited {text-decoration:none;}a:hover {text-decoration:none;}
    a:active {text-decoration:none;} 
    html {
     font-family: Arial;
     display: inline-block;
     margin: 0px auto;
     text-align: center;
    }
    h2 { font-size: 1.5rem; }
    p { font-size: 1.5rem; }
    .units { font-size: 1rem; }
    .dht-labels{
      font-size: 1rem;
      vertical-align:middle;
      padding-bottom: 7px;
    }
  </style>
</head>
<body>
  <h2>ESP32 Servo Control</h2> <p><a href="/?d1">Servo1: <strong>""" + str(a1) + """</strong></a></p>
        <p><a href="/?b10"><button class="button">0</button></a>
        <a href="/?b11"><button class="button">10</button></a>
        <a href="/?b12"><button class="button">20</button></a>
        <a href="/?b13"><button class="button">30</button></a>
        <a href="/?b14"><button class="button">40</button></a>
        <a href="/?b15"><button class="button">50</button></a>
        <a href="/?b16"><button class="button">60</button></a>
        <a href="/?b17"><button class="button">70</button></a>
        <a href="/?b18"><button class="button">80</button></a>
        <a href="/?b19"><button class="button">90</button></a>
        <a href="/?b1a"><button class="button">100</button></a>
        <a href="/?b1b"><button class="button">110</button></a>
        <a href="/?b1c"><button class="button">120</button></a>
        <a href="/?b1d"><button class="button">130</button></a>
        <a href="/?b1e"><button class="button">140</button></a>
        <a href="/?b1f"><button class="button">1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路易斯720

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值