User Tools

Site Tools


Action disabled: index
wio:wiopico-fr

SIOpico

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

  1. 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)
  2. Le Pico se comportera comme un disque amovible.
  3. Copiez le fichier SIOpico.ino.rpipico.uf2 sur ce disque.
  4. 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

Diagramme:
multiplex-signal.jpeg

Configuration du signal pour WIOpi 98 et esclave 126:
multiplex-signal-int-en.jpgmultiplex-signal-details-en.jpg

Brochage

pico-pinout.jpeg


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:
wiopico-01-patch.jpg
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.


Matériel

wio/wiopico-fr.txt · Last modified: 2023/09/07 20:23 by phil45