<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF[
	<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
	<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
	<!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
	<!ENTITY swivt 'http://semantic-mediawiki.org/swivt/1.0#'>
	<!ENTITY wiki 'http://https://wikifab.hatlab.fr/Special:URIResolver/'>
	<!ENTITY category 'http://https://wikifab.hatlab.fr/Special:URIResolver/Category-3A'>
	<!ENTITY property 'http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3A'>
	<!ENTITY wikiurl 'https://wikifab.hatlab.fr/'>
]>

<rdf:RDF
	xmlns:rdf="&rdf;"
	xmlns:rdfs="&rdfs;"
	xmlns:owl ="&owl;"
	xmlns:swivt="&swivt;"
	xmlns:wiki="&wiki;"
	xmlns:category="&category;"
	xmlns:property="&property;">

	<owl:Ontology rdf:about="https://wikifab.hatlab.fr/Special:ExportRDF/Recup-C3-A9ration_d-27un_afficheur_LED_-C3-A0_d-C3-A9calage">
		<swivt:creationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-04-28T15:34:03+02:00</swivt:creationDate>
		<owl:imports rdf:resource="http://semantic-mediawiki.org/swivt/1.0"/>
	</owl:Ontology>
	<swivt:Subject rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Recup-C3-A9ration_d-27un_afficheur_LED_-C3-A0_d-C3-A9calage">
		<rdf:type rdf:resource="http://https://wikifab.hatlab.fr/Special:URIResolver/Category-3ATutoriels"/>
		<rdfs:label>Recupération d'un afficheur LED à décalage</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://wikifab.hatlab.fr/Special:ExportRDF/Recup-C3-A9ration_d-27un_afficheur_LED_-C3-A0_d-C3-A9calage"/>
		<swivt:page rdf:resource="https://wikifab.hatlab.fr/Recup-C3-A9ration_d-27un_afficheur_LED_-C3-A0_d-C3-A9calage"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">fr</swivt:wikiPageContentLanguage>
		<property:Area rdf:resource="&wiki;-C3-89lectronique"/>
		<property:Cost rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</property:Cost>
		<property:Currency rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR (€)</property:Currency>
		<property:Description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Réutiliser un afficheur LED digital pour des projets Arduino. Exemple avec 4 registres à décalage HC164</property:Description>
		<property:Difficulty rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Facile</property:Difficulty>
		<property:Duration rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Duration>
		<property:Duration-2Dtype rdf:datatype="http://www.w3.org/2001/XMLSchema#string">heure(s)</property:Duration-2Dtype>
		<property:Introduction rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Il est courant de trouver dans les bacs de récupération des afficheurs 7 segments LED avec registre à décalage. La connexion à ses afficheurs est simple, elle n'a besoin que de 2 fils: clock et data. L'Arduino est parfaitement adapté pour générer les bons signaux.</property:Introduction>
		<property:Licences rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Attribution (CC BY)</property:Licences>
		<property:Material rdf:datatype="http://www.w3.org/2001/XMLSchema#string">* 1 Display à LED 7 segment et Registre à décalage

* Des fils avec connecteurs</property:Material>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Par exemple, ici, le display provient d'une carte de climatiseur.
Il y a 4 x 8 segments, avec 3 x 3 connecteurs bien visibles.
Le 8ieme segment correspond au point après chaque chiffre.
On ne voit pas les registres, mais il y en a très probablement puisqu'il n'y a que 7 connecteurs (hors masse et alimentation) pour 32 segments.

Reste à dessouder les 9 connecteurs, ou (plus rapide) les couper à la pince.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">La carte est multi-couches, donc assez compliqué de s'y retrouver dans le circuit.
En testant la connectivité entre les connecteurs, 4 connecteurs s'avèrent en lien direct (résistance nulle): les 3 du haut (CON3) et celui au centre à droite (CON1).
Ceux-ci sont visiblement connectés sur le circuit à de grandes surfaces conductrices qui est très probablement la masse.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Plus simple qu'il n'y parait: en général sur le circuit, le VCC est visualisé par une gravure "carrée".
Justement, il y a un lien entre un carré sur le circuit et le connecteur le plus bas du CON1.

On peut alimenter !
Les LED vont s'afficher un peu au hasard au gré des mauvais contacts et parasites.

Victoire!</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Il y a bien 4 chips derrière, qui correspondent à chacun des chiffres de l'afficheur.
Après nettoyage et avec une bonne loupe, on arrive à lire "HC164".
C'est une registre à décalage très courant et simple.

