Modifications

Sauter à la navigation Sauter à la recherche
6 359 octets ajoutés ,  16 novembre 2016 à 22:06
Ligne 27 : Ligne 27 :  
Les brancher sur une tension supérieure à 3.6V provoquera des dommages irréparables à la carte.
 
Les brancher sur une tension supérieure à 3.6V provoquera des dommages irréparables à la carte.
   −
{{underline|'''En entrée'''}} : il est possible d'activer une résistance Pull/Up, Pull/Down. Voyez notre [[hack-wipy-button|tutoriel Bouton]] pour plus d'informations.
+
{{underline|'''En entrée'''}} : il est possible d'activer une résistance Pull/Up, Pull/Down ou de configurer une interruption. Voyez notre [[hack-wipy-button|tutoriel Bouton]] et [https://micropython.org/resources/docs/en/latest/wipy/library/machine.Pin.html class Pin] pour plus d'informations.
    
{{underline|'''En sortie'''}} : voyez notre [[hack-wipy-led|tutoriel LED]] pour plus d'informations.
 
{{underline|'''En sortie'''}} : voyez notre [[hack-wipy-led|tutoriel LED]] pour plus d'informations.
 +
 +
Références:
 +
* [https://micropython.org/resources/docs/en/latest/wipy/library/machine.Pin.html class Pin – control I/O pins]<br />''Contient de nombreuses informations pertinente
    
=== Broches analogiques ===
 
=== Broches analogiques ===
Ligne 74 : Ligne 77 :  
[[Fichier:Hack-wipy-pinout-pmw.jpg]]
 
[[Fichier:Hack-wipy-pinout-pmw.jpg]]
   −
== Port séries/Uart (todo) ==
+
== Port séries/UART ==
 +
voir {{fname|machine.UART}} ([http://docs.micropython.org/en/latest/wipy/library/machine.UART.html voir ici]) exemple provenant de [http://docs.micropython.org/en/latest/wipy/wipy/quickref.html#uart-serial-bus micropython.org/wipy].
 +
 
 +
Sur le WiPy, vous avez l'opportunité de créer un port série avec deux broches (RX/TX) ou avec 4 broches (RX/TX donnée, CTS/RTS contrôle de flux)
 +
 
 +
<syntaxhighlight lang="python">
 +
from machine import UART
 +
# Ouverture du port série 0 à 9600 bauds
 +
# SANS controle de Flux
 +
uart = UART(0, baudrate=9600)
 +
# Ouverture du port série 0 à 115200 bauds
 +
# AVEC contrôle de flux CTS/RTS comme sur la carte d'extension
 +
# uart = UART(0, baudrate=115200, pins=('GP1', 'GP2', 'GP7', 'GP6')) # broches (TX, RX, RTS, CTS)
 +
uart.write('hello')
 +
uart.read(5) # Lecture de 5 bytes/octets
 +
</syntaxhighlight>
 +
 
 +
Si vous disposez de {{pl|736|la carte d'extension WiPy}}, l'UART0 de votre WiPy est branché sur le convertisseur USB-Série (FTDI) de la carte d'extension -avec contrôle de flux- comme suit:
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
| align="center" | Convertisseur FTDI<br />USB > Série
 +
| align="center" | Broche WiPy
 +
| align="center" | Fonction Broche WiPy
 +
|- style="font-size: 90%"
 +
| align="left" | FT_TxD
 +
| align="left" | GP2
 +
| align="left" | UART0_RX[3]
 +
|- style="font-size: 90%"
 +
| align="left" | FT_RxD
 +
| align="left" | GP1
 +
| align="left" | UART0_TX[3]
 +
|- style="font-size: 90%"
 +
| align="left" | FT_RTS
 +
| align="left" | GP6
 +
| align="left" | CTS[6]
 +
|- style="font-size: 90%"
 +
| align="left" | FT_CTS
 +
| align="left" | GP7
 +
| align="left" | RTS[7]
 +
|- style="font-size: 90%"
 +
| align="left" | GND
 +
| align="left" | GND
 +
| align="left" | masse commune
 +
|}<small>Vous noterez (entre crochet) le n° de fonction alternatif de la broche</small>
 +
 
 +
[[Fichier:wipy-pinout-FTDI-to-UART0.png]]
 +
 
 +
Si vous disposez d'un {{pl|77|FTDI Friend}}, vous pouvez le brancher comme indiqué ici (pensez à vous assurer que le FTDI Friend soit bien signal 3.3v).
 +
 
 +
Si vous utilisez {{pl|144|un câble console}}, vous aurez besoin de créer le port série SANS contrôle de flux.
 +
 
 +
Les broches de l'UART1 sont les suivantes:
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
| align="center" | Broche WiPy
 +
| align="center" | Fonction Broche WiPy
 +
|- style="font-size: 90%"
 +
| align="left" | GP4
 +
| align="left" | UART1_RX[6]
 +
|- style="font-size: 90%"
 +
| align="left" | GP3
 +
| align="left" | UART1_TX[6]
 +
|- style="font-size: 90%"
 +
| align="left" | GP6
 +
| align="left" | CTS[6]
 +
|- style="font-size: 90%"
 +
| align="left" | GP7
 +
| align="left" | RTS[7]
 +
|- style="font-size: 90%"
 +
| align="left" | GND
 +
| align="left" | masse commune
 +
|}<small>Vous noterez (entre crochet) le n° de fonction alternatif de la broche</small>
 +
 
 +
[[Fichier:wipy-pinout-FTDI-to-UART1.png]]
    
== Bus I2C (todo) ==
 
== Bus I2C (todo) ==
TODO
+
Si vous n'avez encore aucune connaissance concernant le bus I2C, nous pouvons vous proposer le tutoriel Arduino suivant qui explique, dessin à l'appui, le fonctionnement d'un bus I2C
 +
{{ttuto-begin}}
 +
 
 +
{{ttuto
 +
  |label=Introduction à I2C
 +
  |descr=Qu'est ce que I2C, sa mise en oeuvre sur Arduino, code source, etc
 +
  |img=tlogo-I2C.jpg
 +
  |link=Arduino I2C Intro
 +
}}
 +
 
 +
{{ttuto-end}}
 +
 
 +
Lors de nos tribulations, nous voulions utiliser un mcp9808 sur un WiPy. Nous voulions utiliser les broches GP24 & GP23 (respectivement sda & scl) pour le bus I2C.
 +
 
 +
Voici le code utilisé, avec une réponse du senseur lors du scan() (sur son adresse par défaut 0x24)
 +
 
 +
<syntaxhighlight lang="python">
 +
from machine import I2C
 +
# Configurer le bus I2C 0 à très faible vitesse sur sda,scl = GP24,GP23.
 +
i2c = I2C(0, baudrate=20000, pins=('GP24','GP23'))
 +
# Scan du bus I2C
 +
i2c.scan()
 +
</syntaxhighlight>
    
voir {{fname|machine.I2C}} exemple provenant de [http://docs.micropython.org/en/latest/wipy/wipy/quickref.html#i2c-bus micropython.org/wipy]
 
voir {{fname|machine.I2C}} exemple provenant de [http://docs.micropython.org/en/latest/wipy/wipy/quickref.html#i2c-bus micropython.org/wipy]
Ligne 108 : Ligne 208 :  
from machine import SPI
 
from machine import SPI
   −
# configure the SPI master @ 2MHz
+
# configurer le bus SPI 0 en maître (master) et à la vitesse de 2MHz
 
spi = SPI(0, SPI.MASTER, baudrate=200000, polarity=0, phase=0)
 
spi = SPI(0, SPI.MASTER, baudrate=200000, polarity=0, phase=0)
 
spi.write('hello')
 
spi.write('hello')
spi.read(5) # receive 5 bytes on the bus
+
spi.read(5) # réception de 5 bytes/octets sur le bus
 
rbuf = bytearray(5)
 
rbuf = bytearray(5)
spi.write_readinto('hello', rbuf) # send a receive 5 bytes
+
spi.write_readinto('hello', rbuf) # envoyer et recevoir 5 bytes/octets
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
== Port SD (todo) ==
+
Si vous avez besoin d'exemple l'envoi {{underline|et réception}} de donnée sur le bus SPI, vous pouvez consulter le projet de [https://github.com/ropod7/pyboard_drive pyboard_drive] (''GitHub de Roman Podgaiski'') et plus particulièrement le pilote concernant ILI9341 permettant de prendre le contrôle d'un écran TFT. La bibliothèque est certes écrite pour une carte MicroPython PyBoard mais c'est du MicroPython. Roman a été amené à faire des lectures dans la RAM de l'écran via le bus SPI. Ce projet est donc une excellente source d'information.
 +
 
 +
== Port SD ==
 +
Votre WiPy est capable d'utiliser une carte SD. Si vous disposez de {{pl|736|la carte d'extension WiPy}}, cette dernière dispose d'un connecteur microSD ([http://www.molex.com/molex/products/datasheet.jsp?part=active/1050270001_MEMORY_CARD_SOCKET.xml&channel=Products&Lang=en-US Molex 105027]). Le FirmWare de votre WiPy sait comment piloter une carte SD.
 +
 
 +
Une carte SD peut s'interfacer à l'aide de 3 signaux:
 +
* DATA: Ligne de donnée,
 +
* CLOCK: Signal d'horloge - pour cadencer l'envoi des bits sur la ligne data
 +
* COMMAND: Ligne data/command  - un signal qui indique à la carte SD si l'on envoi une commande de gestion ou des données sur la ligne DATA
 +
 
 +
voir {{fname|machine.SD}} exemple provenant de [https://micropython.org/resources/docs/en/latest/wipy/library/machine.SD.htmls micropython.org/wipy]
 +
 
 +
<syntaxhighlight lang="python">
 +
from machine import SD
 +
import os
 +
 
 +
# Indiquer les broches dont les fonctions alternatives (''alternate function'')
 +
# supportent respectivement clk cmd et dat0 
 +
sd = machine.SD(pins=('GP10', 'GP11', 'GP15'))
 +
 
 +
# Monter la carte SD
 +
os.mount(sd, '/sd')
 +
 
 +
# Effectuer les opérations sur les fichiers
 +
</syntaxhighlight>
 +
 
 +
Si vous disposez de {{pl|736|la carte d'extension WiPy}}, voici comment la carte SD est raccordée:
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
| align="center" | Carte microSD
 +
| align="center" | Broche WiPy
 +
| align="center" | Fonction Broche WiPy
 +
|- style="font-size: 90%"
 +
| align="left" | DATA
 +
| align="left" | GP15
 +
| align="left" | SD0_DATA0[8]
 +
|- style="font-size: 90%"
 +
| align="left" | CLOCK
 +
| align="left" | GP10
 +
| align="left" | SD0_CLK[6]
 +
|- style="font-size: 90%"
 +
| align="left" | CMD
 +
| align="left" | GP11
 +
| align="left" | SD0_CMD[6]
 +
|}<small>Vous noterez (entre crochet) le n° de fonction alternatif de la broche</small>
 +
 
 +
[[Fichier:wipy-pinout-SD.png]]
    
== Broches Spéciales ==
 
== Broches Spéciales ==
29 917

modifications

Menu de navigation