Publié le 26 juillet 2022 - par

Module lecteur de QR-code et Code Barre YHD-M800D

Pourquoi tester ce lecteur de code barre et QR-Code ? De temps en temps je participe aux activités d’une association qui vend à bas prix des vêtements (toutes tailles y compris puériculture), des objets de puériculture et jeux d’enfants et ados (peluches, petits jouets…). Je valide les jouets ou petits ordinateurs/consoles… (État de la batterie, coulures de piles, pas de mot de passe, présence de la doc…) …

Module lecteur de QR-code et Code Barre YHD-M800D

Là où j’ai un peu de mal, c’est que tous les objets, et il y en  a des centaines, sont étiquetés manuellement, notés dans un cahier… Les personnes viennent déposer des objets à vendre. Chaque objet est examiné et validé manuellement. Une étiquette est fixée avec le pistolet ci-contre. Pour les jouets c’est une étiquette ficelée ou autocollante. Tout est mis en expo dans une grande salle. Après la vente, les membres de l’association font un inventaire manuel et re-pointent ce qui n’a pas été vendu. Les objets sont regroupés par vendeur et les déposants peuvent récupérer le montant de la vente (moins le % de l’asso) ainsi que les invendus.

Ces manipulations m’agacent un peu et j’imagine un système avec un Raspberry Pi qui gèrerait tout ça en automatique, avec un lecteur de code barre / QR-code et une imprimante de codes barres. Mais bon, c’est pas gagné car l’inertie est importante dans ce genre d’association 😀 , du genre : « On a toujours fait comme ça », « T’es sûr que c’est fiable ton truc? » etc… etc…

Un lecteur de codes pas cher

La première étape est de trouver un lecteur de code QR et code barre pas trop cher. Il y a des modèles disponibles en ligne sous forme de douchette sans fil, en USB… je me suis arrêté sur ce lecteur miniature qui dispose d’une sortie au choix (USB ou série).

Code-barre, codes-barres, code à barres, QR code…

L’orthographe de notre sujet du jour n’est pas aussi nette que les barres qui composent le code 😀 . Après s’être appelé code à barres il est devenu le code-barres (bin oui il y a plusieurs barres) et codes-barres au pluriel. On trouve aussi parfois codabar… Pour nos voisins anglo-saxons, c’est barcode qu’on le nomme.

Le code-barres : pour quoi faire ?

Le code à barres permet d’identifier un produit rapidement et il offre d’autres avantages : voici quelques utilisations courantes du code à barres :

  • Entrer un produit en stock
  • Sortir un produit du stock
  • Connaître le prix du produit
  • Lancer automatiquement une commande
  • Assurer la traçabilité d’un produit, d’un colis
  • Gérer des prêts de livres, de films

Quelques types de code-barres utilisés

Parmi la quantité de codes disponibles (voir les sources) voici quelques exemples qui vous rappelleront sans doute des choses… Avec un décryptage de ces codes. Mais si vous voulez en savoir plus, faites un tour chez Gomaro.

Code39

barcode-code39Le code 39 est le code-barres le plus utilisé dans les applications industrielles. Il est alphanumérique et permet de coder 43 caractères : 0-9, A-Z, plus quelques symboles (– , . , Espace, * , $ , / , + , %). Ce code-barres est de longueur variable, bidirectionnel (il se lit dans les deux sens). Son nom provient de sa structure qui est de 3 parmi 9.

Free_3_of_9_(Code_39_barcode)_600px
Chaque caractère est toujours composé de 9 éléments : 5 barres et 4 espaces.
Chaque barre ou espace est large ou étroit et 3 parmi les 9 éléments sont toujours larges. C’est d’ailleurs ce qui est à l’origine de son nom : Code 39

Code-barre 128

barcode-code128Le code-barres 128 est un code utilisé en transport, santé, industrie et distribution. Chaque caractère est composé de 11 modules blancs ou noirs. Ces 11 modules composent 3 barres et 3 espaces. La largeur de chaque barre et espace varie de 1 à 4 modules. Le caractère STOP est composé de 13 modules.

Code EAN13

EAN signifie European Article Numbering = Numérotation Européenne des articles.

barcode-EAN13-hortensiaCelui là vous le connaissez forcément, c’est celui qu’on trouve sur tous les produits vendus en supermarché. Il diffère de l’UPC qui suit par l’affichage de 13 chiffres au lieu de 12… D’où son nom EAN13 !
Celui-ci a été pris sur un Hortensia rouge vendu en jardinerie. Au début du code 33 représente la France.

UPC-EANLe code peut se décomposer comme sur l’image à gauche ( © Gomaro) : le préfixe est le code du pays, le N° de participant identifie l’entreprise.
Le N° d’article désigne l’article de ce fabricant.
Enfin un dernier chiffre sert de clé de vérification pour s’assurer que le code a été lu correctement.

