Note
Bonjour, bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez plus profondément dans le monde des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre & Partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Avant-premières exclusives : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus exclusifs.
Réductions spéciales : Profitez de réductions exclusives sur nos derniers produits.
Promotions festives et concours : Participez à des concours et promotions spéciales durant les fêtes.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !
5.1 Microcircuit - 74HC595
Un circuit intégré (Integrated Circuit) est un dispositif électronique miniature, représenté par la lettre « IC » dans les circuits.
Un processus spécifique est utilisé pour interconnecter les transistors, résistances, condensateurs, inducteurs et autres composants et circuits nécessaires dans un dispositif, fabriqué sur une ou plusieurs petites plaquettes semi-conductrices ou substrats diélectriques, puis encapsulé dans un boîtier. Cela devient une microstructure dotée des fonctions nécessaires au circuit ; tous les composants sont structurés comme un ensemble, permettant aux composants électroniques de franchir un grand pas vers la miniaturisation, la faible consommation d’énergie, l’intelligence et une haute fiabilité.
Les inventeurs des circuits intégrés sont Jack Kilby (circuits intégrés à base de germanium (Ge)) et Robert Norton Noyce (circuits intégrés à base de silicium (Si)).
Ce kit est équipé d’un circuit intégré, le 74HC595, qui permet de réduire considérablement l’utilisation des broches GPIO. Il peut remplacer 8 broches pour la sortie de signaux numériques en écrivant un nombre binaire de 8 bits.
Composants Requis
Pour ce projet, nous avons besoin des composants suivants :
Il est plus pratique d’acheter un kit complet, voici le lien :
Nom |
ARTICLES DANS CE KIT |
LIEN |
|---|---|---|
Kepler Kit |
450+ |
Vous pouvez également les acheter séparément via les liens ci-dessous :
SN |
COMPOSANT |
QUANTITÉ |
LIEN |
|---|---|---|---|
1 |
1 |
||
2 |
Câble Micro USB |
1 |
|
3 |
1 |
||
4 |
Plusieurs |
||
5 |
8(220Ω) |
||
6 |
8 |
||
7 |
1 |
Schéma

Lorsque MR (broche 10) est au niveau haut et OE (broche 13) est au niveau bas, les données sont entrées au front montant de SHcp et se dirigent vers le registre mémoire par le même front montant de SHcp.
Si les deux horloges sont connectées ensemble, le registre de décalage est toujours une impulsion avant le registre mémoire.
Le registre mémoire comprend une entrée de décalage série (Ds), une sortie série (Q) et un bouton de réinitialisation asynchrone (niveau bas).
Le registre mémoire émet un bus avec un parallélisme de 8 bits et dans trois états.
Lorsque OE est activé (niveau bas), les données du registre mémoire sont envoyées sur le bus (Q0 ~ Q7).
Câblage
Code
Note
Ouvrez le fichier
5.1_microchip_74hc595.pysous le cheminkepler-kit-main/micropythonou copiez ce code dans Thonny, puis cliquez sur « Exécuter le script actuel » ou appuyez simplement sur F5 pour l’exécuter.N’oubliez pas de sélectionner l’interpréteur « MicroPython (Raspberry Pi Pico) » en bas à droite.
Pour des tutoriels détaillés, veuillez vous référer à Ouvrir et Exécuter du Code Directement.
import machine
import time
sdi = machine.Pin(0,machine.Pin.OUT)
rclk = machine.Pin(1,machine.Pin.OUT)
srclk = machine.Pin(2,machine.Pin.OUT)
def hc595_shift(dat):
rclk.low()
time.sleep_ms(5)
for bit in range(7, -1, -1):
srclk.low()
time.sleep_ms(5)
value = 1 & (dat >> bit)
sdi.value(value)
time.sleep_ms(5)
srclk.high()
time.sleep_ms(5)
time.sleep_ms(5)
rclk.high()
time.sleep_ms(5)
num = 0
for i in range(16):
if i < 8:
num = (num<<1) + 1
elif i>=8:
num = (num & 0b01111111)<<1
hc595_shift(num)
print("{:0>8b}".format(num))
time.sleep_ms(200)
Lorsque le programme est en cours d’exécution, num sera écrit dans la puce 74HC595 sous forme de nombre binaire à huit bits pour contrôler l’allumage et l’extinction des 8 LED.
Nous pouvons voir la valeur actuelle de num dans le shell.
Comment ça fonctionne ?
hc595_shift() fait en sorte que le 74HC595 émette 8 signaux numériques. Il envoie le dernier bit du nombre binaire à Q0, et le premier bit à Q7. En d’autres termes, écrire le nombre binaire “00000001” fera que Q0 émette un niveau haut et Q1~Q7 un niveau bas.
