MicroPython_Thonny_笔记

B站视频学习笔记:

单片机:ESP32

软件:Thonny

示例:

1、LED灯闪烁

#闪烁的LED灯
import machine
import time
pin2 = machine.Pin(2, machine.Pin.OUT) #2号引脚输出
while True:
    pin2.value(1)#高电平1秒
    time.sleep(1)#延时1秒
    pin2.value(0)#低电平1秒
    time.sleep(1)#延时1秒

2、PWM呼吸灯

from machine import Pin,PWM
import time
led2=PWM(Pin(2))
led2.freq(1000)

#led2.duty(200)#占空比_亮灭程度
while True:#控制整体的重复(1.从不亮慢慢变亮 2.从亮慢慢到不亮)
    #1.从不亮慢慢变亮
    for i in range(0,1024,1):#前两数表示范围,最后一数表示递增。
        led2.duty(i)
        time.sleep_ms(2)
    #2.从亮慢慢到不亮   
    for i in range(1023,-1,-1):#前两数表示范围,最后一数表示递减。
        led2.duty(i)
        time.sleep_ms(2)   

3、PC远程控制LED灯

#大体流程
#1、让esp32链接wifi,让其拥有ip地址;
#2、创建UDP socket;
#3、接收UDP数据;
#4、根据接收到的UDP数据控制LED灯的亮灭。
import network
import time
import machine

def do_connect():#作用,链接wifi网络
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print('connecting to network...')
        wlan.connect('WICV-1', 'WICV888888')
        i=1
        while not wlan.isconnected():
            print("正在链接网络...{}".format(i))
            time.sleep(1)
    print('network config:', wlan.ifconfig())
    
def create_udp_socket():
    import socket
    # 1. 创建udp套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 2. 绑定一个固定的端口
    udp_socket.bind(("0.0.0.0",7788))#大于1024就行
    return udp_socket

def main():
    #1、让esp32链接wifi,让其拥有ip地址;
    do_connect()
    #2、创建UDP socket;
    udp_socket=create_udp_socket()
    #创建GPIO引脚控制对象
    led=machine.Pin(2,machine.Pin.OUT)
    #3、接收UDP数据;
    while True:
        recv_data,sender_info=udp_socket.recvfrom(1024)
        print("{}发送的数据:{}".format(sender_info,recv_data))
        #解码
        recv_data_str=recv_data.decode("utf-8")
        print("解码后的数据:{}".format(recv_data_str))
        #4、根据接收到的UDP数据控制LED灯的亮灭。
        if recv_data_str=="light on":
            led.value(1)
        elif recv_data_str=="light off":
            led.value(0)
        
if __name__ == "__main__":
    main()

4、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值