Sommario:
- Passaggio 1: hardware richiesto
- Passaggio 2: collegamento hardware
- Passaggio 3: comunicazione utilizzando il protocollo I2C
- Passaggio 4: programmazione del modulo
- Passaggio 5: creazione di file ed esecuzione del codice
- Passaggio 6: applicazioni
- Passaggio 7: risorse
Video: Automazione domestica con Raspberry Pi utilizzando la scheda relè: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
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
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
Le connessioni richieste (fare riferimento alle immagini) sono le seguenti:
- Funzionerà su I2C. Prendi uno scudo I2C per Raspberry Pi e collegalo delicatamente ai pin GPIO di Raspberry Pi.
- Collegare un'estremità del cavo I2C alla porta di ingresso di TCS34903 e l'altra estremità allo schermo I2C.
- Collegare l'ingresso del sensore MCP9808 all'uscita del TCS34903 utilizzando il cavo I2C.
- Collegare l'in-pot dell'MCP23008 all'uscita del sensore MCP9808 utilizzando il cavo I2C.
- Collegare anche il cavo Ethernet al router Raspberry Pi. Wi-Fi può essere utilizzato anche per lo stesso.
- Quindi, alimentare il Raspberry Pi utilizzando un adattatore Micro USB e la scheda relè MCP23008 utilizzando un adattatore 12V.
- 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:
- Nel terminale, digita il seguente comando per aprire le impostazioni di configurazione: sudo raspi-config
- Seleziona "Opzioni avanzate" qui.
- Seleziona "I2C" e fai clic su "Sì".
- 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
- 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
- Dopo aver creato il file, possiamo inserire il codice qui.
- Copia il codice fornito nel passaggio precedente e incollalo nella finestra qui.
- Premi Ctrl+X poi "y" per uscire.
- Quindi compilare il codice utilizzando il seguente comando: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
- 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:
Interruttore luci WiFi per automazione domestica con ESP-01 e modulo relè con pulsante: 7 passaggi
Interruttore luci WiFi domotica con ESP-01 e modulo relè con pulsante: quindi nelle istruzioni precedenti abbiamo programmato un ESP-01 con Tasmota utilizzando un lampeggiatore ESP e collegato l'ESP-01 alle nostre reti wifi. Ora possiamo iniziare a programmarlo per accendere/spegnere un interruttore della luce utilizzando il WiFi o il pulsante. Per i lavori elet
Come realizzare l'automazione domestica basata su IoT con il relè di controllo dei sensori NodeMCU: 14 passaggi (con immagini)
Come realizzare l'automazione domestica basata sull'IoT con il relè di controllo dei sensori NodeMCU: in questo progetto basato sull'IoT, ho realizzato l'automazione domestica con Blynk e il modulo relè di controllo NodeMCU con feedback in tempo reale. Nella modalità manuale, questo modulo relè può essere controllato da cellulare o smartphone e, interruttore manuale. In modalità automatica, questo smart
Come creare una casa intelligente utilizzando il modulo relè di controllo Arduino - Idee per l'automazione domestica: 15 passaggi (con immagini)
Come creare una casa intelligente utilizzando il modulo relè di controllo Arduino | Idee per l'automazione domestica: in questo progetto di automazione domestica, progetteremo un modulo relè per la casa intelligente in grado di controllare 5 elettrodomestici. Questo modulo relè può essere controllato da cellulare o smartphone, telecomando IR o telecomando TV, interruttore manuale. Questo modulo logico può anche rilevare il r
[Automazione domestica] Relè di controllo da qualsiasi luogo utilizzando ESP8266 + Blynk: 4 passaggi
[Automazione domestica] Relè di controllo da qualsiasi luogo utilizzando ESP8266 + Blynk: ci sono molti modi per realizzare un'automazione domestica, alcuni sono complicati, alcuni sono facili, questo istruibile mostrerò come realizzare un semplice controllo dei relè utilizzando ESP-12E con Blynk. Per comodità, il design era PCB a lato singolo, quindi puoi realizzare da solo
(Fai da te) Come realizzare una scheda di automazione domestica a relè ultra mini e semplice ESP8266: 17 passaggi
(Fai da te) Come realizzare una scheda di automazione domestica a relè ultra mini e semplice ESP8266: Ciao a tutti, oggi ti farò sapere come realizzare una scheda relè Mini Esp 12 Wifi che misura solo 3,9 cm x 3,9 cm! Questa scheda ha alcune caratteristiche molto interessanti che ogni amante della tecnologia adorerà avere. Ho incluso tutti i file nei passaggi successivi. Questa scheda