.
Mise à jour le 29/01/2020 : Rubrique traitant du module à 4 canaux permet de mesurer des tensions analogiques avec une précision de 16 bits. Il est basé sur un ADS1115 et communique avec un microcontrôleur via le bus I2C.
Sommaire :
- Description du module KY-053 Convertisseur analogique digital.
- Caractéristiques et spécificités.
- Affectation des broches pour les cartes Arduino
- Brochage pour les cartes Raspberry Pi .
- Effectuer une conversion analogique-numérique asymétrique sur le canal spécifié.
- Schéma de cablage du convertissseur
- Programme pour Arduino
- Source d’information
- A savoir sur l’utilisation des informations .
- Retour au menu principal.
Source d’information
Description du module KY-053 Convertisseur analogique digital. |
Ce module permet, par exemple, d’ajouter des entrées analogiques sur les cartes Raspberry Pi ou d’en augmenter la précision sur les cartes Arduino ou compatibles
Caractéristiques et spécificités.
- Alimentation : 2 à 5 Vcc
- Consommation : 150 µA
- Adresse I2C sélectionnable : jusqu’à 4 modules sur le même bus I2C
- Entrées : 4 entrées analogiques 16 bits
- Dimensions : 28 x 18 x 12 mm
Affectation des broches pour les cartes Arduino |
|
VDD | [Pin 5V] |
GND | [Pin GND] |
SCL | [Pin SCL] |
SDA | [Pin SDA] |
ADDR | [N.C.] |
ALRT | [N.C.] |
A0 | [Analog 0] |
A1 | [Analog 1] |
A2 | [Analog 2] |
A3 | [Analog 3] |
Brochage pour les cartes Raspberry Pi |
||
VDD | 3,3V | [Pin 01] |
GND | Masse | [Pin 06] |
SCL | GPIO03 / SCL | [Pin 05] |
SDA | GPIO02 / SDA | [Pin 03] |
ADDR | N.C. | [-] |
ALRT | N.C. | [-] |
A0 | Analog 0 | [pour mesure de tension (capteur par ex.)] |
A1 | Analog 1 | [pour mesure de tension (capteur par ex.)] |
A2 | Analog 2 | [pour mesure de tension (capteur par ex.)] |
A3 | Analog 3 | [pour mesure de tension (capteur par ex.)] |
.
Programme pour effectuer une conversion analogique-numérique asymétrique sur le canal spécifié. . |
Schéma de câblage
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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
// // // //********************************************************** //* Tutoriel * //* sur le convertisseur analogique 4 canaux * //* * //* KY-053 Convertisseur analogique digital * //* de chez SensorKit X40 * //* * //* programme constructeur modifié et * //* commenté par RedOhm * //* * //* Le 15/12/2018 * //* H.Mazelin * //********************************************************** // Cette librairie vous permet de communiquer avec les // composants utilisant le protocole I2C // Sur la plupart des cartes Arduino // la ligne SDA (ligne de données) est sur la broche analogique 4 // la ligne SCL (ligne d'horloge) est sur la broche analogique 5 // Sur la carte Arduino Mega en particulier // SDA est sur la broche numérique 20 // SCL est sur la broche numérique 21 #include <Wire.h> // je charge la librairie Adafruit_ADS1015.h // Initialisation du module ADS1015. Toutes les opérations avec // l'ADC peuvent être réalisées à l'aide de l'objet ads #include <Adafruit_ADS1015.h> // Initialisation du module ADS1115. Toutes les opérations avec // l'ADC peuvent être réalisées à l'aide de l'objet ads // Adafruit_ADS1115 ads; /* Utilisez ceci pour la version 16 bits */ // peut être modifié simplement en enlevant les // de commentaires. // // // Construire une instance d'un ADS1015 avec l'adresse par défaut (0x48) // Utilisez ceci pour la version conversion 12 bits Adafruit_ADS1015 ads; // Un programme Arduino doit impérativement contenir la fonction "setup" // Elle ne sera exécutée une seule fois au démarrage du microcontroleur // Elle sert à configurer globalement les entrées sorties void setup(void) { //ouvre le port série et fixe le debit de communication à 9600 bauds Serial.begin(9600); // Affichage sur l'ecran du moniteur des informations relative au // programme Serial.println("****************************************************"); Serial.println("* *"); Serial.println("* KY-053 Convertisseur analogique digital *"); Serial.println("* de chez SensorKit X40 *"); Serial.println("* *"); Serial.println("* Programme constructeur modifié *"); Serial.println("* et commenté par RedOhm *"); Serial.println("* *"); Serial.println("****************************************************"); // Creation d'un espace vide pour la lisibilité de la lecture avec la // commande Serial.println("") Serial.println(""); Serial.println("Obtenir des lectures asymétriques à partir de AIN0..3"); Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)"); // Met le programme en pause pendant la durée (en millisecondes) spécifiée // en tant que paramètre. (Il y a 1000 millisecondes dans une seconde.) // dans notre cas 5 secondes delay(5000); // Ce module présente un amplificateur de signal à ses entrées analogiques // dont le gain peut être configuré comme décrit ci-dessous. // Ceci est utile lorque par exemple on s'attend à obtenir un résultat dans une // certaine plage de mesure mais que le résultat est plus grand que prévu. // Le gain par défaut est Gain=[2/3] // et peut être modifié simplement en enlevant les // de commentaires. // ADS1015 ADS1115 // ------- ------- // ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain +/- 6.144V 1 bit = 3mV 0.1875mV (default) // ads.setGain(GAIN_ONE); // 1x gain +/- 4.096V 1 bit = 2mV 0.125mV // ads.setGain(GAIN_TWO); // 2x gain +/- 2.048V 1 bit = 1mV 0.0625mV // ads.setGain(GAIN_FOUR); // 4x gain +/- 1.024V 1 bit = 0.5mV 0.03125mV // ads.setGain(GAIN_EIGHT); // 8x gain +/- 0.512V 1 bit = 0.25mV 0.015625mV // ads.setGain(GAIN_SIXTEEN); // 16x gain +/- 0.256V 1 bit = 0.125mV 0.0078125mV // initialise le circuit ads.begin(); } // ------------------------------------------------------------------ // Le programme principal s’exécute par une boucle infinie // appelée Loop () // ------------------------------------------------------------------ void loop(void) { // Declaration des variables adcx en int16_t soit de -32768 à 32767 int16_t adc0, adc1, adc2, adc3; // La commande "ads.readADC_SingleEnded(0)" est la fonction principale qui fait // démarrer la mesure dans le convertisseur analogique adc0 = ads.readADC_SingleEnded(1); // Met le programme en pause pendant la durée (en millisecondes) spécifiée // en tant que paramètre. (Il y a 1000 millisecondes dans une seconde.) delay(30); adc1 = ads.readADC_SingleEnded(2); delay(30); adc2 = ads.readADC_SingleEnded(3); delay(30); adc3 = ads.readADC_SingleEnded(0); delay(30); // afficheur sur l'ecran du moniteur des resultats Serial.print("AIN0: "); Serial.println(adc0); Serial.print("AIN1: "); Serial.println(adc1); Serial.print("AIN2: "); Serial.println(adc2); Serial.print("AIN3: "); Serial.println(adc3); Serial.println(" "); // Met le programme en pause pendant la durée (en millisecondes) spécifiée // en tant que paramètre. (Il y a 1000 millisecondes dans une seconde.) // dans notre cas cela nous permet une meilleure lisibilité des resultats // sur l'écran delay(1000); } |
.
Retour au sommaire
Source d’information |
.
- Pour plus d’information voir le site de chez : joy-it.net
- Pour plus d’informations technique : Adafruit
- Bibliothèque Adafruit pour Fritzing : Fritzing-Library
- Code composant pour la bibliothèque Fritzing : DS1015
- Exemple de fournisseur de ce produit : Gotronic .
.
Retour au sommaire
A savoir sur l’utilisation des informations |
.
Les informations sur les caractéristiques et spécificités du module KY-053 Convertisseur analogique digital qui sont fournis sur cette page correspondent aux informations des fiches techniques du constructeur si malgré le soin apporté à la réalisation de cet article une erreur s’est glissée dans ces lignes nous ne pourrions en être tenu responsable.
Les programmes , schémas et autres que ceux donnés par le constructeur font parti des montages utiles à nos applications si malgré le soin apporté à nos montages une erreur s’est glissée dans ces lignes nous ne pourrions en être tenu responsable .
L’ensemble des informations techniques de cet article a été utilisé pour nos applications, elles vous sont fournies comme un exemple de document de travail. Mais nous ne pourrions être tenu responsables d’une mauvaise utilisation de celle-ci.
.