barcode-EAN13-livre-pi2Celui-là est pas mal aussi… C’est un code débutant par 978, ce qui indique que c’est un livre. Ici c’est donc aussi le N° ISBN du livre (ah oui, c’est le Raspberry Pi 2 de chez ENI 🙂 )… L’ISBN (International Standard Book Number ou Numéro international normalisé du livre) est un numéro international qui permet d’identifier de manière unique chaque édition de chaque livre publié, que son support soit numérique ou sur papier. Il est destiné à simplifier la gestion informatique pour tous les intervenants de la chaîne du livre (imprimeur, éditeur, libraire, bibliothèque, etc.).

codebarre-ISBN_Pi2Après le code 978 qui indique que ce code concerne un livre, l’ISBN se décompose ainsi :

  • 1 chiffre pour le groupe
  • 6 chiffres pour l’éditeur
  • 2 chiffres pour le titre
  • 1 clé de vérification

Code-barres UPC

barcodeUPC-A-Raspi3C’est un équivalent américain du code EAN13. Historiquement le code universel des produits (en anglais Universal Product Code) est le premier système d’identification numérique utilisé aux États-Unis et au Canada, pour les articles vendus en magasin. Il a été inventé dans les années 1970 par George Laurer, ingénieur chez IBM, et adopté en mai 1973. Celui qui est représenté ci-dessus figure sur… la boîte d’un Raspberry Pi 3 made in UK, distribué par Kubii.

UPC_principeDans le code-barres, chaque chiffre est représenté par un agencement de barres et d’espace, au nombre de sept en tout.

Selon que le chiffre se trouve dans la partie gauche (L) ou droite (R), sa représentation diffère. Les R sont le complément à 1 des L. Cette différence a pour but de permettre la reconnaissance du produit, que la lecture soit faite de gauche à droite, ou vice-versa.Les barres de garde, surlignées en vert, séparent deux groupes de six chiffres.

Depuis 2004, l’organisme de réglementation Uniform Code Council oblige tous les systèmes commerciaux de reconnaissance de code-barres à reconnaître l’UPC et l’EAN dès la fin de 2004.

QR-code

Un code QR (en anglais QR code), en forme longue quick response code (« code à réponse rapide »), est un type de code-barres à deux dimensions constitué de modules-carrés noirs disposés dans un carré à fond blanc. Ces points définissent l’information que contient le code.

Ce dessin, lisible par machine, peut être visualisé sur l’écran d’un appareil mobile ou imprimé sur papier. Il existe d’autres formats de code-barres deux dimensions au fonctionnement similaire, comme le Flashcode ou encore le 2D-Doc, confondus avec le code QR. (Source et plus d’infos sur Wikipedia)

Le Scanner de code barre / QR Code YHD-M800D

Le scanner de code seul est de taille réduite. Ici il ne comporte pas l’adaptateur USB ou série qui va augmenter sa taille.  Le câble USB est livré avec le scanner

Le scanner peut lire des codes barres classique 1D, mais aussi des codes QR en 2D. En USB il simule une saisie au clavier, ce qui fait qu’il ne nécessite aucun driver. Il suffira d’ouvrir l’application qui sera utilisée et de scanner les codes pour remplir les champs de données.

Ci-dessus les dimensions de la carte complète, avec le scanner et l’adaptateur USB.

Vous pouvez également choisir d’utiliser directement le scanner et de développer votre interface. Vous accéderez alors directement à l’interface du scanner.

En fonction de votre configuration, vous pouvez choisir différents types d’interface.

Le capteur comporte de gauche à droite une LED rouge pour éclairer le code barre, le capteur CMOS et deux LED blanches haute luminosité pour éclairer la cible :

Sur le dessus du capteur, le microprocesseur V133 Allwinner qui gère le scanner et sa configuration en fonction des codes qui sont lus dans le manuel de configuration.

Sur cette vue de dessus, on voit les composants ajoutés sur la carte d’interface : la LED D1 qui clignote quand la lecture est faite et au dessus de la prise USB le Beeper qui signale auditivement la prise en compte du code barre.

Sur ces photos vous voyez le scanner sous différents angles. On repère le bouton poussoir qui déclenche la lecture et la LED qui confirme la bonne prise en compte du code barre. Le tapis sous le scanner donne l’échelle.

Les dessous de la carte Scanner Code Barre / QR code

Alors que les composants CMS ont été soudés automatiquement, les composants traversants ont été soudés à la main, ce qui réserve quelques surprises. J’ai dû couper les pattes, en particulier celles de la LED et du buzzer, pour que l’ensemble ne soit pas trop épais et rentre dans un boîtier sans être gêné par ces pattes.

La notice

Le service client YHDAA m’a envoyé le manuel utilisateur du Scanner en PDF, vous pouvez le télécharger en cliquant sur ce lien. Il y a aussi le driver pour Windows 7… au cas où !

