Sommario:

Trasmettitore per campanello senza fili: 3 passaggi (con immagini)
Trasmettitore per campanello senza fili: 3 passaggi (con immagini)

Video: Trasmettitore per campanello senza fili: 3 passaggi (con immagini)

Video: Trasmettitore per campanello senza fili: 3 passaggi (con immagini)
Video: Campanello wireless senza fili CASA 2024, Giugno
Anonim
Trasmettitore per campanello senza fili
Trasmettitore per campanello senza fili

Questo progetto descrive la prima parte dei seguenti due progetti:

  1. Un trasmettitore per campanello senza fili come descritto in questo Instructable
  2. Un ricevitore per campanello senza fili da descrivere in Istruzioni per il ricevitore del campanello senza fili

Quando sono seduto nel cortile di casa mia non riesco a sentire quando qualcuno suona il campanello alla porta d'ingresso. Questo problema può, ovviamente, essere risolto acquistando un campanello senza fili, ma è più divertente costruirlo da soli. Oltre a ciò, a volte ho problemi di interferenza con altri campanelli wireless, quindi un motivo in più per crearne uno tuo.

Quando viene premuto l'interruttore del campanello, questo circuito invia un messaggio tramite un semplice trasmettitore RF a 433 MHz a un ricevitore del campanello wireless mantenendo intatta la funzionalità del campanello originale. Il circuito è posto in serie con l'interruttore del campanello originale ed emula l'interruttore del campanello per il campanello originale. Ciò aggiunge la possibilità di evitare che il campanello continui a suonare quando qualcuno preme continuamente l'interruttore del campanello.

Il circuito contiene anche un interruttore che consente di disabilitare la trasmissione di un messaggio al campanello senza fili mantenendo operativo il campanello originale. Il circuito è alimentato dal trasformatore del campanello da 8 Volt CA che alimenta anche il campanello originale.

Come sempre ho costruito questo progetto attorno al mio micro controller preferito, il PIC, ma puoi anche usare un Arduino. I fan di Arduino potrebbero riconoscere il protocollo di trasmissione che descriverò in seguito poiché ho utilizzato una versione porting della libreria Arduino Virtual Wire per una trasmissione affidabile del messaggio RF.

Passaggio 1: componenti richiesti

Componenti richiesti
Componenti richiesti

È necessario disporre dei seguenti componenti per questo progetto:

  • Un pezzo di breadboard
  • Microcontrollore PIC 12F617, vedere win-source
  • Portafusibile + fusibile 100mA Lento
  • Ponte raddrizzatore, ad es. DF02M, vedi win-source
  • Condensatore elettrolitico 220 uF/35V e 10 uF/16V
  • 3 * condensatore ceramico da 100nF
  • Regolatore di tensione 78L05, vedere win-source
  • Trasmettitore RF ASK 433 MHz
  • Resistori: 1 * 10k, 1 * 4k7, 3 * 220 Ohm
  • Un transistor NPN, ad es. BC548 vedi fonte di vittoria
  • Interruttore
  • LED: 1 rosso, 1 verde
  • Un alloggiamento di plastica

Vedere il diagramma schematico su come collegare i componenti.

Passaggio 2: progettazione e costruzione dell'elettronica

Progettare e costruire l'elettronica
Progettare e costruire l'elettronica
Progettare e costruire l'elettronica
Progettare e costruire l'elettronica
Progettare e costruire l'elettronica
Progettare e costruire l'elettronica

Tutto il controllo viene eseguito dal PIC12F617 nel software. Prima di progettare il circuito avevo bisogno di verificare come avrei potuto facilmente attivare il campanello originale. Il modello che ho è un Byron 761 che genera un suono ding-dong e può essere alimentato da una batteria da 9 Volt o tramite un trasformatore CA da 8 Volt. Dopo alcune misurazioni sul campanello originale, ho scoperto che il connettore per l'interruttore del campanello aveva un pin a terra e un pin di ingresso flottante a 3,5 Volt. Quando si chiude questa connessione, quindi premendo l'interruttore del campanello, scorre solo una corrente di 35 uA. Per questo motivo ho deciso di utilizzare un transistor con collettore aperto e l'emettitore andare a terra per attivare il campanello originale che funzionava bene.

