lundi 26 septembre 2016

Ajouter les cartes Feather, Trinket, Metro, Flora, ... à votre environnement Arduino IDE

Ajout d'un petit tutoriel pour compléter la base documentaire du Wiki de MCHobby.

Ce tuto concerne surtout l'ajout de carte Tiers sur Arduino IDE, ce qui a beaucoup de sens si l'on utilise des produits AdaFruit comme le Trinket & Metro, le Flora & gemma, les Feathers, etc.
Ajout du support des cartes Tiers dans Arduino IDE

Faire attention à la version d'Arduino

Il existe deux version de l'environnement Arduino. Celle soutenue par Arduino.org et celle soutenue par Arduino.cc

L'ajout de support des cartes Tiers pour les compatibles Arduino produit par Adafruit passe par l'environnement Arduino IDE supporté par Arduino.cc .

Tutoriel
Où acheter

mercredi 21 septembre 2016

Ajouter une connexion Ethernet à vos projets Feather

La communication sans fil c'est génial, mais parfois nous voudrions profiter de la fiabilité de la a connexion filaire. Si votre carte Feather (compatible Arduino) est destinée à devenir un élément permanent de votre installation, ce FeatherWing Ethernet vous permettra d'ajouter facilement et rapidement une connexion Ethernet à votre projet. Il faut juste brancher un câble Ethernet standard et utiliser la bibliothèque Ethernet2.
Feather Ethernet Wing - disponible chez MCHobby
Ethernet est un standard réseau éprouvé. Il est supporté par tous les hub et switch. Etant donné qu'il dispose d'une connexion physique, vous n'avez pas besoin de vous préoccuper des SSIDs, mots de passe, schéma d'authentification ou des antennes. La carte fonctionne avec les Feathers d'Adafruit.
Feather Ethernet Wing - disponible chez MCHobby

Le WIZ5500 (composant Ethernet) communique avec le Feather par l'intermédiaire du bus SPI et d'une broche CS (Chip Select). La bibliothèque Ethernet2 d'Arduino fonctionne parfaitement et effectuera la configuration DHCP quelques secondes après la connexion du câble.
Comme petit extra vraiment sympa, le connecteur RJ-45 dispose de deux LEDs indiquant indiquant l'état de la connexion (branchement et transit de donnée).

Câble PoE Passif
Cette extension ne supporte pas le Power-over-Ethernet actif (aussi appelé PoE, permettant d'alimenter la carte depuis le câble Ethernet). Par contre, vous pourrez facilement utiliser un câble d'injection PoE passif pour transporter facilement du 5V par l'intermédiaire du câble Ethernet jusqu'à la carte Feather et FeatherWing.
Source: Adafruit Industrie


Un câble PoE peut vraiment se montrer très pratique... d'autant que sont utilisation est vraiment simple.
Câble PoE passif

Ce câble permet de transporter les données réseaux et utiles les fils non utilisés en Ethernet 100 Mb pour y transporter la tension d'alimentation du projet... un peu comme sur l'exemple ci-dessous
Câble PoE passif - utilisation
Où acheter




mardi 20 septembre 2016

MicroPython PyBoard: REPL et STDIN, USB Série - réception de données

Ce week-end, nous nous sommes penché sur notre projet Motor-Skin afin de prévoir un petit programme de pilotage en mode REPL... si possible sans fil via Bluetooth.

Pyboard-à-roulette - Pyboard + Motor Skin

Ce fût un moment captivant et très intéressant.

REPL via Bluetooth
Nous avons repris un plus ancien tutoriel qui se penchait sur la connexion Bluetooth Série mais surtout la réplication du REPL sur le UART(1).
Tutoriel - REPL via Bluetooth

Du coup, en une seule ligne de commande, nous avons une ligne de commande REPL via Bluetooth (sans connexion physique... c'est trop de la balle).

pyb.repl_uart( pyb.UART(1,9600) )


Print et Read
Nombre d'entre nous connaissent très bien la fonction print() qui envoi des informations très utiles sur l'invite REPL (donc aussi notre connexion série répliquée via Bluetooth).

Par contre, comment fait-on pour y lire des données????

C'est justement le but de cet article, car nous voulions créer un programme de pilotage en REPL qui fonctionne comme ceci:

>>> from stdinctrl import *
>>> console()
--------------------
MotorSkin Interactive Console
q: quit to REPL   - quitter vers REPL

8: increase speed - accelerer
2: decrease speed - ralentir
7: going left     - aller a gauche
9: going right    - aller a droite
4: turn left      - tourner à gauche                                           
6: turn right     - tourner à droite                                           
5: HALT           - ARRET                                                       
--------------------                                                            
INIT MOTORSKIN                                                                  
READY                                                                           
speed:50                                                                        
speed:60                                                                        
speed:70                                                                        
bending:70 @ 5                                                                  
bending:70 @ 10                                                                 
bending:70 @ 15                                                                 
speed:80                                                                        
speed:90                                                                        
halted                                                                          
speed:-50                                                                       
speed:-60                                                                       
halted                                                                          
left:0                                                                          
speed:0                                                                         
speed:50                                                                        
left:50                                                                         
speed:50                                                                        
right:50                                                                        
speed:50                                                                        
BYE                                                                             
>>> 

Read via stdin
Pour lire la saisie utilisateur, nous avons utiliser le code suivant:

import sys
cmd = sys.stdin.read(1)
if cmd == '8': # increase speed
    pass 

read(1) fait une lecture de 1 octet/byte sur stdin (l'entrée standard).
La fonction ne rend la main qu'une fois le nombre d'octet attendu est lu.
C'est un appel bloquant!

L'avantage, c'est que cette méthode fonctionne sur l'invite REPL quelque soit le canal utilisé. Compatible avec USB, UART(1) ou UART(2)... et donc notre module Bluetooth.

L'inconvénient, c'est que la méthode est bloquante... votre script reste en attente tant que la lecture n'est pas complète. Cela peut être terriblement gênant dans certaines situations (mais pas celle de notre projet).

Read via USB_VPC
Si la gestion du temps est importante, vous pouvez utiliser le l'objet pyb.USB_VPC().

import pyb
usb = pyb.USB_VCP()
data = usb.recv( 10, timeout=500 )
if len(data) < 10:
    print('timeout')

L'avantage, c'est que la méthode prend un paramètre timeout qui permet de rendre la main au script principal si le nombre d'octet attendu n'arrive pas endéans le temps souhaité.

L'inconvénient, c'est que cette approche ne fonctionne qu'avec le port USB (liaison série via USB). Ce qui est gênant dans le cas de notre PyBoard-à-Roulette qui n'appréciera pas de traîner un câble USB derrière lui.

En savoir plus
Nous vous invitons à consulter la page du projet Motor-Skin (y compris la démo de la console stdin).

Venez également découvrir les pages des produits:
Où acheter

mercredi 14 septembre 2016

Des kits Audio Raspberry-Pi Max2Play Premium (licence incluse)

Nous venons d'ajouter de nouveaux kits pour réaliser des installations Audio Raspberry Pi avec HiFiBerry et Max-2-Play.
Nous disposons maintenant:
Kit Max-2-Play PREMIIUM avec HiFiBerry DAC+


Le kit Max2Play vous offre une solution do-it-yourself (pour les Maker) idéale pour les audiophiles et les fan de musique enthousiasmé par le HiFi.
Principe de fonctionnement de Max2Play

Avec Max2Play, votre nano-ordinateur Raspberry Pi se transforme en Media Player personnel capable de se connecter sur des centaines de radio Internet, de jouer de la musique depuis votre NAS (serveur de fichier), disque dur externe ou stick USB - a tout moment et partout! Et même dans plusieurs pièces en simultané si vous le désirez. Avec son système de greffons/plugins de plus en plus populaire, Max2Play ne cesse d'évoluer en offrant régulièrement de nouvelles fonctionnalités.  Vous disposez de 30 greffons dont 10 sont réservés à la version Premium.

Qu'est-ce Max2Play?
Max2Play supporte une grande variété de player logiciel, certains pré-installé d'autres optionnels. Cela inclus Kodi (aussi appelé XBMC), MPD, SharePort (support de Apple Airplay) , GMediaRender (support des serveurs DLNA) ou Squeezelite pour le serveur de média Logitech Media Server (largement connu sous le nom de Serveur Squeezebox).

En plus de cette logithèque, Max2Play vous permet également d'ajuster la qualité du son à l'aide d'un équaliseur logiciel ou d'un filtre passe-bas en fonction de vos préférences.

Installation Multiroom avec Max2Play vous permet d'avoir le même signal audio dans différentes zones ou dans différentes pièces simultanément. Vous pourriez, par exemple, jouer la même chanson dans la cuisine et la salle à manger. Grâce au greffons/plugins Multisqueeze il est possible d'exécuter plusieurs instances du player audio Squeezelite en même temps. De sorte, il est déjà possible de réaliser un petit environnement audio multizone avec seulement des Raspberry-Pi. Avec cette approche Max2Play vous permet d'implementer un multiroom audio facilement et a prix raisonnable!
Exemple d'installation MultiRoom.

Que contient la Max2Play Premium?

Avec la version Premium:
  • Vous pouvez utiliser tous les plug-ins premium
  • Vous avez accès au beta testing.
  • Vous supportez les efforts de développement de Max2Play
  • Disposez du support sur les forums Max2Play (en anglais)
  • Recevez un e-mail avec les nouveautés Max2Play (tous les 3 mois)
Parmi les greffons de Max2Play, plus de 10 d'entre-eux sont réservés à la version Premium avec par exemple:
  • Greffon Bluetooth
  • Configuration du Raspberry Pi Touch Screen
  • Multisqueeze (faire fonctionner plusieurs instances de Squeezeltie)
  • Protection de la carte SD
  • extension FHEM
    FHEM est principalement utilisé en domotique mais également pour d'autres tâches où la notification, la gestion du temps et logging jouent un rôle important.
  • Greffons point d'accès (Accesspoint)
    Permet à votre Max2Play de se comporter comme un routeur WiFi.
    Bien pratique pour le rendre autonome ou utiliser Airplay sans devoir partager le WiFi de la maison.
  • Paramétrage de la sortie audio (Raspberry PI) et des options de performance pour le CPU
  • ...
Les greffons/plugins Max2Play (max2play.com, angais)
La page avec les informations de la version Premium (max2play.com, anglais)

Tutoriel
Max2Play est un produit bien documenté voici quelques sources d'information
Où acheter
Intéressé par les kit audio à base de Raspberry Pi et d'HiFiBerry? Voici la liste des kits disponibles chez MCHobby.

vendredi 9 septembre 2016

Senseurs réflectif infrarouge CTR5000L

Le CTR5000L est senseur réflectif Infrarouge avec sortie transistor photo-électrique.
Il fait partie des point d'intérêt pré-MCHobby, c'est presque amusant d'y revenir.
CTR5000L dispo chez MCHobby

Le senseur CRT5000 fonctionne avec une LED Infrarouge (950nm) et un transistor photo-électrique. le tout inclus dans un boîtier ne laissant pas passer la lumière.
Ce senseur est utilisé pour détecter le changement de contraste d'une surface. Une surface blanche renvoie la totalité de la lumière infrarouge vers le senseur photo-électrique (ce qui active le transistor photo-électrique). Par contre une surface opaque/noir renvoie très peu de lumière infrarouge... et le senseur photo-électrique n'est pas actif.

La première fois que j'ai rencontré un tel senseur c'était pour la lecture "décodage" d'un compteur de gaz. En effet, les chiffres blancs ayant des formes différentes, elles renvoient plus ou moins de lumières vers le senseur photo-électrique en fonction du chiffre illuminé par la LED infrarouge. Du coup, en analysant les variations de tension dans le temps (donc de lumière renvoyée par le chiffre passant sous le senseur), il est possible de déterminer le passage du chiffre 9 (soit un tout complet du compteur :-) ).

Ce type de senseur peut être utilisé:
  • Pour une détection de position sur un axe (ou un encodeur)
  • Détection du passage d'une ligne (ligne blanche sur fond noir mat).
  • Détection de matériaux réflectifs (comme une carte, du papier, une bande magnétique, un CD, ...)
  • Comme switch pour limiter un mouvement mécanique (abondement utilisé dans les anciens lecteurs de vidéo)
  • Dans des emplacements ou l'encombrement est très limité.
Distance de mesure de 3 à 6mm.

Utilisation d'une CTR5000L dispo chez MCHobby
Pour que ce senseur soit efficace, il est important d'utiliser des surfaces avec des facteurs de réflexion vraiment différent. Par exemple Noir Mat et Blanc Mat, le Noir Mat à un facteur variant entre 0-10% tandis que le blanc mat à un facteur de réflexion de 90-100%
Utilisation d'une CTR5000L
Pour en savoir plus
Notre fiche produit contient d'autre informations utiles. N'hésitez pas à la consulter.

Où acheter



jeudi 8 septembre 2016

Module 8 relais pour Arduino et Raspberry-Pi

Les relais sont bien pratique. Une fois utilisé pour la première fois, ont se rend vite compte qu'on en a jamais assez!
Pourquoi ne pas sauter directement sur une version maxi relais avec plein de ... relais.

Module HUIT relais pour projet Microcontroleur & Raspberry-Pi

Ce module 8 relais prévoit toutes les fonctionnalités nécessaires à une mise en oeuvre rapide mais surtout huit relais capables de supporter 10A sous 250V alternatif.  Tel qu'il est conçu, il fonctionne avec des systèmes en logique 3.3v et 5V (donc Arduino, Raspberry, Micropython, etc).

Ce que nous apprécions le plus, c'est la protection offerte par les Optocoupleurs et la possibilité de dissocier le circuit d'alimentation des relais (JD-VSS) de celle de la logique de commande (VCC)... il suffit en effet de retirer le cavalier JD-VSS et d'alimenter les relais 5V par l'intermédiaire de la broche JD-VCC.

Pratique, il offrira une isolation galvanique (le circuit haute-tension n'est jamais en contact avec le circuit de commande) ainsi qu'une protection pour votre circuit de commande électronique (en cas de court-circuit, votre microcontrôleur est protégé électriquement).

Quelques caractéristiques
  • Module compacte.
  • LED indicatrices de l'état des relais.
  • Utilisation de diode en roue libre pour éviter les effets transitoire des bobines.)
  • Chaque relais activé consomme 63mA sur l'alimentation (VCC)
  • Courant d'activation par broche de commande.
    Avec une alimentation relais VCC=5V
    • VCC = 5 Volts => courant d'activation = 2.0 mA (par retour à la masse)
    • VCC = 3.3 Volts => courant d'activation = 0.5 mA (par retour à la masse)
  • Dimensions: 138 x 56mm (hauteur: 18mm)
Tutoriels
Où acheter

mercredi 7 septembre 2016

Des stacking Headers pour la PyBoard

Cela aura demandé pas mal de recherche mais nous avons fini par trouver les composants nécessaires à la réalisation de Stacking Header pour la carte MicroPython PyBoard.
Stacking Header pour PyBoard

Cet ensemble de connecteur peut être soudé sur vos cartes d'extension comme le motor-skin (ou sur la carte Micro Python).
Cela permet d'avoir une carte d'extension branchée sur votre PyBoard tout en gardant l'accès aux différentes broches de la PyBoard.
Vous pourrez même empiler plusieurs extensions sur votre PyBoard avec ces stacking headers.
Stacking Header pour PyBoard


Stacking Header pour PyBoard

Ce connecteur mâle est compatible avec connecteur original de la PyBoard et vous pourrez y brancher nos nos fils pour breadboard (qui y tiendrons bien). Ces stacking header sont compatibles avec les breadboard.
Par contre, la partie femelle du stacking header est plus étroite que les connecteurs standard de la PyBoard. Vous ne pourrez donc pas y brancher pinHeader "carré" mais uniquement des pinHeader cylindrique avec un diamètre 0.5mm (comme ceux équipant les stacking header eux même).

Nous adorons la PyBoard et sommes vraiment très heureux d'avoir trouvé un équivalent au stacking header Arduino pour notre PyBoard.

Où acheter