La doc est facile à trouver (voir ci-joint) et le principe simple:

* A chaque transition sur le pin CLK (Clock)
* La valeur en entrée DATA est "poussée" dans le registre et décale les 8 bits qui y étaient déjà.
* Le 8ieme bit est chainé sur l'entrée DATA du registre suivant
* Ainsi, après 8 x 4 = 32 transitions, tous les bits des 4 display sont valorisés.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Plusieurs méthodes:

* Suivre les circuits CLK et DATA qui partent des HC164: L'idéal serait de pouvoir suivre les circuits visuellement, mais sur cette carte multi-couches c'est très difficile.

* Utiliser l'ohmètre pour trouver les liens avec les connecteurs: Pas de chance, aucun lien direct.

* Par élimination: On peut ignorer les 2 connecteurs du haut de CON 2: ceux-ci sont reliés aux interrupteurs sous le display.

Ainsi, il ne reste que 2 candidats: en haut du CON1 et en bas du CON2.

Avec un fil, connecter au + l'un des 2 pins. Le Data n'affiche rien. Mais le Clock fait avancer les segments de gauche à droite.

On a maintenant les 2 pins: voir la photo.</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">On peut connecter à l'Arduino, par exemple:
* GND    -&gt; GND
* CON+  -&gt; VCC
* CLK    -&gt; Pin D3 (PWM)
* DATA  -&gt; Pin 2

Voici un exemple de code qui permet de contrôler totalement l'affichage.

Et voilà!
Plus besoin de commander un nouvel afficheur au bout du monde...</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">&lt;code&gt;
; #define data 2
; #define clock 3;  //D PWM
;
;void setup()
;{
;;;pinMode(clock, OUTPUT); // make the clock pin an output
;;;pinMode(data , OUTPUT); // make the data pin an output
; }

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


;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register
;;;delay(1000);;;
;;;shiftOut(data, clock, LSBFIRST, B00000001); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000010); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000100); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00001000); // send this binary value to the shift register
;;;delay(1000);;;
;;;shiftOut(data, clock, LSBFIRST, B00010000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00100000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B01000000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B10000000); // send this binary value to the shift register
;;;delay(1000);;;
;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register
;;;shiftOut(data, clock, LSBFIRST, B00000000); // send this binary value to the shift register

;;;delay(1000);;;

;;;shiftOut(data, clock, LSBFIRST, B10101010); // send this binary value to the shift register
;;;delay(1000);

; for(int i = 0; i &lt; 4; ++i) //for 0 - 7 do
;;;{
;;;;;shiftOut(data, clock, LSBFIRST, B01010101); // bit shift a logic high (1) value by i
;;;;;delay(500); // delay 100ms or you would not be able to see it
;;;}
;;;delay(1000);

;}
&lt;/code&gt;</property:Step_Content>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recherche de la masse</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recherche de l'alimentation +5V</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recherche du Clk et Data</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Récupérer le display</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Trouver les registres à décalages</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Connexion à l'Arduino</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Le Code</property:Step_Title>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Registre à décalage</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">affichage</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">LED</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">7 segments</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">display</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Réutilisation</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Récupération</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">HC164</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">carte-arduino</property:Tags>
		<property:Tools rdf:datatype="http://www.w3.org/2001/XMLSchema#string">* 1 fer à souder

* De quoi dessouder ou couper une connexion

* 1 Arduino Nano

* 1 Testeur (Voltmètre/Ohmmètre)

* En option 1 shield Nano</property:Tools>
		<property:Type rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Technique</property:Type>
		<swivt:wikiPageModificationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2022-04-22T20:12:44Z</swivt:wikiPageModificationDate>
		<property:Modification_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2459692.3421759</property:Modification_date-23aux>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recupération d'un afficheur LED à décalage</swivt:wikiPageSortKey>
	</swivt:Subject>
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#creationDate" />
	<owl:Class rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Category-3ATutoriels" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#page" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiNamespace" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageContentLanguage" />
	<owl:ObjectProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3AArea" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ACost" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ACurrency" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ADescription" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ADifficulty" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ADuration" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ADuration-2Dtype" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3AIntroduction" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ALicences" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3AMaterial" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3AStep_Content" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3AStep_Title" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ATags" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3ATools" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3AType" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageModificationDate" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.hatlab.fr/Special:URIResolver/Property-3AModification_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageSortKey" />
	<!-- Created by Semantic MediaWiki, https://www.semantic-mediawiki.org/ -->
</rdf:RDF>