Pour le FabLab UtoPi je teste des kits qui permettront aux débutants de se familiariser avec l’Arduino, par exemple. Le Kit Crowtail Starter Kit d’Elecrow est intéressant dans la mesure où il utilise la connectique Crowtail commune à tous leurs kits. On ne va pas se mentir, ça ressemble à la connectique Grove et on trouve d’ailleurs des câbles adaptateurs Grove<=>Crowtail qui permettent d’utiliser indifféremment tous les modules.
Au sommaire :
- 1 Crowtail Starter Kit pour Arduino par Elecrow
- 2 Crowtail
- 3 Le Starter kit Crowtail Arduino
- 3.1 La carte Crowduino UNO-SD
- 3.2 La carte adaptateur Crowtail
- 3.3 Les câbles
- 3.4 Bloc de piles 3v
- 3.5 Carte relais
- 3.6 Potentiomètre
- 3.7 4 afficheurs 7 segments
- 3.8 Capteur d’humidité
- 3.9 Porte NON (inverseur)
- 3.10 Porte OU
- 3.11 Porte ET
- 3.12 Vibreur
- 3.13 Capteur de température
- 3.14 Détecteur de flamme
- 3.15 Diodes LEDs
- 3.16 Bouton poussoir A/M
- 3.17 Bouton poussoir
- 3.18 Buzzer
- 3.19 Capteur sonore
- 3.20 Touche sensitive
- 3.21 Interrupteur à basculement
- 3.22 Capteur de lumière
- 4 Programmation de la carte Crowduino UNO-SD
- 5 Montage de la carte Crowtail
- 6 Programme de Voltmètre
- 7 Conclusion
- 8 Sources
Crowtail Starter Kit pour Arduino par Elecrow
Je vous ai présenté précédemment le starter Kit Crowtail pour Raspberry Pi, on retrouve ici la même philosophie. Il s’agit de faciliter le câblage pour permettre d’avancer sur la découverte de la programmation. Au moins on est sûr que la connexion est bien réalisée. Ce n’est pas le cas quand on fait des formations avec des breadboards ou le « Ça marche pas ! » d’un participant oblige à vérifier ET le câblage ET le programme pour déterminer d’où vient l’erreur.
C’est pour cela que j’utilise une carte multifonction Arduino pour les formations de démarrage Arduino. Ce n’est que plus tard que je dégaine les composants, les breadboards et les fils Dupont pour réaliser les montages. Mais à ce moment les bases de la programmation et du déverminage de programme sont déjà présente et ça passe mieux.
Crowtail
Crowtail est un concept d’Elecrow. Il y a près de 200 modules, de la LED la plus simple aux modules GPS ou LORA… Vous avez ci-dessus le début de la longue liste de modules. Je vais vous présenter les modules contenus dans le kit pour que vous puissiez imaginer ce que vous pourrez réaliser comme projet avec le matériel.
Le Starter kit Crowtail Arduino
Le kit est livré dans une boîte en carton rigide, fermée par un fermoir magnétique.
Le couvercle intérieur de la boîte indique la fonction de chaque module présent dans la boîte.Une coque thermoformée protège et maintient fermement chaque module. J’ai même parfois eu du mal à les sortir de leur logement, avec mes gros doigts…
On trouve sous la coque un livret (en Anglais) qui est disponible en ligne et que vous pouvez consulter.
Les exemples du livret indiquent comment connecter les modules Crowtail et donnent des informations sur le programme à utiliser (programmes disponibles en ligne également), les bibliothèques à installer…
La carte Crowduino UNO-SD
La carte mère Crowduino Uno-SD est une carte de microcontrôleur entièrement compatible avec l’Arduino UNO. Elle est basée sur l’Atmega328P, qui est largement utilisé dans l’Arduino Uno et d’autres cartes compatibles avec Arduino.
Par rapport aux versions précédentes avec Atmega328, la carte mère Uno SD utilise l’Atmega16U2, au lieu du FTDI232 pour la conversation USB<=>UART, ce qui rend le téléchargement du programme beaucoup plus rapide.
Les broches sont identifiées sous la carte
En outre, la carte Uno-SD dispose d’un emplacement pour carte SD, ce qui la rend plus pratique pour des applications telles que l’enregistrement de données ou la surveillance de l’environnement.Pas besoin de rajouter un module externe, tout est déjà sur la carte.
Par rapport à l’Arduino Uno original, la carte Crowduino Uno SD présente les améliorations suivantes :
- Bouton de réinitialisation sur le côté gauche, ce qui rend plus pratique la réinitialisation du système.
- Circuit d’alimentation amélioré. Le sélecteur permet de choisir la tension de fonctionnement, 3,3V ou 5V, ce qui rend la carte Uno-SD compatible avec davantage de capteurs qui utilisent la communication de niveau logique 3,3V.
- La carte Uno-SD utilise un connecteur Mini USB, pour éviter un risque potentiel de connexion à un shield (carte adon) monté sur la carte Crowduino.
- Connecteur pour carte SD intégré.
Cette carte possède sa page Wiki sur le site Elecrow. Vous y trouverez par exemple l’implantation de la carte.
La carte adaptateur Crowtail
La carte Crowtail va venir se connecter au dessus de la carte Crowduino (ou de tout autre carte Arduino comme la UNO). Elle permet de connecter les différents module. TOUS les ports E/S de l’Arduino sont disponibles et adaptés aux connecteurs Crowtail : les E/S numériques, les E/S analogiques et les ports spécialisés (I2C, UART) sont utilisables. Elle fonctionne en 3,3v et 5v.
La carte dispose de sa page Wiki sur le site Elecrow.
Les câbles
La boîte contient un câble USB<=>Mini USB. c’est un classique dans le monde de l’Arduino. Après le fabricant se justifie en disant que ce format évite de connecter la prise par erreur sur une carte Shield qui serait montée sur l’Arduino… Pourquoi pas ? Mais tant qu’à faire de développer une nouvelle carte (elle en est à la v1.6) pourquoi ne pas faire le choix d’un connecteur micro USB ou même USB-C bien plus courant actuellement chez les makers ?
Vous me direz que je râle tout le temps (j’ai une réputation de papy ronchon à défendre !), mais avec une longueur de 30cm de câble j’ai été bien emm.. embêté quand il a fallu connecter l’USB sur le PC. Les prises sont derrière l’UC ou… sur le dessus. Pas facile de laisser la carte et les modules devant le clavier dans ces conditions. OK, si vous utilisez un ordinateur portable ou un Raspberry Pi pour programmer ça fonctionne et le câble est assez long.
On trouve également dans la boîte 10 câbles de liaison Crowtail, suffisants pour tous les projets présentés et même si vous développez des projets plus importants. Et puis on en trouve en ligne pour pas cher (1,30$ les 5 câbles 4 pins).
Bloc de piles 3v
Le boîtier peut accueillir 2 piles 1,5 v de type AAA (les petites). Il comporte un interrupteur. Le fil rouge + est équipé d’une prise Dupont Mâle, le fil noir – possède une prise Dupont Femelle.
Ce bloc n’est pas destiné à alimenter la carte CrowDuino, la borne 3,3v sur la carte est une SORTIE ! Il pourra servir lors de la mise en œuvre du relais (leçon 15) pour alimenter une des LEDs bleues fournies dans un sachet.
Carte relais
La carte relais comporte un relais dont les sorties sont accessibles par un bornier à vis, ce qui autorise la connexion de fils de section plus importante que les fils Dupont. Néanmoins si vous voulez commuter une charge reliée au secteur il faudra prendre toutes les précautions nécessaires. Le contact avec le secteur est mortel !
Potentiomètre
Le module Potentiomètre Crowtail utilise une résistance variable linéaire de 10KΩ. Lorsque vous déplacez le curseur d’un côté à l’autre, sa tension de sortie varie de 0 V à la Vcc que vous avez choisie (3,3v ou 5v). La course est de 30mm.
4 afficheurs 7 segments
Habituellement, un module d’affichage à 4 chiffres possède de nombreuses broches. Ici Elecrow utilise un TM1650 pour réduire les broches de contrôle en 2 broches Crowtail. Il suffit de 2 broches numériques d’un Arduino ou de Crowduino pour contrôler l’affichage, et même la luminosité des LEDs cet écran. Pour les projets qui nécessitent un affichage alphanumérique, cela peut être un bon choix.
Capteur d’humidité
Ce capteur d’humidité peut être utilisé pour détecter l’humidité du sol et ainsi surveiller si vos plantes ont besoin d’être arrosées. Deux sondes font passer un courant à travers le sol, la résistance du sol permet de déterminer le niveau d’humidité. Plus il y a d’eau, plus le sol conduit l’électricité facilement (moins de résistance), tandis qu’un sol sec conduit mal l’électricité (plus de résistance). Comparé à d’autres capteurs d’humidité utilisant la même méthode de test d’humidité, ce module a des pattes très longues, ce qui le rend adapté aux applications réelles. Il se connecte sur une entrée analogique de la carte Crowduino.
Porte NON (inverseur)
Les blocs logiques Crowtail vous permettent de découvrir les portes logiques en les branchant les unes aux autres et en observant la progression d’une entrée vers une sortie !
Chaque bloc logique représente une fonction logique différente : le bloc NOT (ci-dessus) est un simple inverseur, où la sortie est l’inverse de l’entrée. Chaque module comporte 2 entrées et une sortie équipée d’une LED pour visualiser l’état de sortie de la porte logique.
Porte OU
Le bloc OU sort un 1 si l’une des deux entrés, ou les deux entrées sont à 1.
Porte ET
Le bloc ET ne produit un 1 que si les deux entrées sont à 1.
Vibreur
Le module de vibration vibre lorsqu’il est activé par le signal logique HIGH (1). c’est le même type de vibreur que sur les tablettes ou les smartphones. Ce module est composé d’un moteur courant continu avec un excentrique qui provoque la vibration. Grâce à sa conception et au montage sur panneau, le module de vibration est facile à installer, ou à coller sur d’autres modules, pour les faire vibrer en même temps que ce module.
Capteur de température
Le capteur de température Crowtail utilise une thermistance pour mesurer la température ambiante. La résistance d’une thermistance augmente lorsque la température ambiante diminue, de sorte que l’Arduino peut mesurer la tension et ainsi calculer la température actuelle. La plage de détection de ce capteur est comprise entre -40 et 125 degrés Celsius avec une précision de ±1,5℃. La thermistance est un modèle 10KΩ.
Détecteur de flamme
Le capteur de flamme Crowtail peut être utilisé pour détecter du feu ou d’autres sources lumineuses d’une longueur d’onde comprise entre 760 nm et 1100 nm. Il est basé sur le capteur YG1006 qui est un phototransistor au silicium NPN à haute vitesse et à haute sensibilité. En raison de son époxy noir, le capteur est sensible au rayonnement infrarouge. Dans un robot de lutte contre l’incendie, ce capteur joue un rôle très important, il peut être utilisé comme les yeux du robot pour trouver la source d’un l’incendie, ou pour éviter des flammes. La sensibilité de la détection est réglable grâce à un potentiomètre.
Diodes LEDs
Si « Hello world » est le B.A BA du développeur, la LED est la meilleure façon d’entrer dans le monde Arduino à partir de ses broches d’E/S. Il suffit de connecter le module LED aux ports D de la carte Crowtail et de télécharger le programme de base sur l’Arduino, puis d’allumer la LED, comme premier pas dans l’Arduino.
En plus de l’utilisation de base, vous pouvez faire clignoter la LED à la fréquence que vous voulez, et faire varier la luminosité avec PWM. Et en fait, c’est l’utilisation la plus populaire pour l’interface humaine. Elecrow a prévu trois couleurs de LED, dont le rouge, le vert et le jaune, afin que vous puissiez créer votre propre circuit de feux de circulation ou de LED clignotantes.
Bouton poussoir A/M
L’interrupteur Crowtail est un interrupteur à verrouillage (bistable). Lorsque l’on appuie une première fois sur l’interrupteur, celui-ci reste bloqué automatiquement et module émet un signal HAUT (1). Lorsque l’on appuie une deuxième fois sur l’interrupteur, l’interrupteur remonte et le bouton se relève en même temps, émettant un signal BAS (0).
Bouton poussoir
Ce bouton momentané (il remonte seul) délivre une sortie logique HIGH (1) lorsqu’il est enfoncé et une sortie logique LOW (0) lorsqu’il est relâché. La conception du montage sur panneau permet de l’installer sur des projets plus importants.
Buzzer
Le module buzzer est destiné à produire un son dans votre projet. Il émet un son lorsqu’il est activé par un signal logique HIGH (1). Connectez le buzzer à l’un des ports D (digital) de la carte Crowtail. Ce module buzzer peut également être connecté à une sortie analogique de type modulation de largeur d’impulsion (PWM) pour générer différentes tonalités.
Capteur sonore
Le capteur de son Crowtail peut détecter l’intensité sonore de l’environnement. Le composant principal du module est un microphone à électret pour capter le signal sonore, avec un filtre passe-bande et un amplificateur LMV358 pour rendre le signal de sortie facile à recevoir par le microprocesseur.
Ce module émet un signal analogique qui indique l’intensité sonore relative. Un potentiomètre intégré permet d’ajuster la tension de sortie.
Touche sensitive
Le capteur tactile peut détecter le toucher en détectant le changement de capacité. Basé sur le circuit intégré tactile TTP223-B, ce module peut détecter un doigt humain à une distance de 0 à 3 mm, c’est-à-dire que vous pouvez placer ce capteur sous une surface non métallique telle que le verre ou le papier, avec une épaisseur inférieure à 3 mm, ce qui sera utile pour des applications nécessitant une étanchéité, ou pour rendre les boutons secrets.
Grâce à la conception de montage sur panneau, c’est-à-dire que le côté du pavé tactile est lisse, le capteur tactile Elecrow Crowtail est facile à installer dans vos projets.
Interrupteur à basculement
L’interrupteur à basculement est un capteur qui détecte la position du module. Il émet un signal logique BAS quand il est horizontal et un signal logique HIGH (1) quand il est vertical.
À l’intérieur du capteur (le cylindre noir) se trouve une paire de billes qui entrent en contact avec les broches lorsque le boîtier est à la verticale. Si le boîtier est basculé, les billes ne se touchent pas et n’établissent donc pas de connexion.
Capteur de lumière
Ce module capteur de lumière utilise une photorésistance GL5516 pour mesurer l’intensité lumineuse de l’environnement. La résistance du capteur diminue lorsque l’intensité lumineuse qu’il reçoit augmente. Le circuit intégré ampiOP LMV358 est utilisée comme suiveur de tension pour vous permettre d’obtenir des données précises.
Programmation de la carte Crowduino UNO-SD
Mise en route de l’IDE Arduino
Pour vérifier que votre carte est reconnue, connectez la à votre PC (ici sous win11). Dans le gestionnaire de périphérique vous devez avoir un port de COM dédié à l’Arduino. Notez le N°.
J’utilise la version 2.2.1 de l’IDE. Dans le menu Outils choissez la carte Arduino Uno.
Indiquez le port sur leque la carte est connecteé, ici COM12.
Pour certains modules il faut charger une bibliothèque. Le livret donne assez peu d’informations à ce sujet. Par exemple pour l’afficheur 4 digits de 7 segments, j’ai utilisé la bibliothèque TM1650 préconisée dans le chapitre 16.
Ici c’est le fichier des entêtes et le fichier .cpp de la bibliothèque. j’ai transformé le répertoire TM1650 en .zip pour l’intégrer.
Dans la gestion des bibliothèques
On ajoute un fichier .zip
qu’on va chercher là où vous avez rangé le zip du dossier TM1650.
Si l’installation se passe bien, vous avec ce retour.
Le livret comporte 20 leçons en anglais. Chaque leçon indique le ou les modules à utiliser, comment les connecter à la carte Crowtail, quel programme utiliser pour le test.
Montage de la carte Crowtail
La carte Crowtail vient se monter sur la carte Crowduino (ou Arduino). Maintenez la parallèle à l’Arduino car le connecteur à l’arrière est assez haut et on a tendance à mettre la carte en biais si on l’enfonce trop sur l’avant.
Connectez les modules selon le test que vous souhaitez faire. Ici j’ai connecté le potentiomètre et l’afficheur.
Lorsque vous connectez le câble USB, les LEDs s’allument.
Ici j’ai ajouté un module LED, l’objectif est de faire varier la luminosité de la LED en affichant la valeur (0 à 255) sur l’afficheur.
Vidéo réglage de luminosité sur la LED
Programme de Voltmètre
Ici l’idée est de faire varier le potentiomètre entre 0 et 3 volts et d’afficher la valeur avec 2 chiffres après la virgule sur l’afficheur.
Comment ça s’affiche ?
Le TM1650 gère les segments comme ci-dessus
Dans les programmes exemples du livret on trouve les codes pour afficher les chiffres sans puis avec le point décimal. Je vous ai reporté ci dessous les 1 et les 0 des octets pour représenter le chiffre 5 :
Ceci devrait vous permettre de comprendre comment ça fonctionne et comment créer vos propres chiffres.
Connexion du voltmètre
Vidéo du volmètre
Programme
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 |
/* Demo code of Crowtail - 4 Digital 7-Segment LED by Tony */ #include "TM1650.h" #include int pmeterPin = A0; int pmeterValue = 0; int Aff1, Aff2, Aff3, Aff4; static uint8_t TubeTab[] = { 0x3F,0x06,0x5B,0x4F, 0x66,0x6D,0x7D,0x07, 0x7F,0x6F,0x77,0x7C, 0x39,0x5E,0x79,0x71, };//0~9,A,B,C,D,E,F static uint8_t TubeTabwithPoint[] = { 0xBF,0x86,0xDB,0xCF, 0xE6,0xED,0xFD,0x87, 0xFF,0xEF };//0~9 TM1650 DigitalLED(A5,A4); int8_t number[] = {0,0,0,0}; void setup() { Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: pmeterValue = analogRead(pmeterPin); Serial.println(pmeterValue); int gapValue = map(pmeterValue,0,1023,0,330); //remap the 0~1023 data to 0~330; Serial.println(gapValue); Aff2 = gapValue/100; Aff3 = (gapValue/10) %10; Aff4 = (gapValue) %10; DigitalLED.clearDisplay(); DigitalLED.display(0,TubeTabwithPoint[Aff1]); DigitalLED.display(1,TubeTab[Aff2]); DigitalLED.display(2,TubeTab[Aff3]); DigitalLED.display(3,TubeTab[Aff4]); delay(100); } |
C’est le programme de bse de Elecrow que j’ai modifié pour afficher une tension au lieu de la valeur de la luminosité de la LED. AU départ j’avais fait un remap de 300, mais comme la tension est de 3,3v j’ai modifié le programme? La vidéo montre la première version.
Conclusion
Comme je l’ai dit au début de l’article, ce starter kit permet de démarrer la découverte de l’Arduino sans être perturbé par les problèmes de connexion, de faux contacts sur la breadboard ou les fils Dupont. Ici tout est déjà prêt à l’emploi. On connecte et ça fonctionne.
Le livret avec ses consignes pour la connexion et la programmation sera utile pour les animateurs qui y trouveront une source bien utile pour bâtir la progression de l’apprentissage. Pour des participants qui ne parlent pas anglais, il faudra préparer de quoi mettre en œuvre les modules.
Après, le livret est assez léger sur la question de l’installation des bibliothèques par exemple et il vaut mieux avoir une bonne connaissance e l’IDE Arduino pour se lancer. Je pense que ce kit peut convenir à des débutants accompagnés. Largués tous seuls avec le kit ils se décourageront rapidement par manque de connaissances de base.
L’avantage c’est d’avoir un ensemble prêt à fonctionner, facile à connecter, sans faux contacts. Attention à l’endroit où vous posez les modules et la carte Arduino, les soudures sont apparentes ! et on risque le court circuit accidentel.
Autre avantage, une fois qu’on a exploré les possibilités décrites dans le livret, c’est de pouvoir créer ses propres projets en combinant les différents modules. On sait qu’ils fonctionnent puisqu’on les a déjà utilisés. SI le projet ne fonctionne pas, c’est forcément la programmation qui coince 😀
Le kit est vendu 39,90$ par Elecrow sur leur site web.
Sources
Page du Starter Kit Arduino
Livret de programmation du Starter Kit (en Anglais)
Programmes du Starter Kit pour Arduino
Ping : Crowtail Starter Kit pour Arduino par Elecrow
Ping : Le dixième anniversaire d'Elecrow : Des promos ! - Framboise 314, le Raspberry Pi à la sauce française....