官版树莓派Pi Pico和YD-RP2040版本对比

官版树莓派Pi Pico和YD-RP2040版本对比


官方的版本外观结构

YD-RP2040版(源地YD-RP2040)

在这里插入图片描述

  • 源地YD-RP2040开发板资料:http://152.32.187.208:8080/yd-data/YD-RP2040/
    在这里插入图片描述

PCB版丝印做的不是很好,不过板子的硬件配置可选还是可以,主要还是价格便宜,如果嫌弃做工不行的话,推荐买上面的,用料的话外置spi flash采用的是华邦的。

  • YD-RP2040

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我是17.5买的YD-RP2040的,买回来点了一下灯试了一下,没问题,就将板上的外置的SPI flash 自己动手换成了16MB的,因为够买的时候买的4MB的。但是有人问为什么不直接购买一块16MB版本的,因为购买4MB版的另再购买一个16MB的flash回来自己更换划算。

RP2040硬件资源

  • 搭载双核 ARM Cortex M0+ 处理器,运行频率 133 MHz
  • 内置 264 KB 的片上 RAM
  • 可通过专用 QSPI 总线支持最高 16 MB 的片外闪存
  • DMA 控制器
  • 外挂内插器和整数除法器
  • 30 个 GPIO 引脚,其中 4 个可用于模拟信号输入
  • 2 个 SPI、2 个 I2C、2 个 UART
  • 16 个 PWM 通道
  • 主机和设备支持的 USB 1.1
  • 8 个树莓派可编程 I/O 状态机
  • 支持 UF2 的 USB 大容量存储启动模式,用于拖放式编程

目前使用Arduino来开发还是很简单和方便的,可以很快速的验证一些简单的功能。

与其他MCU对比

RP2040从性价比和生态资源上都具有后发优势,继STM32F103C8、ESP8266之后成为开源硬件项目的基准平台。
ADC配置过弱,和STM32新产品相比无法凸显出作为MCU定位的核心价值;和STM32产品相比,定位低端性能过剩,定位高端则接口过少,缺少成熟商用化工具和IDE支持;
就双核MCU配置而言,市场比较罕见,ST双核都是定位较高端的,ESP32双核SoC侧重通信连接是一个强力的对手。

开发框架

  • C++
  • Arduino
  • MicroPython

树莓派RP2040在线仿真推荐

Arduino框架开发推荐

现在刚刚上手,正在模式和学习过程中,后续将继续分享相关的经验。

### YD-RP2040 测距模块介绍 YD-RP2040 是一款基于 Raspberry Pi Pico 的开发板,集成了 RP2040 微控制器芯片。该模块通常用于各种嵌入式项目中,包括传感器数据采集、控制应用以及测距功能。 对于 YD-RP2040 实现测距功能,主要依赖于外接的距离传感器,如超声波传感器 HC-SR04 或激光测距传感器 VL53L0X 等。RP2040 芯片本身并不具备直接测量距离的能力,而是通过 GPIO 接口连接这些外部传感器来完成测距任务[^1]。 ### 连接与配置 为了实现基本的测距操作,需要先将选定的传感器正确连接到 YD-RP2040 开发板上: - 对于 **HC-SR04** 超声波传感器: - VCC -> 5V (或 3.3V) - GND -> GND - TRIG -> GP28 (或其他任意可用的 GPIO 引脚) - ECHO -> GP27 (或其他任意可用的 GPIO 引脚) - 对于 **VL53L0X** 激光测距传感器: - VDD -> 3.3V - GND -> GND - SCL -> GP9 (I2C 主线上的时钟信号) - SDA -> GP8 (I2C 主线上的数据信号) ### Python 示例代码 以下是使用 MicroPython 编写的简单例子,展示如何读取来自不同类型的传感器的数据并打印出来: #### 使用 HC-SR04 超声波传感器 ```python from machine import Pin, time_pulse_us import utime trig = Pin(28, Pin.OUT) # Trig pin connected to GP28 echo = Pin(27, Pin.IN) # Echo pin connected to GP27 def measure_distance(): trig.value(0) utime.sleep_us(2) trig.value(1) utime.sleep_us(10) trig.value(0) duration = time_pulse_us(echo, 1, 30000) distance_cm = ((duration * 0.0343) / 2) return round(distance_cm, 2) while True: dist = measure_distance() print(f'Distance: {dist} cm') utime.sleep_ms(1000) ``` #### 使用 VL53L0X 激光测距传感器 ```python from machine import I2C, Pin from vl53l0x import VL53L0X import time i2c = I2C(scl=Pin(9), sda=Pin(8)) tof = VL53L0X(i2c) while True: distance_mm = tof.read() print('Distance:', distance_mm/10, 'cm') time.sleep_ms(1000) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值