Jetson Nano 入坑之路 ---- (6)GPIO使用(输入输出与回收)

2023-05-16

1、安装 Jetson.GPIO 库

        Jetson.GPIO库 已经预装在Nano,如果卸载或者丢失,就需要自己重新安装一次了。

sudo pip install Jetson.GPIO
sudo pip3 install Jetson.GPIO

笔者在 Python2和Python3环境都分别安装了 Jetson.GPIO库。

2、代码中使用Jetson.GPIO 库 -- 配置引脚输出

首先来看一下 Jetson nano的 GPIO分布表。

 这个表把各个引脚的功能标注出来了。 I2C、SPI、UART……这些后面的文字陆续会讲解哦。

我们先用一个例子再来展开细讲

例子:控制 Pin37,也就是 gpio12 引脚,每5秒进行一次高低电平的反转。

import Jetson.GPIO as GPIO
import time

# Pin Definitions
output_pin = 37  #J41_BOARD_PIN37---gpio12/GPIO.B26/SPI2_MOSI

# Pin Setup:
# Board pin-numbering scheme
GPIO.setmode(GPIO.BOARD)
# set pin as an output pin with optional initial state of HIGH
GPIO.setup(output_pin, GPIO.OUT, initial=GPIO.HIGH)

curr_value = GPIO.HIGH

while True:
    time.sleep(5)
    # Toggle the output every second
    print("Outputting {} to pin {}".format(curr_value, output_pin))
    GPIO.output(output_pin, curr_value)
    curr_value ^= GPIO.HIGH

'''
# 等效写法
while True:
    time.sleep(5)
    # Toggle the output every second
    print("Outputting {} to pin {}".format(curr_value, output_pin))
    GPIO.output(output_pin, curr_value)
    if curr_value == GPIO.HIGH:
        curr_value = GPIO.LOW
    else:
        curr_value = GPIO.HIGH
'''

代码段中,

  • 首先导入 GPIO库
import Jetson.GPIO as GPIO
  • 设置GPIO模式
GPIO.setmode(GPIO.BOARD) 

# or 

GPIO.setmode(GPIO.BCM) 

# or 

GPIO.setmode(GPIO.CVM) 

# or 

GPIO.setmode(GPIO.TEGRA_SOC)

这是四种对引脚号的编码,属性树莓派的同学应该记得有个引脚对照表

 看一下这个表头,和设置语句中的内容,是不是秒懂。

 推荐就使用 BOARD编码,方便好认。

  • 然后初始化引脚
GPIO.setup(output_pin, GPIO.OUT, initial=GPIO.HIGH)

语句的功能描述:在此模式下,将 output_pin引脚设置为 输出模式,并且初始状态为 高电平。

  • 直接设置引脚高低电平
GPIO.output(output_pin, curr_value)

curr_value 的值 可为:GPIO.HIGHGPIO.LOW

3、代码中使用Jetson.GPIO 库 -- 配置引脚输入

        引脚输入多半是用在按键之类的上面。还是很有必要需要了解的。

  • 初始化引脚
GPIO.setup(curr_value, GPIO.IN)

读取引脚的值

GPIO.input(curr_value)

返回值为 GPIO.LOW 或者 GPIO.HIGH

4、程序结束,引脚通道清理工作

        在程序结束时最好清理引脚,将引脚设置为默认状态,下面的语句就可以清理所有引脚状态:

GPIO.cleanup()

        如果不想清除所有通道,也可以清除单个通道或通道列表或元组:

