Micropython Pin类

Pin 类是 machine 模块下面的一个硬件类,用于对引脚的配置和控制,提供对 GPIO 的操作方法。

Pin 对象用于控制输入/输出引脚(也称为 GPIO)。Pin 对象通常与一个物理引脚相关联,他可以驱动输出电压和读取输入电压。Pin 类中有设置引脚模式(输入/输出)的方法,也有获取和设置数字逻辑(0 或 1)的方法。

一个 Pin 对象是通过一个标识符来构造的,它明确地指定了一个特定的输入输出。标识符的形式和物理引脚的映射是特定于一次移植的。标识符可以是整数,字符串或者是一个带有端口和引脚号码的元组。在 MicroPython 中,引脚标识符是一个代号或引脚号,如 Pin("D1", Pin.OUT_PP) 中的"D1"。

构造函数

在MicroPython 中 Pin 对象的构造函数如下:

class machine.Pin( id, mode = -1, pull = -1,value)

  • id :由用户自定义的引脚名和 Pin 设备引脚号组成。

  • mode : 指定引脚模式,可以是以下几种:

    • Pin.IN :输入模式
    • Pin.OUT :输出模式
    • Pin.OPEN_DRAIN :开漏模式
  • pull : 如果指定的引脚连接了上拉下拉电阻,那么可以配置成下面的状态:

    • None :没有上拉或者下拉电阻。
    • Pin.PULL_UP :使能上拉电阻。
    • Pin.PULL_DOWN :使能下拉电阻。
  • value : value 的值只对输出模式和开漏输出模式有效,用来设置初始输出值。

方法

Pin.init(mode= -1, pull= -1, *, value, drive, alt)

根据输入的参数重新初始化引脚。只有那些被指定的参数才会被设置,其余引脚的状态将保持不变,详细的参数可以参考上面的构造函数。

Pin.value([x])

如果没有给定参数 x ,这个方法可以获得引脚的值。如果给定参数 x ,如 0 或 1,那么设置引脚的值为 逻辑 0 或 逻辑 1。

Pin.name()

返回引脚对象在构造时用户自定义的引脚名。

常量

下面的常量用来配置 Pin 对象。 

选择引脚模式:

  • Pin.IN
  • Pin.OUT
  • Pin.OPEN_DRAIN

选择上/下拉模式:

  • Pin.PULL_UP
  • Pin.PULL_DOWN
  • None

使用值 None 代表不进行上下拉。

示例

>>> from machine import Pin
>>>
>>> p_out = Pin(("X1", 33), Pin.OUT_PP)
>>> p_out.value(1)              # set io high
>>> p_out.value(0)              # set io low
>>>
>>> p_in = Pin(("X2", 32), Pin.IN, Pin.PULL_UP)
>>> p_in.value()                # get value, 0 or 1

更多内容可参考 machine.Pin

- 本文为本站原创文章,转载请保留出处。
- 文章链接:https://www.xpstem.com/article/10602

2024-02   阅读(130)   评论(0)
 标签: 创客 MicroPython

涨知识
四位数码管

四位数码管是一种常见的LED显示器件,主要用于显示数字信息。

评论:
相关文章
ESP32 MicroPython存储数据到闪存

在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。


MicroPython umqtt库的使用

umqtt 是 MicroPython 的一个轻量级 MQTT 客户端库,使得在微控制器上使用 MQTT 协议变得简单易行。本文将介绍 umqtt 的实用方法,帮助您更好地在项目中应用这一技术。


小鹏物联网 MicroPython 图像采集方案

本方案是一个基于ESP32-CAM + 物联网的图像采集方案。


esp32cam开发板烧录micropython固件

‌ESP32-CAM与MicroPython结合可实现摄像头图像采集、视频流传输等功能,不过Micropython官方没有支持ESP32-CAM的固件,需要烧录第三方的专有固件。


小鹏物联网 MicroPython 智能浇花方案

相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。


MicroPython 开发ESP32应用之线程介绍及实例分析

MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。


ESP32 MicroPython采集模拟传感器数值

使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。


Raspberry Pi Pico TFT LCD 触摸屏使用教程

本教程将向您展示如何使用micropython脚本设置Pico和TFT触摸显示屏。您将学习如何使用触摸屏控制Pico以及如何在屏幕上显示信息。


ESP32 MicroPython外部引脚中断处理

本文旨在介绍如何在运行MicroPython的ESP32上使用外部引脚中断功能。


ESP32 MicroPython功耗控制

本节内容为大家讲解ESP32使用MicroPython的功耗控制方法。

搜索
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。