LED 是一种通电后会发光的电子零件,可以发出特定颜色的光,多色 LED 甚至可以发出各种颜色的光。树莓派 Pico 的上面有一颗亮起后发出绿色光的 LED ,它的位置在 Micro USB 接口的旁边,有标识 LED 字样。 他亮起来的样子如下图: 是的,那个亮起来的绿色方块就是LED了。 它默认是不会亮起来的,需要用python命令去点亮它。
点亮LED
之前我在Pico中安装了MicroPython的系统,并用Thonny成功连接了Pico。 《我用树莓派Pico学Python (1) - 入手Pico和Hello World》
将 Pico 连接电脑后,启动 Thonny 并成功连接 Pico 后,在 Thonny 下方的 Shell 窗口内输入如下3条命令,就可以点亮绿色 LED :
from machine import Pin
led = Pin(25, Pin.OUT)
led.value(1)
第1句命令的意思是调用点亮 LED 所需要的指令所在的程序库; 第2句命令是指定控制LED的芯片接口; 第3句命令是点亮 LED 的命令。
相对的,如果要熄灭 LED,执行下面的命令即可,也就是将上面的第3句中的1 改为0 :
led.value(0)
对于python命令,有几点需要注意:
- 命令不可以用空格或其他空白开头,命令开头的空格(空白)有特殊含义
- 注意大小写,比如上面的 Pin 如果写成 pin 是会报错的
- 使用中文的我们,特别需要注意半角和全角字符,python命令应该都用半角,比如
() 和() 不一样,, 和 , 不一样, : 和 : 不一样,能看出他们的区别吗? - python命令和程序,一句一行,不可以一句两行或多行,行结尾也没有结束符
前面的3条命令就可以点亮Pico上的LED。 但是,我们不能干什么都要把命令一句一句执行啊,这样太麻烦了! 于是我们来试试Pico第一个程序。
第一个程序 - 开发板的Hello World
在 Thonny 软件窗口中部的代码编辑区输入(或拷贝粘贴)如下程序代码:
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.value(1)
time.sleep(0.5)
led.value(0)
time.sleep(0.5)
然后点击菜单 文件 - 保存 , 然后在稍后弹出的窗口选择 Raspberry Pi Pico ,在之后窗口的 File name: 后面填入文件名,比如: led.py , 注意一定不要漏掉后缀 .py ,否则程序不能被识别 。
然后点击工具栏的绿色按钮。 之后应该可以观察到 Pico 上的 LED 闪烁起来了。
可以看到,这段程序代码的第一行,就是之前3条命令的第1条; 第2行,是引用time 模块,以方便调用时间相关的命令; 第4行,就是之前3条命令的第2条; 第6行,while True: 的意思是这一句后面以4个空格 缩进的程序代码,反复执行 第7-10行,是将 LED 点亮后,等待0.5秒,再将LED熄灭,再等待0.5秒,然后按照第6行的意思,一直循环这一过程。 所以,程序命令开头有空格的意思是,如果连续多条命令有相同的空格缩进,即表示他们在同一个代码块,而在他们之前的一个命令,往往是 if , while , for , def 等语句。
这不是死循环吗? 没错,大部分单片机嵌入式系统的主程序,就是个死循环。这段程序在单片机的世界里,相当于打印 “Hello, World!”
如何停止这个永远在循环的程序? 点击工具栏里那个红色的STOP 按钮。
|