Sommario:

Porta per animali domestici da esterno IoT: 6 passaggi (con immagini)
Porta per animali domestici da esterno IoT: 6 passaggi (con immagini)

Video: Porta per animali domestici da esterno IoT: 6 passaggi (con immagini)

Video: Porta per animali domestici da esterno IoT: 6 passaggi (con immagini)
Video: Sesso anale PRIMA VOLTA ? - 7 consigli per farlo al meglio 2024, Luglio
Anonim
Porta per animali domestici da esterno IoT
Porta per animali domestici da esterno IoT
Porta per animali domestici da esterno IoT
Porta per animali domestici da esterno IoT
Porta per animali domestici da esterno IoT
Porta per animali domestici da esterno IoT
Porta per animali domestici da esterno IoT
Porta per animali domestici da esterno IoT

Sono stato ispirato da questo istruibile per creare una porta automatica per pollaio. Non solo volevo che la porta del pollaio funzionasse con un timer, ma volevo anche connettere la porta a Internet in modo da poterla controllare con il mio telefono o il mio computer. Questa porta è stata costruita per il mio pollaio, tuttavia, potrebbe essere facilmente applicata ad altri tipi di alloggi per una varietà di animali domestici. Potresti anche usare diversi tipi di motori a 12V oltre al vecchio motore dell'antenna dell'auto che ho usato.

Dopo aver configurato e connesso Adafruit IO e IFTTT al mio ESP8266, la porta del mio pollaio può essere controllata online. La porta può essere aperta o chiusa:

1) In orari precisi che entro su adafruit.io

2) Premendo un pulsante sul mio telefono

3) Inviando un SMS a un numero specifico

4) Facendo clic su un pulsante su adafruit.io

5) Premendo un pulsante fisico

Oltre a queste funzionalità, la porta del pollaio può inviare notifiche push al mio telefono tramite l'app IFTTT su eventuali problemi con la porta come la mancata apertura o chiusura della porta.

Poiché il mio pollaio si trova a circa 500 piedi di distanza dal mio router WiFi, ho utilizzato un trasmettitore e un ricevitore RFM69HCW a 433 MHz abbinato a un ESP8266 per realizzare questo progetto. C'è una scatola trasmettitore interna nera con hardware connesso a Internet e una scatola ricevente esterna grigia che controlla il motore.

Questa istruzione ti guiderà attraverso il processo di creazione dell'hardware necessario per controllare un motore a 12 V che apre o chiude la porta del mio pollaio.

Ho usato le seguenti parti:

Adafruit 32u4 con 433MHz RFM69HCW - $25

Adafruit MCP23017 I2C 16 IC di espansione per porte di ingresso/uscita - $ 2,95

Adafruit Feather HUZZAH con ESP8266 WiFi - $ 16,95

Adafruit Radio FeatherWing 433MHz RFM69HCW - $10

Connettore SMA Adafruit per PCB da 1,6 mm di spessore - $ 2,50

Connettore antenna Adafruit uFL SMA - $ 0,75

Pulsante Adafruit RGB - $ 10,95

Alimentazione 12V - $7

Alimentatore USB 5V - $7

Cavo micro USB - $ 5

Scheda relè a 4 canali (può utilizzare 2 canali) - $ 7

Convertitore buck DC-DC (ne ho usato solo uno ma in confezione da 5) - $ 20

Reed Switch (sensore interruttore porta magnetico) - $9

Antenna omnidirezionale 2x 433MHz - $6

Adattatore cavo da uFL a SMA (solo uno usato ma fornito in confezione da 2) - $ 5

Scatola per progetti in ABS da esterno impermeabile - $ 11

Scatola progetto ABS nera - $ 10

LCD a caratteri blu 20x4 - $ 10

Motore per antenna per auto da 12 V - ~ $ 25 su ebay

Filo e resistori

Passaggio 1: ricevitore esterno

Ricevitore esterno
Ricevitore esterno
Ricevitore esterno
Ricevitore esterno

Il ricevitore esterno è costituito da un Adafruit 32u4 con RFM69HCW a 433MHz collegato ad alcuni relè che accendono o spengono l'alimentazione per un motore a 12V. Questi moduli e un convertitore DC-DC da 12V a 5V si trovano all'interno di una scatola di progetto grigia impermeabile. Infine, c'è un sensore dell'interruttore della porta collegato a uno dei pin del microcontrollore Arduino 32u4 che rileva se la porta si è aperta o chiusa correttamente quando avrebbe dovuto.

Ogni 15 secondi, il trasmettitore interno invierà "Apri" o "Chiudi". In base al comando ricevuto, Arduino 32u4 accenderà o spegnerà un relè. Per il motore che ho scelto, che è un vecchio motore dell'antenna per auto, ho dovuto attivare o disattivare due relè a causa di come è cablato il motore. Fondamentalmente c'era un relè per accendere l'alimentazione e poi un altro relè che controllava se il motore si estendeva o si ritraeva.

