[[microc:accueilmc|{{ :iconemaison.jpg?nolink&30|Sommaire Microcontrôleur}}]]
===== Microcontrôleurs - Raspberry Pi Pico et Pico W =====
{{ :microc:uc:rp2w.jpg?nolink|}}
[Mise à jour le 3/6/2024]
== Ressources ==
* Documentation sur raspberrypi.com
* Documentation MicroPython
* Arduino IDE 2 (C,C++)
* IDE Thonny (MicroPython, CircuitPython)
== Lectures connexes ==
* Wiki matériels - [[materiels:accueilmateriels|"Capteurs, afficheurs, préactionneurs, etc."]]
* Arduino Nano RP2040 Connect
* Bibliothèques - Arduino Library List
== Distributeurs ==
* Go Tronic
Les cartes Raspberry Pi Pico et Pico W sont basées sur un circuit RP2040 conçu par Raspberry Pi. Il est très simple, a d'excellentes performances et un coût très faible (~5€). Sa programmation en MicroPython se fait via **REPL**, par **glisser-déposer** ou directement avec l'**IDE Thonny**.
\\
==== 1. Raspberry Pi Pico ====
=== 1.1 Généralités ===
* Documentation du Raspberry Pi Pico sur le site **raspberrypi.com**
=== 1.2 Brochage ===
{{ :python:micropython:raspipico.jpg?nolink&900 |}}
\\
=== 1.3 Caractéristiques de la carte ===
{{ :python:micropython:19536_3.png?nolink&350|}}
* **Alimentation**:
* 5 Vcc via micro USB
* 1,8 à 5,5 Vcc via la broche VSYS
* **Microcontrôleur**: RP2040
* **Microprocesseur**: ARM Cortex-M0+ Dual Core à 133 MHz
* **Mémoire SRAM**: 264 KB on-chip
* **Module** RTC intégré
* **Mémoire Flash**: 2 MB externes
* **26 broches GPIO** comprenant:
* 23 x E/S digitales
* 3 x entrées analogiques (via ADC 12 bit)
* 2 x interfaces UART
* 2 x bus I2C
* 16 x sorties PWM
* 1 x port micro-USB 1.1: alimentation, programmation, hôte USB et périphérique de stockage USB
* 1 x interface SWD de debug
* **LED** programmable sur GP25
* **Capteur** de température intégré
\\
=== 1.4 PDF ===
* Raspberry Pi Pico Datasheet
* Getting started with Raspberry Pi Pico
* Raspberry Pi Pico Python SDK
Les entrées et sorties logiques de cette carte sont uniquement compatibles **3,3Vcc**. Une tension supérieure endommagerait irrémédiablement la Raspberry Pi Pico.
\\
==== 2. Raspberry Pi Pico W ====
=== 2.1 Généralités ===
* Documentation du Raspberry Pi Pico W sur le site **raspberrypi.com**.
=== 2.2 Brochage ===
{{ :python:micropython:pinoutpicow.jpg?nolink& |}}
=== 2.3 Caractéristiques ===
Raspberry Pi Pico W ajoute des interfaces sans fil monobande 2,4 GHz intégrées (802.11n) à l'aide de l'**Infineon CYW43439** tout en conservant le facteur de forme Pico. L'interface sans fil 2,4 GHz intégrée présente les caractéristiques suivantes :
* Wifi 4 (802.11n) + Bluetooth 5.2, bande unique (2,4 GHz)
* Sécurité : WPA3
* Point d'accès logiciel prenant en charge jusqu'à **quatre clients**
L'antenne est une antenne embarquée sous licence d'ABRACON (anciennement ProAnt).
=== 2.4 PDF ===
* Raspberry Pi Pico W Datasheet
* Connecting to the Internet with Raspberry Pi Pico W
* Raspberry Pi Pico Python SDK
\\
==== 3. Kit de développement Windows (SDK) ====
* La fondation Raspberry Pi officialise un kit de développement Windows pour le Raspberry Pico
\\
==== 4. Les shields ====
=== 4.1 Shield Grove ===
== 4.1.1 Description ==
Le Grove Shield Pico est une carte d'interface permettant de raccorder sans soudure les **capteurs**, les afficheurs et les préactionneurs Grove sur une carte Raspberry Pi Pico (W). [Schéma]
{{ :python:micropython:pico_hardware.png?nolink&400 |}}
* Il est équipé de 10 connecteurs 4 broches dont :
* **3 entrées analogiques**,
* **3 entrées-sorties logiques**,
* **2** interfaces **I2C** et
* **2** interfaces **UART**.
* Le **bus SPI** est accessible sur un connecteur 6 broches mâles.
\\
== 4.1.2 Schéma de la connectique du shield ==
* Brochage des connecteurs: **GND** - **Vcc** - **signal 2** - **signal 1**
{{ :python:micropython:gpioshieldrp2.jpg?nolink |}}
**Vérifier** la **position du commutateur** permettant de régler **Vcc=5V** ou **Vcc=3,3V** sur les connecteurs lors de l'utilisation des E/S numériques et des circuits I2C et UART.
=== 4.2 Pico OMNIBUS ===
Doublez les broches GPIO et attachez deux modules complémentaires à un seul Raspberry Pi Pico avec Pico Omnibus.
{{ :python:micropython:pim-556_0-1024x768.jpg?nolink&400 |}}
\\
==== 5. Programmer le Paspberry Pi Pico (W) en MicroPython ====
=== 5.1 Installer MicroPython ===
* **Voir le tutoriel** "Getting Started with Raspberry Pi Pico W using MicroPython"
=== 5.2 IDE Thonny ===
* **Installer** l'éditeur : Thonny
{{ :python:micropython:thonny.png?nolink |}}
=== 5.3 Exemples de programme en MicroPython ===
* Getting started with Raspberry Pi Pico
* Blink the onboard LED
* Use digital inputs and outputs
* Control LED brightness with PWM
* Control an LED with an analogue input
* How to Connect Raspberry Pi Pico W to the Internet
* How to Use Raspberry Pi Pico W With Node-RED
* Raspberry Pi Pico W Web Server Tutorial with MicroPython
* MQTT and Raspberry PI Pico W: Start with Mosquitto (MicroPython)
* Utiliser la PWM sur la Raspberry Pi Pico
\\
==== 6. Programmer le Paspberry Pi Pico (W) sous Arduino ===
* //**Ressources**//
* Documentation officielle Arduino.
* //**Tutoriels**//
* Utiliser la Pi Pico depuis l’Arduino IDE
* Basic Multicore Pico Project
\\