Poiché l'interruttore del campanello è all'esterno, non mi è piaciuto il fatto che solo una piccola corrente fluisca attraverso l'interruttore del campanello quando viene premuto poiché potrebbe suonare il campanello mentre non c'è nessuno quando diventa umido (non sono sicuro che ciò accada nella realtà). Nel circuito ho usato una resistenza di pull-up da 220 Ohm, quindi quando viene premuto il campanello, una corrente di 23 mA passa attraverso l'interruttore del campanello.

Il resto del design è semplice con un ponte raddrizzatore standard e un regolatore di tensione per creare una potenza stabile di 5 Volt per il circuito. La costruzione del circuito può essere facilmente eseguita su una piccola breadboard. Nelle foto puoi vedere il circuito come l'ho costruito sulla breadboard compreso il risultato finale quando è stato inserito in un alloggiamento di plastica.

Passaggio 3: il software

Come già accennato, il software è scritto per un PIC12F617. È scritto in JAL. In passato ho utilizzato la trasmissione RF utilizzando un modulo RF a 433 MHz ma ho utilizzato il mio protocollo di trasmissione semplice, come puoi trovare in questo Instructables: Termostato RF

Il mio protocollo funziona bene finché la distanza non è troppo grande. Per questo progetto avevo bisogno di un protocollo di trasmissione RF più affidabile. Dopo alcune ricerche ho trovato la libreria Virtual Wire che è stata scritta in C per Arduino. Dato che uso un PIC con il linguaggio di programmazione JAL, ho portato questa libreria da C a JAL e l'ho usata in questo Instructables. Questa libreria virtuale ha un'affidabilità molto migliore rispetto al semplice protocollo che ho usato. Ovviamente la trasmissione può sempre andare storta. Per ridurre al minimo la perdita di una trasmissione, ogni messaggio viene inviato 3 volte utilizzando un numero di sequenza diverso per ogni nuovo messaggio.

In questo progetto il PIC funziona su una frequenza di clock interna di 8 MHz, dove il Timer 2 viene utilizzato dalla Biblioteca Virtuale per inviare i messaggi RF con un bit rate di 1000 bit/s.

Quando si preme l'interruttore del campanello esterno, il software esegue le seguenti operazioni:

  • Antirimbalza l'interruttore del campanello. Se viene ancora premuto dopo un tempo di antirimbalzo di 50 ms, il programma prosegue con il passaggio successivo, altrimenti ignorerà la pressione dell'interruttore del campanello.
  • Se l'interruttore Disabilita trasmissione non è attivo, un messaggio di 3 byte – indirizzo, comando e numero di sequenza – viene inviato tramite il trasmettitore RF 433 MHz e il LED verde si accende per un secondo. In parallelo suonerà il campanello originale della porta attivando il transistor BC548 per mezzo secondo.
  • Se l'interruttore Disabilita trasmissione è attivo, vengono eseguite le stesse azioni ad eccezione della trasmissione RF che non avverrà. In questo modo il campanello senza fili può essere spento da remoto mantenendo operativo il campanello originale.
  • Solo quando l'interruttore del campanello viene rilasciato nuovamente dopo essere stato premuto, verrà avviata una nuova trasmissione e un nuovo squillo del campanello. Ciò impedisce che il campanello continui a suonare quando l'interruttore del campanello viene premuto continuamente.

Il file sorgente JAL e il file Intel Hex sono allegati. Se sei interessato a utilizzare il microcontrollore PIC con JAL, un linguaggio di programmazione simile a Pascal, visita il sito di download di JAL.

Divertiti a costruire il tuo progetto e attendo con ansia le tue reazioni.

Consigliato: