| Mesurer la température d'une loco en circulation | |
|
+7DMARRION CleoN lucien2 Fantasio jmarc69 TGV77340 Jicébé 11 participants |
|
Auteur | Message |
---|
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| |
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Ven 15 Mai 2020 - 0:35 | |
| L'explication pour le bus I2C était donc le souhait de disposer de la possibilité de raccorder plus de capteurs à l'Arduino. Inconvénient est le grand nombre de fils à raccorder à certaines prises de l'Arduino. Les modules GROVE ont été conçus par la société Seeedstudio pour pallier à cette difficulté. C'est pour cela que je me suis imposé la condition : - Citation :
- Est monté sur un module aux normes "GROVE"
Au départ, les Arduino utilisent ce qu'on appelle des shields pour accroître leurs possibilités. Un shield est une plaque de circuit imprimé multicouche Quelques exemples vus sur un site internet : Ils ont tous en commun d'avoir la même largeur qu'un Arduino, et avec sur ses deux flancs les même connecteur qu'un Arduino, avec sur la face inférieure des connecteurs mâles s'enfichant dans les connecteurs femelles de l'Arduino et sur la face supérieure, des connecteurs femelles reproduisant exactement les connecteurs de l'Arduino. De ce fait, on peut empiler plusieurs shields sur un même Arduino. Seedstudio a conçu un shield très pratique, mais ne contenant ni informatique, ni électronique, mais seulement des pistes reliant des prises aux contacts de l'Arduino. J'ai acheté ce modèle : Pour l'enficher facilement sur un Arduino, il vaut mieux placer les connecteurs du bus SPI d'abord, puis d'enfoncer les autres connecteurs ensuite, ce qui donne, pour un Arduino Mega, plus long que lles autres Arduinos : |
|
| |
Fantasio Membre
Age : 64 Localisation : Saint Médard en Jalles (33) Nombre de messages : 2363 Date d'inscription : 15/11/2019
| Sujet: Re: Mesurer la température d'une loco en circulation Ven 15 Mai 2020 - 10:13 | |
| Bonjour Jicébé
Par simple curiosité, à ce jour quels autres capteurs ou modules Grove as tu déjà utilisé?, dans le cadre du modélisme ou autre... |
|
| |
CleoN Membre
Age : 69 Localisation : 33 Bouliac Nombre de messages : 1624 Date d'inscription : 26/11/2010
| Sujet: Re: Mesurer la température d'une loco en circulation Ven 15 Mai 2020 - 18:51 | |
| Attention à ne pas mélanger le SPI et l'I2C, c'est pas pareil !!!
Pour un composant SPI il faut, 2 lignes de communication, une en lecture, une en écriture, une ligne d'horloge plus une ligne de sélection du composant. A chaque composant supplémentaire il faut une ligne de plus, mais en contrepartie, ça cause en "full duplex", c'est à dire qu'on peut donner des ordres au composant et en même temps recevoir des données. Inconvénient pour chaque composant supplémentaire il faut un fil de plus, les lignes de lecture d'écriture et d'horloge pouvant être communes à tous les composants.
Pour un composant I2C il faut une ligne de données (SDA) et une ligne d'horloge (SCL). On peut brancher plein de composants sur la même paire de lignes et la sélection du composant auquel on s'adresse se fait à travers les données que l'on envoie sur la ligne SDA. Comme il n'y a qu'une seule ligne de données le dialogue ne peut pas se faire en même temps dans les deux sens, chacun parle à son tour, c'est du "half duplex".
A noter encore, le bus SPI ne possède aucune gestion d'erreur alors qu'il en a une minimale sur l'I2C.
Évidement il faut aussi alimenter les composants, mais vous l'aviez deviné !! |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Sam 16 Mai 2020 - 13:57 | |
| - Fantasio a écrit:
- Bonjour Jicébé
Par simple curiosité, à ce jour quels autres capteurs ou modules Grove as tu déjà utilisé?, dans le cadre du modélisme ou autre... Un peu de tout...La liste est longue. |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Sam 16 Mai 2020 - 14:10 | |
| - CleoN a écrit:
Pour un composant SPI il faut, 2 lignes de communication, une en lecture, une en écriture, une ligne d'horloge plus une ligne de sélection du composant. A chaque composant supplémentaire il faut une ligne de plus, mais en contrepartie, ça cause en "full duplex", c'est à dire qu'on peut donner des ordres au composant et en même temps recevoir des données. Inconvénient pour chaque composant supplémentaire il faut un fil de plus, les lignes de lecture d'écriture et d'horloge pouvant être communes à tous les composants.
Les concepteurs de l'arduino ont décidé de ne mettre que deux lignes de sélection des composants. C'est pour cela qu'il n'est pas possible, par exemple, de mettre un shield "ethernet" et un shield "carte son" sur un arduino , chacun utilisant les deux ligne de sélection, soit une ligne pour la partie ethernet ou pour la carte son, et une autre pour la SD-carte qui sert de disque dur externe. |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Sam 16 Mai 2020 - 15:31 | |
| Les périphériques sont fixés sur des circuits imprimés multicouches dont les dimensions sont strictement codifiés. Il existe cinq tailles possibles ;
- taille 1X1 : 20x20 mm
- taille 1X2 : 20x40 mm
- taille 1X3 : 20x60 mm
- taille 2X2 : 40x40 mm
- taille 2X3 : 40x60 mm
avec toutefois le même système de fixation, et la même prise pour le raccordement au shield GROVE. Les cotes des plaques de circuit imprimé : Les connecteurs sur ces plaques, et sur le shield, sont identiques, et mesurent exactement 1 cm de long sur 0,5 cm de large, ce qui permet de calculer les dimensions d'un circuit imprimé vu sur un catalogue par une simple règle de trois. Les quatre contacts sont aussi normalisés : http://jcbecker.free.fr/Modelisme/Mes_Modules/Hieronymus_Station/Arduino/Brochage/Grove_101020077/Contacts.jpg
- Le contact n°4 (en haut de la photo) est la masse du périphérique, et sera automatiquement relié à la masse de l'arduino.
Le fil électrique correspondant à ce contact doit être impérativement noir.
- Le contact n°3 (marqué Vcc) fournit l'énergie (envoyée par l'arduino) au périphérique sous une tension de +5V= ou +3,3 V=.
Le fil électrique correspondant à ce contact doit être impérativement rouge.
- Le contact n°2 dépend du type de périphérique utilisé.
Si ce périphérique utilise une liaison I2C, ce sera le fil SCA. Si ce périphérique n'utilise qu'un fil, ce contact ne sera pas utilisé (Il est "en l'air"). Dans tous les cas le fil sera blanc.
- Le contact n°1 dépend du type de périphérique utilisé.
Si ce périphérique utilise une liaison I2C, ce sera le fil SCA. Dans tous les cas le fil sera jaune.
Il ne reste plus qu'à relier sans trop réfléchir (pour les I2C) le périphérique au shield avec un câble prévu pour le système GROVE : A suivre... |
|
| |
CleoN Membre
Age : 69 Localisation : 33 Bouliac Nombre de messages : 1624 Date d'inscription : 26/11/2010
| Sujet: Re: Mesurer la température d'une loco en circulation Dim 17 Mai 2020 - 10:28 | |
| - Jicébé a écrit:
- CleoN a écrit:
Pour un composant SPI il faut, 2 lignes de communication, une en lecture, une en écriture, une ligne d'horloge plus une ligne de sélection du composant. A chaque composant supplémentaire il faut une ligne de plus, mais en contrepartie, ça cause en "full duplex", c'est à dire qu'on peut donner des ordres au composant et en même temps recevoir des données. Inconvénient pour chaque composant supplémentaire il faut un fil de plus, les lignes de lecture d'écriture et d'horloge pouvant être communes à tous les composants.
Les concepteurs de l'arduino ont décidé de ne mettre que deux lignes de sélection des composants. C'est pour cela qu'il n'est pas possible, par exemple, de mettre un shield "ethernet" et un shield "carte son" sur un arduino , chacun utilisant les deux ligne de sélection, soit une ligne pour la partie ethernet ou pour la carte son, et une autre pour la SD-carte qui sert de disque dur externe. En fait l'ATMEGA328 qui équipe les arduino ne possède qu'une seul ligne SS et cette ligne ne joue un rôle particulier sur le module SPI que dans le cas d'une utilisation en mode multi-maître, elle doit alors être placée en mode "INPUT_PULLUP". Dans aucun cas le module SPI de l'ATMEGA328 ne gère la ligne SS (Slave Select) du composant avec lequel il dialogue, il faut le faire "à la main" Rien n’empêche donc d'utiliser de nombreux composants SPI mais il semblerai que la librairie SPI arduino ne gère que la ligne SS "naturelle", c'est à dire la ligne 10 (PB2 sur le microcontrôleur). Le shield Ethernet et sa librairie associée l'a fait pour une pin particulière. Peut être existe t'il d'autres librairies SPI capable d'utiliser n'importe quelle pin pour le signal SS. En fouillant un peu partout, j'ai découvert la fonction shiftOut(dataPin, clockPin, bitOrder, value) qui permet de sérialiser des données associées à une horloge mais sans doute pas sous interruption. A explorer pour les amateurs ! |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Mar 19 Mai 2020 - 0:55 | |
| - CleoN a écrit:
... A explorer pour les amateurs ! ...
Ce que tu as écrit est très intéressant. Par contre, pour moi, l'arduino est intéressant pour programmer sans trop se compliquer la vie. Rajouter des fils d'adresse sur le bus SPI, c'est bien, mais je sens comme un gros conflit entre ces fils et la bibliothèque "SPI" de l'Arduino. Et réécrire la bibliothèque en question me fait peur. Par contre, la partie théorique m’intéresse, et si quelqu'un publie des choses là-dessus, je les lirais avec intérêt. Je viens de recevoir deux exemplaires du module de mesure de température ainsi qu'un module horloge capable d'afficher la date et l'heure. La suite dès que nous auront mieux fait connaissance, ces modules et moi. |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Mer 20 Mai 2020 - 0:11 | |
| Ce capteur de température est une platine GROVE de 4 cm x 2 cm ( soit la taille 1X2 : 20x40 mm) La partie capteur proprement dite est le tout petit disque sombre, à placer de façon à lui faire viser le châssis des locomotives. Il est livré dans un sachet bien protégé contenant aussi ce qui semble être une notice. DECEPTION ! Ce qui semblait être une notice n'est qu'une étiquette autocollante que voici : Pas d'adresse pour télécharger la bibliothèque... Pas d'indication sur les commandes à utiliser... Au passage, le module "horloge", de mêmes dimensions, a été livré de la même façon... Sans sa bibliothèque et ses commandes, il est impossible d'utiliser un périphérique Arduino. J'ai donc entrepris de chercher ces renseignements grâce à l'éditeur arduino. Il faut pour cela aller dans le menu "Outils": On vérifie qu'on a bien indiqué le bon modèle d'Arduino (cadre en orange), puis on sélectionne "Gérer les bibliothèques (cadre rouge). On obtient alors la liste de tous les périphériques existants: La lite obtenue est ... hummm... KOLOSSALE ! On peut la réduire grâce aux choix "Type" et "Sujet" en haut de page. Hélas... je n'y ai pas trouvé mes capteurs. Par contre, j'ai décidé de choisir celui qui lui ressemble le plus. (encadré en rouge) A suivre... |
|
| |
Plume Membre
Age : 49 Localisation : AUXERRE Nombre de messages : 42 Date d'inscription : 12/10/2015
| Sujet: Re: Mesurer la température d'une loco en circulation Mer 20 Mai 2020 - 20:42 | |
| Bonjour, Voici un lien vers une librairie : https://github.com/Seeed-Studio/Digital_Infrared_Temperature_Sensor_MLX90615Ça doit correspondre au capteur présenté ci-dessus. Comme toute librairie bien faite, il y a un exemple à tester au préalable et pour comprendre le code. On télécharge le ZIP et on l'installe via l'IDE Arduino ou en déposant les fichiers décompressés dans le répertoire des librairies Arduino ou directement dans la gestion des librairies en saisissant "MLX90615". |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Mer 20 Mai 2020 - 21:13 | |
| - Plume a écrit:
- Bonjour,
Voici un lien vers une librairie : https://github.com/Seeed-Studio/Digital_Infrared_Temperature_Sensor_MLX90615 Ça doit correspondre au capteur présenté ci-dessus. OUIII ! Je n'avais pas trouvé cette page. Un grand merci pour le lien. J'ai commencé à la lire. Apparemment, ils n'utilisent pas la bibliothèque officielle "WIRE", mais gère le bus I2C "à la main" dans l'exemple. ce qui peut poser des problèmes si on rajoute d'autres périphériques (il faudrait alors les gérer tous "à la main") Il va falloir que je teste tout cela, mais pour le moment, je n'ai pas accès à mes arduino, hélas. Donc, patience... |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Mer 3 Juin 2020 - 20:57 | |
| Pas réussi à trouver cette fichue %$#§ bibliothèque sans laquelle il est impossible d'utiliser mes capteurs de température ! Après un moment de déprime, j'ai donc contacté mon vendeur (le site GO TRONIC) pour leur expliquer mon problème et crier "au secours". Moins de dix minutes plus tard, ils m'ont répondu par mel (en moins de dix minutes !) avec la solution complète : - Citation :
La librairie est disponible sur le github de Seeedstudio : https://github.com/Seeed-Studio/Digital_Infrared_Temperature_Sensor_MLX90615
Cliquez sur clone or download, le site va faire un .zip. Vous avez juste à l’ajouter via l’IDE – Croquis – Inclure une bibliothèque - Ajouter la bibliothèque .ZIP.
Je n'ai même pas eu besoin de faire ce téléchargement, car ils avaient mis en pièce-jointe ce fameux fichier ZIP. Et ça marche (au moins pour la compilation, car pour le reste, je n'ai pas trouvé de câble GROVE assez long pour relier mes capteurs à mes arduinos... (Et je ne pense pas en touver...)Alors, la suite, après déconfinement, probablement courant juillet... |
|
| |
Fantasio Membre
Age : 64 Localisation : Saint Médard en Jalles (33) Nombre de messages : 2363 Date d'inscription : 15/11/2019
| Sujet: Re: Mesurer la température d'une loco en circulation Jeu 4 Juin 2020 - 1:02 | |
| - JicébéJe n'ai même pas eu besoin de faire ce téléchargement, car ils avaient mis en pièce-jointe ce fameux fichier ZIP. a écrit:
Et ça marche (au moins pour la compilation, car pour le reste, je n'ai pas trouvé de câble GROVE assez long pour relier mes capteurs à mes arduinos... (Et je ne pense pas en touver...)
As tu regardé éventuellement chez Lextronic? Sur son site il propose des cordons de 50cm https://www.lextronic.fr/cordons-connecteurs-3298 |
|
| |
Jicébé Membre
Age : 77 Localisation : Paris Nombre de messages : 5950 Date d'inscription : 28/07/2008
| Sujet: Re: Mesurer la température d'une loco en circulation Jeu 4 Juin 2020 - 2:04 | |
| - Fantasio a écrit:
- JicébéJe n'ai même pas eu besoin de faire ce téléchargement, car ils avaient mis en pièce-jointe ce fameux fichier ZIP. a écrit:
Et ça marche (au moins pour la compilation, car pour le reste, je n'ai pas trouvé de câble GROVE assez long pour relier mes capteurs à mes arduinos... (Et je ne pense pas en touver...)
As tu regardé éventuellement chez Lextronic?
Sur son site il propose des cordons de 50cm
https://www.lextronic.fr/cordons-connecteurs-3298 J'en ai déjà un stock en 50 cm... Mais c'est trop court... beaucoup trop court... (très-très beaucoup trop court, même...) |
|
| |
Gbo95 Membre
Age : 68 Localisation : 95280 Nombre de messages : 1095 Date d'inscription : 06/07/2007
| Sujet: Re: Mesurer la température d'une loco en circulation Jeu 4 Juin 2020 - 9:25 | |
| Pour Fantasio : je crois qu'il faudrait un cable très très très très long - Jicébé a écrit:
- lucien2 a écrit:
- Je ne sais pas pourquoi, mais on dirait que Jicébé ne tient pas à faire l'essai.
- Code:
-
C'est pas moi, M'sieur, c'est Macron ! Y fait rien que m'empêcher de retourner auprès de mon matériel en Belgique !
|
|
| |
Contenu sponsorisé
| Sujet: Re: Mesurer la température d'une loco en circulation | |
| |
|
| |
| Mesurer la température d'une loco en circulation | |
|