Impianto di irrigazione con Raspberry Pi: GPIO ed altre connessioni (quarta parte)

Impianto Irrigazione Raspberry Pi Gpio

Dopo un lungo periodo di assenza torno a parlare in questa quarta parte della realizzazione di un impianto di irrigazione automatizzato grazie al Raspberry Pi. Per la precisione vedremo le connessioni da eseguire sulle porte GPIO e gli altri pin presenti sulla nostra board.

Tutto il progetto è stato realizzato utilizzato un Raspberry Pi “modello B” di prima generazione e quindi tutte le connessione che indicherò faranno riferimento alla pedinatura di questo modello specifico. Niente vieta però di utilizzare un Raspberry Pi diverso da quello indicato o di eseguire le connessioni dei vari apparati a porte gpio diverse da quelle qui specificate. Infatti nello script di gestione che illustrerò nel prossimo articolo, sarà possibile rimappare ogni elemento andando a definire gli ingressi/uscite in un apposito file di configurazione.

Nella tabella che segue sono riepilogate le connessioni gpio eseguite e le connessioni per fornire l’alimentazione ai vari moduli/sensori. La colonna Physical indica la numerazione fisica corrispondente ai vari piedini presenti sul Raspberry Pi, mentre la colonna BCM indica l’id con cui vengono identificate le porte gpio. Questi id verranno poi utilizzati nel file di configurazione dello script per mappare i vari elementi.

PhysicalDescrizioneBCM
13.3V
Alimentazione sensore pioggia
25V
Alimentazione modulo switch 1 (MSW1 VCC)
3GPIO 2
Deviatore 1 alimentazione (MSW1 IN1)
2
45V
Alimentazione modulo switch 2 (MSW2 VCC)
5GPIO 3
Deviatore 2 alimentazione (MSW1 IN2)
3
6GND
Massa modulo switch 1 (MSW1 GND)
9GND
Massa sensore pioggia)
11GPIO 17
Elettrovalvola 1 (MSW1 IN3)
17
12GPIO 18
Elettrovalvola 4 (MSW2 IN2)
18
13GPIO 27
Elettrovalvola 2 (MSW1 IN4)
27
15GPIO 22
Elettrovalvola 3 (MSW2 IN1)
22
16GPIO 23
Elettrovalvola 5 (MSW2 IN3)
23
18GPIO 24
Elettrovalvola 6 (MSW2 IN4)
24
22GPIO 25
Digital Output (DO) sensore pioggia
25
25GND
Massa modulo switch 2 (MSW2 GND)

Ogni elemento della tabella può essere ritrovato nello schema elettrico riportato qui sotto.

Schema centralina di irrigazione (Raspberry PI)

Per eseguire eventuali verifiche del corretto collegamento dei vari pin sul Raspberry Pi è possibile utilizzare da shell il comando gpio con il quale, oltre a programmare e impostare lo stato delle varie porte, è anche possibile visualizzarne lo stato. Questa utility non è direttamente presente ma deve essere installata mediante la libreria wiringPi, la quale sarà anche necessaria per il corretto funzionamento dello script di gestione.

L’installazione può essere eseguita impartendo i seguenti comandi da shell direttamente dalla propria home:

sudo apt-get install git-core
sudo apt-get update
sudo apt-get upgrade
git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
./build

Una volta eseguiti installato wiringPi è possibile utilizzare il comando gpio readall per visualizzare lo stato di tutte le porte gpio, che nel mio caso sono come segue:

+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |  OUT | 1 |  3 || 4  |   |      | 5V      |     |     |
 |   3 |   9 |   SCL.1 |  OUT | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |  OUT | 1 | 11 || 12 | 1 | OUT  | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |  OUT | 1 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |  OUT | 1 | 15 || 16 | 1 | OUT  | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 1 | OUT  | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 1 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |  28 |  17 | GPIO.17 |   IN | 0 | 51 || 52 | 0 | IN   | GPIO.18 | 18  | 29  |
 |  30 |  19 | GPIO.19 |   IN | 0 | 53 || 54 | 0 | IN   | GPIO.20 | 20  | 31  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+

Bene, anche per questa volta è tutto.

Nel prossimo post descriverò lo script che ho creato per gestire l’impianto di irrigazione.

A presto.

3 pensieri su “Impianto di irrigazione con Raspberry Pi: GPIO ed altre connessioni (quarta parte)

  1. Ciao, post interessante, grazie. Ho qualche problema con una piface, con il pi che in chiusura di un contatto deve chiamare un sito web, ma non va quasi mai … non è che posso chiederti una consulenza? 😛

  2. Ciao Stefano,
    non ho esperienza con piface ma se posso esserti di aiuto più che volentieri.
    Dammi qualche dettaglio in più per capire come posso aiutarti,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *