Nota
Ciao, benvenuto nella community di appassionati di SunFounder Raspberry Pi, Arduino e ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.
Perché unirsi?
Supporto esperto: Risolvi i problemi post-vendita e affronta le sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Accedi in anteprima agli annunci di nuovi prodotti e alle anteprime esclusive.
Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni durante le festività.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!
5.1 Microchip - 74HC595
Un circuito integrato (integrated circuit) è un dispositivo elettronico miniaturizzato, rappresentato dalla sigla «IC» nel circuito.
Attraverso un certo processo, i transistor, i resistori, i condensatori, gli induttori e altri componenti e cablaggi necessari in un circuito vengono interconnessi, fabbricati su una o più piccole piastre semiconduttrici o substrati dielettrici, e successivamente racchiusi in un package, diventando una microstruttura con le funzioni del circuito richieste; tutti i componenti sono stati strutturati come un tutt’uno, portando i componenti elettronici verso la micro-miniaturizzazione, il basso consumo energetico, l’intelligenza e l’alta affidabilità.
Gli inventori dei circuiti integrati sono Jack Kilby (circuiti integrati basati sul germanio (Ge)) e Robert Norton Noyce (circuiti integrati basati sul silicio (Si)).
Questo kit è dotato di un IC, il 74HC595, che consente di risparmiare notevolmente l’uso dei pin GPIO. In particolare, può sostituire 8 pin per l’uscita del segnale digitale scrivendo un numero binario a 8 bit.
Componenti Necessari
In questo progetto, ci servono i seguenti componenti.
È sicuramente conveniente acquistare un intero kit, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK PER L’ACQUISTO |
|---|---|---|
Kepler Kit |
450+ |
Puoi anche acquistarli separatamente dai link qui sotto.
SN |
INTRODUZIONE COMPONENTE |
QUANTITÀ |
LINK PER L’ACQUISTO |
|---|---|---|---|
1 |
1 |
||
2 |
Cavo Micro USB |
1 |
|
3 |
1 |
||
4 |
Diversi |
||
5 |
8(220Ω) |
||
6 |
8 |
||
7 |
1 |
Schema Elettrico

Quando MR (pin10) è a livello alto e OE (pin13) è a livello basso, i dati vengono inseriti nel fronte di salita di SHcp e passano al registro di memoria attraverso il fronte di salita di SHcp.
Se i due clock sono collegati insieme, il registro a scorrimento è sempre un impulso prima rispetto al registro di memoria.
Nel registro di memoria sono presenti un pin di ingresso seriale (Ds), un pin di uscita seriale (Q) e un pulsante di reset asincrono (a livello basso).
Il registro di memoria emette un bus parallelo a 8 bit e in tre stati.
Quando OE è abilitato (livello basso), i dati nel registro di memoria vengono emessi sul bus (Q0 ~ Q7).
Cablaggio
Codice
Nota
Puoi aprire il file
5.1_microchip_74hc595.inonel percorsokepler-kit-main/arduino/5.1_microchip_74hc595.Oppure copia questo codice nell”Arduino IDE.
Non dimenticare di selezionare la scheda (Raspberry Pi Pico) e la porta corretta prima di cliccare sul pulsante Upload.
Quando il programma è in esecuzione, potrai vedere i LED accendersi uno dopo l’altro.
Come funziona?
Dichiara un array, memorizza diversi numeri binari a 8 bit utilizzati per modificare lo stato di funzionamento degli otto LED controllati dal 74HC595.
int datArray[] = {0b00000000, 0b00000001, 0b00000011, 0b00000111, 0b00001111, 0b00011111, 0b00111111, 0b01111111, 0b11111111};
Imposta STcp a livello basso prima e poi a livello alto. Questo genererà un impulso di salita di STcp.
digitalWrite(STcp,LOW);
shiftOut() viene utilizzato per spostare un byte di dati un bit alla volta, il che significa trasferire un byte di dati in datArray[num] al registro a scorrimento con il pin DS. MSBFIRST significa spostare a partire dai bit più alti.
shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
Dopo aver eseguito digitalWrite(STcp,HIGH), il STcp sarà al fronte di salita. A questo punto, i dati nel registro a scorrimento verranno trasferiti al registro di memoria.
digitalWrite(STcp,HIGH);
Un byte di dati verrà trasferito nel registro di memoria dopo 8 volte. Successivamente, i dati del registro di memoria vengono emessi sul bus (Q0-Q7). Ad esempio, shiftout B00000001 accenderà il LED controllato da Q0 e spegnerà i LED controllati da Q1~Q7.
