有时候你想让事情变得无序一点,让程序看似有自己的想法,这时候你需要生成一些随机的东西,MicroPython提供了一个对象用来生成随机数,他就是random可以轻松为你的代码引入随机和混乱。
random对象可以从提供的列表字符串元组等符合数据类型中,随机选择一个元素作为参数返回,例如:
from microbit import *
import random
str_list = ["A","B","C","D","E","F","G"]
display.show(random.choice(str_list))
上边的例子代码完成了一个随机选择功能,random.choice这个方法为从参数中选择一个元素作为参数返回,例子中从number列表里选择了A-G中间一个字母返回,并且显示在点阵显示屏上,每次上电运行时,字母都可能不一样。
随机数字非常有用,在游戏中非常常见,还有需要程序自己完成的选择代码也很常见。
MicroPython附带了几个很有用的生成随机数的方法,例如:
from microbit import *
import random
display.show(str(random.randint(1,6)))
上边的代码完成了一个随机数字的功能,每次上电运行时显示的数字都可能不一样。
如果你需要生成一个带有指定步幅的列表,可以使用random.randrange(start,stop,step),start表示开始的范围,包括开始,stop表示结束的范围,不包括结束。step表示步幅。例如:
random.randrange(1,10,2) #生成1到10之间的基数。
有时候你需要生成带有小数点的数字,这些数字被成为浮点数,可以使用random.random()的方法生成带有小数的数字,它生成的范围是0.0到1.0之间。
API | 描述 |
---|---|
random.seed() | 使用已知整数初始化随机数生成器n。这将从给定的起始状态(n)给出可重现的确定的随机性。 |
random.randint(a,b) | 返回一个随机整数N,范围a <= N <= b |
random.randrange(stop) | 返回0到stop(但不包括)之间随机选择的整数。 |
random.randrange(start, stop) | 从start到stop中返回一个随机选择的整数。 |
random.randrange(start, stop, step) | 从中返回随机选择的元素。 |
random.choice(seq) | 从非空序列中返回一个随机元素seq。如果seq是空的,报错IndexError |
random.random() | 返回[0.0,1.0]范围内的下一个随机浮点数 |
random.uniform(a, b) | 返回随机浮点数N,使得对a <= N <= b。 |
编码器是一种用来测量机械旋转或位移的传感器。它能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。
在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。
umqtt 是 MicroPython 的一个轻量级 MQTT 客户端库,使得在微控制器上使用 MQTT 协议变得简单易行。本文将介绍 umqtt 的实用方法,帮助您更好地在项目中应用这一技术。
本方案是一个基于ESP32-CAM + 物联网的图像采集方案。
ESP32-CAM与MicroPython结合可实现摄像头图像采集、视频流传输等功能,不过Micropython官方没有支持ESP32-CAM的固件,需要烧录第三方的专有固件。
相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。
MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。
使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。
本教程将向您展示如何使用micropython脚本设置Pico和TFT触摸显示屏。您将学习如何使用触摸屏控制Pico以及如何在屏幕上显示信息。
本文旨在介绍如何在运行MicroPython的ESP32上使用外部引脚中断功能。
本节内容为大家讲解ESP32使用MicroPython的功耗控制方法。