# Aide sur un projet arduino

**URL:** <https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765>\
**Category:** Français\
**Created:** [May 19, 2024, 10:43am UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765 "2024-05-19T10:43:31Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![labiauce77](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@labiauce77](https://forum.arduino.cc/u/labiauce77)\
**Post date:** [May 19, 2024, 10:43am UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/1 "2024-05-19T10:43:31Z")

</div>

Bonjour a tous

tout nouveau sur ce forum et ...... totalement novice avec les arduino j'ai commencé un projet et je suis bloqué pour mon fonctionnement souhaité....  
en fait j'ai réalisé le code suivant en récupérant des morceaux ici et là sur le net.  
Je souhaite donc commander 6 relais par l'intermédiare d'un unique bouton poussoir (chaque impulsion commande le relais suivant en boucle avec à chaque fois un seul relais qui est en fonctionnement) tout cela fonctionne comme je le souhaite avec ce code.  
Mais je voudrais pouvoir lui ajouter un afficheur OLED en version i2c(128\*64 car le l'ai sous la main) afin de lui faire afficher une ligne de texte pour mon fonctionnement.... mais malgré toutes mes recherches, je n'arrive pas a faire se fonctionnement !!!  
par exemple "Relais 1" "Relais 2" etc...

Et donc un coup de main sympa serait le bienvenue afin de m'aider sur ce point et me permettre de comprendre pour l'avenir

Par avance un grand Merci pour le coup de main

voici mon code fonctionnel sans cet afficheur:

```arduino
#define SORTIE_1_PIN 11
#define SORTIE_2_PIN 10
#define SORTIE_3_PIN 9
#define SORTIE_4_PIN 8
#define SORTIE_5_PIN 3
#define SORTIE_6_PIN 2
#define BUTTON_PIN 1
#define SORTIE_NUMBER 6
byte SORTIEPinArray[SORTIE_NUMBER] = { SORTIE_1_PIN, SORTIE_2_PIN, SORTIE_3_PIN, SORTIE_4_PIN, SORTIE_5_PIN, SORTIE_6_PIN };
unsigned long debounceDuration = 50; // millis
unsigned long lastTimeButtonStateChanged = 0;
byte lastButtonState = HIGH;
int SORTIEIndex = 0;
void initAllSORTIEs()
{
  for (int i = 0; i < SORTIE_NUMBER; i++) {
    pinMode(SORTIEPinArray[i], OUTPUT);
  }
}
void powerOnSelectedSORTIEOnly(int index)
{
  for (int i = 0; i < SORTIE_NUMBER; i++) {
    if (i == index) {
      digitalWrite(SORTIEPinArray[i], HIGH);
    }
    else {
      digitalWrite(SORTIEPinArray[i], LOW);
    }
  }
}
void setup()
{
  initAllSORTIEs();
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  digitalWrite(SORTIEPinArray[SORTIEIndex], HIGH);
}
void loop()
{
  unsigned long timeNow = millis();
  if (timeNow - lastTimeButtonStateChanged > debounceDuration) {
      byte buttonState = digitalRead(BUTTON_PIN);
    if (buttonState != lastButtonState) {
      lastTimeButtonStateChanged = timeNow;
      lastButtonState = buttonState;
      if (buttonState == HIGH) { // button has been released
        SORTIEIndex++;
        if (SORTIEIndex >= SORTIE_NUMBER) {
          SORTIEIndex = 0;
        }
        powerOnSelectedSORTIEOnly(SORTIEIndex);
      }
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![al1fch](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/al1fch/32/979602_2.png) [@al1fch](https://forum.arduino.cc/u/al1fch)\
**Post date:** [May 19, 2024, 11:11am UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/2 "2024-05-19T11:11:07Z")

</div>

Bonjour @labiauce77 et Bienvenue

> [@labiauce77](#):
>
> tout nouveau sur ce forum et ......

C'est donc le moment idéal pour consulter ceci pour découvrir où et comment demander de l'aide :

> [@Les bonnes pratiques du Forum Francophone](https://forum.arduino.cc/t/les-bonnes-pratiques-du-forum-francophone/861014):
>
> frwarning QUELQUES RÈGLES SIMPLES À LIRE IMPÉRATIVEMENT AVANT DE POSTER warning Elles faciliteront la vie de tous et contribueront à rendre votre expérience la plus enrichissante possible. Bienvenue !!! Vous rejoignez une communauté : nous incitons très fortement les nouveaux arrivants sur la partie francophone à rédiger [dans ce fil de discussion](https://forum.arduino.cc/t/presentez-vous/96822/10000) une rapide présentation personnelle. Aidez nous à vous aider : les réponses qui sont faites sur le forum francophone arduino sont majorit…

Je viens de retirer ton message de la zone exclusivement réservée aux réalisations **finies** pour le mettre dans la partie principale du Forum Francophone

---

<div class="post-metadata">

**Author:** ![lesept](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/lesept/32/238959_2.png) [@lesept](https://forum.arduino.cc/u/lesept)\
**Post date:** [May 19, 2024, 11:38am UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/3 "2024-05-19T11:38:38Z")

</div>

Tu peux commencer par reproduire ce qui est fait ici :

> **[Guide for I2C OLED Display with Arduino | Random Nerd Tutorials](https://randomnerdtutorials.com/guide-for-oled-display-with-arduino/)**
>
> Learn how to use the SSD1306 0.96 inch I2C OLED display with Arduino. We'll also build a project example that displays temperature and humidity readings.

Ensuite tu prends ce qui t'intéresse et tu l'ajoutes à ton code.

---

<div class="post-metadata">

**Author:** ![labiauce77](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@labiauce77](https://forum.arduino.cc/u/labiauce77)\
**Post date:** [May 19, 2024, 1:52pm UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/4 "2024-05-19T13:52:35Z")

</div>

Désolé de ne pas avoir posté au bon endroit ....  
mais j'avoue avoir du mal avec ce forum !

---

<div class="post-metadata">

**Author:** ![labiauce77](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@labiauce77](https://forum.arduino.cc/u/labiauce77)\
**Post date:** [May 20, 2024, 5:47pm UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/5 "2024-05-20T17:47:18Z")

</div>

Bonsoir,  
bon ! malgré le lien envoyé je reste malheureusement avec mes problèmes et aucun bon fonctionnement .....

---

<div class="post-metadata">

**Author:** ![lesept](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/lesept/32/238959_2.png) [@lesept](https://forum.arduino.cc/u/lesept)\
**Post date:** [May 20, 2024, 6:05pm UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/6 "2024-05-20T18:05:33Z")

</div>

Explique clairement ce tu as fait et pourquoi ça ne marche pas.  
Si tu as suivi le tutoriel, tu devrais voir les résultats annoncés. Sinon, c'est soit que tu as mal suivi les instructions soit que ton matériel est défectueux.  
Comme on n'est pas avec toi pour vérifier, il faut que tu décrives avec le maximum de détails ce que tu as fait et ce que tu vois (messages d'erreur, ou autres).

@al1fch t'a demandé de lire et appliquer ce qui est demandé dans le message épinglé (voir post #2).

---

<div class="post-metadata">

**Author:** ![68tjs](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/68tjs/32/927374_2.png) [@68tjs](https://forum.arduino.cc/u/68tjs)\
**Post date:** [May 20, 2024, 6:12pm UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/7 "2024-05-20T18:12:10Z")

</div>

As-tu fait ton essai rien qu'avec le programme du document indiqué ?

Il faut systématiquement faire les programmes d'exemples fournis avec les bibliothèques de composants.  
Sans rien y ajouter. Les exemples sont vérifiés et garantis fonctionnels.

Quand cela fonctionne, tu assembles avec le premier code et si cela ne fonctionne plus, tu ne te poseras pas mille questions : ce ne sera pas le composant, ce ne sera pas le câblage, c'est que, probablement, il y a une erreur dans, ou entre, les deux codes.

---

<div class="post-metadata">

**Author:** ![labiauce77](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@labiauce77](https://forum.arduino.cc/u/labiauce77)\
**Post date:** [May 20, 2024, 6:18pm UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/8 "2024-05-20T18:18:52Z")

</div>

Merci de vos réponses  
ma question initiale concerne le rajout d'un afficheur OLED pour avoir l'indiquation du relais en service,  
dans le lien envoyé rien trouvé concernant cela....

NB le pb programme du lien oui j'ai testé et mon materiel fonctionne avec celui-ci.

---

<div class="post-metadata">

**Author:** ![68tjs](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/68tjs/32/927374_2.png) [@68tjs](https://forum.arduino.cc/u/68tjs)\
**Post date:** [May 20, 2024, 7:08pm UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/9 "2024-05-20T19:08:35Z")

</div>

> [@labiauce77](#):
>
> ma question initiale concerne le rajout d'un afficheur OLED pour avoir l'indiquation du relais en service,  
> dans le lien envoyé rien trouvé concernant cela....

Tu ne crois pas que l'on va trouver un article te concernant exclusivement !  
Nous te donnons des pistes et des méthodes de travail.  
Ce que je dis, c'est que si tu t'entêtes à vouloir travailler sur ton programme complet, tu risques de te décourager avant d'avoir trouvé la solution.

> [@labiauce77](#):
>
> NB le pb programme du lien oui j'ai testé et mon materiel fonctionne avec celui-ci.

Il n'y a donc pas de raison que cela ne fonctionne pas, c'est un bon point.

Déjà ce que tu veux envoyer sur l'écran, est-ce que cela s'affiche dans le moniteur série ?

---

<div class="post-metadata">

**Author:** ![labiauce77](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@labiauce77](https://forum.arduino.cc/u/labiauce77)\
**Post date:** [May 20, 2024, 7:20pm UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/10 "2024-05-20T19:20:53Z")

</div>

tu parles du programme " Complete project details at [https://randomnerdtutorials.com](https://randomnerdtutorials.com)" ?

---

<div class="post-metadata">

**Author:** ![68tjs](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/68tjs/32/927374_2.png) [@68tjs](https://forum.arduino.cc/u/68tjs)\
**Post date:** [May 21, 2024, 7:34am UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/11 "2024-05-21T07:34:40Z")

</div>

Je parle de n’importe quel exemple certifié, soit random, soit de la bibliothèque.

Quand tu utilises un composant pour la première fois, faire un exemple certifié est la première operation a faire.  
Ne pas le faire est perdre du temps.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [November 17, 2024, 7:35am UTC](https://forum.arduino.cc/t/aide-sur-un-projet-arduino/1261765/12 "2024-11-17T07:35:39Z")

</div>

Closed on November 17, 2024, 7:35am UTC

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