GPIO.cleanup(chan1) # 仅清理chan1
GPIO.cleanup([chan1, chan2]) # 仅清理chan1和chan2
GPIO.cleanup((chan1, chan2))  # 和上一句相同

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetson Nano 入坑之路 ---- (6)GPIO使用(输入输出与回收) 的相关文章

  • 强化学习PPO算法的思路流程

    首先可以肯定的是PPO算法是基于actor critic框架的 xff0c 但是它又含有强烈的Policy Gradient的风格 本文仅介绍PPO算法的应用流程 通常PPO算法的实现中有三个network xff0c 一个critic n
  • ubuntu 查看usb设备

    原文地址 xff1a https zhidao baidu com question 1823163553720250108 html 感谢原作者分享 查看 USB 设备 使用的是哪个串口 ls l dev ttyUSB 查看 USB 设备
  • 惯导姿态角的解释和固定的变换公式

    psi tr jk 61 atan2 2 q 2 q 3 43 q 1 q 4 1 2 q 3 q 3 2 q 4 q 4 theta tr jk 61 asin 2 q 1 q 3 q 2 q 4 gamma tr jk 61 atan2
  • 这是我的C语言入门笔记。

    c语言入门 C语言一经出现就以其功能丰富 表达能力强 灵活方便 应用面广等特点迅速在全世界普及和推广 C语言不但执行效率高而且可移植性好 xff0c 可以用来开发应用软件 驱动 操作系统等 C语言也是其它众多高级语言的鼻祖语言 xff0c
  • matlab randn函数产生高斯随机噪声

    randn N 1 就是产生服从方差为1 xff0c 均值为0 xff08 即N 0 1 xff09 的Gaussian分布的NX1随机 噪音矩阵 xff0c 根据Gaussian概率密度函数的特性 xff0c 产生均值为5 xff0c 标
  • socket 发送结构体数据

    Socket中的send函数可以发送字符串 xff0c 但不能直接发送结构体 xff0c 因此在发送端先把结构体转成字符串 xff0c 然后用send发送 xff0c 在接收端recv字符串 xff0c 再转换成原先的结构体 xff0c 这
  • printf()函数详解

    感谢博主的分享 xff1a https me csdn net blog K346K346 1 printf 简介 printf 是C语言标准库函数 xff0c 用于将格式化后的字符串输出到标准输出 标准输出 xff0c 即标准输出文件 x
  • 导航系统中常用坐标系

    转自 xff1a 阿元老师UJN的博客 http blog sina com cn xywatersky 1 地心惯性坐标系 xff08 简称i系 xff09 OXiYiZi xff1a 原点在地球中心 xff0c 它不参与地球自转 xff
  • mavlink模块中接收offboard模式下的mavlink消息流

  • 本地SVN服务器的搭建(WINDOWS环境)

    1 下载安装 VISUALSVN SERVER 1 1下载地址 xff1a https www visualsvn com server download 1 2下载完成后 xff0c 双击安装 2 下载安装 TortoiseSVN 1 1
  • 微信第三方平台全网发布流程

    版权声明 xff1a 本文为博主原创文章 xff0c 遵循 CC 4 0 BY SA 版权协议 xff0c 转载请附上原文出处链接和本声明 本文链接 xff1a https blog csdn net weixin 35829542 art
  • 百度短地址 API接口 985.so 是一个免费且好用的短地址

    文档URL http help baidu com question prod en 61 webmaster amp class 61 CD F8 D2 B3 CB D1 CB F7 CC D8 C9 AB B9 A6 C4 DC amp
  • Python图形GUI工具包tkinter如何调整元件在窗口中的位置几何布局管理

    Tkinter中的GUI总是有一个root窗口 不管你是主动或者别动获得 主窗口就是你的程序开始运行的时候创建的 在主窗口中你通常是放置了你主要的部件 另外 Tkinter脚本可以依据需要创建很多独立的窗口 主要的方法就是通过创建Tople
  • Mysql数据库的使用总结之ERROR 1146 (42S02)

    在使用 mysql 数据库过程中 xff0c 遇到了错误 ERROR 1146 42S02 xff1a Table doesn t exist xff0c 经过了两天 xff0c 终于解决了这个问题 引起该错误的原因不同 xff0c 对应的
  • 电子专业必懂的焊接知识与技能!

    点击上方 大鱼机器人 xff0c 选择 置顶 星标公众号 福利干货 xff0c 第一时间送达 焊接贴片元件需要的常用工具 让我们来了解一些常用的焊接贴片元件所需的一些基本工具 xff08 见图1 xff09 图1 手工焊接贴片元件所用到常用
  • HTTP消息中header头部信息的讲解

    HTTP Request的Header信息 1 HTTP请求方式 如下表 xff1a GET 向Web服务器请求一个文件 POST 向Web服务器发送数据让Web服务器进行处理 PUT 向Web服务器发送数据并存储在Web服务器内部 HEA
  • HTTP 状态码

    HTTP状态码 当浏览者访问一个网页时 xff0c 浏览者的浏览器会向网页所在服务器发出请求 当浏览器接收并显示网页前 xff0c 此网页所在的服务器会返回一个包含HTTP状态码的信息头 xff08 server header xff09
  • HTTP请求的header头解析

    Request Headers xff1a 下图是我访问一个URL xff1a http www hzau edu cn 的一个 header 根据具体实例来分析一下各部分的功能及其作用 Accept 作用 xff1a 浏览器端可以接受的媒
  • http请求消息体和响应消息体

    http www cnblogs com mydomain archive 2012 11 05 2754487 html HTTP 基于请求与响应模式的 无状态的 应用层的协议 xff0c 常基于TCP 的连接方式 HTTP 允许传输任意
  • HTTP Header 详解

    HTTP Header 详解 HTTP xff08 HyperTextTransferProtocol xff09 即超文本传输协议 xff0c 目前网页传输的的通用协议 HTTP协议采用了请求 响应模 型 xff0c 浏览器或其他客户端发

