La Raspberry Pi Pico es una placa de desarrollo basada en el microcontrolador RP2040. Su microprocesador Arm Cortex M0+ de doble núcleo la convierte en una placa barata y potente. Se puede programar en C++ y Python. La versión W también puede conectarse a WiFi.
Algunas características de la tarjeta
- Modo de reposo para ahorrar energía
- 2 × SPI, 2 × I2C, 2 × UART, 3 × entradas analógicas
- 16 × canales PWM controlables (todos los GPIO pueden emitir un PWM)
- Reloj y temporizador integrados
- Sensor de temperatura interno
- 8 × máquinas de estado con entradas
Características del microcontrolador
El microcontrolador Raspberry Pi Pico utiliza el microprocesador Dual ARM Cortex-M0+. Este procesador funciona a una frecuencia de reloj de 133 MHz. Dispone de 264 kB de memoria RAM y 2000 kB de memoria Flash (para programación y almacenamiento de datos).
|
Alimentación
El microcontrolador Raspberry Pi Pico funciona en un rango de tensión de 1,8-5,5 V gracias a su regulador de tensión integrado, mientras que el microprocesador funciona con una tensión de 3,3 V. En funcionamiento normal, el microcontrolador consume hasta 90 mA (si no recibe alimentación) y puede aceptar una corriente máxima de 16 mA en cada uno de sus pines IO.
Pinout
- Analog I/O : 3 (26, 27, 28)
- Digital I/O : 26 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 26, 27, 28)
- Pines PWM: 16 (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
- Comunicación Serie: 2 ((0, 1), (4, 5))
- Comunicación I2C: 2 ((4, 5), (2, 3))
- Comunicación SPI: 2 ((5, 2, 4, 3), (9, 10, 12, 11))
Código C básico e identificación de pines
#include <Arduino.h> const int analogPin=A0; // broches A0,A1,A2 ou 26,27,28 //(29=A3 Temperature sensor) const int digitalInPin=2; // broches 0-22,26-28 const int digitalOutPin=4; const int pwmPin=3; //2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 int analogVal=0; int digitalState=LOW; int pwmVal=250; void setup() { Serial.begin(115200); pinMode(analogPin,INPUT_PULLUP); // Argument OUTPUT, INPUT, INPUT_PULLUP pinMode(digitalInPin,INPUT); pinMode(digitalOutPin,OUTPUT); pinMode(pwmPin,OUTPUT); } void loop() { analogVal=analogRead(analogPin); // return int Serial.print("Analog read : ");Serial.println(analogVal); digitalState=digitalRead(digitalInPin); // return boolean Serial.print("Digital read : ");Serial.println(digitalState); digitalWrite(digitalOutPin,HIGH); // valeur LOW(0) ou HIGH(1) analogWrite(pwmPin,pwmVal);// valeur 0-255 en fonction de analogWriteResolution(); }
Resumen de características
Microcontrôleur | |
Nom: | RaspberryPiPico |
Marque: | RaspberryPi |
Caractéristiques | |
CPU: | Dual ARM Cortex-M0+ |
Tension d’alimentation : | 1.8-5.5V |
Tension logique: | 5V |
E/S digitales: | -1 |
Entrées analogiques: | 0 |
Flash: | 2000kB |
SRAM: | 264kB |
EEPROM: | NCkB |
Fréquence d’horloge: | 133 MHz |
Wifi: | Yes(W) |
Bluetooth: | No |
SD card: | No |
Touch: | No |
UART/SPI/I2C/I2S: | Yes/Yes/Yes/No |