Caractéristiques

  • Taille miniature : 21 x 16 x 17 mm + adaptateur USB = 44 x 33 x 17 mm
  • Plug and play, sans pilote, pratique à utiliser.
  • Existe avec interface RS232, USB, TTL, Micro USB.
  • Le scanner lit les codes à barres 2D et 1D imprimés sur les étiquettes ou affichés sur les écrans des appareils.
  • Petite taille, facile à intégrer dans n’importe quel appareil, en particulier pour les applications à espace limité.
  • Puissante capacité de décodage pour la plupart des codes 1D et 2D, peut lire des codes incomplets et flous.
  • Facilite le développement d’applications – les instruction de développement du port série sont complètes pour permettre de développer un contrôle interactif à partir de l’ordinateur hôte.
  • Champs d’application : casier à colis, casier de supermarché, machine de billetterie, machine de vente en libre service, armoire express intelligente, kiosque, casier, machine de contrôle d’accès, magasin libre-service, machine d’enregistrement, guichet bancaire, ligne d’assemblage d’usine, logistique, hôpital, PDA, etc.
  • Si vous avez des besoins particuliers, le scanner peut être personnalisé selon votre demande
Nom du produit YHD-M800D  2D CMOS Module Scanner Barcode
Capteur CMOS 640×480 CMOS (300 000 pixels)
Source optique Diode  rouge visible  620nm
Scan Balayage à détection automatique
Informations en retour Buzzer et LED
Vitesse de décodage 500 fois/seconde
Contraste minimum ≥ 25%
Résolution 0,1 mm
Décodage 1D : UPC/EAN, avec UPC/EAN complémentaire, Code128, Code39, Code 39Full ASCII,Coda bar,industriel /Interleaved 2 of 5 Code93,MSI,Code11,ISBN,ISSN,China post,GS1 Databar,etc.

2D : PDF417 QR Aztec DataMatrix Maxicode MicroPDF417 etc.

Profondeur de champ 40-120mm      Code 39(5MIL)
20-300mm      EAN-13 (13MIL)
25-340mm      Code 39(20MIL)
15-500mm      Code 39(40MIL)
20-150mm      PDF417(6.8MIL)
15-250mm      QR Code(20MIL)
Angle de lecture Roulis 360°, tangage ± 65°, inclinaison ±60°.
Consommation Max. : 212mA En fonctionnement : 156mA~212mA En veille : 156mA
Tension 3.3 V ± 10% continu
Température de stockage -40°C ~ 70°C
Température de fonctionnement -20°C ~ 60°C
Humidité relative 0 ~ 95%
Poids 3g (scanner sans câble et sans carte d’adaptation)

11g (scanner avec câble et carte d’adaptation)

Test de chute Résiste à une chute de 1,5 m sur du béton

Boîtier en 3D

Bien entendu le module est livré « tel quel » et n’a pas de boîtier. pour éviter tout risque « d’accident » j’ai dessiné vite fait un boîtier.

Mesure des cotes du scanner code barre / QR Code. J’ai dessiné une platine dans Fusion 360 pour simuler la carte et ses principaux composants.

Le boîtier avec la carte à l’intérieur

Le boîtier sans la carte. J’ai dû ajuster un peu le trou de passage du bouton poussoir et le plat à l’arrière du bouton, mais tout rentre bien.

Le boîtier avec ses deux ouvertures. La carte se positionne sur les encoches des piliers et le couvercle vient bloquer la carte. Pensez à mettre en place le bouton poussoir avent de fermer…

L’ensemble des fichiers 3D est disponible en cliquant sur ce lien.

Il a fallu réduire la taille de ces pattes de composants, inutilement longues.

La carte se positionne dans les encoches prévues sur les piliers

Le bouton poussoir en place après un petit ajustement à la lime…

Le scanner bien à l’abri dans son boîtier. Le couvercle est en place sur le dessus et bloque la carte. Il resterait à faire un guide de lumière pour ramener la lumière de la LED sur le dessus du boîtier, mais le bip est suffisant pour savoir qu’on a bien lu.

 

Les tests

Ce qui est intéressant c’est aussi le test pour voir si le produit répond bien…

J’ai testé sur un Pi3 avec LibreOffice et sur un PC Windows 11 avec LibreOffice également. Dans les deux cas le scanner se comporte comme un clavier et la lecture envoie les codes sur l’écran.

La lecture a été très variée… Dans ces cas là on prend tout ce qui comporte un code barre ou QR et on teste. Dans 90 pour cent des cas, la lecture fonctionne. Seuls quelques cas de codes postaux exotiques n’ont pas été lus.

Sur écran de PC la lecture des codes QR (wikipedia) fonctionne jusqu’au 57×57, ce qui est déjà pas mal. Sur le téléphone tous les codes ont été lus parfaitement.

Lecture de QR code sur écran PC

Lecture de Code barre sur des emballages (vous retrouvez ces codes sur la capture d’écran LibreOffice

Même ce code abîmé a été lu correctement. (voir ScreenShot LibreOffice)

Conclusion

Pour un prix aux alentours de 30€ vous aurez un lecteur de code barre/QR code pas embêtant à connecter puisqu’il émule un clavier et que vous pouvez programmer son fonctionnement de façon assez souple avec … des codes barres.

Le lecteur est en vente sur Aliexpress

 

Sources

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.