Una volta ricevuta la trasmissione di apertura o chiusura, il ricevitore esterno risponde con "sensorOpen" o "sensorClosed" per indicare lo stato del sensore interruttore porta. Idealmente, il comando "open" restituirebbe una risposta "sensorOpen", tuttavia, se la porta si blocca o il motore si inceppa, questi non corrisponderanno. Quando non corrispondono, il trasmettitore interno visualizzerà tali informazioni e una notifica push verrà inviata al telefono.

Passaggio 2: collegamento dell'hardware del ricevitore esterno

Collegamento dell'hardware del ricevitore esterno
Collegamento dell'hardware del ricevitore esterno
Collegamento dell'hardware del ricevitore esterno
Collegamento dell'hardware del ricevitore esterno
Collegamento dell'hardware del ricevitore esterno
Collegamento dell'hardware del ricevitore esterno

L'hardware per il ricevitore esterno non è troppo difficile da cablare. Ho incluso uno schema fritzing di seguito in modo che i pin che ho usato possano essere facilmente visualizzati.

Come ho detto sopra, il motore che ho usato richiedeva due relè. Ho incluso una foto del pinout. Nel momento in cui colleghi 12V al filo rosso, il motore si ritrarrà se è esteso. Se colleghi contemporaneamente 12V al filo rosso e al filo verde, il motore si estenderà.

L'interruttore reed che ho collegato sopra dovrebbe essere cablato come un interruttore normalmente chiuso. La differenza tra normalmente aperto e normalmente chiuso è spiegata nell'immagine che ho allegato sopra. Usando il software, c'è un resistore di pullup interno collegato al pin di input sul 32u4, quindi tutto ciò che devi fare è collegare l'interruttore della porta al pin di input e anche a terra.

Dovrai collegare un'antenna all'Adafruit 32u4. Si prega di controllare il tutorial davvero ben spiegato di Adafruit su questo passaggio. Ho scelto di utilizzare un'antenna esterna invece di un pezzo di filo per ottenere una portata migliore.

Passaggio 3: trasmettitore da interno

Trasmettitore da interno
Trasmettitore da interno
Trasmettitore da interno
Trasmettitore da interno
Trasmettitore da interno
Trasmettitore da interno

Il trasmettitore interno è costituito da un Adafruit Radio FeatherWing 433MHz RFM69HCW impilato sopra un Adafruit Feather HUZZAH con ESP8266 WiFi. Questi moduli sono collegati a un display 20x4 caratteri e un pulsante argento RGB all'interno di una scatola di progetto nera.

Il display ha un orologio sincronizzato NTC, l'intensità RSSI in dB (misura l'intensità dei segnali radio), l'ora in cui si aprirà la porta del pollaio, l'ora in cui si chiuderà la porta del pollaio e lo stato corrente della porta. Il pulsante è rosso quando la porta è chiusa e verde quando la porta è aperta.

Se il ricevitore esterno perde alimentazione o se il segnale 433MHz non può essere inviato per qualsiasi motivo, il display e il pulsante RGB andranno nella prima delle due possibili modalità di errore. Nella prima modalità di errore, il display dirà "ERRORE! Prova a riavviare il ricevitore esterno". e il pulsante non avrà un colore. Se il sensore dell'interruttore della porta rileva che la porta non si è chiusa o aperta correttamente, il display e il pulsante RGB passeranno alla seconda delle due modalità di errore. Nella seconda modalità di errore, il display visualizzerà "ERRORE! Problema al sensore della porta o dell'interruttore". e il pulsante non avrà un colore. Quando il problema si risolve da solo, il display e il pulsante RGB torneranno alla normalità. Puoi ricevere notifiche push sul tuo telefono se si verifica una di queste modalità di errore (esaminerò tale configurazione in un passaggio successivo).

Passaggio 4: collegamento dell'hardware del trasmettitore per interni

Collegamento dell'hardware del trasmettitore per interni
Collegamento dell'hardware del trasmettitore per interni
Collegamento dell'hardware del trasmettitore per interni
Collegamento dell'hardware del trasmettitore per interni

Dopo aver impilato l'Adafruit Radio FeatherWing 433MHz RFM69HCW sopra un Adafruit Feather HUZZAH con ESP8266 WiFi, sono rimasti solo 2 pin che non sono stati presi, i pin I2C SDA e SCL. Questo è il motivo per cui ho scelto il circuito integrato (IC) MCP23017. È un circuito integrato davvero interessante che collega fino a 16 pin di input/output aggiuntivi a qualsiasi microcontrollore su I2C. Inoltre, esiste una libreria pre-scritta chiamata Adafruit-RGB-LCD-Shield che utilizza questo IC con un display di caratteri che è tecnicamente scritto per questo prodotto Adafruit, tuttavia, funziona perfettamente per questo progetto.

L'idea di utilizzare l'MCP23017 con un display a caratteri deriva da questo istruzioni molto ben scritto. Per favore controlla!

