Sommario:

Automazione domestica con Raspberry Pi utilizzando la scheda relè: 7 passaggi
Automazione domestica con Raspberry Pi utilizzando la scheda relè: 7 passaggi

Video: Automazione domestica con Raspberry Pi utilizzando la scheda relè: 7 passaggi

Video: Automazione domestica con Raspberry Pi utilizzando la scheda relè: 7 passaggi
Video: IOT Based Home Automation With Raspberry Pi And Node RED 2024, Dicembre
Anonim
Automazione domestica con Raspberry Pi utilizzando la scheda relè
Automazione domestica con Raspberry Pi utilizzando la scheda relè

Un grande numero di persone desidera un grande comfort ma a prezzi ragionevoli. Ci sentiamo pigri per illuminare le case ogni sera quando il sole tramonta e la mattina dopo, spegnere di nuovo le luci O per accendere/spegnere il condizionatore d'aria/ventilatore/riscaldamento come fosse il tempo o la temperatura della stanza.

Una soluzione economica per evitare questo lavoro extra di spegnere gli elettrodomestici quando richiesto è qui. È automatizzare le vostre case a costi relativamente molto inferiori utilizzando semplici prodotti plug and play. Funziona come quando la temperatura sale o scende, accende rispettivamente il condizionatore d'aria o il riscaldamento. Inoltre, quando richiesto, aiuterà ad accendere o le luci della tua casa senza accenderle manualmente. E molti altri apparecchi possono essere controllati. Automatizza il mondo. Iniziamo la tua casa.

Passaggio 1: hardware richiesto

Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto

Useremo:

Lampone Pi

Il Raspberry Pi è un PC basato su Linux a scheda solitaria. Questo piccolo PC offre una potenza di registrazione eccezionale, utilizzato come un pezzo di esercizi di elettronica e operazioni del PC come fogli di calcolo, elaborazione testi, navigazione web, e-mail e giochi

Scudo I2C o intestazione I2C

L'INPI2 (adattatore I2C) fornisce al Raspberry Pi 2/3 una porta I²C da utilizzare con più dispositivi I2C

Controllore relè I2C MCP23008

MCP23008 di Microchip è un espansore di porte integrato che controlla otto relè tramite il bus I²C. È possibile aggiungere più relè, I/O digitali, convertitori da analogico a digitale, sensori e altri dispositivi utilizzando la porta di espansione I²C integrata

Sensore di temperatura MCP9808

L'MCP9808 è un sensore di temperatura ad alta precisione che fornisce segnali del sensore calibrati e linearizzati in formato digitale I²C

Sensore di luminanza TCS34903

TCS34903 è un prodotto della famiglia di sensori di colore che fornisce il valore della componente RGB di luce e colore

Cavo di collegamento I2C

Il cavo di collegamento I2C è un cavo a 4 fili pensato per la comunicazione I2C tra due dispositivi I2C collegati attraverso di esso

Adattatore micro USB

Per alimentare Raspberry Pi, abbiamo bisogno di un cavo Micro USB

Alimentatore 12V per scheda Relè

Il controller relè MCP23008 funziona con alimentazione esterna a 12V e questo può essere fornito utilizzando un adattatore di alimentazione da 12V

Puoi acquistare il prodotto cliccando su di essi. Inoltre, puoi trovare altro materiale eccezionale su Dcube Store.

Passaggio 2: collegamento hardware

Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware

Le connessioni richieste (fare riferimento alle immagini) sono le seguenti:

  1. Funzionerà su I2C. Prendi uno scudo I2C per Raspberry Pi e collegalo delicatamente ai pin GPIO di Raspberry Pi.
  2. Collegare un'estremità del cavo I2C alla porta di ingresso di TCS34903 e l'altra estremità allo schermo I2C.
  3. Collegare l'ingresso del sensore MCP9808 all'uscita del TCS34903 utilizzando il cavo I2C.
  4. Collegare l'in-pot dell'MCP23008 all'uscita del sensore MCP9808 utilizzando il cavo I2C.
  5. Collegare anche il cavo Ethernet al router Raspberry Pi. Wi-Fi può essere utilizzato anche per lo stesso.
  6. Quindi, alimentare il Raspberry Pi utilizzando un adattatore Micro USB e la scheda relè MCP23008 utilizzando un adattatore 12V.
  7. Infine, collegare la luce con il primo relè e un ventilatore o un riscaldatore con il secondo relè. È possibile espandere il modulo o collegare più dispositivi con i relè.

Passaggio 3: comunicazione utilizzando il protocollo I2C

Per abilitare Raspberry Pi I2C, procedi come indicato di seguito:

  1. Nel terminale, digita il seguente comando per aprire le impostazioni di configurazione: sudo raspi-config
  2. Seleziona "Opzioni avanzate" qui.
  3. Seleziona "I2C" e fai clic su "Sì".
  4. Riavviare il sistema per configurarlo secondo le modifiche apportate utilizzando il comando reboot.

