运行MicroPython的ESP8266简易入门(3)

我已经学会几个代码的写法了,那我这些写法是从哪里学的,或者说应该从哪里找到其他能用的代码呢。打开uPyCraft->Help->Tutorial Online

这个页面有MicroPython的基本语法和内置模块函数。

下面我要写一个按键控制开发板led点亮或者熄灭的例子

找到3.2.2 Pin相关的函数:

 

要想控制开发板,先要找到开发板引脚对应的引脚号

 我这里选择用GPIO16,开发板编号为D0做按键引脚。

我想实现的功能是:D0接高电平(3V)led点亮;D0接低电平(GND)led熄灭

那么首先需要配置引脚id为16——这里注意,开发板引脚号和GPIO引脚并不是对应的,程序只认识GPIO的引脚号,我知道GPIO对应的实体引脚是D0就可以了。

mode模式为输入,pull输入方式为None无上下拉。代码如下:

from machine import Pin
led=Pin(2,Pin.OUT)      #初始化LED引脚

button=Pin(16,Pin.IN,None)   #初始化按键引脚

while 1:                #一直循环下面的程序
  if button.value()==1: #如果按键为高电平
      led.value(0)      #打开led
  else: led.value(1)    #关闭led

点击uPyCraft运行按钮,用导线连接D0和3V,led点亮,用导线连接D0和G,led熄灭。

我再试一下不同pull带来的不同效果

from machine import Pin
led=Pin(2,Pin.OUT)      #初始化LED引脚

button = Pin(16, Pin.IN,Pin.PULL_UP)   #初始化按键引脚

while 1:                #一直循环下面的程序
  if button.value()==1: #如果按键为高电平
      led.value(0)      #打开led
  else: led.value(1)    #关闭led

这个代码看似没有问题,但是运行会报错:

ValueError: Pin(16) doesn't support pull

错误的意思是这个引脚不能设置pull。之所以会这样是因为这个引脚有其他功能,看引脚图,GPIO16还有USER和WAKE。那么我换一个引脚,改成GPIO 05

button = Pin(5, Pin.IN,Pin.PULL_UP)   #初始化按键引脚

这样运行就没有报错了。运行后我看到led已经亮了,这里我的D1引脚并没有连线。然后我吧D1连接到G,led熄灭,断开连接,led点亮。这里我就能理解PULL_UP上拉的意思了,就是芯片里面有一个电阻帮我把设置的引脚连接到高电平,在没有外部影响的情况下,这个引脚因为内部电阻置高电平。当这个引脚外部链接到GND的时候,等于内部电阻失效了,这个引脚就变成低电平了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值