随机推荐

  • PHP模拟http请求

    http flandycheng blog 51cto com 855176 251752 方法一 xff1a 利用php的socket编程来直接给接口发送数据来模拟post的操作 建立两个文件post php getpost php po
  • HTTP 消息结构

    HTTP是基于客户端 服务端 xff08 C S xff09 的架构模型 xff0c 通过一个可靠的链接来交换信息 xff0c 是一个无状态的请求 响应协议 一个HTTP 34 客户端 34 是一个应用程序 xff08 Web浏览器或其他任
  • php 构造http头 php模拟http请求 伪装头部信息

    http jingyan baidu com article 335530daafcd6019ca41c352 html lt php 构造 http 请求 filename 61 34 http sj mjerp com dabenyin
  • 使用驱动器中J:的光盘之前需要将其格式化。

    http tieba baidu com p 3203627680 不知道神马原因致使U盘无法打开 大家千万注意 xff1a 以后遇见这种情况千万别格式化 xff08 当然如果你的U盘或者硬盘里没有重要东西那就另当别论 xff09 xff0
  • 404、500、502等HTTP状态码介绍

    一些常见的状态码为 xff1a 200 服务器成功返回网页 404 请求的网页不存在 503 服务不可用 详细分解 xff1a 1xx xff08 临时响应 xff09 表示临时响应并需要请求者继续执行操作的状态代码 代码 说明 100 x
  • 2020年电赛题目,命题专家权威解析!

    关注 星标公众号 xff0c 直达精彩内容 来源 xff1a 德州仪器TI校园计划 大学生电子设计竞赛培训网上次发了关于电赛题目前三道题目解析的视频 xff1a 2020年电赛题目 xff0c 命题专家们怎么看 xff1f xff0c 这篇
  • php curl请求信息和返回信息设置代码实例

    在用curl抓取网页内容的时候 xff0c 经常要知道 xff0c 网页返回的请求头信息 xff0c 和请求的相关信息 xff0c 特别是在请求过程中存在重定向的时候获取请求返回头信息对分析请求内容很有帮助 下面就是一个请求中存在重定向的例
  • URL特殊字符转义

    问题描述 xff1a 在工作中 xff0c 因为需要将另外一个系统的一批产品转移到自己系统 xff0c 产品基础资料什么的 xff0c 都没问题 xff0c 直接给字段插入数据库就好 xff0c 但是遇到了图片的问题 xff0c 图片是在别
  • PHP中GET/POST方法参数传递空格+逗号等特殊字符处理办法

    自己在项目开发中写了个自用接口 xff0c 用GET方法传参 xff08 用户名和密码 xff09 最近收到用户反馈 xff1a 密码为特殊字符时会出错 我一开始想是不是php的mysql real escape string函数将特殊字符
  • canvas 背景透明

    theCanvas 61 document getElementById 39 canvasOne 39 var context 61 theCanvas getContext 39 2d 39 context fillStyle 61 3
  • Http压力测试工具HttpTest4Net

    HttpTest4Net是一款基于C 实现的和HTTP压力测试工具 通过工具可以简单地对HTTP服务进行一个压力测试 虽然VS NET也集成了压力测试项目 但由于VS自身占用的资源导致了在配置不高的PC上难以做到高并发压力测试 再加上需要装
  • PHP获取今天、昨天、明天的日期

    php view plain copy lt php echo 34 今天 34 date 34 Y m d 34 34 lt br gt 34 echo 34 昨天 34 date 34 Y m d 34 strtotime 34 1 d
  • Http协议与TCP协议简单理解

    https blog csdn net sundacheng1989 article details 28239711 在C 编写代码 xff0c 很多时候会遇到Http协议或者TCP协议 xff0c 这里做一个简单的理解 TCP协议对应于
  • LINUX重启MYSQL的命令

    LINUX重启MYSQL的命令 标签 xff1a mysqllinuxservice脚本web服务server 2010 06 25 10 21 62152人阅读 评论 0 收藏 举报 分类 xff1a Linux xff08 6 xff0
  • PHP:curl模拟form表单上传文件

    lt form action 61 34 34 method 61 34 post 34 enctype 61 34 multipart form data 34 gt lt input type 61 34 file 34 name 61
  • HTTP状态码大全

    1 信息类 xff1a 表示接收到请求并且继续处理 100 客户必须继续发出请求 101 客户要求服务器根据请求转换HTTP协议版本 2 响应成功 xff1a 表示动作被成功接收 理解和接受 200 表明该请求被成功地完成 xff0c 所请
  • 如何准备电赛?19年电赛经验总结!

    关注 星标公众号 xff0c 直达精彩内容 写在前面的话 最近忙着各大厂的实习面试 xff0c 趁着准备简历的功夫回顾了一下19年电赛的比赛经历 xff0c 总体来说还算说得过去 现在把我参加电赛的经验分享出来 xff0c 希望对之后的学弟
  • Arduino(5) 使用Mega2560设计上下位机串口通信系统的下位机

    前言 因项目需求 xff0c 我们要从PC端去控制一些外部设备 xff0c 比如激光器 光放大器等 xff0c 这些设备一般使用到的都是低速的串口通信 xff0c 所以我们需要设计一个上下位机串口通信系统来控制这些设备 这篇文章先讲如何使用
  • vue地址去掉 #

    vue router 设置 history 模式 vue 项目往往会搭配 vue router 官方路由管理器 xff0c 它和 vue js 的核心深度集成 xff0c 让构建单页面应用变得易如反掌 vue router 默认为 hash
  • Jetson Nano 入坑之路 ---- (6)GPIO使用(输入输出与回收)

    1 安装 Jetson GPIO 库 Jetson GPIO库 已经预装在Nano xff0c 如果卸载或者丢失 xff0c 就需要自己重新安装一次了 sudo pip install Jetson GPIO sudo pip3 insta