TrinKey-QT2040
Introduction
Le Trinkey est une mini-clé USB équipée d'un microcontrôleur RP2040 (le même que le Raspberry Pico) et de 8 Mio de mémoire Flash QSPI.
Le Trinkey QT2040 est équipé:
- du MCU RP2040 @ 133 MHz, 264 Kio RAM, 8 Mio Flash
- d'une LED NeoPixel (RGB)
- d'un connecteur Stemma QT/Qwiic
- d'un bouton utilisateur (sert aussi au lootloader)
- Une alimentation 3.3V @ 600mA.
Le connecteur QWiic (SparkFun) / StemmaQT (Adafruit) est un connecteur 4 pôles JST SH4 permettant de transporter un bus I2C avec une alimentation. Le bus I2C étant chainnable par nature, ce qui permet de brancher facilement capteurs et périphériques I2C.
A noter qu'il est possible de détourner le connecteur Qwiic pour mettre en place un UART ou deux GPIOs (en entrée ou en sortie).
Le TrinKey permet de créer rapidement des solutions simples et efficaces.
Installer MicroPython
- Télécharger le firmware MicroPython U2F pour Raspberry Pico RP2040 sur micropython.org/download/
- Passer le TrinKey en mode DFU (Device Firmware Updgrade)
- Enfoncer le bouton Bootloader
- Enfoncer et relâcher le bouton Reset
- Relâcher le bouton Reset
- Attendre que le disque USB "RPI-RP2" apparaisse sur l'ordinateur
- Flasher le FirmWare MicroPython
- Glisser/déposer le fichier UF2 dans le lecteur RPI-RP2
- Attendre que la carte redémarrer (le lecteur "RPI-RP2" disparaît de l'ordinateur)
Interagir avec MicroPython
MicroPython s'utilise comme avec n'importe quelle autre plateforme MicroPython.
Voici donc les outils que vous pouvez utiliser avec TrinKey-QT2040
Utiliser l'IDE Thonny (recommandé par la fondation) avec votre Pico. Un bel article de Framboise314.
MicroPython Remote Control outil en ligne de commande qu'il ne faut surtout pas râter.
MicroPython Install Package une commande MPRemote pour installer facilement des bibliothèques
Brochage du TrinKey
Source: Adafruit TrinKey QT2040
Utiliser le TrinKey
Voici comment utiliser les différentes ressources du TrinKey QT2040.
Bouton utilisateur
Le bouton utilisateur est branché sur le GPIO 12. Cette broche doit être utilisée exclusivement en entrée!
from machine import Pin
p = Pin( Pin.board.gp12, Pin.IN )
# Affiche 1 lorsque relâché
# Affiche 0 lorsque pressé
print( p.value() )
A noter que le bouton utilisateur (GPIO 12) est également accessible par l'intermédiaire du point de test situé sous le bouton "boot".
Led NeoPixel
La LED NeoPixel est sur le GPIO 27 et peut être commandé avec la bibliothèque neopixel.
from machine import Pin
from neopixel import NeoPixel
px = NeoPixel( Pin.board.GP27, 1 ) # 1 seul pixel
px[0] = (0xFF, 0x66, 0x00 ) # Orange
px.write() # Mise-à-jour de la LED
px[0] = (0, 255, 0 ) # Vert 100%
px.write()
px[0] = (128, 0, 0 ) # rouge
px.write()
Bus I2C (Qwiic/StemmaQT)
Le connecteur du bus I2C(0) est branché sur les GPIO16 (SDA) et GPIO17 (SDA). Il s'avère que ces deux lignes peuvent aussi être utilisé pour établie connexion série.
L'exemple ci-dessous indique comment créer une instance du bus I2C.
from machine import Pin, I2C
i2c = I2C( 0, sda=Pin.board.GP16, scl=Pin.board.GP17, freq=400000 )
print( i2c.scan() )
Où acheter
- TrinKey QT2040 @ MCHobby
- TrinKey QT2040 @ Adafruit