MICROPYTHON-MOD-IO2
Introduction
MOD-IO2 est une carte de développement permettant d'ajouter des relais, entrées analogiques et digitales, PWM sur n'importe quelles cartes disposant d'un connecteur UEXT ou Bus I2C. Si vous avez besoin de plus d'entrée/sortie (ou entrée analogiques) sur votre projet alors cette carte est le produit qu'il vous faut.
Le connecteur UEXT facilite grandement le raccordement et permet de disposer de 2 relais (5v 250V) et 7 GPIOs (3.3v Max).
Les cartes MOD-IO2 sont chaînables et adressables. Cela signifie que vous pouvez connecter plusieurs cartes MOD-IO & MOD-IO2 ensembles (après avoir modifié leurs adresses I2C) et vous pourrez toutes les commander indépendamment les unes des autres. Au final, cela fait plein de relais, d'entées/sortie et entrées analogiques! MOD-IO2 est propulsé par un microcontrôleur PIC16F1503 et le firmware est disponible en Open-Source chez le fabriquant.
Caractéristiques de la carte:
- PIC16F1503 microcontroller
- Pre-loaded open-source firmware for easier interfacing, especially with Linux-enabled boards
- 9-pin terminal screw connector for 7 GPIOs, 3.3V and GND
- PWR jack for 12VDC
- 7 GPIOs which could implement different functionality as I/O, PWM, ANALOG IN/OUT out-of-the-box. (You can change the firmware to use then as I2C or SPI).
- 2 relay outputs with 15A/250VAC. Relais avec bornier à vis et LEDs de statut
- Dimensions 61x52mm
Voyez notre fiche produit pour plus d'informations, schéma, utilisation OlinuXino, etc.
Matériel utilisé
Pour réaliser ce test, nous avons utilisé:
Description | Quantité | |
ESP8266-EVB |
ESP8266 Evaluation Board d'Olimex disponible ici chez MCHobby |
1 |
MOD-IO2 |
Carte MOD-IO2 d'Olimex disponible ici chez MCHobby |
1 |
UEXT-SPLITTER |
Multiplicateur de port UEXT. Permettra de brancher la carte + Interface USB-Serie disponible ici chez MCHobby |
1 |
USB-SERIE-TTL |
Un cable console pour pouvoir communiquer avec l'ESP8266 disponible ici chez MCHobby |
1 |
Raccordements
Les raccordements sont effectués comme suit:
- Un potentiomètre de 10K est branché sur le GPIO 5, il servira a contrôler le générateur PWM sur le GPIO 6.
- Les relais 1 et 2 (sur les 2 relais à disposition) sont activés à tour de rôle par le code Python.
Attention: ne pas appliquer plus de 5V sur la carte d'évaluation ESP8266-EVB |
Le raccordement du convertisseur USB-Série est identique à celui décrit dans le tutoriel ESP8266-DEV sous MicroPython.
Etant donné que le l'ESP8266-DEV (et donc ESP8266-EVB) ne disposent pas de convertisseur USB-Série, il sera donc nécessaire d'utiliser un câble console (USB-Série-TTL) pour communiquer avec la carte ESP8266.
Flasher MicroPython
Pour flasher MicroPython sur l'ESP8266-DEV (module ESP8266) qui équipe la carte d'évaluation d'Olimex (ESP8266-EVB), nous vous proposons les lectures suivantes:
Utiliser MicroPython sur ESP8266 nécessite de Flasher le MicroContrôleur avec le Firmware et d'utiliser des outils appropriés pour communiquer avec lui. Vous trouverez ci-dessous une sélection de tutoriel pour vous préparer. Nous recommandons vivement l'usage de RSHell, même si Ampy reste une solution plus simpliste (mais aussi nettement plus limitée).
Apprenez comment charger le Firmware MicroPython sur une carte Pyboard, ESP8266 (Feather, Wemos, NodeMcu), etc.
Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. ESP8266 compatible.
Outil simplifié de transfert de fichiers et de contrôlez de carte depuis une connexion série. ESP8266 compatible.
RShell sur ESP8266
Une petite pointe de rappel pour l'utilisation des ESP8266 avec RShell...
Il est impératif de réduire la taille du buffer à 128 octets sur un ESP8266 sinon vous risquez d'écraser le système de fichier votre ESP8266... auquel cas il faudra reflasher votre carte |
rshell --port /dev/ttyUSB0 --baud 115200 --buffer-size 128 --editor nano
Nous avons également un petit script shell rsheel-esp8266.sh pour faciliter faciliter le démarrage de rshell pour un esp8266.
Bibliothèque modio2
Avant d'utiliser le script d'exemple, il est nécessaire de transférer la bibliothèque modio2 sur votre carte MicroPython.
La bibliothèque modio2 et sa documentation sont disponibles dans le GitHub esp8266-uPy.
Puis:
- Copier le fichier modio2.py sur la carte micropython.
Vous pouvez également transférer le script de test test2.py et test2pwm.py sur la carte MicroPython.
Code
BUS I2C
La carte MOD-IO utilise le bus I2C (adresse par défaut est 0x21) pour communiquer avec le MicroContrôleur.
Ce bus I2C est disponible sur le connecteur UEXT de notre ESP8266-EVB comme le montre le tableau suivant.
En adaptant le code (et les raccordements du bus I2C), vous pourriez tout aussi facilement faire fonctionner des cartes ESP8266 comme Feather ESP8266 Huzza ou Wemos D1.
Fonctionnalités du MOD-IO2
Voici l'exemple commenté en Français.
xxx
Changer l'adresse I2C de la carte
Les cartes MOD-IO sont conçue pour être chaînable. Il faut donc que chacune d'entre-elles aient une adresse différente sur le bus I2C.
Si vous voulez utiliser plusieurs cartes, il faudra configurer une adresse I2C différente pour chacune d'entre-elles (adresse qu'il fait configurer en connectant une seule carte à la fois).
Il faut maintenir le bouton BUT enfoncé pendant l'exécution de la commande change_address() . |
# Modifier l'adresse de MOD-IO2 d'Olimex vers 0x22
#
# Shop: http://shop.mchobby.be/product.php?id_product=1408
# GitHub: https://github.com/mchobby/esp8266-upy/tree/master/modio2
from machine import I2C, Pin
from modio2 import MODIO2
i2c = I2C( sda=Pin(2), scl=Pin(4) )
brd = MODIO2( i2c, addr=0x1 )
brd.change_address( 0x22 )
Où acheter
- Le ESP8266-EVB utilisé dans ce tutoriel pour faciliter le raccordement. Pourrait fonctionner avec un Feather ESP8266 avec le raccordement adéquat.
- Le ESP8266-DEV module équipant la carte ESP8266-EVB.
- Le module MOD-IO2
- Le module UEXT Splitter
- La La gamme IoT/ESP8266 disponible chez MC Hobby
- Un Convertisseur USB-Série TLL
Tutoriel réaliser par Meurisse D. pour MC Hobby SPRL
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.