## LED ![](https://img.kancloud.cn/74/f7/74f7742d5a1db884a2d54bc7b3145ebe_373x350.png) >注意图中使用了一个电阻限流,不然LED小灯会烧掉。 重复开关LED灯。 ~~~ from gpiozero import LED from time import sleep red = LED(17) while True: red.on() sleep(1) red.off() sleep(1) ~~~ 等效写法: ~~~ from gpiozero import LED from signal import pause red = LED(17) red.blink() pause() ~~~ >译注:第二种写法其实更高效,属于声明式编程凡是,而且可以充分利用GPIO Zero库中**source tools**的特性,其实更容易理解。这种写法跟node-red的界面编程很像。输出设备的输入(源source)是输入设备(比如传感器),同时输出设备也可以用作其他输出设备的输入。这种引用的文本都是我在原来文档基础上额外添加的说明。 下面是官方的提示: >注意:python文件(脚本)执行到文件末尾会中断进行,GPIO引脚将被重置。```signal.pause()```可以保持脚本始终处于运行存货状态。阅读[我的脚本是如何运行的?](https://gpiozero.readthedocs.io/en/stable/faq.html#keep-your-script-running)获取更多信息。这个跟windows平台下bat脚本使用```pause```是一个道理,跟```turtle```库使用```done()```确保代码可以运行是一样的。 # 其他 如果是用RPi.GPIO库,程序运行完需要释放引脚,不然提示引脚不可用,而GPIO Zero库不用考虑这些细节。 ![](https://img.kancloud.cn/15/9c/159c0dfaf527fc48cfc3c667a8dade59_713x129.png) 上图中的错误GPIO Zero不会出现。 ![](https://img.kancloud.cn/0d/e5/0de52544d1bab04e2a42d1ecf9b0e258_372x138.png) ![](https://img.kancloud.cn/8c/3f/8c3f2688680bab652dfcf145db659776_572x378.png) # 莫尔斯码 >摩尔斯电码由两种基本信号组成:短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。间隔时间:滴=1t,嗒=3t,滴嗒间=1t,字符间=3t,单词间=7t。那么这个教程