树莓派Pico入门教程,开发环境的配置和程序的编写
目录
1.是,树莓派
1.1什么是树莓派Pico
1.2主要特性
2.与众不同的编程方式
2.1MicroPython
2.2 Mu的使用和软件的编写
2.3在树莓派Pico上使用MicroPython
2.4 实现一个PWM呼吸灯
3总结
1.是,树莓派
1.1什么是树莓派Pico
作为树莓派最新的产品,发布于2021年1月20日的树莓派Pico是基于树莓派那边自主研发的一款双核MCU RP2040,这一个MCU提供了超低功耗、极低的 I/O 延迟,讲白了就是一款类似STM32系列的产品。
所以它的水平我也是很好奇,这次就买了试了一下,淘宝上买是37元左右,但最近也追涨到42元了。
1.2主要特性
RP2040 芯片是 7×7mm QFN-56 封装的,具体规格参数如下:
– 双核 Arm Cortex-M0 + @ 133MHz
– 芯片内置 264KB SRAM 和 2MB 的板载闪存
– 通过专用 QSPI 总线支持最高 16MB 的片外闪存
– DMA 控制器
– 30 个 GPIO 引脚,其中 4 个可用作模拟输入
– 2 个 UART、2 个 SPI 控制器和 2 个 I2C 控制器
– 16 个 PWM 通道
– USB 1.1 主机和设备支持
– 8 个树莓派可编程 I/O(PIO)状态机,用于自定义外围设备支持
– 支持 UF2 的 USB 大容量存储启动模式,用于拖放式编程
2.与众不同的编程方式
给树莓派Pico编写软件的过程真的很特别,虽然在STM32 Nucleo上也可以体会到,但它依然很有意思。具体怎么样,我们先从MicroPython了解下
2.1MicroPython
树莓派Pico支持两种语言,一种是Python一种是常用的C++,此Python和PC上所用的有点区别,名称为MicroPython,就是能在这类单片机上运行的精简高效优化后的Python3(下图用了谷歌翻译)
支持的有STM32,树莓派,pyboard,microBit等等,不过有个点是支持MicroPython的板子都挺贵的可能不太符合社会主义。
通常来说,MicroPython使用MU Editor这个编辑器来编写并编译,不过和其他编辑器比如Arduino IDE比较,Mu这个实在很冷门,我在百度上找到的都是两年前的版本
在官方网站 https://codewith.mu/en/download 中可以下载到最新的版本,并且可以看出来这一个基于Qt的简单编辑器有着极佳的多平台特性
后面发现最新的就是2019年就有的1.1.0
第二种选择就是使用VSCODE,但是VSCODE也有个问题就是目前兼容性不佳,所以不考虑
还有一种选择是Thonny IDE,这同样是一个通用的友好又简单的界面,同样很适合用来编写代码
2.2 Mu的使用和软件的编写
打开后会提供几个选项,用于选择你要编写的代码运行的平台
随便写一个Hello World,然后点击运行,不过软件会先让你保存这一段代码
因为集成了Python所以Mu这个软件的使用很简单下载好就行,不用额外的配置Python环境,非常方便。
2.3在树莓派Pico上使用MicroPython
如果要在树莓派Pico上使用MicroPython那么要做两手准备
首先和许多8bit的MCU产品,比如说Arduino不一样的一点是,树莓派Pico有一个特性就是支持拖拽文件然后执行,为了能支持MicroPython我们要先把这个固件塞进去。
单独的下载地址:https://download.csdn.net/download/u012388993/15501215?spm=1001.2014.3001.5501
连接树莓派到电脑上后,会出现一个大容量存储设备(当然并不大),你可以把编译好的文件拖过去,然后点按上面的按钮,这是一个“启动选择”按钮而不是RST复位按键
这样,就可以执行刚刚拷贝的这个文件了。然后我们的树莓派会被识别成一个串口的设备
之后我们要换用另一个IDE,Thonny Python IDE,这是官方推荐的的开发工具。
最新版本的Thonny Python IDE我放在这里:
https://github.com/thonny/thonny/releases/download/v3.3.5/thonny-3.3.5.exe
如果下载慢可以试试我上传的文件:
https://download.csdn.net/download/u012388993/15512650
安装上没有什么难处直接装Thonny Python IDE就可以,不用复杂的配置
目前最新版内置的是Python 3.7.9
2.4 实现一个PWM呼吸灯
PWM就是脉冲调制,具体在这里不做详细说明
Pico板载有一个LED灯,而这个LED灯就是接在Pin15上面,实现脉冲调制的代码如下
from machine import Pin, PWM
from time import sleep
pwm = PWM(Pin(25)) #Pico LED Pinpwm.freq(1000) #设置PWM的频率while True: #循环for duty in range(65025): pwm.duty_u16(duty) sleep(0.0001) #延迟100us for duty in range(65025, 0, -1): pwm.duty_u16(duty) sleep(0.0001)
也有更简单的,实现LED点灯,我就一笔带过了
from machine import Pin
led = Pin(25, Pin.OUT)led.toggle()
可能此时会看不到如何设置串口号,以及软件的配置等等,这是因为这时候IDE是在一般模式而不是常规模式下,点击右上角的【切换至一般模式】
在切换到一般模式后可以看到任务栏出现了
然后再设置这边选择这个MicroPython(Raspberry Pi Pico)
完成配置后就可以点击绿三角运行
最终实现的效果
3总结
树莓派Pico的使用和以往我用的那些都有非常巨大的差别,最明显的一点就是树莓派Pico编程这块,在加载了MicroPython的固件后,不再是编译而是直接实现了实时的修改,这是让我觉得惊叹不已的,因为这意味着我可以随时的变动数值并且运行。
直接通过Python Shell就可以通过简单语句控制端口,这一点在以往的设备上是不被原生支持的,而且Python确实特别简单,可以说是非常不错的体验
树莓派Pico入门教程,开发环境的配置和程序的编写相关推荐
- 树莓派PICO入门教程
文章目录 1.板子介绍 2.led开关 4.开关控制: 5.中断: 6.按按钮灯循环亮: 7.模拟输入: 8.PWM Control 9.OLED 10.H桥控制器小型直流电机 11.用上全部 树莓派 ...
- 树莓派Pico W无线开发板MQTT协议通信MicroPython编程实践
本博文介绍采用Thonny+MicroPython和umqtt.simple库MQTTClient类的对象方法编制树莓派Pico W无线开发板MQTT协议通信程序,将Pico W无线开发板.电脑或An ...
- 树莓派python界面qt_树莓派QT入门教程——使用Qt开发界面程序控制GPIO
树莓派QT入门教程--使用Qt开发界面程序控制GPIO 玩转树莓派2017-07-12 12:36 树莓派入门教程--使用Qt开发界面程序 前言 Qt是一个1991年由奇趣科技开发的跨平台C++图形用 ...
- VAPS XT开发入门教程02:安装配置
开工第一步是安装软件 windows下 windows下有安装手册,但是此安装手册在安装包里面,只有在安装完成后才能看到.没有安装手册又无法安装. 先准备安装文件和授权证书. License_Tool ...
- 树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境
树莓派4b入门之开发RFID系统-简介.搭建MFRC522-SPI环境 一.系统简介 二.模块连接 1.引脚定义 2.接口对应关系 三.搭建接口环境 1.开启SPI 2.模块功能设计 3.安装SPI ...
- 转载:【opencv入门教程之一】:配置
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅 ...
- 【Visual C++】游戏开发笔记二十五 最简化的DirectX开发环境的配置
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7672101 作者:毛星云 邮箱: h ...
- 深度学习小白入门教程-基础环境篇
深度学习小白入门教程-基础环境篇 如有图片显示失败,请回小主主页查看~ Anaconda 安装包下载方式一:官网(科学上网比较慢,不推荐) 安装包下载方式二:清华镜像(推荐) 具体安装步骤(跟着箭头来 ...
- 01-20210222华为海思Hi3518EV300鸿蒙系统的开发环境的配置
20210222华为海思Hi3518EV300鸿蒙系统的开发环境的配置 2021/2/23 10:15开始整理 1.百度搜索:鸿蒙 https://www.harmonyos.com/ Harmony ...
最新文章
- SQL性能优化没有那么神秘
- Xamarin Essentials教程数据处理传输数据
- Setting Up Hadoop NameNode High Availability
- aspose 换行写_aspose.word 换行符 aspose.words换行符
- 【CodeForces - 1027B 】Numbers on the Chessboard (没有营养的找规律题,无聊题)
- 昨晚停网后,我写了一段Python代码破解了隔壁小姐姐的wifi密码,结果亮了!
- JAVA读写Properties属性文件
- 三菱四节传送带控制梯形图_四节传送带控制
- 图吧工具箱 硬件检测工具集合 2020.05 最新版,集成了常用的硬件检测与系统维护等工具
- IE不支持使用for in语法
- 这几个网站的使用技巧,值得反复读,反复练~
- 线下店迎来“文艺复兴”,三只松鼠哪里寻“独门妙方”?
- JZOJ【入门】1290 行李托运费
- 如何建设前端物料平台?
- iview table 横向拖动表格内容滚动
- Kotlin小知识之高阶函数
- 蜘蛛池源码php,PHP蜘蛛池泛站群系统完整运行版源码分享,强大的蜘蛛池系统PHP完美无错...
- python下载加密视频_Python下载未加密的m3u8文件(流媒体文件)
- 开发者分享 | AXI 基础第 2 讲-使用AXI VIP 对 AXI4-Lite 主 (Master) 接口进行仿真
- 财务共享时代企业数智化应用能帮我们做些什么?
热门文章
- POJ 1164 放苹果 经典的组合问题
- [转]QQ经典签名100句 - [绝对经典]
- 合肥工业大学宣城校区计算机大赛,合肥工业大学宣城校区“建行杯”计算机设计大赛 颁奖典礼举行...
- 你可能会延迟退休??一想到65岁还在公司摸鱼,我笑得想死…
- iOS 判断机型是否为iphonex
- 图解HTTP之一--网络基础(TCP/IP、DNS)
- 攻防世界-easyphp
- python:uu --- 对 uuencode 文件进行编码与解码
- php ksort忽略大小排序
- 鸿蒙系统可以直接升级吗,鸿蒙系统怎么升级?鸿蒙系统升级方法介绍[多图]