Ho preso l'istruzione e invece di collegare più pulsanti e un display RGB all'IC, ho collegato solo un pulsante con un LED RGB al suo interno e un display monocromatico all'IC. Questo mi ha permesso di definire il PIN 1 dell'IC (tipicamente utilizzato per la retroilluminazione blu di un display RGB) come retroilluminazione per il mio display monocromatico, il PIN 28 (tipicamente utilizzato per la retroilluminazione verde di un display RGB) come il LED rosso all'interno del pulsante e il PIN 27 (tipicamente utilizzato per la retroilluminazione rossa di un display RGB) come LED verde all'interno del pulsante. Il PIN 24 è stato collegato a un lato del pulsante e l'altro lato è stato collegato a massa. Potete vedere il pinout del pulsante nell'immagine allegata sopra (ho lasciato il catodo blu scollegato).

Oltre a usare le istruzioni che ho collegato per aiutare a cablare il display, ho incluso uno schema fritzing che ti aiuterà a collegare tutto.

Dovrai accorciare tre pin sulla parte superiore del FeatherWing 433MHz RFM69HCW come spiegato da questo tutorial di Adafruit. Dovrai anche collegare un'antenna al FeatherWing 433MHz RFM69HCW. Si prega di controllare il tutorial davvero ben spiegato di Adafruit su questo passaggio. Ho scelto di utilizzare un'antenna esterna con un connettore SMA montato lateralmente invece di un pezzo di filo per ottenere una portata migliore.

Passaggio 5: connessione ad Adafruit. IO e IFTTT

Connessione ad Adafruit. IO e IFTTT
Connessione ad Adafruit. IO e IFTTT
Connessione ad Adafruit. IO e IFTTT
Connessione ad Adafruit. IO e IFTTT

Adafruit IO:

Si prega di seguire le istruzioni su questo tutorial di Adafruit per registrarsi su Adafruit. IO se non si dispone di un account. Dovresti anche leggere cosa sono un feed e una dashboard.

In termini semplici, una dashboard è una sorta di interfaccia utente grafica mentre i feed sono ciò a cui invii i dati in modo da poterli archiviare su Internet. Dovrai creare 1 Dashboard e 4 Feed. Ho chiamato il mio prima di sapere come si scrive correttamente pollaio, quindi per favore perdona l'ortografia errata. Se non vuoi rinominare i nomi dei feed nel codice arduino, usa lo stesso nome che ho fatto io.

Crea prima i quattro feed:

1) "Coup di pollo" Questo è per l'interruttore aperto/chiuso

2) "Timer colpo di pollo" Questo è per il timer aperto

3) "Timer colpo di pollo 2" Questo è per il timer di chiusura

4) "Messaggio di errore Chicken Coup" Questo è per i messaggi di errore

Crea una dashboard successiva chiamata Chicken Coup e aggiungi 4 blocchi usando il pulsante blu +. Si prega di vedere l'immagine sopra per i tipi di blocchi da posizionare e per i nomi dei blocchi. Assicurati di nominare gli stati dello switch esattamente come "Aperto" e "Chiuso"

IFTTT:

La parte IFTTT di questo progetto aggiunge la possibilità di premere un pulsante sul telefono e inviare un testo per aprire o chiudere la porta del pollaio. Consente inoltre all'app IFTTT di inviarti notifiche push se viene pubblicato qualcosa nel feed del messaggio di errore di Chicken Coup. Se non desideri queste funzionalità, puoi saltare questa sezione.

Innanzitutto, imposta un account IFTTT se non ne hai già uno. Se desideri utilizzare le applet predefinite che ho creato, vai al mio account e attiva le applet che desideri. Altrimenti, dovrai crearne uno tuo e iscriverti o pubblicare sul feed adafruit che hai creato sopra.

Passaggio 6: caricamento del codice e modifica dell'SSID e della password WiFi

Dovrai passare attraverso questa pagina del tutorial di Adafruit per poter caricare il codice sul trasmettitore interno.

Dovrai passare attraverso questa pagina del tutorial di Adafruit per poter caricare il codice sul ricevitore esterno.

Dovrai installare la libreria RFM69, la libreria Adafruit_RGBLCDShield, la libreria di clock NTC chiamata simpleDSTadjust e la libreria ticker. Puoi trovare un tutorial su come farlo qui.

Apri Arduino IDE e carica il codice "Outdoor_Receiver.ino" sull'Arduino 32u4 esterno tramite un cavo USB.

Quindi, apri "Indoor_Transmitter.ino", apri la scheda config.h e inserisci il tuo nome WiFi (SSID) e la password all'interno delle virgolette. Quindi, ottieni il tuo nome utente Adafruit. IO e la chiave IO seguendo questa pagina del tutorial e inseriscili nella scheda config.h.

Se hai cambiato i nomi dei feed Adafruit IO, dovrai modificare il codice nella scheda principale Indoor_Transmitter. Modifica quanto segue:

AdafruitIO_Feed *toggleSwitch = io.feed("Colpo di pollo");

AdafruitIO_Feed *timer = io.feed("Timer colpo di pollo");

AdafruitIO_Feed *timer2 = io.feed("Chicken Coup Timer 2");

AdafruitIO_Feed *error = io.feed("Messaggio di errore del colpo di stato di pollo");

Dovrebbe essere tutto quello che devi fare! Se vuoi capire meglio come funzionano i due sketch, ho commentato il codice. Per favore fatemi sapere se avete domande. Buona fortuna!

Consigliato: