Quelles sont vos cartes d'interface Arduino (shields) préférées ?
Votez pour les shields que vous estimez les plus utiles

Le , par f-leb, Rédacteur/Modérateur
Quels sont les shields que vous préférez ou que vous estimez les plus utiles ?
Le Top 10 des cartes d’interface Arduino (shields) les plus utiles
Votez pour vos shields préférés, et partagez vos propres projets Arduino avec la communauté

Une carte Arduino seule, même si vous disposez de quelques LED, résistances, boutons poussoir, etc. n'est pas d'une grande utilité et peut rester limitée à des fins d'apprentissage. Si vous voulez aller plus loin et piloter les moteurs de votre robot, vous devrez passer par une interface dédiée.
Un des atouts majeurs de l’Arduino est qu’il existe justement une multitude de fabricants proposant des cartes d’interface, appelées shields dans la terminologie Arduino, capables de couvrir la plupart des besoins d’une application embarquée : capteurs, relais de puissance, commande de moteurs, Internet, affichage sur matrice LED ou écran LCD, communication Wifi…


Le Motor shield Arduino, prêt à être enfiché sur la carte Arduino Uno

Ces cartes d’extension, dont la taille est sensiblement celle de l’Arduino, sont conçues normalement pour s’enficher directement sur les connecteurs de celle-ci, vous évitant ainsi tout le travail de connexion par câble ou de soudure de composants. Elles sont en général accompagnées d’une bibliothèque logicielle vous permettant d’exploiter rapidement ses fonctionnalités.
Dans certains cas, vous pourrez même combiner les fonctionnalités de plusieurs shields, en les empilant les uns sur les autres.


Deux shields Arduino empilés

Nous vous proposons, sous forme de sondage, de voter pour les shields ou catégories de shields Arduino que vous jugerez parmi les plus utiles, ou dont vous avez particulièrement apprécié les fonctionnalités pour vos propres applications prototypées et embarquées. La qualité de la discussion viendra des expériences que vous partagerez, alors témoignez de vos différentes utilisations.

S’ensuivront dans ce fil d’autres messages amenant une description de différents shields officiels ou non parmi les plus populaires.
N’hésitez pas à poster vos commentaires dans ce fil, notamment pour présenter un shield qui ne figurerait pas dans la liste proposée, forcément non exhaustive, ou pour décrire vos propres projets menés à l’aide de ces shields.

Il s'agit d'avoir un sondage de qualité, merci de suivre ces consignes :
  • SMS interdit en essayant d'écrire en français ;
  • évitez de multiplier les messages courts ;
  • les messages type taverne ou SMS seront effacés immédiatement sans préavis ou explications.


Les cartes d'interface (shield)
Forum Arduino


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de f-leb f-leb - Rédacteur/Modérateur https://www.developpez.com
le 17/05/2016 à 19:28
LCD shield
Afficheur LCD


Le LCD Keypad shield de DFRobot à l'oeuvre avec un télémètre à ultrasons

Parce que vous ne pourrez pas toujours faire des affichages à coup de Serial.print sur l’écran de votre PC dans vos applications censées être embarquées, un affichage sur un petit écran LCD de 2-3 lignes de 16 ou 20 caractères enfiché sur votre Arduino peut s’avérer bien utile. Ce genre de composants nécessitent de recourir à un contrôleur spécifique et de jouer du fer à souder… sauf si vous disposez d’un shield LCD.
Le LCD Keypad Shield de DFRobot par exemple (monochrome, 2 lignes de 16 caractères, affichage en négatif avec rétroéclairage) fonctionne avec un contrôleur classique compatible Hitachi (broches rs, w, enable et quatre broches supplémentaires en mode 4 bits). Vous n’aurez alors aucun mal à piloter votre shield avec la bibliothèque LiquidCrystal proposée en standard dans l’environnement Arduino.
Code c++ : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
#include <LiquidCrystal.h> 
  
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); 
  
void setup() 
{ 
  lcd.begin(16,2); 
  lcd.print("Hello, world!"); 
} 
  
void loop() {}

