Micropython之LED1

网友投稿 2019-06-04 11:16

    从本次课开始,我们将学习和分享使用Micropython来编写掌控板程序。

    我个人观点是,使用掌控板来学习Micropython是一个很不错的途径。    

     首先,学习使用Micropython去做一些小项目(创客小制作)是图形化编程的进阶之路。因为现在大多数学校信息技术课上教的源码程序,选择的是python,因为普遍认为python是现在最接近人类语言的编程语言。python语言不仅可以编写电脑上的程序,同样,python的简化版,Micropython,可以实现对现在的很多硬件控制板进行程序的编写。这样的话,学习的路子就顺了:Scratch——Arduino图形(米思琪)——PC端python源码——硬件Micropython——人工智能初步,这是自然而言的事。

    然后,再谈谈掌控板,掌控板使用ESP32处理器作为主控芯片,支持Micropython。并且ESP32无需拓展,即具备网络访问和蓝牙功能,可以实现和APPInventor之间的良好互动。这对于学习认识物联网等内容,简直是一个再好不过的载体。有人会问,使用PuTTY来学习ESP32裸板不也很好嘛?理是这个理,ESP32裸板更便宜,PuTTY也是Micropython资深爱好者“玩转”ESP芯片的主要工具。但是,我想说的是,学习Micropython的主要人群是学生,对于这个对象人群,PuTTY这样的几乎可以认为是命令行一样的东西,让孩子去接触,未免有点不友好?另外,使用PuTTY,还需要使用下载工具,下载烧录Micropython固件,流程复杂。而掌控板的开发商,为我们提供了界面友好的开发工具,有图形化编程界面,有源码编程界面,可以很好地实现从图形向源码的过渡。并且软件提供了一键固件更新与下载,把上述一切不友好的问题解决了。唯一让人不满意的是,掌控板为了和MicroBit的拓展板兼容,造成了掌控不易拓展的毛病。所以相较Arduino而言,掌控拓展性较差。但掌控板也有很多优点,首先是板载OLED显示屏。这个太赞不过了,有一个友好的人机交互界面,这是再好不过的事了。而且,配合板载资源,比如重力传感器、6个电容触摸按键,可以实现很多玩法。

    好,说了这么多,大家还以为我拿了盛思的广告费呢。还是直接上第一个节Micropython课程的教程吧。

    第一节课,我们将使用GPIO点亮LED。

学习笔记:

1、MPythonPin是一个引脚的类

通过p8=MPythonPin(8,PinMode.OUT)语句可以将引脚8口实例化,该实例的名称为p8,p8这个实例对象,可以使用MPythonPin类的属性(变量)和方法(函数)。

2、MPythonPin类的3个参数MPythonPin(pin, mode=PinMode.IN, pull=None)

pin是引脚的编号,mode是工作模式,包括:

a.PinMode.IN 等于1,数字输入模式

b.PinMode.OUT 等于2,数字输出模式

c.PinMode.PWM 等于3,模拟输出模式

d.PinMode.ANALOG 等于4,模拟输入模式

pull表示是否使用引脚自带的上拉电阻或者是下拉电阻(这是个高级功能):

None - 无上拉或下拉电阻

Pin.PULL_UP - 上拉电阻使能

Pin.PULL_DOWN - 下拉电阻使能

3、MPythonPin类的方法

MPythonPin.write_digital(value)

输出数字电平(0或1),value的值是0或1.

4、time类

里面包含很多时间相关的函数

本节课我们使用到:

time.sleep(seconds)

延时一定时间(秒),seconds参数表示延时的时间,比如1,2……注意不允许使用浮点数(小数)

如果想要的延时小于1s,可以使用延时毫秒time.sleep_ms(ms)或者延时微妙time.sleep_us(us)

以下是广告部分:

    跟着桑老师一起学习Micopython。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com