IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Ecran lcd 16x2 et I2C sur Arduino


Sujet :

Arduino

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut Ecran lcd 16x2 et I2C sur Arduino
    Bonjour à tous,

    Je sollicite votre aide pour un écran 16x2 que je tente de faire fonctionner avec l interface I2C car plus pratique avec 4 fils que 16, j'ai pris l'exemple de l'IDE en chargeant la bibliotheque mais rien ne s'affiche, l'écran s'éclaire mais je crois qu'il faut avoir l adresse de cet écran et qu'il faut changer un code aussi dans le script

    Merci pour votre aide

    Stéphanie

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Bonjour,

    quelle est la référence de l'écran ? Tu ne t'es pas trompée dans la connectique ?

  3. #3
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Stéphanie
    Citation Envoyé par Stéphanie13000 Voir le message
    Bonjour à tous,
    je crois qu'il faut avoir l adresse de cet écran et qu'il faut changer un code aussi dans le script
    Pour trouver cette adresse, charges ce programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    // --------------------------------------
    // i2c_scanner
    //
    // Version 1
    //    This program (or code that looks like it)
    //    can be found in many places.
    //    For example on the Arduino.cc forum.
    //    The original author is not know.
    // Version 2, Juni 2012, Using Arduino 1.0.1
    //     Adapted to be as simple as possible by Arduino.cc user Krodal
    // Version 3, Feb 26  2013
    //    V3 by louarnold
    // Version 4, March 3, 2013, Using Arduino 1.0.3
    //    by Arduino.cc user Krodal.
    //    Changes by louarnold removed.
    //    Scanning addresses changed from 0...127 to 1...119,
    //    according to the i2c scanner by Nick Gammon
    //    http://www.gammon.com.au/forum/?id=10896
    // Version 5, March 28, 2013
    //    As version 4, but address scans now to 127.
    //    A sensor seems to use address 120.
    // Version 6, November 27, 2015.
    //    Added waiting for the Leonardo serial communication.
    //
    //
    // This sketch tests the standard 7-bit addresses
    // Devices with higher bit address might not be seen properly.
    //
     
    #include <Wire.h>
     
     
    void setup()
    {
     
    	Wire.begin();
     
    	Serial.begin(115200);
    	while (!Serial);             // Leonardo: wait for serial monitor
    	Serial.println("\nI2C Scanner");
    }
     
     
    void loop()
    {
    	byte error, address;
    	int nDevices;
     
    	Serial.println("Scanning...");
     
    	nDevices = 0;
    	for(address = 1; address < 127; address++ )
    	{
    		// The i2c_scanner uses the return value of
    		// the Write.endTransmisstion to see if
    		// a device did acknowledge to the address.
    		Wire.beginTransmission(address);
    		error = Wire.endTransmission();
     
    		if (error == 0)
    		{
    			Serial.print("I2C device found at address 0x");
    			if (address<16)
    			Serial.print("0");
    			Serial.print(address,HEX);
    			Serial.print(" - ");
    			Serial.print(address);
    			Serial.println("  !");
     
    			nDevices++;
    		}
    		else if (error==4)
    		{
    			Serial.print("Unknow error at address 0x");
    			if (address<16)
    			Serial.print("0");
    			Serial.println(address,HEX);
    		}
    	}
    	if (nDevices == 0)
    	Serial.println("No I2C devices found\n");
    	else
    	Serial.println("done\n");
     
    	delay(5000);           // wait 5 seconds for next scan
    }
    Si le programme ne trouve rien, comme dit @Auteur, il y a une erreur de connexion.

    Pour avoir plus de détails, mets nous une image de l'arrière de l'afficheur.

    Bonne soirée
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    Bonjour à tous et merci pour vos messages,

    j'ai trouvé mon erreur, il me manquait la bibliothèque Liquidcrystal i2c, l adresse de l'écran est bien 0x27, 16x2, l'affichage marche normalement maintenant

    Je fais un montage avec une carte Uno, hc sr04 et écran 16x2 avec I2C, j'ai trouvé un schéma https://surtrtech.com/2018/01/27/how...n-cm-and-inch/

    et téléchargé le code mais à la compilation j'ai une erreur stray '\303' in program

    apparement cela voudrait peut être dire que l'erreur est venue du fait que j'ai fais un copier coller dans l'IDE, j ai beau regarder ligne par ligne je ne vois pas

    A vos avis

    Stéphanie

  5. #5
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Stéphanie
    Citation Envoyé par Stéphanie13000 Voir le message
    Bonjour à tous et merci pour vos messages,
    apparement cela voudrait peut être dire que l'erreur est venue du fait que j'ai fais un copier coller dans l'IDE, j ai beau regarder ligne par ligne je ne vois pas
    Si le problème persiste, mets le code en ligne, tel que tu l'as dans l'IDE Arduino.

    Bonne journée
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Je te mets le code copier dans l'IDE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    // Ce code est à utiliser avec le module d'échographie HC-SR04, 
     
    // il mesure la distance et l'affiche sur l'écran LCD i2c en cm
     
    // fait référence au canal surtrtech pour le câblage
     
     
    #include <LiquidCrystal_I2C.h> // bibliothèque LCD i2c
     
     
     
    #define I2C_ADDR 0x27 
     
    #define BACKLIGHT_PIN 3
     
    #define En_pin 2
     
    #define Rw_pin 1
     
    #define Rs_pin 0
     
    #define D4_pin 4
     
    #define D5_pin 5
     
    #define D6_pin 6
     
    #define D7_pin 7
     
     
    LiquidCrystal_I2C lcd (I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); // à partir de cela et ci-dessus sont des choses LCD i2c
     
     
    const int trigPin = 9; // les broches du module et où elles sont câblées
     
    const int echoPin = 10;
     
     
    longue durée; // variables nécessaires pour mesurer
     
    distance de flottementCm;
     
     
    void setup() {
     
     
     
               lcd.begin (16,2); 
     
               lcd.setBacklightPin (BACKLIGHT_PIN, POSITIVE);
     
               lcd.setBacklight (HIGH);
     
               pinMode (trigPin, OUTPUT);
     
               pinMode (echoPin, INPUT);
     
    }
     
     
    boucle vide () {
     
              lcd.clear (); // j'ajoute cette fonction, alors résolvez le problème de "cmcm"
     
              digitalWrite (trigPin, LOW); // réglage de la goupille de déclenchement sur bas
     
              delayMicroseconds (2); // delay est habituellement en millisecondes mais ici nous sommes sur µs
     
              digitalWrite (trigPin, HIGH); // émission des ultrasons
     
              délaiMicrosecondes (10); // durée d'émission
     
              digitalWrite (trigPin, LOW); // éteindre l'émetteur
     
     
              duration = pulseIn (échoPin, HIGH); // mesure la durée pulseIn fonction mesure le temps entre le passage de l'echopin et le passage au bas
     
     
     
              distanceCm = durée * 0,034 / 2;
     
     
     
              lcd.setCursor (0,0); 
     
              lcd.print ("Distance:"); 
     
              lcd.setCursor (0,1);
     
              lcd.print (distanceCm); 
     
              lcd.print ("cm");
     
     
     
              délai (1000);
     
    }
    A+
    Stéphanie

  7. #7
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Stéphanie

    Première chose, quand tu mets du code sur le forum, clique sur le # ci dessus afin d'avoir les balises Code

    et colle ton texte entre les 2 ][.

    La raison de tes problèmes, il ne faut surtout pas traduire la page en français avant de copier/coller le code, car le code est aussi traduis!!!
    ainsi

    long duration; //some variables that we need, duration and distance
    devient
    longue durée; // variables nécessaires pour mesurer

    Qui introduit 2 erreurs, longue n'existe pas et durée avec des accents ne sont pas acceptés (raison du stray '\303' sauf erreur)

    (C'est le métier qu entre )

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par Stéphanie13000 Voir le message
    apparement cela voudrait peut être dire que l'erreur est venue du fait que j'ai fais un copier coller dans l'IDE, j ai beau regarder ligne par ligne je ne vois pas
    l'autre souci du copier-coller c'est que tu peux avoir des caractères invisibles (caractères non imprimables est le terme exact) qui s'incrustent dans ton code et qui provoquent ces erreurs.

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    Ah oui d'accord je comprends effectivement c'est google qui traduit automatiquement donc c'est plus correct, oui c'est le métier qui rentre

    Je fais cela demain matin et je vous dis

    Merci à tous pour votre aide

    Cordialement

    Stéphanie

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    Bonsoir, j ai pu m'y mettre ce soir pour voir si ça marche mais il reste des erreurs

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    //This code is to use with HC-SR04 ultrasound module, 
     
    //it measures the distance and display it on the LCD i2c monitor in cm
     
    //refer to surtrtech channel for wiring
     
     
    #include <LiquidCrystal_I2C.h> //LCD i2c library
     
     
     
    #define I2C_ADDR 0x27 
     
    #define BACKLIGHT_PIN 3
     
    #define En_pin 2
     
    #define Rw_pin 1
     
    #define Rs_pin 0
     
    #define D4_pin 4
     
    #define D5_pin 5
     
    #define D6_pin 6
     
    #define D7_pin 7
     
     
    LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); // from this and above are LCD i2c stuff
     
     
    const int trigPin = 9;  //pins of the module and where they are wired
     
    const int echoPin = 10;
     
     
    long duration;  //variables nedeed for measuring
     
    float distanceCm;
     
     
    void setup() {
     
     
     
               lcd.begin(16,2); 
     
               lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
     
               lcd.setBacklight(HIGH);
     
               pinMode(trigPin, OUTPUT);
     
               pinMode(echoPin, INPUT);
     
    }
     
     
    void loop() {
     
              lcd.clear(); //I add this fucntion so solve that problem of "cmcm"
     
              digitalWrite(trigPin, LOW); //setting the trigger pin on low
     
              delayMicroseconds(2);       //delay is usually in miliseconds but here we are on µs
     
              digitalWrite(trigPin, HIGH);//emitting the ultrasounds
     
              delayMicroseconds(10);      //duration of emission
     
              digitalWrite(trigPin, LOW); //turning off the emitter
     
     
              duration = pulseIn(echoPin, HIGH); //measuring the duration pulseIn function measure the time between the echopin getting on high and the getting on low
     
     
     
              distanceCm= duration*0.034/2;
     
     
     
              lcd.setCursor(0,0); 
     
              lcd.print("Distance: "); 
     
              lcd.setCursor(0,1);
     
              lcd.print(distanceCm); 
     
              lcd.print(" cm");
     
     
     
              delay(1000);
     
    }

    Voila l'erreur qui est sortie

    LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); // from this and above are LCD i2c stuff

    no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'

    Je sais pas si j ai fais ce que vous m'avez demandé de faire pour coller le code

    Stéphanie

  11. #11
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Stéphanie

    Pour le "collage" du code, c'est OK

    Pour l'affichage, tu as mélangé 2 configurations:

    Tu charges une bibliothèque pour LCD i2C (#include <LiquidCrystal_I2C.h>)et dans le programme tu initialises pour un affichage LCD sans interface i2C!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
    Pour initialiser i2C c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LiquidCrystal_I2C lcd(I2C_ADDR,16,2);
     
    void setup() {
    	lcd.begin();
    Et ces variables deviennent inutiles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //#define BACKLIGHT_PIN 3
    //#define En_pin 2
    //#define Rw_pin 1
    //#define Rs_pin 0
    //#define D4_pin 4
    //#define D5_pin 5
    //#define D6_pin 6
    //#define D7_pin 7
    Bonne soirée
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    Bonjour et désolée,

    J'ai suivie tes indications mais j'ai du me tromper, la compilation se fait normalement mais après le téléversement rien ne passe, pourrais tu s'en trop t'ennuyer me donner le bon code, je désespère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #//This code is to use with HC-SR04 ultrasound module, 
    //it measures the distance and display it on the LCD i2c monitor in cm
    //refer to <a href="http://www.surtrtech.com" target="_blank">www.surtrtech.com</a> for more information
     
    #include <LiquidCrystal_I2C.h> //LCD i2c library
     
     
    #define I2C_ADDR 0x27 
     
    LiquidCrystal_I2C lcd(I2C_ADDR,16,2);
     
    const int trigPin = 9;  //pins of the module and where they are wired
    const int echoPin = 10;
     
    long duration;  //variables nedeed for measuring
    float distanceCm;
     
    void setup() {
     
               lcd.begin(16,2); 
     
    }
     
    void loop() {
              lcd.clear(); //I add this fucntion so solve that problem of "cmcm"
              digitalWrite(trigPin, LOW); //setting the trigger pin on low
              delayMicroseconds(2);       //delay is usually in miliseconds but here we are on µs
              digitalWrite(trigPin, HIGH);//emitting the ultrasounds
              delayMicroseconds(10);      //duration of emission
              digitalWrite(trigPin, LOW); //turning off the emitter
     
              duration = pulseIn(echoPin, HIGH); //measuring the duration pulseIn function measure the time between the echopin getting on high and the getting on low
     
              distanceCm= duration*0.034/2;
     
              lcd.setCursor(0,0); 
              lcd.print("Distance: "); 
              lcd.setCursor(0,1);
              lcd.print(distanceCm); 
              lcd.print(" cm");
     
              delay(1000);
    }
    Stéphanie

  13. #13
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Stéphanie

    J'ai testé le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    //This code is to use with HC-SR04 ultrasound module,
    //it measures the distance and display it on the LCD i2c monitor in cm
    //refer to surtrtech channel for wiring
     
    #include <LiquidCrystal_I2C.h> //LCD i2c library
    #define I2C_ADDR 0x27
    LiquidCrystal_I2C lcd(I2C_ADDR,16,2);                         // 0x27 = adresse sur bus i2C, peut ?tre 0x3f
     
    const int trigPin = 9;  //pins of the module and where they are wired
    const int echoPin = 10;
    long duration;  //variables nedeed for measuring
    float distanceCm;
     
    void setup() {
    	lcd.begin();
     
    	lcd.setBacklight(HIGH);
    	lcd.setBacklight(LOW);      // L'écran s'éteint 1 seconde preuve que l'adresse est OK
    	delay(1000);
    	lcd.setBacklight(HIGH);
     
    	pinMode(trigPin, OUTPUT);
    	pinMode(echoPin, INPUT);
    }
    void loop() {
    	digitalWrite(trigPin, LOW); //setting the trigger pin on low
    	delayMicroseconds(2);       //delay is usually in miliseconds but here we are on µs
    	digitalWrite(trigPin, HIGH);//emitting the ultrasounds
    	delayMicroseconds(10);      //duration of emission
    	digitalWrite(trigPin, LOW); //turning off the emitter
     
    	duration = pulseIn(echoPin, HIGH); //measuring the duration pulseIn function measure the time between the echopin getting on high and the getting on low
    	distanceCm= duration*0.034/2;
     
    	lcd.setCursor(0,0);
    	lcd.print("Distance: ");
    	lcd.setCursor(0,1);
    	lcd.print(distanceCm);
    	lcd.print(" cm  ");
     
    	delay(1000);
    }
    Il fonctionne, je n'ai pas ce capteur, mais j'ai simulé et la distance s'affichait.
    Au démarrage, l'affichage doit s'éteindre une seconde, preuve que l'adresse i2C est juste 0x27 dans notre cas.

    PS: N'oublies pas les balises quand tu envoies un code, ça facilite la copie d l'autre côté

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  14. #14
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Je viens d'essayer et j'ai cette erreur à la compilation

    no matching function for call to 'LiquidCrystal_I2C::begin()'
    Cordialement

    Stéphanie

  15. #15
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Stéphanie

    Question de version de bibliothèque

    Essaye lcd.init(); à la place de lcd.begin();.

    J'utilise cette bibliothèque

    A+
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  16. #16
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    Super c'était bien ça, ça marche enfin grace à toi , désolée de t'avoir sollicité plusieurs fois

    A+

    Stéphanie

  17. #17
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Salut,
    @Stéphanie, penses bien à cliquer sur le bouton "Résolu", en bas de la fenêtre, si tu juges que c'est le cas.
    C'est important pour le fonctionnement du forum, ça permet à n'importe qui de voir qu'une solution a été trouvé. La personne sait tout de suite que même s'il y a 50 messages ça vaut le coup de tout lire

    Je le fais pour toi ici.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  18. #18
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 106
    Points : 26
    Points
    26
    Par défaut
    En te remerciant

    Stéphanie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 13/02/2017, 07h49
  2. [Ecran] [LCD] Un écran flou
    Par Pedro dans le forum Périphériques
    Réponses: 5
    Dernier message: 13/09/2006, 16h19
  3. [Ecran LCD] Portable Asus
    Par Maxoo dans le forum Composants
    Réponses: 18
    Dernier message: 24/07/2006, 12h28
  4. Ecran LCD pour ps2 ?
    Par sorry60 dans le forum Périphériques
    Réponses: 6
    Dernier message: 03/01/2006, 18h49
  5. [HARDWARE] [Ecran LCD] Recherche écran tactile 7" in dash
    Par l.sage dans le forum Périphériques
    Réponses: 4
    Dernier message: 27/09/2004, 23h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo