FR201703
FR201703
FR201703
le form www.elektormagazine.fr
el
nouv
horloge RGBDigit
afficheur
à 7 segments
en couleur
on :
AVR Playground a n s c e tte éditi
D
du labo
carte de développement
8 projets
« façon Arduino »
ro j e t s d e lecteur
7p
no R4,
Elektor U
2,
Gnublin passerelle IoT et noeuds sans fil •
T ...
tests NIS kits d’initiation & cartes de développement
• signaux de télécommande (format NEC) •
R. Lacoste – LoRaWAN • Swiss Pi - extensions
matérielles • banc d’essai : STEMlab 125-10 • thérémin avec des JFET •
Android sur Raspberry Pi • générateur de nombres vraiment aléatoires
• RFID pour Arduino Uno • commande de vitesse par MLI • MicroPython
BBC micro:bit • sonde différentielle active V2 • carte Linux à monter soi-même •
station d’accueil régénérateur de batteries au plomb
espace de prototypage
0,
DES PRIX
58
VT-7126
AMPOULE LED, GU 10
Foto: Foto- und Bilderwerk
I N T E N A N T
R MA
RENOUVELE
C O N O M I S E R
T E
L'É CLAIRAGE E AMPOULE LED, E 27
Ces ampoules LED peuvent remplacer
pratiquement toutes les lampes à économie
d’énergie et lampes classiques sur un
RUBAN LED culot E27. Vous pouvez ainsi tout de suite
Puissance : 18 watts commencer à économiser l’énergie.
Angle de rayonnement : 120°
Longueur : 5 m Largeur : 8 mm Puissance : 10 watts
4,
Installation facile et modulable Puissance lumineuse : 806 lm
50
CRI (Ra) : 80 Couleur de la lumière :
blanc chaud
VT-2016 4,50 blanc chaud
Durée de vie : 20 000 h
VT-2041 4,50 blanc neutre
l’unité VT-2005 4,50 blanc froid
CRI (Ra) : 80
6,
1,
999
42
RUBAN LED VT-4209
aab
b
Puissance : 18 watts
Angle de rayonnement : 120°
Longueur : 5 m Largeur : 8 mm
4,
Installation facile et modulable
50
VT-2015 4,50 rouge LED
CHNIQUE LUMINEUSE
VT-2011 4,50 vert PLUS DE TE
VT-2013 4,50 bleu Vous trouverez les articles de cette
à partir de VT-2124 6,68 RGB annonce et bien d’autres encore sur
notre boutique en ligne: http://rch.lt/zW
Prix du jour! Prix à la date du: 31. 1. 2017 Prix en € hors T.V.A., frais de port en sus · reichelt elektronik, Elektronikring 1, 26452 Sande (Germany) Les langues de notre boutique:
www.reichelt.fr
MODES DE PAIEMENT INTERNATIONAUX:
ACHETER EN LIGNE TOUT SIMPLEMENT ! ASSISTANCE TÉLÉPHONIQUE EN ANGLAIS: +49 (0)4422 955-360
40ème année,
n° 464 – mars/avril 2017
ISSN 0181-7450
Dépôt légal : février 2017
CPPAP 1113 U 83713
Directeur de la publication : Donatus Akkermans
Certaines rubriques ont laissé la place à de nouvelles comme le « vol tous azimuts »
Publicité :
piloté par Clemens Valens, chef du labo. D’autres fleuriront dans les prochains numéros.
Fabio Romagnoli +32 485 65 40 90
Le printemps arrive !
fabio.romagnoli@eimworld.com
Comme après toute période de travaux, il reste les finitions, des retouches ici et là, des
DROITS D’AUTEUR : réglages à affiner... N’hésitez pas à nous faire part de vos impressions et suggestions
© 2017 Elektor International Media B.V. (redaction@elektor.fr).
Toute reproduction ou représentation intégrale ou Si vous êtes adepte du papier imprimé et familier des marchands de journaux, vous trou-
partielle, par quelque procédé que ce soit, des pages verez désormais sur www.elektormagazine.fr un outil pour trouver près de chez vous les
publiées dans la présente publication, faite sans
kiosques approvisionnés en magazines Elektor.
l’autorisation de l’éditeur est illicite et constitue une
contrefaçon. Seules sont autorisées, d’une part, les Elektor, à votre service.
reproductions strictement réservées à l’usage privé du
copiste et non destinées à une utilisation collective, et,
d’autre part, les analyses et courtes citations justifiées Mariline Thiebaut-Brodier
par le caractère scientifique ou d’information de l’oeuvre
dans laquelle elles sont incorporées (Loi du 11 mars 1957
-art. 40 et 41 et Code Pénal art. 425).
Certains circuits, dispositifs, composants, etc. décrits
dans cette revue peuvent bénéficier de droits propres
aux brevets; la Société éditrice n’accepte aucune
responsabilité du fait de l’absence de mention à ce sujet.
Conformément à l’art. 30 de la Loi sur les Brevets, les
circuits et schémas publiés dans Elektor ne peuvent être Notre équipe
réalisés que dans des buts privés ou scientifiques et Rédactrice en chef : Mariline Thiebaut-Brodier (redaction@elektor.fr)
non commerciaux. L’utilisation des schémas n’implique
Rédaction internationale : Thijs Beckers, Jan Buiting, Jens Nickel
aucune responsabilité de la part de la Société éditrice.
La Société éditrice n’est pas tenue de renvoyer des Laboratoire : Ton Giesberts, Luc Lemmens,
articles qui lui parviennent sans demande de sa part Clemens Valens (responsable), Jan Visser
47 agenda
mars-avril 2017
76 projet 2.0
corrections, mises à jour et courrier des lecteurs
26
112 sur la toile : conception d’enceintes
programmes gratuits pour le calcul d’enceintes
à base de Raspberry Pi
128 l’e-choppe d’Elektor
avec un nouveau logiciel de diagnostic
130 Hexadoku Le module Pi-OBD-HAT est
casse-tête pour elektorniciens une carte d’extension pour
Raspberry Pi qui transforme
ce nano-ordinateur en une
interface de diagnostic OBD2.
en coulisse
Un inconvénient des solutions
précédentes était qu’on
devait les interfacer avec
un émulateur
12 kits d’initiation et de terminal.
cartes de développement Le logiciel de
petit tour d’horizon diagnostic
HHGui présenté
42 hors-circuits avec R. Lacoste
ici est d’un
LoRaWAN : architecture, protocole, sécurité
emploi bien
et opérateurs
plus simple et
commode.
60 débogage et décodage
de communications numériques
à l’aide du SmartScope
afficheur 68 générateur de
nombres réellement aléatoires
à 7 segments
tests NIST & composants abordables
en couleur
vous êtes autorisé à vous poser »
120 régénérateur
de batteries au plomb 0-30 V
avec contrôle de
la qualité de l’accumulateur
AVR Playground
ou comment faire mieux « façon Arduino »
52
Cet article présente l’AVR Playground, une carte bientôt sur ces pages
hybride entre l’Arduino Uno et une carte classique de
développement pour microcontrôleur. L’objectif est de
« faire de l’Arduino » sans mauvaises connexions ni Extrait du sommaire du prochain numéro :
fils volants (même si la carte ne l’empêche pas).
• Analyseur de signaux universel par Ethernet, la suite
• Chargeur Li-Ion
• Détecteur de caméra-espionne
• Éclairage extérieur
• L-Board, T-Board réinventée
26 testeur portatif OBD2 • nWatch, électronique vestimentaire
à base de Raspberry Pi
avec un nouveau logiciel de diagnostic
• Préamplificateur pour micro de studio
• Supervision en 3D avec des moteurs pas-à-pas
32 Swiss Pi toujours plus polyvalent
• Supra 2.0, la suite
grâce aux extensions matérielles
• Télécommande XBee
90
48 fabriquer son thérémin
Etc.
des JFET à la place des tubes
horloge RGBDigit
afficheur à 7 segments
en couleur
Comment mettre en
scène un afficheur vintage ou
moderne ? Avec une horloge bien sûr ! Voici
notre premier projet avec des « RGBDigits », afficheurs
à 7 segments multicolores. Complété par une e-BoB BME280, le
montage affichera température, humidité et pression atmosphérique.
Coen de Bruijn (Pays-Bas) afficheur comprend huit LED RVB 256×256×256 = 16.777.216 couleurs
NeoPixel 5050 (sept segments plus le par segment.
L’horloge est pilotée par un module point décimal) avec pilotes intégrés, l’uti-
de transmission ESP12, ce qui permet lisateur commande la couleur et la lumi- Fonctionnement du circuit
la synchronisation avec un serveur de nosité de chaque segment individuelle- Le schéma (fig. 1) montre que l’horloge
temps de l’internet, les réglages depuis ment via un bus à 3 fils (VCC, GND et est alimentée en 5 V par le connecteur
un terminal mobile ou un ordinateur sur DATA). Il est possible de réunir jusqu’à micro-USB K1. L’alimentation est proté-
le réseau et la transmission par Wi-Fi des dix afficheurs, via leurs broches DATA IN gée par le fusible réarmable CTP 2 A F1,
données du capteur. et DATA OUT. avec la diode Schottky D1 en protection
contre l’inversion de polarité. IC1 est le
Qu’est-ce que c’est ? Chaque LED de couleur primaire d’un régulateur de tension principal de 3,3 V
Les RGBDigits sont fabriqués par une NeoPixel est réglable sur 256 niveaux de et IC6 alimente en 3,3 V les capteurs
société hollandaise éponyme. Chaque luminosité, d’où une énorme palette de Qtouch IC4 et IC5 (la séparation des
débutant
Æ connaisseur
expert
environ 3 h
Ordinateur avec
EDI Arduino
environ 100 €
V+ V+ V+ V+
LED1 LED2 LED3 LED4
1 4 1 4 1 4 1 4
VDD_I VDD_O VDD_I VDD_O VDD_I VDD_O VDD_I VDD_O
2 5 2 5 2 5 2 5
DIN DOUT DIN DOUT DIN DOUT DIN DOUT
3 6 3 6 3 6 3 6
VSS_I VSS_O VSS_I VSS_O VSS_I VSS_O VSS_I VSS_O
DIN
VCC VCC V+
C5 C6
R1 R3 R4
100n 100n
IC2
10k
10k
1 6
VCCA VCCB R7
GPIO2 3 4 DIN
NSL-19M51 A B 1k
RESET 1
MOD1 16 ESP-TXD 5 2
RST TXD DIR GND
2 15 ESP-RXD
ADC RXD 74LVC1T45GW
R2 3 14 SCL
EN/CH_PD GPIO5
GPIO16 4 13 SDA VCC
10k
GPIO16 GPIO4
GPIO14 5 12 FLASH
GPIO14 GPIO0 C10
BUTTON0 6 11 GPIO2
GPIO12 GPIO2
BUTTON1 7 10 GPIO15 4
VCC GPIO13 ESP-12E/F GPIO15 100n
8 9 VCC
VCC GND
R5 IC3
GPIO10
SCL 1 3 SDA
GPIO9
SCL
SCLK
SDA
MISO
MOSI
C8 C7
10k
CS0
24LC64T-I/OT
100u 100n 17 18 19 20 21 22
GND
16V
K2 2
6
VCC LD1117S33TR
5 ESP-TXD
FTDI cable
2 ADJ
C2 C1 C3 C4 C11
1
FLASH
S1 10u 100n 1u 10u 100n
10V 10V 5
R11
3 VDD 6
VCC FLASH 10k SNSK SYNC
C12 IC4
K3 K1
5
F1 2A D1 V+ AT42QT1010
1
VBUS X7R 10n 4 -TSHR 1 BUTTON0
4 GPIO14 2 SNS OUT
D– MF-SMDF200-2 MBRS540 VSS
3 GPIO15
POWER
3 K5
D+ 2
2 GPIO16 4 1
ID BUTTON0
1 5 2
GND BUTTON1
VCCIO
VCC
C13
USB-MICRO
VCC
R8
MCP1700-33 100n
R9 R10 5
10k
K4 C14 IC5
4 RESET
C15 C16 AT42QT1010
BME280 BoB
3 SDA C9 S2 1
X7R 10n 4 -TSHR 1 BUTTON1
2 SCL SNS OUT
1u 1u VSS
1 10u 10V
RESET
2
160100 - 11
Figure 1. Que de connexions ! Pour garder le schéma lisible, beaucoup d’entre elles sont regroupées dans un « bus »
dans l’e-choppe
Comment créer/modifier une page web pour l’ESP12 ?
Nous avons utilisé HTML-Kit 292 pour construire le site web interne de l’ESP12
(www.htmlkit.com/download). Ce programme libre permet de créer et concevoir son ª160100-1 Circuit imprimé
propre site. Notre page web comporte trois fichiers : index.html, style.css et script. ª160100-91 Module assemblé
js. Index.html est le fichier principal, programmé en HTML. Il constitue la structure ª160109-91
Carte e-BoB BME280 assemblée
du site. Dans style.css, nous définissons l’aspect de notre page. Script.js détermine
(en option)
ce que fait la page.
ª17789
La page de l’ESP12 est constituée de plusieurs sections <div>. La mise en page et
Afficheur RGBDigit à 7 segments
le fonctionnement sont définis dans style.css et script.js à partir de ces éléments.
Liens
[1] www.arduinesp.com/getting-started
[2] www.elektormagazine.fr/160100
[3] https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md
[4] https://github.com/esp8266/arduino-esp8266fs-plugin/releases/download/0.2.0/ESP8266FS-0.2.0.zip
Elektor, c'est bien plus qu'un simple magazine. C'est une communauté d'électroniciens, du débutant
au professionnel, désireux d'apprendre, de concevoir et de partager une électronique qui étonne.
Boutique en ligne d'Elektor : la caverne d’Ali Magazine Elektor : six numéros par an
Baba des électroniciens ! 10 % de remise d’électronique inédite (projets, bancs d’essais,
permanente pour les membres GREEN et GOLD. cours, trucs et astuces, actualité…).
www.elektor.fr www.elektormagazine.fr
facebook.com/ElektorFR twitter.com/Elektor
kits d’initiation et
cartes de développement
petit tour d’horizon
Il y a juste un an, nous faisions ici même un tour du monde des nouvelles cartes à microcontrôleurs. Nous
sommes repartis en voyage et nous avons rencontré de nouvelles cartes d’initiation et plateformes de
développement. Attention, cette liste est loin d’être exhaustive.
Figure 14. On n’en a jamais que pour son argent : les deux circuits imprimés, le câble de qualité
supérieure, le récepteur USB avec antenne, une notice pour des extensions et même une petite pince.
teur. La grande différence provient de la sans fil à structure compliquée (pensez Liens
cellule à charger. La LTC3330 sert à la IdO). Dans Gleanergy, le module LTP5901 [1] www.elektormagazine.fr/150687
pile, la LTC3331 fonctionne avec l’accu- a pour mission la surveillance du gla- [2] www.infineon.com/cms/en/product/
mulateur. Il y a encore la LTC3107 pour nage d’énergie. Inutile de préciser qu’il promopages/sensors-2go/
l’élément Peltier et la pile, ainsi que la est lui-même animé de la philosophie de
[3] goo.gl/S17DDt
LTC3106 uniquement pour la cellule la moindre consommation. Il envoie les
solaire, en fait toutes deux pour entrepo- données en série à l’interface micro-USB, [4] www.st.com/en/evalua-
ser l’énergie (pile/accu). Entre les cava- destination l’écran encré. Là-dessus, il tion-tools/32f412gdiscovery.html
liers et interrupteurs de l’avant du circuit y a encore un outil de démonstration et [5] www.atmel.com/tools/
imprimé et les résistances en pont sur d’analyse de toutes les configurations attiny817-xpro.aspx
l’arrière, il y a une ribambelle de commu- importantes des régulateurs pour, au [6] start.atmel.com
tations possibles. On peut encore enclen- bout du compte, en arriver à la phase
[7] www.cypress.com/products/
cher, déclencher ou mettre en parallèle du prototype en vue de sa propre récolte
psoc-analog-coprocessor
chaque régulateur séparément. Mais la d’énergie (figure 15). Avec le shield vide
[8] goo.gl/E0Q92g
documentation relative à la carte est très livré DC2510A, on peut encore étendre le
pénible à ce sujet. circuit. La formule complète peut bien sûr [9] goo.gl/7jsViq
fonctionner sans fil avec la technologie [10] www.renesas.com/en-us/products/
Le deuxième circuit imprimé peut se SmartMesh et la clé USB DC2274A-A. Et synergy/book.html
brancher directement sur le côté du puis il existe un software development [11] synergygallery.renesas.com/
DC2344A, c’est le DC2321A [19] qui kit (SDK) correspondant. En conclusion,
[12] goo.gl/d9OSpq
regroupe le module Dust-Mote LTP5901 si vous cherchez des solutions sans fil ou
et un écran à encre électronique. Un du glanage d’énergie, l’achat en vaut la [13] goo.gl/RhxvQH
mote n’est rien d’autre qu’un nœud de peine pour réaliser vos projets et rac- [14] goo.gl/RhZ0Dd
réseau sans fil, Dust est son nom com- courcir la phase de prototypage. [15] goo.gl/au8na5
mercial. Le LTP5901 est un représentant (160287 – version française : Robert Grignard)
[16] goo.gl/lw4kaA
de la famille Dust SmartMesh IP Wireless
de LT, il travaille à la mode du Zigbee bien [17] www.linear.com/solutions/5744
connu dans la bande de 2,4 GHz selon [18] www.linear.com/solutions/7717
la norme IEEE 802.15.4e et possède un [19] www.linear.com/solutions/7662
noyau ARM-Cortex-M3. Avec la technolo-
gie Dust, on peut échafauder des réseaux
passerelle IoT
et nœuds sans fil
1ère partie : le matériel
Il manque toujours une fonction spécifique à un système de domotique du commerce. C’est pourquoi l’auteur
a conçu son propre système où les différents nœuds (nodes) communiquent sans fil avec la passerelle
(gateway) centrale. Cette dernière utilise le protocole MQTT pour envoyer des données de mesure à un
serveur OpenHAB, qui les traite et les supervise. Ensuite, plusieurs autres utilisateurs ont repris son projet
et l’ont étoffé. En deux articles, l’auteur décrit les éléments les plus importants de son système – des
informations plus détaillées et le logiciel associé sont disponibles gratuitement sur l’internet.
Hennie Spaninks (Pays-Bas) valeur de mesure d’un capteur. Comme la plupart des sys-
tèmes disponibles dans le commerce ne sont pas compa-
tibles, il faut l’intervention d’un tiers (IfThisThenThat par
Les systèmes domotiques font rêver. C’est magique de voir les ex.) pour qu’il se passe quelque chose.
lampes s’allumer et s’éteindre toutes seules, de constater que • Les systèmes sans fil font souvent appel au Wi-Fi. Dans
le chauffage « sait » quand vous êtes chez vous ou de recevoir les maisons en béton armé, la portée est limitée.
un message qui signale un quidam à la porte. On trouve dans • La sécurité est loin d’être optimale : risque de voir le voi-
le commerce de nombreux systèmes, mais ils « souffrent » en sin allumer vos lampes.
général des défauts suivants :
Voilà suffisamment de motifs pour retrousser ses manches et
• Ils sont souvent unidirectionnels ; on peut envoyer une construire son propre système domotique !
instruction, sans avoir la certitude qu’elle est arrivée. Si on
lit sous une lampe, pas de problème, mais lorsqu’on est en Panorama
vacances à l’étranger, savoir que tout va bien rassure. Pour les capteurs et actionneurs (« nœuds terminaux », end
• Souvent, ils ne sont pilotables qu’avec une appli spéci- nodes), nous optons de préférence pour des versions abordables
fique : chaque fabricant a la sienne et les protocoles uti- et frugales en énergie. La commande centrale doit bien entendu
lisés sont loin d’être compatibles. D’où un ordinophone reconnaître les protocoles réseau standard tels que TCP/IP.
encombré d’une pléthore d’applis.
• L’attrait de la domotique est qu’elle permet d’automati- C’est pourquoi nous avons opté pour un système à deux
ser les choses : envoyer des instructions en réponse à la niveaux : les nœuds terminaux, une passerelle et une unité
Messages MQTT
home/rfm_gw/direction/nodeID/deviceID
Le protocole MQTT travaille avec des abonnements, appelés
topics (sujets) (cf. [3]). Si un client est abonné à un sujet, le
courtier veillera à ce que tous les messages présents dans ce • direction indique ici le sens du flux de données. nb (Nor-
sujet lui soient livrés. thbound) signifie du nœud vers serveur OpenHAB (valeurs
de capteur), sb (Southbound) de OpenHAB vers le nœud
Le sujet MQTT utilisé a le format : (instructions).
U3
HT1117-33
+5V
3 2
C1 C2
GND TAB
1 4 100n 47u
U2
1 24
R2 R3 TXO RAW U1
2 23
RXI GND
10k
4k7
3 22 8 2
RST RST 3.3V DIO0
4 21 3
GND VCC DIO1
U4 5 20 4
1
DHT11 2 A3 RESET DIO2
6 19 5
VDD 3 A2 DIO3 ANT1
7 18 6
DATA 4 A1 DIO4
8 17 7
NC 5 A0 DIO5
9 16 12
GND 6 13 SCK
10 15 13 9
7 12 MISO GND
11 14 14 10
8 11 MOSI ANT
12 13 15 11
9 10 NSS GND
R1
ARDUINO_MINI RFM69HCW
1k
S1
LED1
150085 - 13
Figure 3. Schéma d‘un nœud terminal. Figure 4. Nœud DIG dans un boîtier enfichable.
U2
1k
1k
La passerelle s’abonne à tous les messages Southbound pour
tous les nœuds du réseau avec le sujet suivant avec un carac- LED1 LED2
U4
W5100 Ethernet Module
MQTT Radio +5V
tère générique (wildcard) : link link
NSS
MOSI VDD
MISO U5
home/rfm_gw/sb/# SCK
4
3
2
OpenHAB tient bien sûr à recevoir tous les messages venant GND
1
RJ45
des nœuds et s’abonne donc au sujet :
150085 - 15
home/rfm_gw/nb/#
Figure 5. Schéma de la passerelle.
Le tableau 4 donne quelques exemples de messages MQTT.
Liens
[1] https://mosquitto.org
[2] www.openhab.org
[3] www.elektormagazine.fr/news/
mon-voyage-dans-le-nuage-iot-13-un-petit-capteur
[4] www.klikaanklikuit.nl
[5] http://john.crouchley.com/blog/archives/662
[6] https://github.com/computourist/RFM69-MQTT-client
[7] http://homeautomation.proboards.com/board/2/
openhab-rfm69-based-arduino
Figure 8. Cette capture d‘écran montre un exemple du trafic MQTT.
signaux de télécommande
au format NEC
exclusivement pour Elektor Uno R4
Le microcontrôleur ATmega328PB au cœur de la carte Elektor Uno R4 est
équipé d’un Output Compare Modulator (OCM, soit « modulateur sur
sorties de comparaison »). Ce périphérique ainsi que quelques
autres ne sont pas disponibles sur d’autres versions de
l’ATmega328 qui équipent les cartes Arduino
standard comme la R3. L’OCM est idéal
pour produire des signaux
de télécommande
infrarouge (IR).
à propos du projet
Elektor Uno R4
Arduino OCM
Télécommande RC-5
débutant
Æ connaisseur Clemens Valens (labo d’Elektor) commandes à infrarouges, pour moduler
expert le courant qui alimente la LED IR.
Mon domicile et le vôtre, je pense, sont
L’OCM combine les sorties des Timer3 parsemés de télécommandes. Il y a
env. 1 h et Timer4 (compteurs/minuteurs) – une quelque temps j’avais besoin d’une télé-
autre exclusivité de l’Elektor Uno R4 – et commande compatible Philips RC-5, je
sort le résultat sur PD2, broche 2 de l’Ar- les ai toutes testées, mais aucune d’entre
Elektor Uno R4, duino et 32 du microcontrôleur. Combiner elles n’utilisait le protocole RC-5, pas
ordinateur avec consiste ici en un ET ou un OU logique même mon lecteur de DVD Philips (RC-
EDI d’Arduino
des deux signaux (voir fig. 1). La valeur 6). La plupart de mes télécommandes
du registre PORTD2 détermine l’opération employaient une variante du protocole
effectuée : si PORTD2 est à 1, c’est un NEC. C’est logique, puisque la plupart
env. 25 € OU ; s’il est à 0, c’est un ET. de mes appareils télécommandés, et les
On trouve fréquemment des signaux vôtres aussi je suppose, sont fabriqués
comme ceux de la figure 1 dans les télé- en Asie. Comme nous avons notre péri-
dans l’e-choppe
ª150790-91
Elektor Uno R4
Thomas Beck
Le module Pi-OBD-HAT est une carte d’extension pour Raspberry Pi qui transforme ce nano-ordinateur en
une interface de diagnostic OBD2. Un inconvénient des solutions précédentes était qu’on devait les interfacer
avec un émulateur de terminal. Le logiciel de diagnostic HHGui présenté ici est d’un emploi bien plus simple
et commode.
Le logiciel HHGui (interface graphique OBD2 portatif a déjà été présenté dans Aujourd’hui HHGUi est adapté à ce
pour Pi-OBD portatif) est une variante Elektor (09/2009, voir [2]). L’analyseur module Pi-OBD-HAT.
de mon émulateur portatif OBD2, OBD2 NG (Nouvelle Génération) est
HHEmu [1], une espèce de couteau basé sur le module DXM-OBD2 [3], un Historique du développement
suisse pour les développements autour prédécesseur de l’interface AGV4000C L’itinéraire inhabituel du développement
de l’« analyseur OBD2 NG/DIAMEX du module Pi-OBD-HAT (OnBoard Dia- du logiciel montre qu’il est possible de
Handheld Open » (HHOpen). Ce testeur gnostic - Hardware Attached on Top). porter un micrologiciel écrit à l’origine
PI-OBD : le matériel
Le module Pi-OBD-HAT (disponible dans l’e-choppe) de du démarrage du Pi-OBD. La communication s’effectue au
Diamex transforme le Raspberry Pi en un gestionnaire travers du port série configuré 8N1 (8 bits/sans parité/1 bit
de diagnostic OBD2. Si l’on équipe le RPi avec un écran de stop) à la vitesse de 115.200 baud.
tactile de 7 pouces, on a en main un système de diagnostic
autonome pour véhicule, avec une interface OBD2. Montage
Le Raspberry Pi ainsi que l’écran sont alimentés par Pour commencer, on enfiche le module Pi-OBD sur le RPi.
HHGui : structure et
fonctionnement
Principe de fonctionnement
Le micrologiciel est exécuté dans un fil
(thread), toutes les entrées et sorties
sont traitées dans d’autres fils. Pour cela,
il faut simuler des registres et des inter-
ruptions du µC.
Réalisation effective
HHGui se compose de six fils. La figure 1
en montre un synoptique simplifié avec
les interactions entre les fils. Les noms
des fils dans les fichiers sources sont dif-
férents du fait de la longue histoire de ce
logiciel. Le fil Pi-OBD-Module y porte le
nom de DxmThread et le fil OBD2-Ana-
lyser NG s’appelle HhopenThread. Dans
la suite, nous allons utiliser ces noms
plus courts.
Le HhopenThread est le fil dans lequel est
exécuté le micrologiciel de l’analyseur
OBD2. Ce fil communique de manière Figure 1. HHGui : diagramme fonctionnel.
du RPi, il faut connecter les deux broches d’alimentation 5 V La mise en service du Pi-OBD-HAT nécessite des
de son module d’affichage aux broches correspondantes du connaissances de base du Raspberry Pi, de l’utilisation de
module Pi-OBD. La photo montre cette connexion avec, en Linux et de l’installation de logiciels. Pour la configuration
bas, le RPi équipé du module OBD et, en haut, l’arrière de et l’utilisation, il faut raccorder un clavier et une souris au
l’écran avec le module d’affichage. L’affectation des RPi (si aucun écran tactile n’est
différentes broches est sérigraphiée sur les circuits disponible). On peut
imprimés. Prenez bien garde à respecter la polarité ! alors commencer. La
Le module est équipé de deux ports de première opération
raccordement du câble OBD2, l’un est de rendre
(port 2) pour des fils dénudés,
l’autre (port 1) pour
un câble plat terminé
à l’autre bout par un
connecteur Sub-D.
On peut monter
un connecteur plat
(mâle ou femelle) sur le
port 2 qui se trouve sur le bord
extérieur du circuit imprimé.
Ce port a l’avantage d’être accessible
même quand le module est monté ;
attention toutefois à une possible erreur disponible le port série du
de polarité. Pour le port 1, équipé d’une prise carénée avec RPi, opération dont la description sortirait du cadre de cet
détrompeur, une telle erreur est impossible, la présence article, d’autant plus qu’elle présente des différences entre
d’un connecteur Sub-D interdit l’inversion. Il faut toutefois les différents modèles du RPi. Cette procédure est toutefois
connecter le câble plat avant l’assemblage du RPi et du décrite en détail dans le mode d’emploi [11]. Après un test
module, cette opération est impossible par la suite. de fonctionnement au moyen d’un émulateur de terminal,
l’appareil est prêt à l’emploi.
Mise en service
dans l’e-choppe
doivent être présentées au fil Hhopen- exploite les événements d’entrée de
Thread à travers le registre PINA, dans toutes sortes et les transforme soit en
l’état « pressé » pendant 40 ms, pour que pressions sur les touches Up/Down/ESC/ ª17944
le micrologiciel identifie une pression sur OK, soit en événements de touches qui module Pi-OBD-HAT
une touche. Le délai de 40 ms est éva- pilotent le simulateur OBD2. (monté et testé)
lué en collaboration avec le fil Counter- Le fil CounterThread sert en premier lieu ª17415
Écran tactile de 7 pouces pour
Thread. Les touches qui ne sont utilisées à émuler les interruptions cadencées
Raspberry Pi, modèle officiel
que pour le simulateur OBD2 provoquent à 10 ms du Timer2. Pour cela, il appelle
ª17631
des modifications des réglages dans le toutes les 10 ms la fonction de traitement
Raspberry Pi 3
fil DxmThread. des interruptions (Interrupt Service Rou-
La boucle sans fin de gestion des pres- tine, ISR) TIMER2_COMP_vect(). D’autre
Liens
[1] HHEmu : www.elektormagazine.fr/labs/firmware-update-and-emulator-for-obd2-analyser-ng-wireless-obd2
[2]
Analyseur OBD2 (Nouvelle Génération), Elektor 09/2009 : www.elektormagazine.fr/magazine/elektor-200909/11390
[3] Module DXM : www.diamex.de/dxshop/DIAMEX-DXM-OBD2-Modul
[4]
OBD-2 sans fil, module d’extension Bluetooth pour l’analyseur OBD2 NG, Elektor 04/2010 :
www.elektormagazine.fr/090918
[5] HHGui : www.elektormagazine.fr/labs/obd2-for-raspberry-pi
[6] www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=66368
[7] http://standards.sae.org/j1979_201408/
[8] Fonction plateau : http://www.t4-wiki.de/wiki/Plateau-Funktion
[9] https://en.wikipedia.org/wiki/OBD-II_PIDs
[10] www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=67245
[11] Pi-OBD-HAT : www.elektor.fr/pi-obd-hat-obd2-module-for-raspberry-pi
Swiss Pi
toujours plus polyvalent
à propos du projet
Microcontrôleurs
Raspberry Pi Swiss Pi
débutant
Æ connaisseur
expert
Pour chacune de ces car-
tes, nous avons développé
de 30 mn à 1 h30 par carte un circuit imprimé dont vous
pouvez télécharger les fichiers Eagle circuits ne sont pas forcément tributai-
et Gerber [2]. Ils vous permettront de res du Swiss Pi, ils accompagneront sans
faire réaliser ces circuits imprimés par difficulté d’autres plateformes, un circuit
poste de soudage avec
panne adéquate le fabricant de votre choix. Autant que à microcontrôleur de votre cru ou une
possible, nous avons privilégié les com- carte Arduino.
posants traversants aux CMS, question
de vous simplifier la construction. Et si Carte à relais à 8 canaux
entre 25 € et 50 € par carte vous souhaitez créer vos propres cartes La carte à huit relais (fig. 1) utilise des
d’extension, vous trouverez ici l’inspi- relais électromagnétiques de la série
ration nécessaire. Sans oublier que ces G5Q d’Omron. En lieu et place de ces
+12V +12V
K10
D18
3
2 R9 R10 R11 R12 R13 R14 R15 R16
1
1N4007
2k2
2k2
2k2
2k2
2k2
2k2
2k2
2k2
RY1 ... RY8 = G5Q-SPDT
C1 K1
D9
K11
1 100u
* * D1 2 RY1 S 1
P 2
2
3
1
O
1N4148
T1 K2
R18 D10
* 2 RY2 S 1
4k7 D2
P 2
BC547 3
1
O
1N4148
T2
R19 D11 K3
* 2 RY3 S 1
4k7 D3
P 2
BC547 3
1
O
1N4148
T3
R20 D12 K4
* 2 RY4 S 1
4k7 D4
P 2
BC547 3
1
O
K9
1N4148
1 2 T4
R21 D13 K5
*
3 4 2 RY5 S 1
4k7 D5
+12V 5 6 P 2
7 8 BC547 3
1
O
9 10
R17
1N4148
* T5
D14 K6
2k2
R22
* 2 RY6 S 1
4k7 D6
P 2
D17
BC547 3
1
O
T9 1N4148
T6
R26 R23 D15 K7
* 2 RY7 S 1
4k7 4k7 D7
P 2
BC547 3
BC547 1
O
R35
1N4148
T7
K8
100k
R24 D16
* 2 RY8 S 1
4k7 D8
P 2
BC547 3
1
O
1N4148
T8
R25
4k7
+12V R1 ...R8
560R
* RY1 ... RY8
100k
100k
100k
100k
100k
100k
100k
D9 ... D16 ZC
4 2
S202S02
T1 ... T8
BC547
160317 - 11
Figure 1. La carte à huit relais convient aussi bien pour les modèles électromagnétiques G5Q SPDT que pour les statiques S202S02.
Ce sont des transistors NPN standard Si nécessaire, vous pouvez aussi ins- Huit entrées numériques
qui assurent la commande des relais. Un taller des relais G5Q d’une autre ten- protégées
témoin à LED est aussi prévu. Une autre sion, 24 V par exemple, auquel cas il Cette carte d’extension offre huit entrées
LED indique quand la carte et le Swiss Pi faudra recalculer un certain nombre de à isolation galvanique par photocoupleur
sont sous tension. résistances. qui accepte toute tension continue dans
D25 D29
D1 BC547B R1 R5
BC547B D13
T1 GPIO1 GPIO5 T5
220R 220R
OK1.A OK2.A
K1 1N4148 1 15 15 1 1N4148 K2
R9 D2 D3 D15 D14 R13
1 1
10k 10k
1 2 2 5
2x 1N4148 2x 1N4148
2 16 16 2
D26 D30
D4 BC547B R2 R6
BC547B D16
T2 GPIO2 GPIO6 T6
220R 220R
OK1.B OK2.B
1N4148 4 14 14 4 1N4148
R10 D5 D6 D18 D17 R14
3 3
10k 10k
2 4 4 6
2x 1N4148 2x 1N4148
3 13 13 3
D27 D31
D7 BC547B R3 R7
BC547B D19
T3 GPIO3 GPIO7 T7
220R 220R
OK1.C OK2.C
1N4148 5 11 K3 11 5 1N4148
R11 D8 D9 D21 D20 R15
5 1 2 5
10k 10k
3 6 3 4 6 7
2x 1N4148 2x 1N4148
5 6
6 12 7 8 12 6
9 10
D28 D32
D10 BC547B R4 R8
BC547B D22
T4 GPIO4 GPIO8 T8
220R 220R
OK1.D OK2.D
1N4148 8 10 10 8 1N4148
R12 D11 D12 D24 D23 R16
7 7
10k 10k
4 8 8 8
2x 1N4148 2x 1N4148
7 9 9 7
160317 - 12
Figure 2. Les huit photocoupleurs assurent l’isolation galvanique des huit entrées numériques.
330R
+5V/1 +5V/2
trée. Le courant y est égal aux deux ten- IC5
C7
D1
5 6 1
sions de seuil des diodes 1N4148 moins 22u
C1 C2 1N4007 C8 C5
la tension base/émetteur du transis- 2
100n 100n 4700u 470n
tor, le tout divisé par 220, la valeur des 4
4N25M
2
1 2
2
VS
de tensions d’entrée de 5 à 45 V, il cir- VDD1 VDD2 2
EF 1
K1
K5 IC1 IC3
cule dans les diodes un courant entre 1 2
VIA VOA
7 3
IN1 OUT1
1 2
2 3 6 5 7 3
quelques dizaines de microampères et +5V/1 VIB
ADuM1200ARZ
VOB IN2
TLE5206-2
OUT2
4
1 2 4 5 4
de la 1N4148 montre que c’est dans ce 3 4 1 2
R2 2
domaine que la tension de seuil varie 5 6
330R
7 8 +5V/1 +5V/2
le plus en fonction du courant. En pra- IC6 9 10 D2
5 6 1
tique, le débit produit par les sources C4 C3 1N4007 C9 C6
de courant n’est pas constant sur toute 100n 100n 4700u 470n
la plage des tensions d’entrée : il peut 4
4N25M
2
1 2
2
6
aller de 3 à 6 mA. 1
1 8
VS
VDD1 VDD2 2 K2
EF 1
IC2 IC4
Si l’on inversait la polarité sur la source 2
VIA VOA
7 3
IN1 OUT1
1 2
3 6 5 7 3
VIB VOB IN2 OUT2
de courant, la tension entre collecteur et K4
ADuM1200ARZ TLE5206-2 4
1 2 GND
émetteur du transistor serait négative. 3 4
GND1 GND2
4 5 4
Le transistor continuerait à fonctionner 5 6
1 2
7 8 2
comme un (piètre) NPN avec un gain très 9 10
K1 1N5819 1N5819 K5
1 1
3 6 2 2 6 3
2 2
1 1
R41
10k
* 4 5 3
IC17.A IC19.A
3 5 4
R45
10k
*
R1 R33 R37 R17
* *
100R
100R
10R
10R
IC9, IC10, IC13, IC14 = LM358N
R51 R63
R2 IC17, IC19 = OPA2344PA R18
3 8 8 3
* *
T1 T5
10k
10k
10R
10R
1 1
R49 IC9.A IC13.A R61
2 5 +5V 5 2
10k 10k
4 BC D9 R50 7 7 R62 D13 BC 4
R3 R4 C17 IC9.B IC13.B C23 R19 R20
C1 557B 6 6 557B C9
* * * *
10k
10k
10R
10R
10R
10R
100n 100n
1n 5V1 8 C18 8 C24 5V1 1n
IC17 IC19
4 100n 4 100n
IC2 IC6
HCNR200 HCNR200
1 C4 C12 1
D2 1n 1n D6
2
* R7480k6 * R7880k6 2
K2 1N5819 1N5819 K6
1 1
3 6 6 6 6 3
2 2
7 7
R42
10k
* 4 5 5
IC17.B IC19.B
5 5 4
R46
10k
*
R5 R34 R38 R21
* *
100R
100R
10R
10R
R54 +5V R66
R6 R22
3 8 8 3
* *
T2 T6
10k
10k
10R
10R
1 1
R52 IC10.A K9 IC14.A R64
2 5 5 2
10k ADC1 1 2 ADC2 10k
R7 R8
4 BC D10 R53
IC10.B
7 7
IC14.B
R65 D14 BC 4
R23 R24
557B C19 ADC3 3 4 ADC4 C25 557B
C3 6 6 C11
* * * *
10k
10k
ADC5 5 6 ADC6
10R
10R
10R
10R
100n ADC7 7 8 ADC8 100n
1n 5V1 5V1 1n
9 10
IC3 IC7
HCNR200 HCNR200
1 C6 C14 1
D3 1n 1n D7
2
* R7580k6 * R7980k6 2
K3 1N5819 1N5819 K7
1 1
3 6 2 2 6 3
2 2
1 1
R43
10k
* 4 5 3
IC18.A IC20.A
3 5 4
R47
10k
*
R9 R35 R39 R25
* *
100R
100R
10R
10R
R57 IC11, IC12, IC15, IC16 = LM358N R69
R10 R26
3 8 IC18, IC20 = OPA2344PA 8 3
* *
T3 T7
10k
10k
10R
10R
1 1
R55 IC11.A IC15.A R67
2 5 +5V 5 2
10k 10k
R11 R12
4 BC D11 R56
IC11.B
7 7
IC15.B
R68 D15 BC 4
R27 R28
C20 C26
C5 557B 6 6 557B C13
* * * *
10k
10k
10R
10R
10R
10R
100n 100n
1n 5V1 8 C21 8 C27 5V1 1n
IC18 IC20
4 100n 4 100n
IC4 IC8
HCNR200 HCNR200
1 C8 C16 1
D4 1n 1n D8
2
* R7680k6 * R8080k6 2
K4 1N5819 1N5819 K8
1 1
3 6 6 6 6 3
2 2
7 7
R44
10k
* 4 5 5
IC18.B IC20.B
5 5 4
R48
10k
*
R13 R36 R40 R29
* *
100R
100R
10R
10R
R60 R72
R14 R30
3 8 8 3
* *
T4 T8
10k
10k
10R
1 1 10R
R58 IC12.A IC16.A R70
2 5 5 2
10k 10k
4 BC D12 R59 7 7 R71 D16 BC 4
R15 R16 C22 IC12.B IC16.B C28 557B R31 R32
C7 6 6 C15
* * 557B
* *
10k
10k
10R
10R
10R
10R
100n 100n
1n 5V1 5V1 1n
160317 - 14
Figure 4. Le schéma complet de la carte d’interface pour boucles de courant semble énorme, mais en fait, c’est le même circuit en huit exemplaires.
Enfin, un convertisseur CC/CC fournit capteurs. La boucle de courant est simple côté récepteur est pratiquement pareil
l’alimentation de 5 V pour la logique du et robuste et peut couvrir de grands à celui dans la photodiode de l’émet-
côté des ponts en H. Si vous voulez uti- rayons d’action. L’offre de ce genre de teur, la caractéristique de transfert est
liser une tension d’alimentation plus éle- capteurs est donc aussi vaste. d’une bonne linéarité.
vée, il importe de choisir un convertisseur
CC/CC capable de supporter une tension L’interface proposée ici est construite Le circuit reproduit presque à la lettre
d’entrée de 40 V. à partir de photocoupleurs analogiques la note d’application d’Avago, nous n’y
HCNR200 d’Avago (fig. 4). Ils sont avons apporté que quelques minimes
Boucles de courant composés de deux photodiodes appa- retouches, parmi lesquelles le remplace-
Dans l’industrie, malgré l’arrivée de solu- riées et d’une LED. À l’émission, l’une ment des amplis op de l’émetteur par des
tions purement numériques, on se sert des photodiodes est utilisée en rétroac- LM385 au lieu des LM158 d’origine. Non
encore régulièrement de boucles de cou- tion de la puissance émise par la LED. seulement beaucoup moins chers, ils sont
rant pour la transmission des mesures de Comme le courant dans la photodiode aussi plus faciles à se procurer. La diffé-
10k
1u R4
10k
C1 8 8 C2 R6
5
IC1 IC2 10k
7
100n 4 4 100n IC1.B
6
R5
C10
Figure 5. Le convertisseur redresse le signal MLI pour en donner une tension continue proportionnelle entre 0 et 10 V.
10k
R7
IC1, IC2 = LM358N 10k 1u
R9
3
10k
1
IC2.A
2
R8
C8
10k
liste des composants : boucles de courant
+5V
1u R10
10k K1
K2 1
R12
PWM1 1 2 PWM2 5 2
10k
PWM3 3 4 PWM4 7 3
IC2.B
PWM5 5 6 PWM6 6 4
PWM7 7 8 PWM8 R11 5
C11
9 10 6
10k
R13
7
10k 1u
8
R15
3 9
10k
1
IC3.A
2
R14
+12V C9
10k
1u R16
10k
C3 8 8 C4 R18
5
IC3 IC4 10k
7
100n 4 4 100n IC3.B
6
R17
C12
10k
R19
IC3, IC4 = LM358N 10k 1u
R21
www.elektormagazine.fr
3
10k
1
IC4.A
2
R20
C13
10k
1u R22
10k
R24
5
10k
7
IC5 IC4.B
IC6 6
SMU01L
+5V 78L12Z +12V R23
mars/avril 2017
C14
IN+ OUT+
10k
DC/DC
C15 C5 C6 1u
IN– OUT–
100u 100n 100n
160317 - 15
38
Côté récepteur, les LM158 ont été rem-
placés par des amplis op OPA2344PA
et contrairement aux premiers, les
OPA2344PA atteignent facilement 4 V
sous une alimentation de 5 V. Hélas ! Ils
ne seront bientôt plus disponibles qu’en
boîtier SOIC-8, mais une autre solution
vient du LM6142BIN/NOPB.
Convertisseur
de MLI en tension continue
La carte de conversion de MLI en tension
de 0 à 10 V est destinée à la commande
de gradateurs, pour LED notamment,
qui travaillent généralement avec des
signaux de commande dans cette plage.
R1 R2
T2
carte à mosfet
330R 330R
R9 R10
STP36NF06L STP36NF06L
470R
470R
D1 D2
3 4
T3 T4
R3 R4
330R 330R
R11 R12
STP36NF06L STP36NF06L
470R
470R
D3 K1 D4
1 2
3 4
5 6
7 8
5 6
9 10
T5 T6
R5 R6
330R 330R
R13 R14
STP36NF06L STP36NF06L
470R
470R
D5 D6
7 8
T7 T8
R7 R8
Comme la consommation des amplis op est faible et que leurs
330R
R15 R16
330R
sorties 0 à 10 V sont en principe peu chargées, c’est un simple
STP36NF06L STP36NF06L
convertisseur CC/CC qui élève la tension pour les amplis. Il
470R
470R
SERVO3
1
SERVO4
1
liste des composants :
2
3
R3
1k
K1 R4
1k
2
3
servomoteurs
1 2
3 4
SERVO5 5 6 SERVO6
1 1
7 8
2 2
R5 9 10 R6
3 3
1k 1k
SERVO7 SERVO8
1 1
2 2
R7 R8
3 3
1k 1k
K2
1
2
160317 - 17
Figure 7. Avec cette simple carte, le Swiss Pi pourra piloter jusqu’à huit
servomoteurs.
Publicité
canal N qui convient pour des tensions jusqu’à 60 V sous
mouser.fr
30 A (R DS(on) = 0,032 Ω pour V GS 10 V/15 A). C’est un
MOSFET commandé par niveau logique, ce qui signifie
qu’il est déjà en conduction totale avec une tension de
grille de 5 V. Avec une tension V GS de 5 V, sa R DS(on) est
de 0,045 Ω, d’où en pratique, il peut commuter jusqu’à
Les dernières nouveautés pour
environ 5 A sans nécessiter de refroidissement. vos conceptions les plus récentesTM
Chaque canal est en outre doté d’un témoin à LED.
Liens
[1] www.elektormagazine.fr/150584
[2] www.elektormagazine.fr/160317
[3] www.elektormagazine.fr/160237
dans l’e-choppe
ª150584-91
Carte Swiss Pi
ª17631
Carte Raspberry Pi 3
Dans mon précédent article [1], je vous ai présenté LoRa, une technologie radio développée par Semtech,
qui repose sur la modulation CSS (chirp spread spectrum). LoRa permet des communications à longue portée
(quelques dizaines de kilomètres en champ libre) avec des débits binaires lents. Pour utiliser LoRa, il suffit
d’ajouter un circuit intégré dédié sur sa carte ou d’avoir recours à un module prêt à l’emploi qui contient
l’un de ces circuits spécialisés. Aujourd’hui, je vous présente LoRaWAN : un protocole ouvert basé sur LoRa
et standardisé par une association internationale, la LoRa Alliance. Nous verrons aussi à cette occasion les
solutions mises en œuvre pour lutter contre les pirates…
Robert Lacoste (Chaville) âge. De manière un peu schématique, C’est un protocole ouvert et standardisé,
la couche la plus basse est la couche qui prend place au-dessus de LoRa. Par
physique, elle traite de la transmission rapport au modèle OSI, LoRaWAN est
Protocole ? des bits bruts. Au-dessus on trouve la assez rudimentaire : il se contente de
Commençons par un rappel rapide sur couche « liaison de données » qui gère la gérer des liens point à point à travers une
les protocoles de communication. Dès le transmission point à point, et on empile couche 2 bien définie, et inclut ce qu’il
début des réseaux informatiques, on s’est les couches jusqu’à la couche « appli- faut pour sécuriser raisonnablement les
aperçu qu’il était indispensable de seg- cation » qui définit la sémantique des échanges. Par contre LoRaWAN ne spé-
menter ce type de protocoles en couches données échangées. cifie pas la couche applicative. Cela veut
indépendantes. Il y a deux raisons à ceci. dire que LoRaWAN transmet vos données
Tout d’abord cela facilite la spécification, Avec ce modèle, LoRa n’est rien de plus d’un bout à l’autre, mais ne se préoccupe
le codage et le test. Mais une telle décom- qu’une couche physique (niveau 1). LoRa pas de leur signification.
position apporte aussi une très grande définit comment coder les bits en utilisant
souplesse : dès qu’un protocole est cor- la modulation CSS et comment envoyer Architecture
rectement divisé en couches, une couche ces bits en utilisant l’une des bandes de d’un système LoRaWAN
peut être remplacée par une autre sans fréquences disponibles. Rien ne vous LoRaWAN est un protocole, mais aussi
impact sur les autres. Par exemple, si empêche d’utiliser uniquement LoRa et un modèle de réseau. La figure 2
vous pouvez utiliser HTTP ou FTP de façon de construire votre propre protocole, mais montre l’architecture globale d’un
transparente avec une connexion Ethernet vous devrez alors vous occuper vous- réseau LoRaWAN, qui comprend trois
ou Wi-Fi, c’est grâce à cette indépendance même de pas mal de choses : comment sous-systèmes : les objets, les passe-
entre les couches. sélectionner le bon destinataire, comment relles et les serveurs. Un objet LoRaWAN
Le modèle OSI à sept couches (fig. 1) gérer les erreurs et les collisions, com- peut être n’importe quel bidule connecté,
a été adopté en 1984 [2] et il est tou- ment sécuriser les échanges, etc. imaginez un détecteur d’incendie par
jours utilisé partout malgré son grand L’autre solution est d’utiliser LoRaWAN. exemple. Les objets LoRaWAN envoient
Débit adaptatif
Comme expliqué dans mon article pré-
cédent, la modulation LoRa permet une
grande souplesse dans les débits de don-
nées : on peut utiliser des débits très
Classe A Classe B Classe C
lents pour avoir une grande portée, ou
Objets sur pile Objets sur pile Objets alimentés au contraire des débits rapides pour
TX asynchrone RX & TX synchronisés RX asynchrone
RX optionnel après TX par des balises TX asynchrone
minimiser la consommation énergétique
et l’encombrement des bandes radio
(fig. 4). Mais comment optimiser tout
ça ? LoRaWAN propose un mécanisme
baptisé ADR (Adaptative Data Rate). Coté
objet, la mise en œuvre est très simple,
TX
l’objet se contente de décoder et d’inter-
Sommeil RX1 Sommeil RX2
préter des messages spécifiques transmis
1 seconde 1 seconde par le réseau qui demandent d’utiliser tel
ou tel débit. Tout se joue côté serveur de
réseau. Celui-ci exécute un algorithme
Figure 3. Trois classes de périphériques sont définies dans LoRaWAN. La majorité des applications
qui détermine si un objet donné peut
tombent dans la classe A, où un périphérique transmet quand il veut, puis dort.
être basculé, ou pas, sur un débit plus
rapide (selon les niveaux de puissance et
de qualité des messages reçus). Il envoie
Classes de périphériques consommation en classe A est donc très alors à l’objet les ordres correspondants.
C o m m e n t L o R a WA N g è re - t- i l l e s faible, puisque la radio est quasiment Cet algorithme en lui-même n’est pas
échanges de messages entre un objet tout le temps hors tension. Revers de la spécifié par le standard, chaque serveur
connecté et le réseau ? Trois classes médaille : on ne peut causer à un dispo- de réseau peut choisir celui qu’il veut,
de produits sont prévues (fig. 3). La sitif de classe A que lorsqu’il a lui-même mais vous avez compris l’idée.
plus simple est la classe A : le disposi- transmis quelque chose. A contrario les Si vous avez suivi, vous aurez peut-être
tif est quasiment tout le temps en veille dispositifs de classe C sont supposés être deviné qu’il peut y avoir quelques sou-
profonde, il se réveille quand il veut et alimentés par le secteur, ils peuvent donc cis avec l’ADR : imaginez que la récep-
envoie un message LoRaWAN sur n’im- recevoir en permanence des messages tion des messages d’un objet donné est
porte quel canal radio. Il se remet alors descendants. Enfin la classe B, qui pour bonne et que le serveur bascule cet objet
en veille et se réveille précisément l’instant n’est pas complètement suppor- sur un débit très rapide, ensuite un bâti-
une seconde plus tard pour écouter le tée, permettra à un objet de se réveil- ment est érigé entre l’objet et la passe-
même canal et vérifier si un message ler à intervalles périodiques juste pour relle. Le serveur pourrait ne plus recevoir
descendant lui a été envoyé. Sinon il écouter s’il y a un message pour lui. Ce les messages de cet objet, et ne pour-
recommence à écouter une seconde mode est beaucoup plus complexe, car rait donc plus lui demander de revenir
fois une seconde plus tard sur un autre il nécessite une synchronisation entre le à un débit plus lent pour améliorer la
canal « de secours » et se rendort. La réseau et les objets pour que le réseau réception, puisqu’un objet, du moins en
classe A, ne peut rien recevoir sans être
lui-même écouté. Il faut donc impéra-
tivement que tout objet utilisant l’ADR
Loin Près
demande de temps en temps un acquit-
tement pour vérifier que tout se passe
bien, et repasse de sa propre initiative
Facteur d’étalement (SF)
sur un débit très lent.
Largeur de bande (BW, en kHz)
Figure 5. Deux niveaux de sécurité sont prévus dans LoRaWAN : authentification entre objets et serveur de réseau, et chiffrement de bout en bout entre
objet et serveur d’applications.
d’abord, LoRaWAN a été conçu pour Sur le plan technique, ces deux niveaux mière solution est de simplement prépro-
permettre de supporter simultanément de sécurité sont construits en utilisant grammer les deux clés et un identifiant
plusieurs applications indépendantes des variantes du même algorithme de sur chaque objet au moment de la fabri-
sur le même réseau. Deux niveaux de chiffrement, le sempiternel AES. C’est cation, et de les stocker sur les serveurs
sécurité sont donc prévus (fig. 5). Tout ce qu’on appelle un système de chiffre- en même temps.
d’abord, le contenu du message est chif- ment symétrique, c’est-à-dire que les La seconde solution, baptisée OTAA
fré par son émetteur, via une clé secrète clés doivent être connues et partagées (Over The Air Activation) est nettement
baptisée « Application Session Key », dès le départ entre les nœuds. LoRaWAN plus souple, car elle permet à un objet
et connue uniquement de l’objet et du offre deux façons de réaliser cela. La pre- de changer de réseau si besoin… Ici, les
serveur applicatif avec lequel il com-
munique. Il s’agit de ce qu’on appelle
un chiffrement de bout en bout, c’est-
à-dire que les dispositifs intermédiaires
DevEUI DevAddr
du réseau LoRaWAN ne peuvent déchif-
frer son contenu.
AppEUI OTAA NetSKey
Ensuite, une empreinte de sécurité est
ajoutée au message, calculée grâce à une AppSKey
AppKey
seconde clé secrète (« Network Session
Key »), connue cette fois de l’objet et
du serveur de réseau. Cette empreinte
de sécurité permet au destinataire de
Données en clair
s’assurer que le message n’a pas été
modifié par un tiers (intégrité) et qu’il
Chiffrement
provient de celui qui prétend être l’ex- AppSKey AES
péditeur (authentification). Le processus
est illustré sur la figure 6.
Pourquoi ces deux niveaux sont-ils DevAddr Fcnt Données chiffrées MIC
nécessaires ? En fait la principale utilité
de la chose apparaît lorsque plusieurs
clients utilisent la même infrastructure Signature
NetSKey
LoRaWAN, par exemple celle d’un opéra- AES
teur. Chaque client ne souhaite pas que
ses messages puissent être lus par l’opé-
rateur, mais ce dernier a quand même
besoin de s’assurer qu’il ne fait transiter Figure 6. La sécurité nécessite deux clés de chiffrement et une adresse réseau. Ces paramètres
que des messages valides. peuvent être automatiquement transférés vers l’objet par OTAA.
15 au 16/03 – Strasbourg
www.enova-event.com
◊ Semaine de la presse et
des médias dans l‘école
avril 2017
Elektor participe ◊ RICV (rencontres internationales de cerfs-volants)
à cet événement. 01 au 09/04 - Berck-sur-Mer
www.cerf-volant-berck.com
20 au 25/03 -
partout en France ◊ Industrie Lyon 2017
www.clemi.fr
04 au 07/04 – Lyon
www.industrie-expo.com
◊ Semaine de l‘Industrie
20 au 26/03 - dans toute ◊ SIdO (Internet des Objets)
la France 05 au 06/04 – Lyon
www.entreprises.gouv.fr/semaine-industrie www.sido-event.com
Le principe est simple, il provient de la thérémin d’origine. On peut facilement vaille à 420 kHz et varie l’accord jusqu’à
superposition de deux signaux HF qui régler avec précision la fréquence super- 5 kHz quand on approche la main. L’an-
engendre une tonalité de battement. L’un posée (fig. 1) et n’utiliser au début que tenne SDR est un morceau de fil posé
des oscillateurs HF est accordé par l’effet l’oscillateur pitch. Sous cette forme, on près de l’oscillateur. Le signal est telle-
capacitif de la main et modifie la hauteur a déjà un premier thérémin, mais sans ment intense qu’il ne faut qu’un faible
du son (pitch), l’autre oscillateur est à réglage de volume. Une application inté- couplage. Cette fois-ci, sur la sortie sté-
fréquence fixe. Les deux aboutissent à ressante pour le shield SDR. réo, on ne branche pas un PC, mais direc-
un démodulateur, similaire à celui de la tement un haut-parleur actif. Le shield
détection sur une radio AM. C’est pareil L’oscillateur à FET de la figure 2 tra- SDR, donc sans logiciel, comme simple
à la réception d’un signal morse sans
modulation. On peut déjà faire un pre-
mier essai à peu de frais avec un récep-
Pitch
teur existant.
Première expérience
avec le shield SDR d’Elektor 27p
approx. 420kHz
Pour un premier essai, il suffit de 4mH7
1k5
+5V
1k5
approx. 200kHz BF256B
50p
27p
100k
2M2
10mH 100u
16V
1k –4V
10mH 27p 60p
100uA
2M2
4mH7 27p 10n GND
mélangeur direct. main, produisant une plage de jeu inté- stabilité, puisque la fréquence de dip et
Avec le logiciel indépendant pour le shield ressante de 30 cm environ. Grâce à la la BF sont très éloignées de celle de l’os-
SDR et celui d’extension, on obtient un faible fréquence de l’oscillateur, la stabi- cillateur de superposition. Dans un cir-
accord juste et facile. On cherche d’abord lité de fréquence est largement suffisante cuit à tubes, le circuit en oscillation libre
avec les boutons du shield d’extension et avec le shield SDR, on a un couplage pouvait atteindre une amplitude de plus
le signal de l’oscillateur pour atteindre le plus faible et un son plus agréable. de 10 V. Sur une résistance de retour
battement nul. En approchant la main, la de grille d’environ 1 MΩ, on peut s’at-
fréquence de l’oscillateur de pitch dimi- Et le réglage de volume ? tendre à environ −10 V. Quand on place
nue et la note du battement monte. À ce stade, le thérémin manque encore un deuxième circuit résonant en couplage
Alors, ce n’est plus qu’une question de d’un réglage de l’intensité du son. L’origi- lâche et assez proche de la résonance,
maestria pour arriver à jouer sa première nal avait pour cela une seconde antenne, l’amplitude, et par conséquent la tension
mélodie. que l’on influençait de la main gauche. négative de grille, peuvent diminuer d’un
Quand on s’en approche, le son s’affaiblit volt. Ce serait la condition de base pour
Dans le conducteur d’antenne, il y a une et peut même complètement disparaître. le plein volume. Si maintenant on désac-
bobine d’allongement de 4,7 µH. Elle sert C’est indispensable pour bien jouer de corde le circuit passif ou on l’atténue, la
à augmenter suffisamment la variation l’instrument. tension négative de grille remonte fort.
de fréquence induite par la très faible Avec −10 V, un tube BF est à saturation.
capacité de la main, environ un picofarad. Ma première idée a été d’appliquer l’un
Pour atteindre la résonance à 420 kHz, des deux signaux d’oscillateur à un cir- La première tentative avec un onde-
il faut ajouter à la bobine de 1 mH une cuit résonant à accorder avec l’antenne mètre à FET a eu lieu avec de relative-
capacité de 143 pF. Avec 144 pF, on de volume. Raté ! On influence l’oscil- ment grandes inductances (fig. 4). En
arrive 1,5 kHz plus bas. La bobine d’al- lateur de pitch en même temps. On en réalité, le circuit atteint une forte ampli-
longement fait bien davantage de ce arrive à un effet mutuel entre volume et tude d’oscillation et une tension de sortie
maigre picofarad. On peut s’imaginer hauteur de note. de −4 V. Le creux de résonance est bien
qu’une antenne beaucoup plus longue là, mais trop faible. En tout, la tension ne
se trouve près d’une main nettement plus Retour au vieux thérémin. Il se sert bouge que de 0,5 V. De plus, on observe
grande. Le truc de la bobine d’allonge- d’un troisième oscillateur qu’il utilise à un effet d’entraînement, qui se produit
ment, Theremin l’avait déjà utilisé et il a la manière d’un dipmètre (grid-dip) ou aussi avec un dipmètre normal. L’ampli-
été repris maintes fois depuis lors. ondemètre (fig. 3) pour mesurer les fré- tude change brusquement sur l’un des
quences de résonance. Un circuit réso- flancs du dip.
Sur un plan plus scientifique, un circuit nant à proximité de la bobine de l’oscil-
résonant série, à proximité de sa réso- lateur en prélève de l’énergie, de sorte Couplage de Tesla
nance, est une petite réactance qui cor- que l’amplitude d’oscillation diminue. On Nous avons vu dans le schéma du vieux
respond à une grosse capacité en des- s’en aperçoit par la variation du courant thérémin un genre de bobine d’allonge-
sous de sa résonance. Avec la bobine de grille (grid). À l’endroit de la réso- ment dans le conducteur d’antenne. À
employée et une antenne fouet ordi- nance, on observe une forte baisse (dip) y regarder de plus près, elle fonctionne
naire, la résonance propre se situe près du courant de grille. comme sur un transformateur de Tesla.
de 600 kHz. C’est assez proche de la fré- La bobine d’allongement a une fréquence
quence de travail de 420 kHz et conduit Le thérémin utilisait la tension négative propre de résonance et possède un rap-
à une augmentation conséquente de la de grille de l’oscillateur pour comman- port L/C extrêmement grand et en outre,
capacité de la main. La sensibilité aussi der le gain d’un tube régulateur dans le un fort couplage avec l’oscillateur. Alors,
augmente bien avec la capacité de la circuit BF. On élimine ainsi les soucis de j’ai accordé l’oscillateur (fig. 5) sur la
4mH7 4mH7
330k
1mH 100u
16V
3k3 – 0 V 5 ...– 2V
0mH33 2M2
Figure 5. L’oscillateur avec bobine d’antenne. Figure 6. Construction expérimentale de l’oscillateur pour
régler le volume.
bobine de Tesla, dont la fréquence de traînement et la tension de réglage est variation de fréquence de 2 kHz. On n’au-
résonance varie fort avec les plus petits suffisante. Pareil oscillateur s’implante rait alors qu’une plage de jeu très étroite
changements de capacité. bien sur une plaque d’expérimentation avec l’antenne. La bobine d’allongement
(fig. 6). Comme antenne, une boucle de 4,7 mH fait en sorte que le chan-
En cas de résonance, on obtient à l’an- faite d’un fil d’essai à pinces crocodile gement de capacité est fortement aug-
tenne un surplus multiple de tension HF. suffit. menté à l’enroulement inférieur.
Le circuit secondaire pompe alors pas
mal d’énergie aux dépens de l’oscilla- Circuit simplifié d’oscillateur L’oscillateur dip travaille aussi avec 1 mH
teur, ce qui fait nettement baisser son Avec le circuit d’oscillateur modifié de la à présent. Pour la bobine d’allongement
amplitude. Le creux de tension de grille figure 7, pas besoin d’une inductance de l’antenne de réglage du volume, on a
atteint à peu près −0,5 V. Avec un plus compliquée pour le circuit oscillant. Au trouvé une résonance propre à 600 kHz.
grand désaccord ou de l’amortissement, contraire, le circuit oscillant opère ici On doit donc pouvoir accorder l’oscil-
lors d’un contact direct avec l’antenne, avec un diviseur de tension capacitif. On lateur non asservi aussi sur cette fré-
cet effet est éliminé et la tension de grille peut adapter le rapport d’impédance des quence, ce qui demande en tout 70 pF.
du JFET baisse jusqu’à 2 V. La résonance condensateurs du côté grille et drain. À 600 kHz, le circuit d’antenne prend
se règle bien, il n’y a plus d’effet d’en- Cette fois-ci, l’oscillateur travaille autour tellement d’énergie de l’oscillateur que la
de 1 MHz. On a ici la résonance propre du tension de commande se réduit à −2,5 V.
couple de bobines d’allongement. Comme Influencer le circuit d’antenne en appro-
dans l’expérience précédente, l’amplitude chant la main fait monter l’amplitude de
de l’oscillateur s’élève quand on modifie l’oscillateur au point d’amener la tension
ou affaiblit le circuit du haut. La tension de commande à −3,5 V.
de grille tombe jusqu’à −2 V.
Avec une bobine d’antenne de 4,7 mH, il
Le thérémin complet faut 26 pF pour les mettre en résonance
1mH
Le circuit complet de la figure 8 sur 600 kHz. La plus grande part de cette
approx. 1MHz regroupe maintenant le deuxième oscil- capacité retourne à la capacité propre du
1mH lateur, le mélangeur et un réglage de bobinage, seule une petite quotité va à
volume par antenne. On a stabilisé le l’antenne. Une modification d’un pico-
0mH33 +12V
3k3 deuxième oscillateur par résonateur farad en approchant la main déplace la
BF256B céramique sur 470 kHz. Il faut pouvoir fréquence de résonance de 12 kHz. Cela
27p
régler l’oscillateur variable sur la même suffit aussi pour le dip souhaité.
150p fréquence, d’où la présence d’un conden-
sateur variable. L’amplificateur de sortie qui règle le
330k
10n GND Pour atteindre 470 kHz, on y ajoute est ramené à zéro. Pour −2,5 V sur la
115 pF. La capacité mesurée de l’antenne grille, on atteint déjà une grande ampli-
est de 5 pF. En approchant la main à fication. L’ampli commandé est en mon-
quelques centimètres, la capacité monte tage à grille commune : le signal lui est
à 6 pF. Un simple calcul montre que la appliqué sur la source et récupéré sur
Figure 7. Un autre circuit d’oscillateur. variation d’un seul picofarad cause une le drain. Il faut que l’oscillateur dip soit
2k2
3k3
3k3
56p
mum de HF à la sortie. 100n 100n
5x BF256B
1mH
La construction sur une plaque complè- 1mH
ZTB470E
tement cuivrée et non vernie (fig. 9)
33p
offre l’avantage d’un bon plan de masse
150p 1n
et de découplage unique. Où qu’il faille
150p
un point de masse, il est disponible sur
150p
place. La technique de construction avec
100k
de petits bouts de carte à lignes cuivrées
1k5
100k
10k
1k
1k
1M
500p 300p 27p
et perforées (fig. 10) est aussi utile pour
des projets HF plus complexes et à de 470kHz VFO Buffer 470kHz BFO Mixer
10k
27p
4mH7 100n Audio
tions de la tension d’alimentation de cet 150p 2x BF256B
oscillateur à JFET. 330k
22u
Lors de toutes les expériences préa-
lables, la tension était fournie au circuit 16V 100u
1k
2M2
10k
par une alimentation de laboratoire mise 60p 56p 100n 1n 22n 16V
Lien
[1] www.elektormagazine.fr/160165 Figure 9. Tous les étages sur la même plaque cuivrée.
AVR Playground
ou comment
faire mieux
« façon Arduino »
Avant l’émergence d’Arduino, les cartes En bref, la carte peut être divisée en Connecteurs d’extension
de développement pour microcontrô- quatre zones horizontales (fig. 1), avec Le coin supérieur gauche de la carte
leur embarquaient des périphériques du haut en bas et de gauche à droite les accueille le µC et les connecteurs
(boutons-poussoirs, LED, afficheur), un fonctions suivantes : d’extension compatibles Arduino Uno.
ou plusieurs potentiomètres pour les Cette partie de la carte se comporte
signaux analogiques, des connecteurs 1. connecteurs d’extension, convertis- exactement comme une Arduino Uno.
d’extension, etc. et, bien sûr, une alimen- seurs USB-série et alimentation Juste à côté, il y a un connecteur
tation convenable. Le but de ces cartes 2. périphériques d’interfaçage avec l’uti- d’extension mikroBus. Cette exten-
était de faciliter la prise en main d’un µC lisateur (IHM) : buzzer, boutons rota- sion standard développée par la société
sans avoir à souder ni ajouter quoi que tifs et afficheur serbe MikroElektronika, connaît un
ce soit. La carte AVR Playground – une 3. commutateurs de configuration franc succès grâce à la disponibilité
référence explicite au forum Arduino bap- 4. boutons-poussoirs et LED de centaines de cartes d’extension bon
tisé Arduino Playground – a été conçue marché : du récepteur GPS au capteur
dans cette optique et étendue avec des Pour voir le schéma, le circuit imprimé d’humidité en passant par des matrices
caractéristiques propres à Arduino que ou la liste des composants de l’AVR Play- de LED et des modems téléphoniques.
nous apprécions. ground, allez-en [1]. Avec ces connecteurs d’extension
débutant
Æ connaisseur
expert
environ 4 h
appareil de soudage de
composants CMS
environ 75 €
Afficheur LCD semi-parallèle à 4 bits et parallèle à 8 bits. dont il a besoin, mais nous le fournissons
Le petit afficheur à cristaux liquides avec Deux fils suffisent pour le connecter au avec nos kits (voir ci-dessous).
rétroéclairage possède une interface µC, c’est son avantage le plus évident.
I²C, au lieu des habituelles interfaces L’inconvénient c’est le pilote spécifique Boutons rotatifs
Deux potentiomètres délivrent des
signaux analogiques au µC. En position-
Tableau 1. Fonctions des commutateurs DIP S15. nant un cavalier, on les connecte à l’une
S15 Fonction Ouvert Fermé des six entrées analogiques du µC sans
1 Buzzer déconnecté relié à PB1 qu’il soit possible de connecter les deux
2 LED du port B déconnectée reliée à GND sur la même entrée.
3 LED du port C déconnectée reliée à GND Le codeur rotatif est en réalité équi-
4 LED du port D déconnectée reliée à GND
valent à (max.) trois boutons-pous-
5 RXD conv. USB-série déconnecté relié à PD1
soirs. Il est en fait relié en parallèle aux
6 TXD conv. USB-série déconnecté relié à PD0
boutons-poussoirs sur PD3, PD4 et PD5.
7 DTR conv. USB-série déconnecté relié à RàZ
LED « Arduino »
Tableau 2. Fonctions des commutateurs DIP S25 à 7 voies.
La LED reliée à PB5 (broche 13) de la
S25 Fonction Ouvert Fermé
carte Arduino Uno est disponible égale-
1 Tension du µC 5V 3,3 V
ment sur l’AVR Playground, au-dessous du
2 LED « Arduino » déconnectée reliée à PB5
3 SDA du LCD déconnectée relié à PC4 codeur rotatif. Cette LED est présente, car
4 SCL du LCD déconnectée relié à PC5 elle est utilisée dans de nombreux croquis.
5 Non utilisé
6 Rétroéclairage LCD allumé (si S25-7 est fermé) relié à PD7 Remarques sur la fréquence
7 Rétroéclairage LCD éteint commutable d’horloge et la réinitialisation
Pour l’AVR Playground, mieux vaut uti-
Tableau 3. Fonctions des commutateurs DIP S24. liser l’oscillateur RC à 8 MHz interne du
S24 Port Bas Milieu Haut µC. Cela garantit que le µC alimenté en
1 PB0 rappel bas sans effet rappel haut 5 ou 3,3 V fonctionnera toujours selon ses
2 PB1 rappel bas sans effet rappel haut spécifications. Comme le quartz est décon-
3 PB2 rappel bas sans effet rappel haut necté par défaut, les ports PB6 et PB7 sont
4 PB3 rappel bas sans effet rappel haut disponibles pour les applications de l’uti-
5 PB4 rappel bas sans effet rappel haut lisateur. Si vous avez besoin d’un quartz,
6 PB5 rappel bas sans effet rappel haut soudez-en un sur la carte et connectez-le
7 PB6 rappel bas sans effet rappel haut au µC en déplaçant deux cavaliers.
8 PB7 rappel bas sans effet rappel haut En fonctionnement normal, le port PC6
Tableau 9. S24 contrôle le port B, Tableau 10. S33 contrôle le port C et les niveaux actifs
il n’est pas utilisé par notre jeu. des boutons.
S24 Port Position S33 Fonction Position
1 PB0 milieu 1 niveau bouton-poussoir – port B milieu
2 PB1 milieu 2 niveau bouton-poussoir – port C milieu
3 PB2 milieu 3 niveau bouton-poussoir – port D haut
4 PB3 milieu 4 PC0 milieu
5 PB4 milieu
5 PC1 milieu
6 PB5 milieu
6 PC2 milieu
7 PB6 milieu
7 PC3 milieu
8 PB7 milieu
8 PC4 milieu
9 PC5 milieu
Tableau 11. S27 contrôle le port D.
10 Non utilisé
S27 Port Position
1 PD0 milieu
2 PD1 milieu
3 PD2 bas
4 PD3 bas
5 PD4 bas
6 PD5 bas
7 PD6 bas
8 PD7 bas
produit un niveau logique haut. est découragé et abandonne. Le tableau prises entre 0 et RAND_MAX (32.767 avec
Un bouton-poussoir est un dispositif peut être rempli au début du jeu. Arduino). Une manière rapide, mais peu
mécanique et le contact rebondit pendant La fonction rand est disponible pour élégante de confiner les nombres dans
plusieurs millisecondes avant de se produire des valeurs aléatoires com- une plage donnée consiste à effectuer
stabiliser. Le logiciel doit éviter cet écueil.
En l’absence de contraintes temporelles
particulières comme ici, une façon Listage 1.
commode de le faire consiste à relire le
#define LED_BUTTON_TABLE_SIZE (4)
bouton une seconde fois après un court
uint8_t led_button_table[LED_BUTTON_TABLE_SIZE] = { 4, 5, 6, 7 };
laps de temps. La pression sur le bouton
sera validée uniquement si le niveau haut
apparaît deux fois. Avec une scrutation void led_set(uint8_t nr, uint8_t value)
périodique assez rapide (env. 10 Hz), les {
chances de manquer une pression sont pinMode(led_button_table[nr],OUTPUT);
minimales. Un ET logique (« & ») de deux digitalWrite(led_button_table[nr],value);
scrutations successives élimine alors les }
lectures douteuses (listage 2).
Nombres aléatoires
Listage 2.
Le jeu a besoin d’une séquence de
nombres aléatoires (correspondant au uint8_t button_read_all_debounced(void)
numéro des LED) assez longue pour que {
la plupart des joueurs se trompent avant uint8_t buttons = button_read_all();
la fin. La séquence peut être enregistrée delay(10); // Wait for any bouncing to stop.
dans un tableau. La taille de ce tableau buttons &= button_read_all(); // faire un ET avec 2e lecture
est importante. S’il est trop petit, il est
return buttons;
trop facile pour le joueur de battre la
}
machine. S’il est trop grand, le joueur
Listage 3.
dans l’e-choppe }
else
ª129009-2
Circuit imprimé {
// le joueur a perdu, air ‘partie terminée’
ª129009-41
µC programmé game_start();
ª129009-91 }
Module prêt à l’emploi }
Le SmartScope de LabNation est surtout connu comme oscilloscope complet, mais son connecteur arrière
permet de raccorder huit sondes pour mesurer des signaux logiques. Découvrez comment utiliser le
SmartScope en analyseur logique pour vérifier vos circuits logiques et décoder des protocoles numériques.
Un survol de la souris affiche ces informations pour n’im- Obtention de résultats optimaux
porte quelle trace. Les fils peuvent nécessiter quelques précautions pour obtenir
• Curseur de temps : faites glisser un curseur de temps des résultats corrects, en particulier avec les signaux à haute
latéral jusqu’à l’endroit voulu de la trace. En ajoutant fréquence qui sont pilotés activement aux niveaux haut et bas.
un second curseur, un curseur de différence apparaît ; il Comme les fils de liaison entre le SmartScope et l’appareil à
indique l’intervalle de temps entre les deux. Si vous cli- observer ne sont pas blindés, une intermodulation entre fils peut
quez sur ce curseur de différence, le temps est converti en se produire. Ainsi, un front montant sur une voie peut induire
la fréquence correspondante. une très courte impulsion sur un fil voisin. Si les conducteurs
• Décodeurs de fronts : pour connaître le nombre exact ne sont pas blindés, comme il s’agit d’interférences d’origine
de fronts entre deux positions, sélectionnez : Menu ¨ Add électrique et magnétique, la meilleure stratégie est d’utiliser
decoder ¨ Edge counter. Sélectionnez la voie voulue et des liaisons aussi courtes que possible, des conducteurs assez
le décodeur comptera les fronts pour vous. En ajoutant espacés, mais proches d’un conducteur de masse.
le décodeur d’intervalles entre fronts « Edge intervals », En outre, un conducteur de mesure agit comme un petit
vous obtiendrez le temps entre chaque intervalle avec une condensateur ajouté sur le signal à observer et cela peut
précision de 10 ns. influencer le signal lui-même au point de causer des erreurs
de communication, juste parce que vous avez connecté un fil
Utilisation des décodeurs numériques au signal.
Dans un grand nombre de systèmes, les puces communiquent
entre elles par des voies assez lentes (par ex. données de Câble de connexion de l’analyseur logique LabNation
configuration ou mesures à faible vitesse). Eu égard au problème ci-dessus, LabNation a développé pour
La figure 2 contient une telle voie : le contrôleur envoie un l’analyseur logique un câble spécifique (figure 4) à raccorder
u Troisième Type
Comptoir ouvert d Évènement surprenant à Berlin en décembre 2016.
Ni artistique, ni sportif, ni alimentaire (bien que boissons
et pizzas y furent servies) : l’ouverture d’un magasin. Et
pas juste « un magasin » mais le premier Arduino Store au
monde. Mon expérience est que les boutiques d’électronique
du type une vitrine et une caisse enregistreuse ferment,
ceci depuis près de 35 ans. Les boutiques d’électronique
virtuelles fleurissent, surgissant partout sur l’internet, mais
ouvrir un magasin d’électronique avec un comptoir et payer
quelqu’un pour rester derrière, en fait c’est un concept
nouveau – voire révolutionnaire ? Dans ce nouveau magasin
Arduino, vous pouvez acheter des produits Arduino (!), mais
pas seulement, car il dispose d’un espace de travail pour
organiser des ateliers. Le début d’une nouvelle tendance ?
ziger Str. 22,
Maker Store Berlin, Dan Les boutiques d’électronique vont-elles bientôt fleurir à tous les coins de rue comme
10435 Berlin, Allema gne
avant ? Ou bien ce magasin va-t-il subir le même sort que ses prédécesseurs ?
mangé
mi-conducteurs : manger ou être
La jungle des se
Observateur de l’industrie électronique ou simple
lecteur de journaux, vous aurez noté la vague de fusions et rachats survenus
ces dernières années. Intel a acquis le fabricant de FPGA Altera. NXP a repris
Freescale juste avant d’être absorbé lui-même quelques mois plus tard par
Qualcomm. Microchip a englouti son concurrent Atmel ; ON Semiconductor a
racheté Fairchild Semiconductor et Analog Devices a avalé Linear Technology.
Le distributeur de composants Avnet a repris son collègue Farnell qui venait de
vendre Cadsoft (Eagle) à Autodesk (AutoCAD) ; Mentor Graphics a fusionné avec
Siemens et, juste après le Brexit, ARM a été rachetée par le Japonais Softbank.
Saviez-vous qu’Amazon était aussi entré dans la danse ? Ils possèdent Annapurna
it Poisson,
Labs en Israël. Ce ne sont que les fusions très médiatisées ou les acquisitions à Gros Poisson mange Pet
plusieurs centaines de millions, voire dizaines de milliards, d’Euros/Dollars/Livres, mais : ww w.c ath erin esw enson.com
crédit image
il y a eu beaucoup d’autres prises de contrôle moins coûteuses. Les petites compagnies
fusionnent pour former des entités plus grandes, mais quand elles deviennent trop grosses, elles commencent à essayer
de perdre du poids. NXP était issu de Philips, Freescale faisait partie de Motorola ; HP a décidé de se couper en deux, et fin 2016
Samsung a annoncé aussi une possible scission. C’est comme regarder les étoiles et les planètes se percuter et se désintégrer de
nouveau. Un trou noir caché quelque part dans cet univers serait-il en train d’essayer d’aspirer toute l’industrie ?
rc u it s im p ri m és — encore utile ?
L’imprimante de ci L’électronique ne serait pas où elle en est
aujourd’hui sans une technique développée
il y a environ 500.000 ans ! Je ne parle
pas de la découverte du silicium, encore
plus ancienne, quelques milliards d’années
au moins, mais de la gravure : « l’action
d’inciser un dessin dans une surface
dure, généralement plate en creusant
des sillons dedans » (merci Wikipédia).
Les Circuits Imprimés, ou CI, sont
rs ave c une ban de réalisés avec différentes techniques
Ces minuscules transisto
n et d’assemblage de été gra vés et imp rim és de gravure (chimique,
Le système d’impressio passante de 38 GHz ont
eau, de Voltera allie dit pho to : Jung-Hun
circuit imprimé, pour bur . sur un suppor t flex ible (cré
Seo).
design et fonctionnalité
mécanique ou optique), et les circuits intégrés sont gravés sur des galettes de silicium.
L’impression, une invention âgée de plus de 2000 ans, est aussi devenue essentielle pour
l’industrie électronique. Avant tout parce que sans elle vous ne pourriez pas lire cette
belle prose, mais aussi parce que la fabrication des CI repose dessus. Le « I » de CI
prend aujourd’hui une nouvelle dimension, à cause du développement d’imprimantes
capables de produire des CI sans gravure, par simple jet d’encre conductrice sur
une surface dure, généralement plane. Des imprimantes de circuits électroniques
sont également à l’étude. On travaille à l’impression d’un simple microcontrôleur
à 4 bits directement sur du carton. Le but est de créer des emballages intelligents,
des vêtements connectés ou tout autre bidule communicant. Aujourd’hui on pourrait
se demander qui voudrait d’un processeur à 4 bits, mais en 1971, quand Intel a
sorti sa centrale 4004 à 4 bits, ce fut une révolution qui permit de faire voler des
avions de chasse. Que préfèreriez-vous avoir dans votre labo ? Une imprimante qui
imprime des CI qu’il faut ensuite garnir, ou une imprimante qui crache des circuits
prêts à fonctionner ? Faut-il abandonner
ink de
circuits imprimés, le Squ
l’imprimante de CI et nous concentrer sur En plus d’imprimer les les com posants.
ce et sou de
l’imprimante de circuits électroniques ? BotFactory pla
Vous voulez participer ? Envoyez vos commentaires, suggestions, trucs et astuces à labs@elektor.com
La carte Red Pitaya, de couleur rouge Les techniciens tion des convertisseurs A/N et N/A, qui
et au format d’une carte de crédit, est de chez Red Pitaya est de 10 bits, et la présence de moins de
bien connue des électroniciens. C’est un ont renouvelé et étendu leur offre, et mémoire vive. Dans la plupart des cas,
instrument de mesure puissant, avec un les cartes s’appellent désormais toutes ces différences n’ont pas d’importance.
générateur intégré, et un outil de déve- STEMlab (de Science, Technology,
loppement pour circuit logique program- Engineering and Mathematics, acronyme Moins de bits
mable (Field-Programmable Gate Array très utilisé dans l’enseignement des Nous avons testé un prototype et un
– FPGA) polyvalent, ce qui permet la mise sciences exactes et appliquées aux États- modèle de série de la STEMlab 125‑10
en œuvre de diverses applications. Elek- Unis). L’« ancienne » carte s’appelle donc pendant quelque temps, et nous n’avons
tor a publié quelques articles illustrant maintenant STEMlab 125‑14, et elle a pas pu constater qu’il s’agissait d’une
ces applications, ainsi qu’un livre (en une petite sœur, la STEMlab 125‑10 ; version « réduite » de notre carte
anglais) [1]. cette dernière diffère par la résolu- Red Pitaya : les deux versions tournent
Figure 1. La documentation sur le site de Red Pitaya. Figure 2. La nouvelle interface utilisateur, avec des icônes semblables à
celles d’un ordiphone.
Figure 3. L’appli oscilloscope est identique à l’ancienne version Pro. Figure 4. Avec la version « Diagnostic » du kit, vous disposez d’un banc
de mesure complet chez vous.
générateur de nombres
réellement aléatoires
tests NIST &
composants abordables
Circuit
Luka Matić (Croatie)
à propos du projet Intéressons-nous au schéma de la
figure 1.
ordinateur & internet
Plus tard quand j’ai appris les bases Puisque le bruit est aléatoire par nature,
sécurité cryptographie de la cryptographie, j’ai découvert une source de bruit est la base du GNA. Le
jeux d’autres bonnes raisons pour lesquelles caractère aléatoire de différents types de
il est utile d’avoir un générateur de bruit électronique (grenaille, thermique,
débutant nombres aléatoires (GNA). En fait il est scintillation, en créneaux, avalanche)
connaisseur impossible de crypter des données de est bien connu. Mon GNA utilise le bruit
Æ expert manière sécurisée sans en utiliser un. d’avalanche – obtenu avec des diodes
Les applications de jeux et de paris Zener – à cause de sa bande passante
nécessitent également un excellent large et sa forte amplitude comparées à
environ 4 h GNA [2], et – pour les mathématiciens d’autres sources de bruit. Deux diodes
en herbe – il est possible d’estimer π en Zener de 12 V (D7 et D10) produisent
utilisant des nombres aléatoires. Pour deux signaux de bruit. Un amplificateur
soudage de CMS, savoir comment, cherchez Buffon et Pi différentiel bâti autour de T4, T5 et T6
programmateur AVR, sur l’internet. amplifie la différence des deux signaux
alimentation variable
Des générateurs de signaux aléatoires pour augmenter les chances d’avoir un
d’excellente qualité sont disponibles dans signal de bruit fortement aléatoire. Cet
le commerce, mais à des coûts élevés, amplificateur élimine aussi les signaux
environ 150 € j’ai donc décidé de construire le mien en de mode commun dus aux interférences
utilisant des composants bon marché et et perturbations qui peuvent affecter les
disponibles facilement. deux diodes.
IC4
+3V3_SD
R1 L78L33 +3V3
3 1
+6V +3V3 K1
10k
K6 SD Card Socket
1 CD 1 +6V C13 2 C14 C12
2 R3 R5 DO 2
D1
L1 100n 100n 100u
3 PD6 3
Random Bit Stream
10k
1M
4 PD1 4 100uH
Bit Capture Trigger
5 SCL 5 C10 C11
+3V3_SD
1N4148 6 IC5
+3V3 100u 100u
DI 7 L78L33
20 3 1
R2 8
K5 VCC C1
2 1 DO RST 1 9
470k
PA2(RESET/DW)
4 3 SCL AIN0 12 IC1 C15 2 C16 C17 C18 C19
PB0(AIN0/PCINT0) 100n
6 5 RST AIN1 13 2
SW1
SW2
SW3
PB1(AIN1/PCINT1) PD0(RXD)
100n 100n 100u 100u 100u
PB2 14 3 PD1
ICSP PB2(OC0A/PCINT2) PD1(TXD)
15 6
PB3(OC1A/PCINT3) PD2(CKOUT/XCK/INT)
CD 16 7
PB4(OC1B/PCINT4) PD3(INT1) K4 R10 K3
DI DI 17 8 1 PD6 PD5 1
PB5(MOSI/DI/SDA/PCINT5) PD4(T0) 10k
DO 18 9 PD5 R9
PB6(MISO/DO/PCINT6) PD5(OC0B/T1) PWM
D2 SCL 19 11 PD6 R6 R7 R8
10k
PB7(UCSK/SCL/PCINT7) PD6(ICP)
S4 C6
470R
470R
470R
ATTINY2313A-SUR +3V3
D3 5 4 CD
PA1(XTAL2) PA0(XTAL1) GND
4
10u R4
6 3 DI
4 X1 5 10 C5
3
20M
R45
2
8 1 SCL
100n
ON
C2 C3 C4
1
100k
D5
10MHz
100n 22p 22p R46
AIN1
4x 100k
P5
1N4148
R44 200k
S1 AIN0
100k
R47
+18V +18V C35
PD1
PB2
330k
BC847 +14V
T1 T3 100n
R16 R20
LED4
R15
BC857
10k
10k
R11
1k5
10k NJM7806DL1A-TE1 2 IC3 R49
K2 R12 R14
IC2 +6V
10k
1 1 3 1 R18 R21
100k
10k
S7
R17
100k
4k7
2 1 6
ON
TL431AMFDT 3
1
1k5
T2 2 R50 2 5
IC6
2
3 4
10k
TL431AMFDT 2 R22
3
R13 P1 P2
BC847
100k
C7 S2 C8 C9 1
1M
R19 S3 R23
BAT854W
15k
33k
+6V L2
10k
1k
1k
100u L3 C36
+3V3 C30
T4 T5 100uH
220p
2x 100n
BC847
R38 R41
+14V P3 +14V
200R
100R
1k
C37
L4 R48
R30 R26 R36 100p C44
C23 C21 C22
S5 C38
10k
470R
470R
R39 R42
10k
10k
1k5
T6 9 6 C39
R31 C24 C27 R35
6
11 4 C40 C45
10n 10n
4
P4 13 2 C41 C46 6 5
D8
2
D7
1
1n 120p 9 2
100k
1
220R
2k2
1N4148 1u C31
470p
150116 - 1 - 11
Figure 1. Le générateur de nombres aléatoires (GNA) combine habilement l’électronique analogique et l’électronique numérique pour produire un flux de
données réellement aléatoires.
liste des
composants : gna
VDD
VSS
R/W
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
VO
RS
dégrader la qualité de la sortie du GNA, GND
A
C
E
100u 100n 10u
16V 3 25V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
ce montage sera donc alimenté par VCC R2 R1
deux piles de 9 V en série. Les 18 V
22k
1k
L1
disponibles sont nécessaires aux diodes R3 C3 10uH C5
22k
22k
PB4(MISO) PC2(ADC2)
F8 17 26 8F
PB5(SCK) PC3(ADC3) D1
la tension descend à env. 15,4 V. Dans PC4(ADC4/SDA)
27
20 28
AREF PC5(ADC5/SCL) D2
ce cas, le µC termine son écriture sur PB6 PB7
GND (XTAL1) (XTAL2) GND GND
la carte SD avant d’éteindre le circuit 3 7 8 5 21 C23
R5 R7
X1 JP1
(via PD1) afin d’éviter la corruption
10k
10k
C4
22p
des données et l’épuisement des piles. 100n
C2
16MHz
C1
1N4148
L’indication de piles faibles peut être 22p 22p D1, D2 =
10k
La tension des piles est suffisante et vous 200k C17 200k C20
VEE
appuyez sur S1, normalement le GNA est R22 1u R25 1u
470k 470k
sous tension et la LED4 s’allume. La LED3
9 13
suit, ainsi que la LED1 pour montrer que 8 2F 14 1F
R24 IC2.C R27 IC2.D
la carte SD est correctement initialisée. F2
10k
10 F1
10k
12
R23 R26
Ensuite la LED1 s’éteint, l’enregistrement C15 C16 C18 C19
10k
10k
composants : afd
Le µC délivre une impulsion courte de
durée constante sur PB2 à PB5 pour
chaque occurrence d’une séquence
caractéristique (0x00, 0x0F, 0x33 ou
0x55) et lit la valeur analogique traitée
sur PC0 à PC3.
Régler le GNA
Construire un circuit avec des
composants bon marché implique en
général le réglage manuel d’un ou de
plusieurs paramètres. Le GNA en a
plusieurs :
Potentiomètre ajustable P1
Réglez afin d’obtenir 14 V sur l’émetteur
de T3.
Potentiomètres ajustables P3 et P4
Le courant collecteur des transistors
T4 et T5 doit être de 1 mA. Réglez P3
(symétrie) et P4 (courant total) afin
d’obtenir une chute de tension de 1 V
aux bornes des résistances R27 et R28.
Potentiomètre ajustable P5
1. Coupez la tension (appuyez sur S2,
arrêt matériel).
2. Restez sur S3 (arrêt en douceur), puis
appuyez sur S1 (départ) afin d’accé- Figure 3. Simulation de la fonction de transfert du filtre construit autour de T7 (courbe noire). La
der au mode test. La LED3 s’allume. courbe bleue est la fonction de transfert de T7, définie par sa bande passante. La fréquence de
3. Connectez un oscilloscope (ou un volt- coupure basse est contrôlée par S5 et ses condensateurs C36 et C43. La courbe rouge correspond à
la fonction de transfert du filtre correctif L4-R48-CS6-RS7. Pour être plus clair, on néglige le gain du
mètre en continu) à PD5 afin de sur-
transistor, les courbes réelles noire et bleue se situent 30 dB plus haut.
veiller le signal MLI qui compense la
dérive en continu. Réglez P5 afin de
stabiliser le signal MLI vers 50%.
4. Le mode test s’exécute pendant
env. 40 s, puis la valeur MLI est écrite
dans l’EEPROM interne au µC et la
LED1 s’allume. Relancez le mode test
s’il vous faut plus de temps. Si la MLI
sature à 0 ou 100% la LED2 s’allume
et la valeur MLI n’est pas écrite dans
l’EEPROM. Si cela se produit, relancez
le mode test.
S5, S6 et S7
La figure 3 montre la fonction de
transfert du circuit autour de T7. S5
avec son condensateur contrôle la
fréquence de coupure basse. Régler S6
Figure 4. L’histogramme des données créées par le GDA montre un filtre correctif mal réglé. Si l’on
afin d’ajuster la fréquence de résonance
regarde uniquement les barres à l’extrême gauche et à l’extrême droite (données respectives de
du filtre comme suit :
0x00 et 0xFF) le rapport 0/1 semble bon, toutefois comme le filtre correctif n’est pas bien réglé, les
occurrences de 0x0F et 0xF0 sont trois fois plus fréquentes que celles de 0x55 et 0xAA.
fres = 1 / (2π × √(L4 × CS6)) [Hz]
20 × log10(RS7 / (RS7 + R48)) [dB].
Autoréglages
La dernière valeur MLI est stockée
d a n s l ’ E E P RO M i n t e r n e. Pe n d a n t
l’enregistrement normal des données
aléatoires, le rapport cyclique de la Figure 5. Après un réglage précis du filtre correctif, l’histogramme est presque plat. À présent vous
MLI est ajusté en permanence. En fin avez des données aléatoires d’excellente qualité.
dans l’e-choppe
nombre aléatoire (GNA) est suffisamment ne peuvent, ni ne pourront, être tenus
bon pour satisfaire les normes sur les responsable de la confidentialité de vos
données réellement aléatoires édictées données – vous êtes prévenus. ª150116-1
par des organisations comme le NIST. (150116 – version française : Patrick Bechler) Circuit imprimé
L’approche fais-le toi-même est payante ª150116-2
– dans le pur esprit du magazine et du Liens Circuit imprimé
labo d’Elektor ! Ce GNA est plus qu’un [1] http://csrc.nist.gov/groups/ST/ ª150116-41
jouet expérimental, c’est un instrument toolkit/rng/documentation_ Microcontrôleur programmé
de précision. Toutefois des systèmes de software.html ª150116-42
chiffrement qui l’utiliseraient (ou qui Microcontrôleur programmé
[2] www.elektormagazine.fr/labs/
utilisent de meilleurs GNA) peuvent, en
random-number-generator-150116
théorie, être percés avec un ordinateur
quantique. Donc ni Elektor ni l’auteur [3] www.elektormagazine.fr/150116
Publicité
Les fauves et les moustiques appelés LoRa, SigFox, Neul, Qowisio, ThingSpeak,
Brillo, Nest Weave, Thread… ne vous effrayent pas ?
Ce ne sont pas ces quelques réseaux à bas débit sur
longue distance qui vous font perdre le nord ?
La relation éditeur-auteur est encadrée par un contrat d’édition qui stipule vos
droits d’auteur sous la forme d’un pourcentage déterminé du prix de vente.
10M
47R
4 C5 4
op LT1028 dans l’étage d’entrée. Les phonocapteurs MM ont une R6 C3
47R
V-_1 100n
impédance d’entrée de quelques centaines à quelques milliers d’ohms, R2 1
470p
C2
qui dépend de la fréquence. Avec un courant d’entrée de bruit de 1 pA√Hz, le 3 8
10M
MD 6
R17
V-_1
IC2 6k81
bruit correspondant dépasse le bruit de la tension d’entrée. Avec quatre amplis 220n 2
K1 R7 5
ops LT1028 et une impédance de capteur de 1 kΩ, le bruit dû au courant serait 1
R8
2k2
47R
de 2 nV√Hz. Pour une version à un seul ampli op, la résistance R16 devrait 2 R9 C6
47R
être réduite à 1,7 kΩ. Les phonocapteurs MC sont à basse impédance, ce qui R1
C1 C1' 470p
1 C15 C16 R24
47k
donne un sens à la configuration à quatre amplis ops. 3 8 62
100p
* IC3
6
R18 22n 22n
Andreas von Ow 2
6k81
R22
5k
R10 5
R11 R21
47R
1k6
R12 C9
Vous avez entièrement raison, mais ici, il s’agissait de concevoir un préampli- 47R
R20
470p
1
ficateur qui donne de bons résultats pour les deux types de phonocapteurs MC
110R
3 8
R19
et MM. Nous n’avons pas trouvé d’autres types d’amplis ops qui fournissent 2
IC4
6
6k81
47R
R15 C12
Harry Baggen et Ton Giesberts 47R
470p
C
10
D
Bonjour M. Nitsche
La carte de commande Wi-Fi est alimentée en 3,3 V alors que l’Arduino ISP est conçu pour
des systèmes en 5 V. Néanmoins, il est possible de l’utiliser : il ne faut pas relier l’alimentation
de l’Arduino ISP au connecteur ISP (K6) de la carte de commande Wi-Fi (il y a pour cela un cavalier soudable sur l’Ar-
duino ISP). Vous devrez ensuite alimenter la carte sous sa tension normale. En outre, c’est peut-être une bonne idée
d’insérer des petites résistances de 100 Ω en série dans les lignes MOSI, MISO, SCK et RESET, même si ce n’est sans
doute pas indispensable.
Clemens Valens
Google sort une nouvelle version d’Android, spécialement conçue pour les ordinateurs monocarte ainsi que la
mesure, la commande et la régulation. Nous avons testé Android sur le Raspberry Pi et nous vous montrons
pas à pas comment réaliser un premier projet.
Tam Hanna (Slovaquie) Objets est bien parti pour devenir le pro- des coïncidences – Android Things n’est
chain champ de bataille. en gros qu’une version standard d’An-
Convergence, c’est le maître-mot – droid, avec une extension pour l’interac-
Les progrès rapides de Microsoft dans Google est contraint de se lancer dans tion avec le matériel. La figure 1 montre
le domaine du Raspberry Pi ont certai- le domaine de l’Internet des Objets pour la structure du système d’exploitation.
nement dû donner des maux de tête à ne pas laisser à Microsoft la liberté d’en
Google : après l’ordinateur de bureau, profiter pour une nouvelle attaque du La bibliothèque « Things Support
la tablette et l’ordiphone, l’Internet des marché des portables. Library » se compose de deux modules.
Le système « Brillo », annoncé il y a un Le premier est l’Interface de Program-
an, a eu peu de succès. Pour ce deuxième mation des Périphériques (Peripheral I/O
Attention à la qualité ! essai, on ne fait pas dans le détail et on API) qui, à l’heure où nous écrivons ces
appelle le nouveau produit simplement lignes, offre un accès aux périphériques
Si vous achetez des cartes en Chine,
« Android Things » (en français Objets suivants (il n’est pas clair si OneWire
soumettez-les à des contrôles rigou-
Android). sera ajouté par la suite) :
reux. Beaucoup de fabricants vendent
des lots de matériel de mauvaise qua-
Accès plus simple au matériel • GPIO avec MLI
lité qui annoncent au contrôleur la
Commençons par le plus évident. Mal- • I2C
capacité nominale, mais qui en pra-
gré tout le tapage – les analogies avec • SPI
tique perdent des données.
« Windows 10 IOT Core » ne sont que • UART
Images complètes
À l’heure où nous rédigeons cet article,
Figure 1. Android Things est une variante d’Android (source : Google).
Google, qui a apparemment tiré les
leçons de l’échec de Brillo, propose des
images d’Android Things pour les plate-
formes Edison, NXP Pico et Raspberry
Pi 3. Ici, nous allons nous intéresser au
Raspberry Pi 3, de loin le plus répandu.
Pour commencer, téléchargez l’image
disponible en [2] et copiez-la sur une
carte SD selon la procédure habituelle
(voir aussi l’encadré « Attention à la
qualité »). Dans la suite, l’auteur utilise
une carte de 8 Go. L’utilisation de cartes
de plus grande capacité ne devrait pas
poser de problèmes, alors que la taille de
l’image, à savoir 4,6 Go, interdit l’usage
de cartes plus petites.
Raccordez ensuite l’écran et un câble
réseau au RPi et démarrez en mettant
Figure 2. Notre Android Thing est prêt à l’emploi – notez son adresse IP.
sous tension (le clavier et la souris ne
sont pas nécessaires, car Android Things
n’affiche qu’un écran de bureau sans pos-
sibilité d’interaction directe). Nous n’in- rationnel, sinon, vous trouverez conseils 10.42.0.44:5555 device
sisterons pas sur le débogage en mode et soutien en [4]. Pour les étapes sui-
liaison Wi-Fi, parce que la latence plus vantes, l’auteur utilise une station de tra- tamhan@TAMHAN14:~/Android/Sdk/
élevée due à la liaison sans fil peut intro- vail AMD à 8 cœurs sous Ubuntu 14.04 ; platform-tools$
duire des délais parasites dans la chasse sous Windows et Mac Os, cela ne devrait
aux erreurs. Si vous voulez néanmoins être guère différent. La commande adb devices n’est pas
vous y risquer, suivez les instructions de Prochaine étape : positionnez-vous sur absolument indispensable, nous la men-
connexion au réseau Wi-Fi en [3]. le PC de développement sous le réper- tionnons ici parce qu’elle permet de lis-
Même sur un Raspberry Pi 3, le pre- toire racine de la Passerelle de Débogage ter tous les périphériques connectés à
mier démarrage d’Android Things peut d’Android (Android Debug Bridge, ADB). la passerelle.
prendre une minute ou deux. Tout au Puis connectez-vous au RPi au moyen Notez qu’une connexion entre ADB et
début apparaît un message d’absence des commandes de console (en gras) RPi peut être perdue, par exemple si le
d’Ethernet, qu’on peut ignorer si le câble suivantes : PC passe en veille.
réseau est effectivement branché.
Ceci fait, le système affiche l’écran de tamhan@TAMHAN14:~/Android/Sdk/
démarrage représenté sur la figure. 2. platform-tools$ ./adb connect
L’adresse IP – ici 10.42.0.44 – va nous 10.42.0.44
être utile dans un instant.
connected to 10.42.0.44:5555
Environnement
de développement
tamhan@TAMHAN14:~/Android/Sdk/
Ne serait-ce que par manque de place,
platform-tools$ ./adb devices
il nous faut supposer ici que vous dis-
posez sur votre PC de développement
d’un environnement Android Studio opé- List of devices attached Figure 3. GitHub est et reste une pénibilité.
myGPIO.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW);
Nous sommes maintenant prêts à trans-
férer le programme sur le RPi. Comme
myGPIO.setValue(true);
l’ADB fonctionne comme une couche
}
d’abstraction, il suffit d’un clic sur Run,
catch (Exception e){Log.d(TAG, „Fehler:“ + e.getMessage());}
le RPi se comporte alors comme un ordi-
phone connecté au PC par une liaison
USB. Comme MainActivity n’inclut aucune
interface utilisateur, l’écran connecté au
qu’une espèce de conteneur qui fait s’exé- Au complet, la classe résultante se pré- RPi devient blanc, ce qui montre ainsi
cuter le code dans un nouveau fil. Outre sente comme dans le listage 4. que notre Activity s’est mise joyeuse-
la méthode run spécifiée ici, on peut bien ment au travail.
entendu ajouter d’autres membres afin Outre le constructeur chargé de prendre
de stocker les informations nécessaires en compte l’instance de la classe Gpio, Exploitation
à l’exécution du fil. nous avons peuplé la méthode run(), Connectez maintenant un analyseur
de domaine de modulation au RPi pour
bénéficier de la copie d’écran de la
figure 8 (l’auteur propose en [6] une
Listage 4. La boucle sans fin de production du signal est exécutée dans
vidéo en anglais qui fournit des infor-
son propre fil – un Runnable sert de conteneur
mations complémentaires sur le rôle et
public class WaveformEmitter implements Runnable { l’intérêt d’un analyseur de domaine de
Gpio myGpio; modulation).
public WaveformEmitter(Gpio _which){
myGpio=_which; Outre une instabilité occasionnelle,
} on remarque deux pics : la plage
@Override
à 2,073 kHz montre les deux « passages
linéaires » alors que l’exécution de la
public void run() {
boucle while se traduit par une fréquence
try {
moindre de « seulement » 2,062 kHz.
while(1==1){
Il est évident qu’Android ne peut en
myGpio.setValue(true); aucun cas concourir avec un Unix clas-
myGpio.setValue(false); sique ; la machine virtuelle Java inter-
myGpio.setValue(true); médiaire réclame son tribut. On trouvera
myGpio.setValue(false); sur l’internet divers articles sur le com-
myGpio.setValue(true); portement en temps réel d’Android, par
myGpio.setValue(false); exemple en [7].
}
} Conclusion
catch (Exception e){}
Le programme que nous venons de réa-
liser est un exemple classique de gaspil-
}
lage de ressources dans le domaine de
}
l’embarqué. Un programmeur raisonnable
Mariline Thiebaut-Brodier (Elektor) que 50.000 h), les ventes pour le remplacement grossissent
également les chiffres d’affaires.
Certains fabricants ont décidé de se diversifier pour se distin-
État des lieux guer de leurs concurrents :
Ces deux journées de conférence ont commencé par un état
des lieux et des tendances du marché de l’éclairage. Pour Pars • Nouvelles formes de LED : filament (imitation des lampes
Mukish de Yole Développement (conseil en stratégie), l’an- à incandescence, fig. 1), COB (plafonds, vitrines, projec-
née 2015 avait été la première année de baisse du prix des teurs), flip chip, CSP (boîtiers miniatures faciles à intégrer
LED [1]. En dépit de l’augmentation de la demande, le chiffre dans les montages avec des CMS).
d’affaires des fabricants de LED avait diminué. La situation • Applications spécialisées : automobile, horticulture
s’est améliorée en 2016 avec une augmentation du volume (fig. 2), domaine de l’invisible (UV et IR).
des ventes et l’augmentation du prix de certaines LED. Après
le rétroéclairage des téléviseurs et des ordiphones, les LED Il y a quelques années, l’automobile – surtout de luxe – ne
se répandent dans l’éclairage domestique ainsi que l’éclai- représentait qu’une portion congrue du marché de l’éclairage.
rage extérieur et architectural. On constate que le nombre de Aujourd’hui, les feux d’une Audi conservent leur signature
points lumineux augmente parce que les sources à LED sont unique, mais les modèles de luxe ne sont plus les seuls équi-
efficaces, bon marché et polyvalentes. Enfin comme les LED pés de LED. C’est maintenant l’éclairage général qui bénéficie
ont une durée de vie moins longue que prévu (20.000 h plutôt des progrès du monde automobile.
Figure 1. LED à filaments pour remplacer les lampes à incandescence Figure 2. LED optimisées pour l’horticulture avec des longueurs d’onde
aujourd’hui disparues (modèles evoZiled). qui favorisent la photosynthèse et améliorent la croissance.
Impact de la lumière
sur le vivant et l’environnement
Aujourd’hui il y a au moins un
million de cartes BBC micro:bit en
circulation au Royaume-Uni et de
par le monde. Même si on peut faire
beaucoup de choses avec micro:bit,
l’interface utilisateur est limitée sauf à
devenir très bon dans l’écriture d’applis
Bluetooth pour profiter de son ordiphone.
Mais les jeunes (et vieux) passionnés ne les plaques d’essais. Les premières ten-
à propos du projet veulent pas être collés en permanence tatives pour trouver des modèles abor-
à un téléphone, et il y a sans doute une dables ont presque conduit à l’abandon
Microcontrôleurs
multitude de projets à réaliser avec une du projet avant même son démarrage.
BBC micro:bit Bluetooth
carte micro:bit autonome. Amusant comme un problème simple
prototypage Nous avons donc créé une carte « sta- peut avoir un impact considérable ! Bien-
tion d’accueil » (il y en aura peut-être venue dans l’ingénierie. Heureusement
débutant
toute une série) pour ajouter de nou- nous avons trouvé un connecteur bon
Æ connaisseur velles caractéristiques et fonctions au marché.
expert système de base micro:bit. Ce premier Nous, vieux briscards des cartes de
dock fournit quelques E/S de plus et un développement, avons nos options pré-
espace de prototypage, et facilite l’écla- férées. La première version du dock les
environ 2 h
tement de l’ensemble des broches de a TOUTES plus la connexion pour une
micro:bit sur une plaque d’essais. carte fille (au standard Engenuics), ce qui
permet de connecter une infinité d’autres
Connecteur de bord de carte ! cartes. Nous faisons alors des supposi-
Soudage de CMS
Le premier défi à relever est le connec- tions sur le fonctionnement de micro:bit
teur imprimé qui semble sympathique (difficile d’en avoir une à cette époque).
et surtout ne coûte rien. Toutefois il est Comme nous n’avions pas encore de
pratiquement impossible de brancher connecteur de bord de carte, cette carte
environ 20 €
micro:bit dans quoi que ce soit. Les utilise notre idée initiale de connecteur
embases pour connecteurs imprimés sont à deux étages (fig. 1).
chères et leur profil est incompatible avec Nous lançons un prototypage rapide et
Figure 1. Vue 3D de notre premier jet de la station d’accueil pour la carte Figure 2. La version finale du dock pour BBC micro:bit ressemble à ceci.
BBC micro:bit.
P11
P9
P16
R26 R9 R29 R11 R27 R10 R30 R12
MICRO:BIT 100k
100k
100k
100k
0R
0R
0R
0R
EDGE CONNECTOR
BUTTONA BUTTONB BUTTONC BUTTOND
J6
S1 S2 S3 S4
1
P22/GND BUTTONS
2
GND
3 MICRO:BIT
GND BREADBOARD BREAKOUT
4 J3
GND 1 +3V3 +3V3 +3V3
5 J7
GND
6 R3 P3 1
P21/GND P1 TRIM1 R8 R15 R16 P3/LEDCOL1/AN
7 P20 0R P0 2
P20/SDA1 P0/AN
49R9
100R
8 P19 10k P4 3
P19/SCL1 ANALOG P4/LEDCOL2/AN
P18/3.3V
9 INPUT IR R17 P5 4
P5/BUTTONA
10 TRANSCEIVER 0R P6 5
3.3V P6/LEDCOL9
11 J4 +3V3 D1 Q3 R28 P7 6
3.3V 1 PT91 IR_IN P8 P7/LEDCOL8
12 0R P1 7
3.3V -21B/TR7 P1/AN
3.3V
13 IR PLCC
Q5
R19
* P8 8
P8
14 0R P9 9
P17/3.3V R25 R20 P9/LEDCOL7
15 P16 P2 IR_OUT not mounted P10 10
P16 0R P10/LEDCOL3/AN
0R
16 P15 P11 11
P15/MOSI1 P11/BUTTONB
17 P14 DMG1012UW P12 12
P14/MISO1 P12/RESERVED
18 P13 P2 13
P13/SCK1 P2/AN
19 P13 14
P2/AN +3V3 +5V P13/SCK1
20 P14 15
P2/AN P2 P14/MISO1
21 +3V3 P15 16
P2/AN 1 3 P15/MOSI1
22 C5 P16 17
P2/AN J5 +5V P16
23 P12 18
P12/RESERVED 2 3.3V/5V
24 P11 1u C4 19
P11/BUTTONB R4 U2 VA 7 8 5 3.3V
25 P10 P12
C+ C– VDD 20
P10/LEDCOL3/AN 0R 3.3V
26 P9 LCD_RST 1 1u P19 21
P9/LEDCOL7 R31 RST NHD-C02220Biz-FS +3V3 P19/SCL1
27 P8 P19 I2C_SCL 2 6 P20 22
P8 0R SCL (RGB)-FB-3V VOUT P20/SDA1
28 I2C_SDA 3 23
P1/AN R32 SDA LCD 20x2 C6 GND
29 P20 24
P1/AN P1 0R VSS GND
30 25
P1/AN BK GK RK 4 1u GND
31
P1/AN
32 P7 R13 R14 R18
P7/LEDCOL8
33 P6
150R
150R
150R
P6/LEDCOL9
34 P5
P5/BUTTONA R23
35 P4 Q1 BUZZER P0 C7 C8 C9
P4/LEDCOL2/AN 0R
36 R7
P0/AN P15 LCD_BL_BLU R21
37 0R
Q2
3x
P0/AN P0 DMG1012UW
150R
2 R34 R33
150R
D– C1 MCP1824 C2
3 3 4 P1
100k
100k
D+ SHDN ADJ Q6 1
4 GND
ID 1u D3 1u J8 R24
5 2 R2 3 P2 P2
100k
GND SERVO 0R 2
2 SERVO
BLU0603 5V
GND
1 DMG1012UW GND
USB-MICRO B SERVO OUTPUT 160274 - 11
liste des
composants
Andrew Emmerson (Royaume-Uni) Néanmoins, un « tube » qui ne dégage pas de chaleur, ne dérive
pas et ne consomme pas de courant de filament, était une solu-
tion séduisante. Les compagnies de téléphone lui ont donné
En réalité, c’est un substitut de tube réalisé avec des tran- un éclat particulier et les exemples de la figure 1 viennent de
sistors JFET (jonction à effet de champ) pour coïncider avec Nouvelle-Zélande où ils ont été utilisés dans les amplificateurs
les caractéristiques de transfert de tubes à vide particuliers, d’attaque des câbles téléphoniques sous-marins vers l’Austra-
principalement des penthodes, mais il y a eu quelques trio- lie. Ils ont aussi servi dans les appareils de haute fiabilité pour
des aussi. Présenté par Teledyne Semiconductor en 1972 et la radiodiffusion et les amplis de guitare (!) pendant que Tele-
destiné à un usage militaire ou à des appareils « indispensab- dyne prospectait avec ses kits de conversion pour améliorer
les » (pas pour le commun des mortels), le Fetron permettait les voltmètres électroniques et les oscilloscopes chez Hewlett
d’allonger la durée de vie d’appareils très chers à tubes, en Packard et Tektronix, pour assurer même stabilité, faible bruit
repoussant leur remplacement. Comme les Fetrons sont des et fiabilité que les transistors bipolaires (figure 2). Le pas-
semi-conducteurs, ils consomment moitié moins de puissance sage aux semi-conducteurs a écourté la carrière du Fetron, cet
que les tubes et se passent de climatisation. Ils éliminent les ingénieux composant ne laisse que quelques souvenirs.
réglages fréquents et le remplacement périodique des tubes, (160265 – version française : Robert Grignard)
donc, malgré leur prix exorbitant, ils étaient rentabilisés dans
Liens
les six mois après installation.
Teledyne a développé le Fetron pour le remplacement par inser- https://en.wikipedia.org/wiki/Fetron
tion directe de certains tubes à vide et c’est ce qui causa leur http://hrsasa.asn.au/docs/Fetron.pdf
faiblesse. Le grand spécialiste des Fetrons, le Dr Hugo Holden www.philipstorr.id.au/radio/eleven/fetron.htm
du Queensland en Australie, explique que les vendre comme
www.worldphaco.com/uploads/WORLDFETRON.pdf
substitut des tubes était une grave erreur. Dans de nombreu-
ses applications, comme l’oscillateur local qui compte sur le www.elektormagazine.fr/160049
courant de grille pour sa polarisation automatique, il fonctionne
mal et dévie le courant de grille, ce qui cause la saturation et Envoyez-moi vos idées en quelques lignes ou
introduit de forts harmoniques à la sortie. sous forme d’un article déjà rédigé : neil@gruending.net
Figure 1. Des Fetrons sens dessus dessous. Figure 2. Publicité de l’époque du Fetron.
à propos du projet variation automatique du rapport cycli- sortie de l’ampli op sature à sa tension
que avec un circuit simple (sans micro- maximale (Vo max). Cette tension charge
loisirs
contrôleur) ! On prend un générateur de C1 via R1, jusqu’à ce que Vc soit supé-
moteur MLI signaux à MLI pour alimenter le moteur, rieure à Vi ; nous appelons cette tension
rapport cyclique on mesure le courant d’alimentation, et VtH. La tension de sortie passe alors à 0,
on utilise le résultat pour réguler la MLI. et C1 se décharge via R1 jusqu’à ce que
débutant Quelques amplis op, un MOSFET pour la Vc redevienne inférieure à Vi (tension VtL).
Æ connaisseur commande du moteur, des résistances La tension de sortie repasse à son maxi-
expert et des condensateurs, le tout alimenté mum, et le cycle recommence. C’est donc
sous 5 V, ça devrait suffire. Le circuit est une combinaison entre un générateur de
une extension d’une application typique dents de scie et une bascule de Schmitt.
environ 30 min du LM358 (fig. 1), tirée d’une feuille de
caractéristiques de Texas Instruments [1]. Quelques formules permettent de décrire
formellement ce comportement et de
Moteur à courant continu Principe déterminer la valeur des composants
de récupération (lecteur de Vous connaissez sans doute le principe de pour un cycle donné. La tension Vo max
CD/DVD) fonctionnement du circuit (fig. 1) ; sinon peut atteindre la tension d’alimentation
cherchez « rapport cyclique » (duty cycle) avec un ampli op à étage de sortie CMOS
sur Wikipedia [2]. À la mise sous tension, comme le CA3130, mais ne peut s’en
environ 15 € l’entrée + de l’ampli op (Vi) est positive approcher à moins de 1,5 V avec un 741.
(Vdc ≤ tension d’alimentation), tandis que Continuons avec l’approche intuitive. Plus
la tension à l’entrée − (Vc) est nulle. La Vdc est élevée, plus Vi le sera, et donc le
R2 C1
100k tance Vi → masse est élevée), plus le
rapport cyclique est faible ;
100k
100n T1
2
1
R4 IC1.A • plus R7 est faible, plus l’influence de
Vdc 3
100k IRF3708
Vo max sur VtH est grande, et plus la
R6 R7
différence entre VtH et VtL est grande,
68k 220k Vs
R3 R8 R5 mais comme c’est la somme de ces
deux tensions qui importe, l’in-
100k
1R8
33k
Figure 2. Le générateur IC1A commande le moteur via le MOSFET T1 ; IC1B et R5 (capteur de
Schéma
courant) assurent une certaine contre-réaction.
Le schéma complet du circuit est en
figure 2. La mise au point n’est pas si
rapport cyclique aussi. Si Vi est toujours minant dans le fonctionnement du circuit. simple qu’il y parait, mais nous y revien-
supérieure à Vc, le rapport cyclique est Pour mieux comprendre, raisonnons en drons plus tard.
de 100%, c’est-à-dire une tension conti- termes de conductance (1/R) plutôt que La tension Vdc est fixée à la moitié de
nue en sortie. Vi est le paramètre prédo- de résistance (R) : la tension d’alimentation par R2 et R3.
Le signal MLI à la sortie d’IC1A com-
mande le moteur via le transistor MOS-
FET de puissance T1. La résistance R5
liste des de 1,8 Ω mesure le courant d’alimenta-
composants tion du moteur ; son intensité est d’en-
viron 450 mA dans notre cas et en fonc-
tionnement normal, ce qui nous donne
une tension Vs de 0,8 V aux bornes de
R5. Si la charge augmente, le courant
grimpe à 700 mA, et la tension à 1,2 V.
La puissance à dissiper par R5 serait
donc de 0,9 W (I²R = (0,7 A)2 × 1,8 Ω
= 0,9 W), mais comme le fonctionnement
est en impulsions, la puissance à dissi-
per est réduite par le rapport cyclique
et n’est que d’environ 20% de sa valeur
en continu ; une résistance prévue pour
une dissipation de 0,5 W ne risque pas
de s’échauffer.
La tension Vs est amplifiée par IC1B, dont
la tension de sortie Vm se retrouve à l’en-
trée + d’IC1A via R6. Vi augmentera donc
lorsque la charge du moteur croitra. Ne
crions pas trop vite victoire, car il y a
bien quelques écueils, notamment le fait
que la fréquence du signal MLI diminue
lorsque le rapport cyclique augmente.
C’est flagrant si on examine la formule
Publicité
Nouvelle édition
augmentée 100 pages supplémentaires !
les moteurs électriques
expliqués aux électroniciens
Ce livre en quatre chapitres offre une information accessible et digeste : constitution,
fonctionnement, caractéristiques, domaines d’utilisation, pour proposer aussi des
réalisations électroniques simples et concrètes.
Le premier détaille les principes de variation de la vitesse des moteurs à courant
continu. Les moteurs à alimentation alternative monophasée du 2e chapitre font appel à
une électronique de puissance. Dans le 3e chapitre sont décrits les moteurs asynchrones
triphasés, le moteur électrique le plus utilisé dans l’industrie.
Cette nouvelle édition s’enrichit d’un chapitre consacré aux moteurs sans balais
(brushless), du moteur synchrone triphasé de plusieurs centaines de kW au moteur
à courant continu de quelques centaines de watts, en passant par les moteurs pas
à pas ou encore le surprenant moteur linéaire. Le lecteur découvrira leurs modes de
commande : codeurs incrémentaux ou absolus associés à un onduleur commandé en
courant ou en tension ou bien capteurs à effet Hall pour l’autopilotage, commande en
pas entiers, demi-pas, micro-pas… L’auteur propose également de réaliser un banc
d’essai pour moteurs pas à pas unipolaires.
+ 100 pages
ISBN 978-2-86661-194-1 – 432 pages – 46,50 €
www.elektor.fr/moteurs
capteurs (3)
pour Arduino et Cie
Burkhard Kainka
Depuis les débuts de la télégraphie, la communication électrique passe par un seul fil. Le bus 1-wire et bien
d’autres protocoles se servent eux aussi d’un unique fil, et se passent de ligne d’horloge. Les télécommandes
IR fonctionnent selon un principe similaire. Nous nous pencherons ici, entre autres sur le capteur de
température et d’humidité ainsi que l’émetteur-récepteur IR du kit de 35 capteurs.
Nous commençons par le capteur de température « 18B20 la ligne VDD du DS18B20 est généralement utilisée pour l’ali-
Temp » issu du kit disponible dans l’e-choppe d’Elektor [1]. mentation, de sorte qu’on dispose en fait de trois fils au total.
Le capteur est doté d’un DS18B20 qui a l’air d’un transistor Le circuit imprimé du capteur est doté en plus d’une LED avec
ordinaire logé dans un boîtier T092, mais en fait il s’agit d’un sa résistance série sur la ligne de données.
circuit intégré complexe avec une interface particulière. Le
bus 1-wire a été conçu par l’entreprise Dallas. À l’exception Logiciel Arduino pour le 18B20
du fil de masse (GND), il suffit d’un seul fil pour piloter un ou Tout d’abord, il convient d’inclure deux bibliothèques dans l’EDI
plusieurs capteurs. Non seulement le flux de données, mais Arduino : OneWire et DallasTemperature. Les deux se trouvent
aussi l’alimentation du circuit passent par ce fil. Cependant, sur le CD fourni avec le kit de capteurs. Il faut les copier dans
4k7
Y
VDD A2
R
18B20 DQ +5V
G
GND GND
18B20 Temp
Figure 1. Connexion du capteur de Figure 2. Affichage de la température dans le Figure 3. Courbe de température.
température 18B20. moniteur série.
le dossier « libraries » du répertoire de croquis d’Arduino. On Regardons de plus près la fiche technique et ajoutons quelques
y trouve respectivement un fichier d’en-tête *.h et un fichier lignes au programme. C’est du travail, mais cela nous ouvre
en C++ *.cpp. Je pense qu’il est intéressant d’examiner ces de nouvelles perspectives. En effet, nous pourrons nous ser-
fichiers. Toutefois si vous n’y comprenez rien, ce n’est pas vir des propriétés spéciales du capteur, p. ex. pour modifier
grave. En effet, il s’agit uniquement de reprendre les fichiers la résolution ou lire le numéro d’identification unique contenu
d’en-tête pour les mettre dans notre propre programme afin dans le circuit intégré.
de n’avoir plus qu’à faire appel à quelques fonctions. Avec
Arduino, c’est facile comme bonjour. Le programme du lis- L’exemple en Bascom (listage 2) montre comment lire la tem-
tage 1 montre comment la température est interrogée toutes pérature. Il faut envoyer deux commandes (Skip ROM, &HCC et
les 500 ms. La ligne de données est raccordée à A2 (= PC2)
(fig. 1). Bien sûr, tous les codes liés à cet article peuvent être
téléchargés sur le site d’Elektor [4]. Le protocole 1-wire
Le thermomètre dispose non seulement d’une sortie série,
Avec 1-wire, tout passe par un seul fil : la ligne DQ. Enfin
mais il permet également d’afficher la température sur l’écran
presque, puisque nous avons quand même GND et VCC. Au
à cristaux liquides, à condition d’utiliser le shield d’extension
repos, la ligne de données DQ est ramenée à l’état haut à
Elektor [2] [5]. Comme il y avait de la place sur la deuxième
l’aide d’une résistance de rappel. Le dispositif maître peut alors
ligne du LCD, le thermomètre affiche aussi les températures
envoyer une impulsion de remise à zéro et démarrer ainsi une
minimale et maximale.
communication, afin de pouvoir envoyer des instructions ou
La température affichée est une valeur réelle avec deux déci-
recevoir des données. Les deux partenaires peuvent envoyer
males. La résolution effective est de 0,06 °C par pas. La pré-
des informations sur le bus. Un bit 0 est représenté par une
cision absolue est indiquée avec 0,5 °C. Les données peuvent
impulsion à l’état bas d’une durée de 15 µs suivie d’un état
être observées sur le moniteur série (fig. 2). Pour modifier la
haut d’une durée de 45 µs. Un bit 1 est symbolisé par une
température, touchez le capteur.
impulsion à l’état bas d’une durée de 60 µs. Entre les différents
Le traceur série montre la courbe de température (fig. 3).
bits, il y a un état de repos durant lequel la ligne de données
Durant cette mesure, le capteur a été réchauffé deux fois avec
est ramenée à l’état haut.
un doigt. On voit clairement que les constantes de temps dif-
Le contrôleur envoie à chaque fois une remise à zéro et ensuite
fèrent au moment du réchauffement et du refroidissement. Il
une ou plusieurs instructions. Une puce de capteur répond en
est intéressant de constater que le doigt était plus chaud lors
envoyant les données requises. Si on regarde attentivement
du deuxième contact. Quelque chose s’est donc passé entre
la fiche technique de la puce, on y trouve non seulement le
ces deux mesures, ce qui a provoqué l’augmentation de la tem-
protocole général du bus, mais aussi les nombreuses instruc-
pérature. La haute résolution du capteur permet de détecter
tions ainsi que la structure des données en retour. Les choses
les moindres changements.
se compliquent, car on voit qu’il est possible d’avoir plusieurs
esclaves sur le même bus. On se doute que la programma-
18B20 en Bascom
tion ne va pas être du gâteau. Mais on n’est pas obligé de
Certes Bascom permet d’utiliser le bus 1-wire, mais nous
réinventer la roue, il doit bien y avoir du code quelque part.
n’avons toujours pas de solution complète pour le 18B20.
Convert T, &H44). Après un temps d’attente pour la mesure mesure est déclenchée par le maître avec une impulsion à
proprement dite, on envoie la commande Read Scratchpad l’état bas d’une durée d’au moins 18 ms. Ensuite, le maître
(&HBE) et ensuite on lit deux octets. Ceci permet de calculer demande la lecture de 40 bits, avec une impulsion à l’état bas
un nombre de 16 bits et la température par pas de 0,0625 °C. de 80 µs. Le capteur répond par des impulsions à l’état haut ;
Finalement, ce n’est pas si compliqué, même si le programme pour un 0, on a une durée maximale de 28 µs et pour un 1
est un peu plus long que celui écrit pour l’Arduino. Une fois de on a 70 µs. Les 40 bits contiennent respectivement un octet
plus, nous avons un thermomètre à minimum et maximum haut et un octet bas pour l’humidité et la température, et un
avec un afficheur à cristaux liquides. octet de parité supplémentaire pour vérifier que la transmis-
sion est correcte. Avec le DHT11, les octets bas sont tous à 0,
Détection de température et humidité de l’air si bien que les décimales ne sont pas transmises. Le modèle
avec le DHT11 DHT22 lui transmet les décimales tout en utilisant le même
À première vue, le détecteur de température et d’humidité protocole. La bibliothèque permet de lire les données fournies
DHT11 ressemble à un simple capteur d’humidité résistif. La par ces deux modèles.
présence d’une broche analogique renforce cette impression Et une fois de plus, nous sommes chanceux, car quelqu’un a
(fig. 4). Mais en fait derrière ce boîtier bleu se cache un cap- pris la peine de transposer ce protocole compliqué dans une
teur complexe avec une interface numérique. bibliothèque Arduino. Le DHT11 est très facile à utiliser dès
L’entreprise chinoise Aosong est allée au-delà de ce qui res- que la bibliothèque DHT a été copiée dans le dossier de biblio-
semble, au premier abord, au bus 1-wire de Dallas. Chaque thèques Arduino. Le listage 3 montre la lecture de ces deux
R
GND GND GND +5V
IR
NC G
DHT11 +5V VDD GND
D
G A2
10k
VDD
–
8 (Bascom), 2 (Arduino)
IR
S
9 (Bascom), 3 (Arduino)
IR Emission
Figure 4. Connexion du capteur de Figure 5. Mesure de l’humidité de l’air au Figure 6. Émetteur IR et récepteur IR.
température/humidité DHT11. contact du doigt.
valeurs de mesure et leur affichage sur le LCD. La ligne de d’impulsions. Un récepteur IR intégré reçoit les signaux via une
données est toujours connectée à la broche AD2. photodiode, les amplifie, les filtre et les démodule pour obtenir
Selon la fiche technique, la mesure de la température a une un signal numérique. Certes, les filtres internes sont conçus
précision absolue de ±2 °C, celle de l’humidité de l’air de 5 %. pour une certaine fréquence dans une plage comprise entre
L’humidité de l’air est difficile à déterminer, car la plupart 30 et 40 kHz, mais la bande passante suffit pour recevoir les
des hygromètres ne livrent que des ordres de grandeur. Les signaux d’autres télécommandes qui se trouvent à proximité.
choses ont été différentes avec la température, en tout cas Une télécommande IR peut être utilisée pour des tâches de
avec notre exemplaire. Notre thermomètre numérique nous commutation et de télécommande générales. Le kit de capteurs
a indiqué 23,8 °C, tandis que le DHT11 mesurait 24 °C et le contient une diode émettrice IR (IR Emission) et un récepteur
DS18B20 a mesuré 23,37 °C, même s’il nous a fallu attendre IR (IR Receiver, fig. 6). Une carte Arduino permet de recevoir
longtemps après avoir touché le capteur. ou d’envoyer des signaux IR. Notre programme fait les deux.
Deux touches déclenchent l’envoi d’ordres qui sont ensuite
DHT11 et Bascom analysés par le récepteur pour commander une sortie. Nous
Certes, Bascom dispose de nombre d’instructions et de fonc- réaliserons cette tâche une fois en Bascom et une fois en lan-
tions toutes prêtes, mais on ne peut pas utiliser le DHT11 gage C Arduino. Les deux programmes seront « compatibles » :
directement. Comme d’habitude, une recherche sur l’internet le contrôleur Bascom pourra dire à la carte Uno programmée
ne fera pas de mal. Qui sait, peut-être que quelqu’un a déjà en Arduino ce qui doit être commuté, et vice-versa.
travaillé sur le sujet ? Bingo ! Sur le forum Bascom, je trouve
le programme DHT11LCD d’un utilisateur nommé Grütze, qui Les télécommandes IR utilisent très souvent le standard Phi-
fait exactement ce que je veux. Le code est facile à lire et lips RC5 (voir encadré). Il existe des instructions simples
reprend exactement les données fournies dans la fiche tech- en Bascom de sorte que le décodage est facile. Le listage 5
nique. Il suffit de procéder à quelques modifications pour qu’il montre la programmation d’un émetteur-récepteur RC5 en
convienne au shield d’extension et pour que le capteur puisse
être connecté à la broche AD2. J’en profite pour y ajouter une
sortie série pour les données relatives à l’humidité parce que
Listage 4. Utilisation du DHT11 en Bascom
j’ai l’intention de les représenter dans le traceur série de l’EDI
(extrait)
Arduino (fig. 5).
L’essentiel se passe dans la fonction Get_dht11() qui exécute à 'DHT11LCD an AD2, PORTC.2
la lettre ce qui se trouve dans la bibliothèque correspondante ...
pour l’Arduino. Voilà de quoi réaliser une station météo com- Do
plète également en Bascom (listage 4). If Get_dht11() = 1 Then
Print Humidity
Télécommande IR Locate 1 , 1
Vous utilisez tous des télécommandes IR avec vos téléviseurs et Lcd "H: " ; Humidity ; " % "
autres appareils électroniques domestiques. Il existe une multi- Locate 2 , 1
tude de fabricants et de protocoles (pas compatibles entre eux). Lcd "T: " ; Temperature ; " C "
C’est pourquoi la télécommande doit être adaptée à l’appareil. End If
Toutefois, toutes les télécommandes ont un point commun : le Waitms 1000
signal d’une diode émettrice est modulé avec une fréquence Loop
comprise entre 30 et 40 kHz. Ce signal est ensuite commuté
End
conformément à un certain modèle afin d’envoyer des paquets
Bascom. Toutes les données reçues sont affichées sur le LCD. Arduino et IR
De plus, l’instruction est envoyée à l’interface série. Enfin l’ordre Pour la programmation en langage C Arduino, il faut d’abord
est évalué afin de commuter une sortie du port B. La LED2 inclure la bibliothèque IRremote (listage 6). Cette dernière
est connectée à la broche B.2 du shield d’extension. Ainsi, la utilise le timer2 et sa sortie OC2B (PD3, broche 3 de l’Arduino)
touche 2 allume la LED et la touche 0 l’éteint. pour produire des impulsions qui seront envoyées à la LED IR.
Le récepteur RC5 peut être relié à n’importe quelle broche Malheureusement, c’est précisément la ligne électrique du LCD
d’entrée. Nous utilisons donc une nouvelle fois l’entrée PC3 monté sur le shield d’extension. C’est la raison pour laquelle le
(AD3). Pour l’instruction Getrc5 en arrière-plan, Bascom uti- programme ne peut pas travailler en même temps avec l’affi-
lise l’interruption timer0 que l’on doit autoriser de manière cheur à cristaux liquides. Rien de grave, puisqu’il nous reste
globale. De plus, la résistance de rappel vers le haut interne les sorties série pour analyser les données.
est activée pour l’entrée PC3. En effet, cela permet d’utiliser L’entrée peut être choisie librement, mais une fois de plus je
l’émetteur même si le récepteur IR n’est pas connecté. Si l’on choisis A2. Pas la peine de programmer la résistance de rap-
avait une entrée à haute impédance sans résistance de rappel pel vers le haut d’entrée puisque la bibliothèque écrasera ce
vers le haut, l’entrée ouverte pourrait prendre un état bas ce réglage. De plus, c’est inutile puisque la réception ne bloque
qui pourrait bloquer le programme. pas le programme même si l’entrée est ouverte à l’état bas.
Il est donc possible d’utiliser ce programme tel quel soit en
En principe, on utilise PB1 (broche 9 sur l’Arduino) comme récepteur soit en émetteur, ou encore en émetteur-récepteur.
sortie pour l’émission (instruction Sendrc5 en Bascom) parce L’avantage décisif de la bibliothèque IRremote est qu’elle per-
que la sortie OC1A de timer1 se trouve sur cette broche, géné- met non seulement de respecter la norme RC5, mais aussi un
ralement utilisée pour produire le signal d’émission à 36 kHz grand nombre d’autres normes. Comme il n’est pas rare d’avoir
(attention, dans le logiciel en langage C++ Arduino, on utilise plusieurs télécommandes différentes à la maison, pourquoi ne
une autre sortie pour exécuter cette tâche, de sorte que cette pas viser maintenant le récepteur IR pour savoir quelle norme
fois-ci, on ne peut pas utiliser la même affectation des broches). elles utilisent et quel type de données elles reçoivent. Le RC5
En Bascom, il faut prédéfinir, avec une instruction de port, est défini comme type 3. Si l’on appuie plusieurs fois sur la
l’état au repos de cette broche de port ; elle doit être à l’état touche 2 d’une télécommande compatible RC5, on obtient les
bas durant les pauses. Pour chaque paquet d’impulsions, le messages suivants :
logiciel passe via le port à la sortie du timer. Comme la diode
IR n’a pas de résistance série, il est logique de l’attaquer via 3
un autre port de sortie afin d’utiliser deux résistances internes 382
pour limiter le courant. Ici, on a choisi la broche PB0 qui, elle 3
aussi, peut être commutée à l’état bas en sortie. Il reste encore B82
quatre sorties au port B comme sorties de commutation poten-
tielles pour les données reçues. Les données sont des nombres à 12 bits. Les 5 bits du bas
L’émission comporte deux ordres. Si l’on appuie sur la touche contiennent le code de touche. À ceci s’ajoutent les 5 bits
S1 du shield d’extension, le code de touche « 2 » de la télécom- d’adressage du système, dans ce cas l’adresse 14 correspond
mande est envoyé. La sortie est ainsi activée sur le récepteur à un récepteur TNT. Le bit de poids fort est le bit de bascule-
et la LED2 devrait s’allumer. La touche S2 permet d’envoyer ment, il n’a pas besoin d’être évalué et change à chaque fois
un « 0 » et de désactiver la sortie sur le récepteur. qu’on appuie sur une touche. Je propose que vous notiez ces
Alfred Rosenkränzer
(Allemagne)
La figure 1 montre le synoptique de la nouvelle alimentation. négatif à faible tension de déchet (low drop) la régule à −4 V.
Après filtrage de la tension de 5 V fournie par la prise USB, Un régulateur positif à faible tension de déchet fournit direc-
une « pompe à charge » (charge pump) délivre une tension tement +4 V à partir de la tension USB filtrée.
négative non régulée de valeur (presque) égale à celle de la On retrouve, en figure 2, le schéma complet. Le circuit IC1, un
tension d’entrée. Après un nouveau filtrage, un régulateur LT1962EMS8, délivre la tension d’alimentation positive régulée.
Le circuit IC2, un LT1964ES5, fait de même pour la tension néga-
tive. La pompe à charge prend la forme d’un MAX1697 (IC3).
Les diodes (D2, D3 et D4) signalent la présence de la tension
USB ainsi que celle des deux tensions régulées. Le filtrage de
Positive
Filter Low Drop +4V la tension USB « brute » est l’affaire des bobines L1 et L2.
Regulator Le circuit de l’amplificateur différentiel (IC4) n’a guère changé.
Seules les deux résistances d’entrée en série des deux entrées
USB ont été combinées en un seul composant, ce qui permet d’avan-
cer l’ampli op et de donner plus de place à l’alimentation.
Le circuit, comparé à celui publié précédemment (voir [1]), com-
Negative
Filter Charge Filter Low Drop –4V
porte certaines différences. En raison de l’absence de convertis-
Pump Regulator seur de tension pour assurer l’isolement galvanique, la masse
du port USB est connectée à la masse du signal.
Malgré un filtrage sophistiqué, on peut, avec un analyseur
de spectre, identifier, à un niveau < −80 dBm, la fréquence
d’horloge de quelque 200 kHz de la pompe à charge. Sur un
Figure 1. Synoptique de la nouvelle alimentation par USB. oscilloscope, elle reste cependant invisible.
C3
10n
3
+5V IN L1 +4V0
8 BYP 1
IN OUT
10uH
IC1 R2
10k
D2
LT1962EMS8
5 2 R8
6k81
D1 C1 SHDN SENSE
D2 = OVS-0606 GND C4
R3
3k83
D3,D4 = OVS-0604 4
1N4007 R1 1u D3
25V C2 10u
10V
4k64
R4
562R
GND 1u
25V
C8 R5
562R
D4
1u C10
C6 25V R6
3k83
1u 1
GND 4 R9 10u
6k81
ADJ 10V
25V
6 3 IC2 R7
10k
C1+ C1– LT1964ES5-BYP
L2 L3
2 1 2 5
10uH
IN IC3 OUT 10uH
IN OUT
BYP
MAX1697 –4V0
5 3
SHDN C9
GND
C5 C7
4 10n
1u 25V 1u 25V
1 6 – VS
1 5 – VS
1 3 – VS
1 4 – VS
R10
511R
+4V0
ADA4927-1
–FB 1 12 PD
+IN 2 11 –OUT
5
12 6
PD
+VS
7
+VS
8
IN + R11 R13 SIG
+VS
1
2 11
+VS
IN – PAD 4 10 GND
–VS
–VS
9 16
–VS
VOCM 15
14
13
C14 C13
100n 10u
10V
R15 –4V0
511R 150801 - 12
Figure2. Le schéma complet. La partie autour de l‘amplificateur différentiel (IC4) n‘a guère changé.
La carte Arduino et ses répliques, dits clones, sont depuis de on partait d’un microcontrôleur ; aujourd’hui, on fait de plus
nombreuses années des incontournables dans la communauté en plus appel à Arduino. Accéder au monde de la commande
des électroniciens et des inventeurs de tout poil. Dans le passé, est ainsi devenu un jeu d’enfant. Plutôt que de se casser la tête
avec un EDI pour remplir des pages de programmes complexes,
on travaille de manière intuitive sur un outil de développement
que même un débutant maîtrise vite.
Les kits sont une solution, car ils mettent à disposition tous les
composants nécessaires à la réalisation de différents projets
personnels. Dans les années 70 et 80, ces ensembles étaient
présentés dans de séduisantes boîtes de construction d’élec-
tronique. C’est alors que de nombreux amateurs se sont mis à
réaliser des sirènes et des radios en ondes moyennes ; main-
tenant, ce sont les projets à microcontrôleur qui ont la cote.
• un capteur hygrométrique
• une LED multicolore
• une grande matrice de LED à 64 points lumineux
• un afficheur à quatre chiffres à sept segments
• une télécommande infrarouge avec le récepteur assorti
• un module LCD complet avec connectivité I²C.
temp = (5.0 * analogRead (tempPin) Listage 1. Grandeurs environnementales des capteurs DHT11 et LM35
* 100.0) / 1023;
// DHT11_LM35_w_LCD_display.ino
void loop()
float TempCal = 0.1075; // 1.075/10
{ DHT.read11(DHT11_PIN);
analogReference (INTERNAL);
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
Avec cette formule, on atteint une
lcd.print(DHT.humidity,0); lcd.print(" %");
résolution d’un dixième de degré Cel-
delay(200);
sius. La tension de référence peut bien
}
sûr présenter une certaine tolérance,
Le croquis RFID-RC522_servo_lock.ino se
trouve également dans le paquet de téléchar- Listage 2. Affichage de l’UID RFID sur le moniteur série
gement relatif à cet article. Alors l’UID ainsi
// RFID-RC522_data.ino
que le code correspondant s’affichent sur le
moniteur série en décimal. Le nombre déci-
#include <SPI.h>
mal s’inscrit comme code valide avec la ligne :
#include <MFRC522.h>
Nous avons abordé de nombreux sujets dans cette rubrique introduite en mars 1996 sous le titre
« électronique en ligne ». Certains sont désormais désuets, mais d’autres ont bien supporté l’usure du temps.
C’est le cas de la conception et la construction d’enceintes ; nous avions passé en revue quelques sites et
programmes en décembre 1997, et j’ai voulu voir ce qu’il en est près de 20 ans plus tard.
À cette époque, j’étais un fervent constructeur d’enceintes, n’est plus mis à jour depuis quelques années et est proposé
que j’avais conçues à l’aide des programmes disponibles sur aujourd’hui gratuitement (freeware) ; suivant les concepteurs
ces sites. Il m’a semblé amusant – et instructif – de voir quels il tourne sous Windows 8 ou 10. Il permet le calcul et la simu-
programmes étaient disponibles gratuitement de nos jours (il lation de baffles et d’enceintes closes, bass-reflex ou à charge
existe pas mal d’offres commerciales, mais en tant qu’audio- passe-bande (à évents ou à radiateur passif). Le programme
philes et électroniciens, c’est surtout les enceintes elles-mêmes offre d’autres possibilités : calcul de la diffraction, des réso-
qui nous intéressent). Ce qui m’a frappé de prime abord, c’est nances, de la vélocité et de l’excursion des cônes, etc.
que de nombreux logiciels n’ont plus été mis à jour depuis des
lustres, et qu’on n’en trouve guère de récents. Les anciens Sur le même site, vous trouverez aussi le programme Sirp [3],
programmes peuvent certes tourner dans une DOSBox ou un qui permet diverses mesures sur les enceintes à l’aide d’un
autre émulateur, quoique ce ne soit pas toujours évident, mais signal sinusoïdal wobulé (chirp) à rampe logarithmique :
on préférerait un environnement Windows 7, 8 ou 10 natif. réponses en fréquence et impulsionnelle, distorsion, etc.
Ce n’est certes pas aussi précis qu’une analyse basée sur la
Un des programmes qui existait en 1997, et qui est toujours mis technique MLS (Maximum Length Sequence), qui élimine les
à jour, est WinISD [1], ISD pour Interactive Speaker Design. influences de l’environnement, mais les résultats sont exploi-
Il est relativement lent, mais il permet le calcul d’enceintes tables. La courbe d’impédance peut également être mesu-
closes, bass-reflex et à charge passe-bande. La possibilité de rée avec Sirp, et les résultats importés dans Basta! comme
calculer divers types de filtres passifs et égaliseurs est aussi métadonnées.
offerte, mais pour un nouveau type vous devrez introduire les
valeurs vous-même. C’est un bon programme, avec de nom- Un programme plus récent est VituixCAD [4], de Kimmo Sau-
breuses possibilités, et il tourne sous Windows 7. nisto ; il offre de nombreuses possibilités et tourne sous Win-
dows 7, 8 ou 10. Il permet la conception et la simulation de
Un autre programme intéressant est Basta!, de Tolvan Data [2]. systèmes à plusieurs voies, avec divers types de filtres et
Il a 8 ans, et était initialement un logiciel commercial ; il d’enceintes, dont celles à radiateur passif ou charge passe-
carte Linux
Gnublin 2
alternative à Raspberry Pi
à monter soi-même
Benedikt Sauter et Benedikt Heinz
Bien entendu, la carte Gnublin 2 a un toujours disponibles dans l’e-choppe [2]. et concurrents, mais aussi une série tou-
passé ; elle porte l’indice 2 car il y a Notre société embedded projects leur a jours renouvelée de cartes Linux sans
eu une première version. La carte Gnu- consacré un site web [3]. cesse améliorées, qui s’adressent plus ou
blin 1 a servi de base à la carte Linux moins aux mêmes utilisateurs. La ques-
Elektor et au cours sur Linux embarqué Depuis, cinq années ont passé, une petite tion est donc : est-ce que cela a vraiment
publié par Elektor [1], qui a été suivi éternité en microélectronique. Pendant un sens de sortir une nouvelle version
de quelques autres articles et de toute cette période sont apparus non seule- de Gnublin ? La réponse « oui » devra
une série de modules dont certains sont ment le RPi avec tous ses descendants évidemment l’emporter sur le simple
Structure et composants peut être téléchargé sur [6], il est trop processeur. Elles sont fournies par l’unité
Par bonheur, la carte Gnublin 2 ne grand pour être reproduit ici. d’alimentation (Power Management Unit,
consomme que 0,3 W au repos, c’est-à- La mémoire DDR2 de 256 Mo (IC1) PMU) de type ACT8865 (IC2) [5]. Cette
dire quand Linux est inoccupé, et cela à est reliée par un bus à 16 bits à la unité comporte plusieurs régulateurs
une fréquence d’horloge de 600 MHz et puce ATSAMA5D41 (U1). Par rapport linéaires et à découpage et peut être
avec 256 Mo de RAM. Sur le diagramme à d’autres cartes, qui utilisent un bus configurée par I2C depuis l’unité centrale.
fonctionnel de la figure. 1, le système à 32 bits, cela permet de réaliser un cir- L’alimentation de l’horloge en temps
sur puce est représenté au centre, enca- cuit imprimé plus simple, moins coûteux réel intégrée à la puce est assurée par
dré en trait gras. On distingue autour et moins énergivore. Grâce à la mémoire le régulateur linéaire à faible tension de
du cœur les principaux sous-ensembles DDR2 cadencée à 300 MHz, on atteint déchet (low dropout, LDO) et très faible
(horloge en temps réel, mémoire, etc.) et un débit de plus de 1 Go/s. consommation TPS78001 (U2), lui-même
leurs différentes liaisons avec des compo- La puce requiert des tensions différentes alimenté par une pile bouton ou une
sants périphériques. Le schéma détaillé pour les entrées/sorties et le cœur du source externe connectée à une paire
Python est utilisé dans de nombreuses pour les µC ARM à 32 bits, est compatible comme le C ou le C++.
universités et écoles techniques à travers avec Python et, grâce à sa petite taille, • En plus de maintes fonctions natives,
le monde comme langage d’initiation à la est un excellent choix pour les proces- quantité de bibliothèques de fonctions
programmation. Ses nombreuses et puis- seurs embarqués. MicroPython permet sont disponibles pour être incluses
santes bibliothèques et sa facilité d’utili- d’écrire du code complexe et gérable (ou importées) dans un programme :
sation en font un langage idéal pour les pour piloter des systèmes embarqués qui génération de nombres aléatoires, tri-
débutants. MicroPython, à l’origine conçu nécessitent autrement des langages tels gonométrie, audio, réseau, traitement
que le C ou C++. MicroPython permet de chaînes et de fichiers, graphisme
aux utilisateurs aguerris tout comme aux et jeux…
débutants de programmer de petits sys- • MicroPython peut être mélangé avec
tèmes embarqués. d’autres langages comme le C ou
Les principales raisons pour lesquelles le C++. Cela donne de la puissance
MicroPython ne supporte pas entièrement et de la souplesse supplémentaires,
Python 3 sont le manque de mémoire car les parties de codes qui doivent
et l’absence de fonctions matérielles et être rapides sont développées avec des
logicielles des processeurs embarqués langages mieux adaptés à ces tâches.
(comme le multitâche et le multiproces- • Les exceptions et le traitement d’er-
seur), voir en [1] les différences entre reurs sont supportés, c’est particuliè-
Python 3 et MicroPython. rement important pour la programma-
tion en temps réel. Sans une gestion
Pourquoi MicroPython ? appropriée des erreurs, un dysfonc-
Comparés aux autres langages de pro- tionnement du programme arrêterait
grammation, MicroPython et Python le processeur dans un état inconnu, ce
Figure 1. L’ESP01, un module très pratique et offrent des fonctions uniques. En qui peut avoir des effets indésirables.
populaire, basé sur l’ESP8266. résumé : • C’est à code source ouvert : la dernière
• (Micro)Python est interactif : le pro- version est disponible en [2] et exécu-
gramme n’est pas compilé et chargé table gratuitement. Les codes source
dans le processeur cible, mais traité MicroPython peuvent être modifiés et
et interprété lors de l’exécution. Mal- adaptés à un processeur spécifique.
gré un léger ralentissement du pro- • Enfin, le langage est humainement
gramme, l’utilisateur a l’avantage de lisible et sa syntaxe est facile à
pouvoir tester facilement son code : apprendre et à comprendre.
par ex. faire de simples calculs inte-
ractifs comme avec une calculatrice, Ce que MicroPython peut
ou bien expérimenter avec des par- et ne peut pas faire
ties du programme jusqu’à obtenir le MicroPython peut, en général, faire tout
résultat souhaité. Cette fonction appe- ce que les autres langages de program-
lée Read Evaluate Print Loop (REPL, mation peuvent faire, comme commander
Figure 2. La carte BBC micro:bit peut être boucle lire-évaluer-affficher) n’est pas du matériel (LED, écrans, commutateurs
programmée en ligne avec MicroPython. disponible dans les langages compilés et boutons, capteurs, moteurs…). Les
bus de communication comme RS-232, UART, CA/N et I²S. C’est une des solu- STM32F4-Discovery, Raspberry Pi et Bea-
CA/N, I²C, SPI, et autres sont faciles à tions les plus économiques pour se lancer gleBone (les deux avec code Python 3
utiliser grâce aux bibliothèques natives dans l’expérimentation en MicroPython. complet).
et externes. Il est possible d’écrire des
programmes qui utilisent le réseau et le BBC micro:bit Exemple de programme
Wi-Fi pour communiquer avec d’autres Cette carte au format carte de cré- MicroPython
appareils sur un réseau, ou pour déve- dit (fig. 2) supportée par MicroPy- Voici un programme MicroPython simple
lopper des systèmes de type IdO. thon est bien équipée : 25 LED, deux qui s’exécute sur la BBC micro:bit. C’est
Comme MicroPython est un langage boutons-poussoirs, un accéléromètre, un thermostat où la température du pro-
interprété, il est plus lent que d’autres un magnétomètre, GPIO, I²C, UART et cesseur est lue continuellement et un
langages de programmation embarqués, CA/N. Il est possible de créer les pro- message approprié est affiché sur la
par conséquent ce n’est pas un bon choix grammes en ligne, ce qui évite de devoir matrice de LED de la carte. Quand la
pour du traitement rapide de signaux régler ou configurer quoi que ce soit. La température est égale ou supérieure
numériques ou des applications en temps BBC micro:bit est vivement recomman- à 25 °C, le message « HIGH » est affi-
réel pour lesquelles une grande vitesse dée pour les novices en programmation. ché. Si la température est entre 20 °C
d’exécution est critique. En plus, bien et 25 °C, c’est « MEDIUM ». Sinon,
que de nos jours ce soit moins impor- pyboard « LOW » est affiché.
tant, MicroPython utilise légèrement plus MicroPython est préchargé dans cette
de mémoire que la plupart des autres carte de développement (fig. 3) basée #Simple CPU thermostat program
langages embarqués. Comme MicroPy- sur un processeur Cortex-M4 de la série from microbit import *
thon est une branche de Python qui ne STM32F. La pyboard peut être connec-
supporte pas toutes les bibliothèques tée à un PC via son port USB. La carte while True:
Python, un programme écrit en Python embarque horloge en temps réel, accélé-
temp = temperature()
risque de ne pas fonctionner sur un sys- romètre, GPIO, CA/N, 4 LED et logement
If temp >= 25:
tème embarqué sous MicroPython. pour carte micro-SD.
display.scroll(“HIGH”)
elif temp >= 20 and temp < 25:
Cartes supportées WiPy
par MicroPython Comme la pyboard, cette carte (fig. 4) display.scroll(“MEDIUM”)
Le nombre de cartes de développement est aussi livrée avec MicroPython intégré. else:
supporté par MicroPython augmente avec Ses broches sont adaptées au branche- display.scroll(“LOW”)
sa popularité. En voici quelques-unes. ment sur une plaque d’essai. La carte
est basée sur le processeur Cortex-M4 (160315 – version française : Alexandre Roy)
ESP8266 CC3200 qui tourne à 80 MHz et inclut
Les cartes conçues autour de ce µC popu- UART, SPI, I²S, plusieurs CA/N, Wi-Fi,
Liens
laire, compatible Wi-Fi (fig. 1), avec pile GPIO, compteurs ainsi que hachage et
TCP/IP intégrée et interface USB, peuvent moteurs de cryptage. [1] https://github.com/micropython/
être programmées en MicroPython. Le µC micropython/wiki/Differences
est basé sur un processeur RISC à 32 bits MicroPython est supporté par d’autres [2] https://github.com/micropython/
et MicroPython offre le support pour les cartes de développement embarqué inté- [3] http://micropython.org/
E/S d’usage général (GPIO), SPI, I²C, ressantes : Teensy 3.x, SAMD21, LoPy,
régénérateur
de batteries
au plomb
0-30 V
avec contrôle
de la qualité de
l’accumulateur
Jan Lichtenbelt (Pays-Bas)
Tableau 1. Les trois LED donnent une indication de l’état de charge des accumulateurs au plomb.
Plage 0-10 V 0-20 V 0-30 V
Tension V < 2,5 2,5 < V < 5 5 < V < 10
LED accu 2 V accu 4 V accu 6 V accu 12 V accu 24 V
rouge < 1,98 V 2,5 à 4 V 5 à 5,95 V < 11,9 V < 23,8 V
orange 1,98 à 2,08 V 4 à 4,16 V 5,95 à 6,25 V 11,9 à 12,5 V 23,8 à 25 V
verte 2,08 à 2,5 V 4,16 à 5 V 6,25 à 10 V > 12,5 V > 25,0 V
RO-0515S/P R27 *
C8 C5
K3
50mR
R26 IC4 10u 100n
TP1
390R
1 4
50V
Vb *
BT1
T1
R22
2 3
1k
R21
VO615A D10
IRLB8721
PbF
* not on PCB
1k
15V F1
Vl Vh Vt
R2 R8 R14
22k
22k
22k
1% 1% 1%
R3 R9 R15
22k
22k
22k
1% 1% 1%
JP1 JP2 JP3 JP4
1 1 1 1
R1 JP1...JP4
Vsel 2 H 2 R4 H 2 R10 H 2 R16
10k open: V' = V/6
3 L 3 L 3 L 3 H: V' = V/4
22k
22k
22k
1% 1% 1% L: V' = V/2
+5V R5 R11 R17
22k
22k
22k
1% 1% 1%
R6 R12 R18
22k
22k
22k
1% 1% 1%
22k
22k
1% 1% 1%
LCD1
LC DISPLAY 2 x 16
R20
C6
LED1 LED3
LED+A
LED–C
1k
VDD
VSS
R/W
100n
RS
VL
D0
D1
D2
D3
D4
D5
D6
D7
E
+5V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 14 D3 D5
VDD
1 18
RA2 RA1
2 17 R23 2V4 2V4
RA3 RA0
3 16 560R
P1 RA4 IC2 RA7
4 15 R24
10k RA5 RA6
560R
D4 D6
+5V
PIC16F1847
6 13
RB0 RB7
R25 7 12 2V4 2V4
RB1 RB6
8 11 LED2 LED4
10k
RB2 RB5
9 10
RB3 RB4
VSS
1 JP5
5
off time
open: 30s
closed: 10s
160064 - 11
déduite de la mesure de la tension aux plages de respectivement 0,2 à 10 V, 5,5 le shunt et le MOSFET doivent être
bornes du shunt. à 20 V, et 5,5 à 30 V. Rappelons que pour reliés directement entre eux. L’espace
Les impulsions sont produites par le des tensions inférieures à 5,5 V, une ali- qui reste entre les fils et les pistes
microcontrôleur ; elles attaquent la grille mentation externe est nécessaire. de cuivre doit être rempli avec de la
de T1 via un photocoupleur et sont maté- L’entrée du convertisseur A/N (CA/N) du soudure.
rialisées par LED 1, de couleur bleue. Des microcontrôleur ne peut dépasser 5 V, 2. Les fils dans lesquels un courant
LED de couleur rouge, orange et verte nous utilisons donc un diviseur de tension intense circule doivent être le plus
donnent une indication de la tension aux de rapport 1:2, 1:4 ou 1:6 pour les trois courts possible. Il ne faut surtout pas
bornes de batteries au plomb de 6, 12 plages de tension ci-dessus. Les rapports faire de boucles, ce qui risquerait d’en-
ou 24 V ; le tableau 1 récapitule ces sont sélectionnés à l’aide de cavaliers. trainer la création d’un champ magné-
indications. Le programme peut s’arrêter dans tique qui induirait un courant addition-
Notre régénérateur pourrait aussi être diverses circonstances, reprises dans nel. Le programme s’arrête bien lors
utilisé pour des accumulateurs de 2 V, le tableau 2. La cause est affichée sur d’un courant trop élevé, mais seule-
mais il faudrait une alimentation externe l’écran LCD, et est également indiquée ment après la mesure dudit courant.
pour délivrer les impulsions. Un conver- par des LED. La cause principale de Donc trop tard : le mal est déjà fait !
tisseur de 2 à 5 V pourrait s’en char- dysfonctionnement est un courant trop 3. Si le MOSFET conduit trop longtemps
ger, mais les LED ne pourraient de toute élevé ; si c’est le cas, la LED rouge s’allu- ou est défectueux, le fusible F1 fon-
manière pas donner d’indication sur l’état mera et T1 sera bloqué. Le circuit devra dra. Pour des batteries de 1,2 V, nous
de l’accu. être redémarré. recommandons une valeur nominale
Des valeurs négatives sont possibles si de 3 A ; pour des tensions supé-
Mesure de la qualité la batterie est connectée à l’envers. Les rieures, 10 A.
de batteries de 0,2 à 30 V valeurs dépendront de la charge.
À partir de maintenant nous n’utiliserons Au démarrage, les LED rouge, orange et Schéma
que le terme batterie(s), ce qui inclut verte clignotent alternativement. La partie du circuit où le courant intense
bien entendu les accus. Il peut être utile d’accroître la fréquence circule est constituée du MOSFET T1, de
Avec un shunt unique de 50 mΩ, le cou- des impulsions de courant si vous souhai- la diode D9, qui protège aussi T1, et du
rant peut en théorie varier de 40 à 600 A. tez tester plusieurs batteries à la suite. shunt R27, une résistance non inductive.
Dans la pratique, ce courant est limité Un cavalier permet de sélectionner une Une tension de grille Vgs de 5,5 V est
par la résistance – bien plus élevée – de période de 10 ou 30 s, mais pour des nécessaire pour la commutation de 100 A
l’ensemble du circuit, qui comprend les accumulateurs au plomb cette dernière par T1, 9 à 10 V pour un courant jusque
liaisons et contacts, la diode Schottky D9, est impérative. 200 A. Le temps de commutation de T1
le MOSFET T1 et la résistance interne de la est de l’ordre de 10 ns, mais il sera en
batterie. Pour des batteries de 0,2 à 10 V, Sécurité pratique plus long, suite à l’utilisation
des impulsions de 10 A sont adéquates, Lorsque l’on travaille avec des courants d’une résistance de grille.
100 A pour des tensions plus élevées. de 100 A ou plus, il est indispensable Le MOSFET choisi a une faible charge
Le courant maximal peut encore être de prendre quelques mesures de pré- de grille Qg : 7,6 nC à 4,5 V. Ceci donne
réduit par l’ajout d’une résistance externe caution. Celles-ci concernent essentiel- une capacité de
en série avec le circuit de décharge. On lement le shunt, pour lequel nous devons
peut aussi choisir un shunt de valeur dif- veiller à trois aspects : deux actions et C = Q / V = 7,6 / 4,5 ≈ 2 nF.
férente : 50, 100 ou 220 mΩ pour des un contrôle.
Avec une résistance de 1 kΩ (R22), la
1. Les connexions du shunt, entre autres constante de temps RC sera de
les pistes de circuit imprimé de l’en-
semble du circuit de décharge, doivent Ton = 103 × 2 × 10-9 = 2 µs.
Figure 1. Le schéma montre les divers pouvoir supporter les impulsions de
ensembles du circuit : alimentation, circuit courant. Les pistes de cuivre doivent En ajoutant R21, nous aurons un temps
MOSFET, diviseur de tension et cavaliers, être épaissies avec de la soudure. de décharge Toff de 4 µs. Ces valeurs sont
microcontrôleur et écran. Les longs fils entre la diode Schottky, parfaites pour des impulsions de 100 µs.
liste des
composants
l’effet des impulsions de courant sur 86 mΩ après charge jusque 2 000 mAh. pour expliquer les divergences entre les
une autre batterie : après quatre à cinq Quelques remarques sur la précision marques. Alors, au charbon avec notre
impulsions, la valeur de la résistance des mesures. La variation des résultats appareil !
interne a déjà diminué de moitié. des mesures sur les accus au plomb est (160064 – version française : Jean-Louis Mehren)
inférieure à 1%, ce qui est excellent.
Pour un accu plomb-acide de 12 V et Pour les accus NiMH et les piles alca-
7 Ah, la valeur de la résistance interne lines (AA ou AAA), nous avons observé
diminue d’environ 0,7 mΩ par °C : 34 mΩ des variations de 10% et plus. Il faudra
à température ambiante, et 62 mΩ dans donc effectuer plusieurs mesures et cal-
un congélateur (−18 °C). culer la moyenne, mais pas de panique :
Un accu plomb-acide neuf de 12 V et 7 Ah en une minute, on a déjà six résultats !
présente, après charge complète, une dans l’e-choppe
résistance interne de 34 mΩ (± 2%) ; Nous avons aussi mesuré les piles alca-
ª160064-1
le même type, âgé de 8 ans, a une rési- lines AA de quatre marques différentes Circuit imprimé
stance interne de 52 mΩ (± 3%). La (figure 5). Ce qui frappe c’est la dispa-
ª160064-41
tension aux bornes des deux accus est rité entre les marques, et c’est les piles
Microcontrôleur programmé
la même : 13,2 V. d’une marque très connue qui affichent
ª160064-71
les moins bons résultats. C’est peut-être
Kit de composants
Un ensemble de douze accus NiMH Sub‑C une coïncidence, mais on voit en tous
de 4 600 mAh, reliés entre eux par des cas très bien l’influence de la décharge ª120061-74
Écran LCD de 2×16 caractères
cosses à souder, a une résistance interne sur la résistance interne. Une chose est
de 101 mΩ lorsqu’ils sont déchargés, sûre, il faudrait une étude plus poussée
Liens
[1] www.conrad.fr/ce/fr/product/191123/Controleur-de-batterie-kit-monte-H-Tronic-191123-12-VDC-1-pcs
[2] www.chargingchargers.com/tutorials/battery-desulfation.html
[3] www.mpoweruk.com/performance.htm
[4] www.elektormagazine.fr/160064
50 mini-projets instructifs Red Pitaya for Test & Measurement DVD Elektor 2016
à µC ATtiny
au
nouve ternati
onal
The in magazine
c tr o nics
ele
Annual
g
Jahrgan
Année
g
Jaargan
SHARE
DESIGN
LEARN
om
icles fr
All art me 2016
Volu
D OM
-R
on DV
Pour mettre au point des montages à microcontrôleur, la carte Red Pitaya est un instrument de mesure à code source ouvert, Ce DVD-ROM réunit tous les articles d’ELEKTOR parus au cours
Arduino est parfaite. Ensuite, on peut obtenir le même résultat de la taille d'une carte de crédit. Il peut remplacer nombre de l’année 2016, en français (mais aussi en anglais, allemand
avec un autre µC, plus petit et moins cher, comme l'ATtiny. d'instruments de mesure de laboratoire coûteux. Avec ce et néerlandais). Il contient le texte des articles ainsi que les
Ce livre montre comment faire à l'aide de 50 applications livre (en anglais), les débutants découvriront les principes de schémas, et tous les dessins des circuits imprimés, sous forme
originales, voire déjantées. Dans ces pages, ni théorie ni l'électronique et leurs applications, tout en expérimentant avec de fichiers à haute résolution. Une fonction de recherche dans
mathématiques, que de la pratique ! ATtiny programmé avec Red Pitaya : théorie, mais aussi utilisation des composants la table des matières vous permet de trouver immédiatement
une carte Arduino ; croquis disponibles sur cette plateforme électroniques, le tout accompagné d'expériences amusantes l’article souhaité.
transposables pour l'ATtiny. et intéressantes.
La carte BBC micro:bit est compacte et programmable Alarme silencieuse, détecteur de présence, luxmètre, Ce fascinant gadget construit autour d’une carte Arduino Uno
dans différents langages, idéale pour faire ses débuts dans commande de moteur, accès depuis l’internet, commande donne l’heure en traçant les chiffres dans le sable comme on
l’électronique programmée sans être intimidé. Elle combine sans fil
sont quelques-uns des projets Arduino Uno brillants le fait avec le doigt sur la plage. Les afficheurs à 7 segments
capteurs (magnétomètre, accéléromètre), boutons, LED et et passionnants de ce livre, vérifiés et testés par l’auteur. Ces et les aiguilles habituelles d’une horloge sont remplacés par
BlueTooth. Chaque élément est programmable sans restriction 45 projets sont faciles à réaliser et bien décrits (schémas, un bac de sable, un stylet actionné par un pantographe et
grâce à un logiciel facile à utiliser, disponible sur un site photos). Les explications et la description des composants deux petits moteurs. Ce sont leurs vibrations qui toutes les
consultable à partir d’un PC/téléphone. Concevez des jeux, utilisés facilitent l’adaptation des montages à ses besoins. minutes effacent en quelques secondes les chiffres de l’heure
connectez-vous à l’Internet des Objets... précédente.
Participez et gagnez !
Nous tirons au sort cinq des réponses internationales correctes reçues
dans les délais ; leurs auteurs recevront chacun un bon d’achat Elektor
d’une valeur de 50 €.
À vos crayons !
Envoyez votre réponse (les chiffres sur fond grisé) avec vos coordonnées
par courriel, avant le 23 mars 2017 à l’adresse hexadoku@elektor.fr
Les gagnants
La solution de la grille du numéro de janvier/février est 28D45F
Les trois bons Elektor d’une valeur de 50 € vont à :
Jean-Claude Carré (France), Stefan Falcke (Allemagne) et Harald Metzen (Allemagne)
Bravo à tous les participants et félicitations aux gagnants !
A B C D E F G H I J K L M N O P Q R S T
1 F 9
2 8 7 0 F
3 B C 4 7 E 1
4 1 6 2 3 9 0 4 E A 5 D
5 D 5 9 E C B 7 1 6 A 8 4 3 2
6 0 A 8 2 E 4 3 7 9 F B 6 C D
7 4 0 1 5 6 D F 8 B 3 2 9 A 7
8 5 E B 9 1 0 2 D 4 C 6
9 2 6 D A 3 4 E B F
10 6 C 2 F A 1 3 8 4 B
11 F 7 9 A 2 4 6 8 3 5 1 0 D E
12 A 3 4 6 F B 1 C E D 5 7 0 8 9 2
13 0 B 2 8 D 4 5 F 9 1 6 E C 7 A 3
14 D 1 9 E B 7 A 8 0 2 4 C F 3 6 5
15 4 3 A 1 E B 0 5 7 9 D 8
16 9 F C D 7 8 A E 3 B 6 1
17 F 9 1 3 6 C 5 2 0
18 3 6 E 9 A 4
19 8 5 7 1
20 B D 0 C
Tout recours est exclu, de même que le sont, de ce jeu, les personnels d’Elektor International Media et leur famille. Un seul gagnant par foyer.
www.elektor.fr/arduino-36-experiences
Après avoir magnifiquement expliqué l’électronique aux débutants qui sèchent les cours, dans son livre
qui porte le même titre, Rémy Mallard revient avec un nouveau livre dans lequel il présente ...
www.elektor.fr/debutPIC
La conception d’interfaces graphiques
embarquées séduisantes n’a jamais été
aussi simple
Des outils de développement visuels et bibliothèques de
graphismes gratuits pour vos applications d’interfaces graphiques
Carte de développement
1 2 multimédia II (DM320005-2)
Notre configurateur graphique MPLAB® Vous pouvez choisir SEGGER emWin
Harmony Graphics Composer (MHGC)
fonctionne avec la bibliothèque graphique
OU Pro comme bibliothèque graphique et
profiter de sa liste complète de widgets
MPLAB Harmony et permet de créer des ainsi que de la suite logicielle SEGGER.
interfaces graphiques de qualité professionnelle
sans avoir à écrire une seule ligne de code !
www.microchip.com/MCU32GFX
Le nom et le logo de Microchip, le logo Microchip et MPLAB sont des marques déposées de Microchip Technology Incorporated aux États-Unis et dans d’autres pays. Toutes les autres marques
commerciales ci-dessus mentionnées sont la propriété exclusive de leurs propriétaires respectifs. © 2017 Microchip Technology Inc. Tous droits réservés. DS60001462A. MEC2006Fre01/17