Ce shield dispose en plus de boutons poussoirs qui vous permettront, par exemple, de faire de la navigation et de la sélection dans des systèmes de menus.
Et si vous trouvez que le nombre de broches monopolisées est trop important pour votre application, tournez-vous vers un équivalent, mais muni cette fois d’un contrôleur I2C ou SPI.
Avatar de steel-finger steel-finger - Membre habitué https://www.developpez.com
le 18/05/2016 à 9:54
@f-leb : Je trouve le schéma bien simplifié par rapport au mien, je voie qu'il y a un connecteur qui est branché sur le bas de l'écran peut tu m'en dire plus ?
edit: et sur le haut de l'écran.

Personnellement j'ai jamais testé de shield mais j'ai une préférence pour les Arduino nano
Avatar de Auteur Auteur - Expert éminent https://www.developpez.com
le 18/05/2016 à 10:17
Les shields présentés ici sont surtout pour les cartes de type UNO ou Leonardo ou des cartes qui ont ce format ou compatibles.

Citation Envoyé par steel-finger
@f-leb : Je trouve le schéma bien simplifié par rapport au mien, je voie qu'il y a un connecteur qui est branché sur le bas de l'écran peut tu m'en dire plus ?
edit: et sur le haut de l'écran.
le shield sur la photo est le "LCD Keypad shield" de DFRobot : http://www.dfrobot.com/wiki/index.ph...KU:_DFR0009%29
Il existe de nombreux shield LCD avec ou sans bouton.
Avatar de deusyss deusyss - Rédacteur/Modérateur https://www.developpez.com
le 18/05/2016 à 12:52
Moi c'est principalement celle de prototypage que j'utilise, couplé avec une "planche à nouilles"
Avatar de f-leb f-leb - Rédacteur/Modérateur https://www.developpez.com
le 18/05/2016 à 16:39
Citation Envoyé par steel-finger Voir le message
@f-leb : Je trouve le schéma bien simplifié par rapport au mien, je voie qu'il y a un connecteur qui est branché sur le bas de l'écran peut tu m'en dire plus ?
Avec la pile 9V ? Un bidouillage avec une prise Jack pour alimenter le montage

Citation Envoyé par steel-finger Voir le message
edit: et sur le haut de l'écran.

Le dessus du shield reprend des connecteurs de l'Arduino. 4 fils vers le SRF-05 (0V, 5V, Echo et Trigger)
Avatar de f-leb f-leb - Rédacteur/Modérateur https://www.developpez.com
le 18/05/2016 à 16:41
Citation Envoyé par deusyss Voir le message
Moi c'est principalement celle de prototypage que j'utilise, couplé avec une "planche à nouilles"
La planche à pain tu veux dire (breadboard)
Avatar de f-leb f-leb - Rédacteur/Modérateur https://www.developpez.com
le 18/05/2016 à 18:10
Ethernet Shield


Arduino Ethernet shield - www.arduino.org

Ce shield va vous permettre de connecter votre Arduino (Uno ou Mega) avec Internet (jusqu’à 100 Mbit/s), et donc rentrer de plain-pied dans l’Internet des Objets (IdO). Il suffit pour cela de le relier à votre réseau grâce à un câble RJ45. Le shield est basé sur le chipset Wiznet W5500 chargé de la pile de protocoles TCP ou UDP/IP. Il comporte également un lecteur de carte microSD permettant de stocker fichiers, pages HTML, images, etc. au cas où le shield serait par exemple configuré en serveur Web (attention, quelques connexions simultanées seulement...). À noter qu'une version avec un module PoE (Power Over Ethernet) est disponible et permet, si le réseau le gère, d'alimenter l'Arduino et le shield par le câble réseau.

Physiquement, la liaison entre ce shield et votre carte Arduino Uno ou Mega est de type série SPI (3 broches SCK, MOSI et MISO et 2 broches supplémentaires Ship Select pour les contrôleurs Ethernet et carte SD), et les connecteurs de la Uno sont repris sur le dessus du shield pour pouvoir éventuellement y empiler un autre shield.
La bibliothèque Ethernet2 proposée dans l’environnement standard d’Arduino comprend les classes nécessaires (Ethernet, IPAddress, Server, Client, EthernetUDP) pour configurer votre shield en client ou serveur Ethernet. La bibliothèque SD prendra en charge les opérations de lecture/écriture sur la carte microSD.

Exemple de serveur Web d’après ARDUINO ETHERNET SHIELD 2: MONITOR YOUR SENSORS WITH A WEB SERVER :
Code c++ : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/* 
  Web Server 
  
 A simple web server that shows the value of the analog input pins. 
 using an Arduino Wiznet Ethernet shield. 
  
 Circuit: 
 * Ethernet shield attached to pins 10, 11, 12, 13 
 * Analog inputs attached to pins A0 through A5 (optional) 
  
 created 18 Dec 2009 
 by David A. Mellis 
 modified 9 Apr 2012 
 by Tom Igoe 
  
 */ 
#include <SPI.h> 
#include <Ethernet2.h> 
  
// Enter a MAC address and IP address for your controller below. 
// The IP address will be dependent on your local network: 
byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED 
}; 
IPAddress ip(192, 168, 1, 177); 
  
// Initialize the Ethernet server library 
// with the IP address and port you want to use 
// (port 80 is default for HTTP): 
EthernetServer server(80); 
  
void setup() { 
  // Open serial communications and wait for port to open: 
  Serial.begin(9600); 
  while (!Serial) { 
    ; // wait for serial port to connect. Needed for Leonardo only 
  } 
  
  
  // start the Ethernet connection and the server: 
  Ethernet.begin(mac, ip); 
  server.begin(); 
  Serial.print("server is at "); 
  Serial.println(Ethernet.localIP()); 
} 
  
  
void loop() { 
  // listen for incoming clients 
  EthernetClient client = server.available(); 
  if (client) { 
    Serial.println("new client"); 
    // an http request ends with a blank line 
    boolean currentLineIsBlank = true; 
    while (client.connected()) { 
      if (client.available()) { 
        char c = client.read(); 
        Serial.write(c); 
        // if you've gotten to the end of the line (received a newline 
        // character) and the line is blank, the http request has ended, 
        // so you can send a reply 
        if (c == '\n' && currentLineIsBlank) { 
          // send a standard http response header 
          client.println("HTTP/1.1 200 OK"); 
          client.println("Content-Type: text/html"); 
          client.println("Connection: close");  // the connection will be closed after completion of the response 
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec 
          client.println(); 
          client.println("<!DOCTYPE HTML>"); 
          client.println("<html>"); 
          // output the value of each analog input pin 
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) { 
            int sensorReading = analogRead(analogChannel); 
            client.print("analog input "); 
            client.print(analogChannel); 
            client.print(" is "); 
            client.print(sensorReading); 
            client.println("<br />"); 
          } 
          client.println("</html>"); 
          break; 
        } 
        if (c == '\n') { 
          // you're starting a new line 
          currentLineIsBlank = true; 
        } 
        else if (c != '\r') { 
          // you've gotten a character on the current line 
          currentLineIsBlank = false; 
        } 
      } 
    } 
    // give the web browser time to receive the data 
    delay(1); 
    // close the connection: 
    client.stop(); 
    Serial.println("client disconnected"); 
  } 
}

Avatar de deusyss deusyss - Rédacteur/Modérateur https://www.developpez.com
le 18/05/2016 à 18:17
Citation Envoyé par f-leb Voir le message
La planche à pain tu veux dire (breadboard)
Oui c'est ça. A mon IUT on appelait planche à nouilles parce que quand on a finit un prototypage la dessus ...
Avatar de MikeRowSoft MikeRowSoft - I.A. en bêta-test https://www.developpez.com
le 18/05/2016 à 20:23
Il y a peut-être déjà l'application essuie-glace et portail de maison, pourquoi pas commande pour de l'asservissement?

(Le pilote automatique d'un jouet radio commandé par exemple.)
Avatar de f-leb f-leb - Rédacteur/Modérateur https://www.developpez.com
le 19/05/2016 à 19:13
Citation Envoyé par deusyss Voir le message
Moi c'est principalement celle de prototypage que j'utilise, couplé avec une "planche à nouilles"
Un exemple avec "planche à nouilles" mis en oeuvre dans un projet :


Sur la plaque il y a un accéléromètre (3 axes, mais je n'en utilisais qu'un) et un module Bluetooth HC05 appairé avec une clé Bluetooth sur un PC.

Une démo où on voit l'accélération verticale tracée en temps réel :
Contacter le responsable de la rubrique Systèmes Embarqués