Table of Contents
SIOpico
- Vue d'ensemble WIO | Configuration WIO | Contrôle WIO | Bitmaps Utilisateur | Firmware WIO | WIO Mobile | Câble | LEDScript | WIOpi
Slave I/O |
Introduction
Le Raspberry Pi Pico peut être utilisé comme esclave WIOpi I2C pour les tâches communes:
- 4 Servos or 32 NeoPixel
- 16 E/S (100ms scan)
- 2 moteur pas à pas quatre fils sur la banque 1 (ULN2003)
- jusqu'à 2 signaux Charlieplexing sur la banque 1
Le moteur du protocole NeoPixel nécessite toutes les interruptions sur le Pico. C'est la raison pour laquelle il n'est pas possible de combiner les servomoteurs et le neopixel simultanément sur le même Pico.
Firmware SIOpico
Le firmware binaire peut être téléchargé ici:
https://wiki.rocrail.net/rocrail-snapshot/SIOpico.ino.rpipico.uf2
Installation
- Gardez le bouton du Pico appuyé en branchant l'USB. (Important: Le câble USB doit être un câble de données, un câble de charge seul ne fonctionnera pas)
- Le Pico se comportera comme un disque amovible.
- Copiez le fichier SIOpico.ino.rpipico.uf2 sur ce disque.
- Prêt.
Broches
Configuration | |
---|---|
Servo | GP0 (broche 1) connecté au GND |
NeoPixel | GP0 (broche 1) ouverte et connecté au ruban de LED: Nécessite une résistance de tirage de 10k. |
Adresse esclave I2C | GP1 et GP2 |
Adresse I2C Esclave | ||
---|---|---|
GP1 (SW1-1) | GP2 (SW1-2) | Adresse |
off | off | 124 0x7C |
on | off | 125 0x7D |
off | on | 126 0x7E |
on | on | 127 0x7F |
Banques E/S | ||||
---|---|---|---|---|
Valeur GP28 | Configuration | Banque 1 | Banque 2 | SW1 |
< 200 | 0 | Entrée | Sortie | 1=0 2=0 3=0 4=0 |
> 4000 | 1 | Entrée | Entrée | 1=1 2=0 3=0 4=0 |
< 3000 | 2 | Sortie | Sortie | 1=0 2=1 3=0 4=0 |
< 2000 | 3 | Sortie | Entrée | 1=0 2=0 3=1 4=0 |
< 1500 | 5 | Multiplexage | Entrée | 1=0 2=0 3=1 4=1 |
< 1000 | 4 | Moteur pas à pas | Entrée | 1=0 2=0 3=0 4=1 |
3V3 *------*--[10k]--*--[10k]--*--[10k]--*--[10k]---* GND | | | | SW1 / / / / 1 2 3 4 GP28 *------*---------*---------*---------*--[100k]--* GND
La valeur GP28 peut être vérifiée dans le Moniteur.
I2C | |
---|---|
SDA | GP4 (broche 6) |
SCL | GP5 (broche 7) |
Vitesse Max. I2C: 100kHz → Par défaut.
NeoPixel | |
---|---|
Donnnée | GP0 (broche 1) |
Servo | |
---|---|
PWM | GP6 (broche 9) |
PWM | GP7 (broche 10) |
PWM | GP8 (broche 11) |
PWM | GP9 (broche 12) |
Via les paramètres dans le signal et la valeur dans les commutateurs d'objets, le saut en arrière des barrières et les signaux de forme peuvent être simulés.
Le réglage est fait en utilisant les valeurs hexadécimals. L'entrée est faite comme un nombre décimal.
Exemple:
Numéro = 4
Step = 1
Hex 0x14 = Décimal 20
Moteur pas à pas | ||
---|---|---|
IN1 | GP10 | GP14 |
IN2 | GP11 | GP15 |
IN3 | GP12 | GP16 |
IN4 | GP13 | GP17 |
E/S | |
---|---|
Banque 1 | GP10…GP17: nécessite une résistance de tirage de 10k. (8 E/S parce que 23/24/25 n.a.) - Adresse: 1-8 |
Banque 2 | GP18…GP27 et GP3: nécessite une résistance de tirage de 10k. (8 E/S) - Adresse:9-16 |
Adressage NeoPixel
Identifiant du nœud | Identifiant du nœud WIOpi |
Adresse | Numéro du pixel |
Port | Esclave I2C: 124…127 |
Support du signal Charlieplexing
Un signal Rocrail avec le contrôle des aspects et un type de port multiplexé, utilise 4 broches avec le décalage de port.
Le taux de rafraîchissement est d'environ 250µs.
Les valeurs de l'aspect sont utilisés à partir de l'onglet détails. 24 bits sont utilisés, les 12 bits supérieurs servent pour le clignotement.
Exemple: LED 1 et 2 allumées et LED 2 clignotante: 0x002003 → valeur d'aspect = 8195
Un second signal peut être défini dans Rocrail avec l'adresse + 100 pour le combiner avec le signal principal.
Signal de test
Brochage
Moniteur IDE Arduino
Tapez ?<enter> dans le moniteur pour vérifier la configuration du Pico:
SIOpico (c)Rocrail Oct 20 2021 10:47:03 I2C:126 (pixel=0 servo=20003F70 IO=FF 00 servo=00 GP28=4083 CNF=0 IO1=input IO2=output)
Liens
Circuit imprimé SIOpico-01
Correctif
L'ADC GP28 nécessite une résistance de tirage de 100k qui n'est pas sur le circuit imprimé.
Le moyen le plus simple est de monter la résistance directement sur la carte du Pico entre la broche 34 et 38:
De cette façon l'ADC est également stable si le Pico n'est pas monté sur le circuit imprimé; La configuration reste 0 par défaut.