Faire fonctionner un afficheur 7 segments

Bonjour

Je souhaite faire fonctionner un afficheur 7-segment HT16K33.
J'ai effectué le branchement suivant:

J'ai brancher le +5V sur le 5V de la carte arduino nano, le - sur le GND et le SDA sur A4 et SCL sur A5.
Et j'ai écrit le code suivant:

#include <Wire.h>
#include <HT16K33.h>

HT16K33 seg(0x70);              //Crée un objet

void setup() {
  Serial.begin(115200);         //Initialise moniteur srrie
  Serial.println(__FILE__);

  seg.begin();                  //Initialise l'affichage
  Wire.setClock(100000);        //Initialise la communication I2C

  seg.displayOn();              //Active le segment d'affichage
  seg.setDigits(4);             //Affiche nb 4

}

void loop() {
  // put your main code here, to run repeatedly:

}

Je ne sais pas pourquoi il ne m'affiche rien et on ne m'affiche pas de message d’erreur pour autant.

Ce code ne fait rien afficher.

Cette ligne ne fait pas afficher un 4, elle sélectionne le 4ème digit.
Ce serait une bonne idée de regarder les exemples installés avec la librairie.

j'ai essayé de faire tourner les exemples et pareil il ne m'affiche rien. Surtout que pour la réalisation du montage j'ai regardé la vidéo de la personne qui justement avait fait la bibliothèque et l'utilisait.

Quelle librairie utilises-tu, il y en a plusieurs?

J’utilise les deux librairies ci dessous:

#include <Wire.h>
#include <HT16K33.h>

Excuse moi, mais soit je suis encore plus bigleux que je le craignais, soit votre câblage est affreux (problème d'alimentation):
tirez

  • un fil rouge entre le + de l'arduino et le + de votre afficheur (pas la peine d'avoir deux fils) ; attention s'il y a un 3v3 et un 5v...
    et
  • un fil noir entre le - de l'arduino (la masse) et la masse de votre afficheur.

etant bigleux, je n'ai pas regardé si les signaux I2C sont bien câblés; ne manquez pas de le verifier, puis testez avec un exemple...

oui tout est bon concernant les câblage des fils

Il y a plusieurs versions de librairie avec ce nom.
Où l'as-tu trouvée

On voit un fil blanc non connecté

Voici la bibliothèque en question
image

En effet je ne l'ai pas connecté car sur la vidéo ou sur les sites que je regardais il n'y en avait pas. Sur le fil non connecté est inscrit V_IO, savez-vous si je dois le connecter ? et ou ?

Les librairies de Rob Tillaart ont plutôt bonne réputation.
Si les programmes de démo ne fonctionnent pas, il faut se poser des questions sur le matériel.

  • Les fils coté afficheurs sont-ils bien soudés?
  • pas de mauvais contact dans la breadboard (cela arrive assez souvent)?
  • si tu as un voltmètre, vérifie que le 5V arrive bien sur l'afficheur

Autre piste: certaines cartes à HT16k33 ont plusieurs adresses (configurées par des soudures ; IIRC, il y a 8 possibilités).

Avez vous vérifié l'adresse (Arduino a un scanner I2C dans ses exemples, je crois -confirmé par I2CScanner - Arduino Reference )

hello
avant de tester un code à toi, testes un code exemple donné avec la lib.

pour info, tu n'affiches pas le nombre 4 comme dit dans le commentaire
voir le readme de la lib

void setDigits(uint8_t value) values 0..4, minimal number of digits shown, mandatory for large numbers on dual display.ICI, pour etre surs que nous parlons de la meme lib

Visuellement, oui ils sont bien soudés.
Non, j'ai fais des programme avec cette breadboard et les même fils (allumage de LED et Ecran lcd).
En effet j'ai bien 5V qui arrive sur l'afficheur, je viens de vérifier avec le multimètre.

Comment je peux vérifier l'adresse ?

oui nous parlons bien de la même. Désormais je ne teste que les exemples mais ça ne fonctionne pas.

  • Par scan I2C (je pense que c'est un exemple de votre IDE Arduino) Voir le lien que je vous ai fourni pour une librairie (à télécharger comme pour le ht16k33...) avec des exemples.

  • par contemplation de votre carte (certaines permettent de changer d'adresse avec des ponts de soudure ou avec un cutter...)
    Etant bigleux et sans référence de votre carte, je préfère un scan I2C -je l'utilise toujours avant de prendre en main une nouveau peripherique I2C; ça règle les faux contacts, les fantaisies d'adressage ) https://deepbluembedded.com/arduino-i2c-scanner/ commente les sorties d'un scan et a un logiciel spécifique -qui traîne un peu partout - ; il suffit de copier coller le code de deepblueembedded -et de bien d'autres: -

Ok j'ai téléchargé la librairie et exécuté les 3 programmes dans les exemples mais je suis censée obtenir quoi? Je n'ai pas compris a quoi me servait mon scan d,'adresse ?

Faites attention avec les exemples de lluis llama (recommandée par Arduino, car quasi universelle) :

  • il faut commenter des lignes pour qu'il ne croie pas avoir affaire à un ESP8266
  • il faut donner une liste complète des adresses à scanner, ce qui est pour le moins fastidieux.

J'utilise une variante (affiche sur LCD ou -incl- oLEd les adresses valides-) du "sketch" de deepblueembedded - et plein d'autres-);
le résultat se lit sur la console série de l'IDE, une fois celle ci bien configurée -baudrate à 9600 dans leur tutorial...- A chaque fois qu'un periferique I2C est détecté, il écrit "I2C found at adress"
Et, s'il ne trouve rien, il écrit "No I2C devices found" ce qui est limpide...

Si vous avez un gros problème de bus (un enorme; ça m'est déjà arrivé...), ce logiciel boucle... mais il a déjà affiché "Scanning"

Edité:(au vu de votre écrant)
prenez le logiciel de deepblueembedded - among many others- qui fait un balayage systématique: votre terminal est déjà bien configuré, et je ne veux pas déclarer un péripherique mort ou très comateux (pb câblage; pull ups) sur la foi d'un seul logiciel...