Nota

Ciao, benvenuto nella Community di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme agli altri appassionati.

Perché unirti a noi?

  • Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.

  • Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.

  • Sconti speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e omaggi: Partecipa a omaggi e promozioni speciali per le festività.

👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!

3.1.1 Dispositivo di Conteggio

Introduzione

In questo progetto realizzeremo un sistema di conteggio che visualizza i numeri, composto da un sensore PIR e un display a 4 cifre. Quando il PIR rileva che qualcuno sta passando, il numero sul display a 4 cifre aumenterà di 1. Puoi utilizzare questo contatore per contare il numero di persone che attraversano un passaggio.

Componenti necessari

In questo progetto avremo bisogno dei seguenti componenti.

../_images/list_Counting_Device1.png ../_images/list_Counting_Device2.png

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

Kit Raphael

337

Raphael Kit

Puoi anche acquistare i componenti separatamente dai link qui sotto.

INTRODUZIONE COMPONENTI

LINK DI ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

Display a 7 Segmenti da 4 Cifre

-

74HC595

ACQUISTA

Modulo Sensore di Movimento PIR

-

Schema elettrico

T-Board Name

physical

wiringPi

BCM

GPIO17

Pin 11

0

17

GPIO27

Pin 13

2

27

GPIO22

Pin 15

3

22

SPIMOSI

Pin 19

12

10

GPIO18

Pin 12

1

18

GPIO23

Pin 16

4

23

GPIO24

Pin 18

5

24

GPIO26

Pin 37

25

26

../_images/Schematic_three_one1.png

Procedura sperimentale

Passo 1: Costruisci il circuito.

../_images/image235.png

Passo 2: Vai nella cartella del codice.

cd ~/raphael-kit/c/3.1.1/

Passo 3: Compila il codice.

gcc 3.1.1_CountingDevice.c -lwiringPi

Passo 4: Esegui il file eseguibile.

sudo ./a.out

Dopo l’esecuzione del codice, quando il PIR rileva che qualcuno sta passando, il numero sul display a 4 cifre aumenterà di 1.

Sul modulo PIR ci sono due potenziometri: uno regola la sensibilità e l’altro la distanza di rilevamento. Per far funzionare meglio il modulo PIR, devi ruotarli entrambi completamente in senso antiorario.

../_images/PIR_TTE.png

Nota

Se non funziona dopo l’esecuzione o compare un messaggio di errore: "wiringPi.h: Nessun file o directory", fai riferimento a Installa e Controlla wiringPi.

Spiegazione del codice

void display()
{
    clearDisplay();
    pickDigit(0);
    hc595_shift(number[counter % 10]);

    clearDisplay();
    pickDigit(1);
    hc595_shift(number[counter % 100 / 10]);

    clearDisplay();
    pickDigit(2);
    hc595_shift(number[counter % 1000 / 100]);

    clearDisplay();
    pickDigit(3);
    hc595_shift(number[counter % 10000 / 1000]);
}

Per prima cosa, avvia il quarto display a segmento e scrivi il numero dell’unità. Poi avvia il terzo display e inserisci la cifra delle decine; successivamente, avvia il secondo e il primo display rispettivamente e inserisci le cifre delle centinaia e delle migliaia. Poiché la velocità di aggiornamento è molto elevata, vediamo un display completo a quattro cifre.

void loop(){
    int currentState =0;
    int lastState=0;
    while(1){
        display();
        currentState=digitalRead(sensorPin);
        if((currentState==0)&&(lastState==1)){
            counter +=1;
        }
        lastState=currentState;
    }
}

Questa è la funzione principale: visualizzare il numero sul display a 4 cifre e leggere il valore del PIR. Quando il PIR rileva che qualcuno sta passando, il numero sul display a 4 cifre aumenterà di 1.

Immagine del Fenomeno

../_images/image236.jpeg