Le Raspberry Pi Pico est une carte de développement basé sur le microcontrôleur RP2040. Son microprocesseur double coeur Arm Cortex M0+ en fait une carte bon marché et puissante. Elle peut être programmé en C++ et Python. La version W permet aussi de se connecter au Wifi.
Quelques caractéristiques de la carte
- Mode « sleep » et « dormant » pour économie d’énergie
- 2 × SPI, 2 × I2C, 2 × UART, 3 × entrées analogique
- 16 × canaux PWM contrôlables (tous les GPIO peuvent émettre une pwm)
- Horloge et minuterie intégrées
- Capteur de température interne
- 8 × machines d’état à entrées/sorties programmables (PIO) pour le support de périphériques personnalisés
Caractéristiques du microcontrôleur
Le microcontrôleur Raspberry Pi Pico utilise le microprocesseur Dual ARM Cortex-M0+. Ce processeur fonctionne à une fréquence d’horloge de 133 MHz. Il possède une mémoire RAM de 264 kB et une mémoire Flash de 2000 kB (pour la programmation et l’enregistrement de données).
|
Alimentation électrique
Le microcontrôleur Raspberry Pi Pico fonctionne sur une plage de tension de 1.8-5.5V grâce à son régulateur de tension embarqué.Le microprocesseur, quant à lui, fonctionne avec une tension de 3.3V. Le microcontrôleur consomme, en fonctionnement normal, jusqu’à 90mA (s’il n’alimente rien) et peut accepter sur chacune des broches IO un courant maximum de 16mA.
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)
- Broches PWM : 16 (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
- Communication Serial: 2 ((0, 1), (4, 5))
- Communication I2C : 2 ((4, 5), (2, 3))
- Communication SPI : 2 ((5, 2, 4, 3), (9, 10, 12, 11))
Code C de base et identification des broches
#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(); }
Résumé des caractéristiques
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 |