Passaggio 4: programmazione del modulo

La ricompensa dell'utilizzo di Raspberry Pi è che ti offre la flessibilità di optare per il linguaggio di programmazione in cui desideri programmare per interfacciare il dispositivo di rilevamento con Raspberry Pi. Sfruttando questo vantaggio di Raspberry Pi, dimostriamo qui la sua programmazione in Java.

Per configurare l'ambiente Java, installa "pi4j libraby" da https://pi4j.com/1.2/index.html Pi4j è una libreria di input/output Java per Raspberry Pi. Un metodo semplice e preferito per installare "pi4j library" è eseguire il comando sotto menzionato direttamente nel tuo Raspberry Pi:

curl -s get.pi4j.com | sudo bash

O

curl -s get.pi4j.com

import com.pi4j.io.i2c. I2CBus;import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException; class MCP23008 { public static void main(String args) genera un'eccezione { int status, value, value1= 0x00; // Crea bus I2C bus I2CBus = I2CFactory.getInstance(I2CBus. BUS_1); // Ottieni il dispositivo I2C, l'indirizzo I2C di MCP23008 è 0x20(32) I2CDevice device = bus.getDevice(0x20); // Ottieni il dispositivo I2C, l'indirizzo I2C di MCP9808 è 0x18(24) I2CDevice MCP9808 = bus.getDevice(0x18); // Ottieni il dispositivo I2C, l'indirizzo I2C di TCS34903 è 0x39(55) I2CDevice TCS34903 = bus.getDevice(0x39); // Imposta il registro del tempo di attesa = 0xff (255), il tempo di attesa = 2,78 ms TCS34903.write(0x83, (byte)0xFF); // Abilita l'accesso al canale IR TCS34903.write(0xC0, (byte)0x80); // Imposta il registro Atime su 0x00 (0), conteggi massimi = 65535 TCS34903.write(0x81, (byte)0x00); // Accensione, ADC abilitato, Wait abilitato TCS34903.write(0x80, (byte)0x0B); Thread.sleep(250); // Legge 8 byte di dati con dati clear/ir LSB first byte data1 = new byte[8]; // Leggi i dati della temperatura byte data = new byte[2]; stato = device.read(0x09); // Configura tutti i pin come OUTPUT device.write(0x00, (byte)0x00); Thread.sleep(500); while(true){ MCP9808.read(0x05, data, 0, 2); // Converti dati int temp = ((data[0] & 0x1F) * 256 + (data[1] & 0xFF)); if(temp > 4096) { temp -= 8192; } double cTemp = temp * 0,0625; System.out.printf(“La temperatura in gradi Celsius è: %.2f C %n”, cTemp); TCS34903.read(0x94, dati1, 0, 8); doppio ir = ((data1[1] & 0xFF) * 256) + (data1[0] & 0xFF) * 1.00; doppio rosso = ((data1[3] & 0xFF) * 256) + (data1[2] & 0xFF) * 1.00; doppio verde = ((data1[5] & 0xFF) * 256) + (data1[4] & 0xFF) * 1.00; doppio blu = ((data1[7] & 0xFF) * 256) + (data1[6] & 0xFF) * 1.00; // Calcola illuminamento doppio illuminamento = (-0.32466) * (rosso) + (1.57837) * (verde) + (-0.73191) * (blu); System.out.printf(“L'illuminazione è: %.2f lux%n “, illuminamento); if (illuminamento 30) { valore = valore1 | (0x01); } else { valore = valore1 & (0x02); } device.write(0x09, (byte)valore); Thread.sleep(300); } } }

Passaggio 5: creazione di file ed esecuzione del codice

  1. Per creare un nuovo file in cui il codice può essere scritto/copiato, verrà utilizzato il seguente comando: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Dopo aver creato il file, possiamo inserire il codice qui.
  3. Copia il codice fornito nel passaggio precedente e incollalo nella finestra qui.
  4. Premi Ctrl+X poi "y" per uscire.
  5. Quindi compilare il codice utilizzando il seguente comando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Se non ci sono errori, esegui il programma usando il comando sotto menzionato: pi4j FILE_NAMEEg. pi4j MCP23008.java

Passaggio 6: applicazioni

Questo sistema permette di comandare i dispositivi senza dover ricorrere agli interruttori a muro. Questo ha ampie capacità in quanto i tempi di accensione o spegnimento dei dispositivi sono programmati automaticamente. Ci sono una manciata di applicazioni di questo modulo, dalle case alle industrie, ospedali, stazioni ferroviarie e molti altri luoghi che possono essere automatizzati in modo semplice ed economico grazie ai suoi componenti plug-and-play.

Passaggio 7: risorse

Per ulteriori informazioni su TSL34903, MCP9808 MCP23008 Relè Controller, controllare i collegamenti seguenti:

  • Scheda tecnica TSL34903
  • Scheda tecnica MCP9808
  • Scheda tecnica MCP23008

Consigliato: