Sommario:

InfoBell: 3 passaggi
InfoBell: 3 passaggi

Video: InfoBell: 3 passaggi

Video: InfoBell: 3 passaggi
Video: Three Little Pigs | CoComelon Nursery Rhymes & Kids Songs 2024, Luglio
Anonim
Image
Image
InfoBell
InfoBell
InfoBell
InfoBell

Passo molto tempo nel mio piccolo laboratorio alla fine del mio giardino.

Ho un campanello senza fili con un ripetitore nella mia officina. Sto andando avanti un po', quindi mi ci vorranno circa 30 secondi per arrivare alla porta d'ingresso se qualcuno suona il campanello. Quando arrivo lì, il fattorino sta già bussando alle porte dei vicini per consegnare un pacco e ottenere una firma.

Il mio InfoBell dice ai chiamanti che sarò con loro entro 30 secondi (configurabile dall'utente) o fa loro sapere se sono impegnato/fuori!

Volevo che il campanello funzionasse a batteria e fosse completamente autonomo. I messaggi visualizzati dovevano essere configurabili dall'utente ed estremamente facili da cambiare dal messaggio IN a quello OUT.

Uso il bluetooth con un'app per telefono Android dell'inventore dell'app MIT per programmare i messaggi.

I pulsanti per inizializzare le comunicazioni Bluetooth e impostare i messaggi IN/OUT si trovano nella parte inferiore del dispositivo. La funzione richiesta viene selezionata premendo il relativo pulsante e premendo il pulsante del campanello principale.

Questi pulsanti sono attivi solo quando la porta è aperta! Se la porta è aperta o chiusa è determinato dall'uso di una bussola digitale (QMC5883) e da un po' di trigonometria. Devo confessare che ho dovuto usare Google per un po' di assistenza qui perché è passato un po' di tempo (circa 46 anni) da quando mi sono seduto in una classe!

Avrei potuto codificare le letture dal QMC5883, ma ho pensato che se qualcuno avesse deciso di realizzare questo progetto, le possibilità che la sua porta fosse orientata nella stessa direzione della mia erano ragionevolmente minime!

L'unico pulsante attivo se la porta è chiusa è quello che imposta l'informazione di 'porta chiusa'.

Passaggio 1: problemi da superare

Problemi da superare
Problemi da superare
Problemi da superare
Problemi da superare
Problemi da superare
Problemi da superare

Ho avuto tre difficoltà.

Il primo è stato sincronizzare l'effettiva pressione del campanello e il pulsante per inizializzare l'arduino e il display.

Ho provato molti metodi con 2 interruttori e microinterruttori ma erano inaffidabili, quindi alla fine ho optato per un relè DP.

Il problema successivo era con il campanello senza fili stesso. Ha funzionato bene senza retro sulla scatola stampata in 3D, ma non ha voluto collaborare quando è stata installata sulla porta d'ingresso! La mia soluzione è stata quella di avere una sezione della cover posteriore spessa circa 1 mm - questo ha funzionato!

L'ultimo problema da superare è stato quello di comprimere tutti i componenti in una scatola di dimensioni ragionevoli!

Passaggio 2: i componenti, la struttura e come funziona

I componenti, la struttura e come funziona
I componenti, la struttura e come funziona
I componenti, la struttura e come funziona
I componenti, la struttura e come funziona
I componenti, la struttura e come funziona
I componenti, la struttura e come funziona

Per un dispositivo così semplice ho usato quanto segue !!

Scatola e pulsante stampati in 3D

1 x display OLED SSD1306

1 x QMC5883

1 x scudo bluetooth

1 x relè bipolare

1 x relè autobloccante

5 interruttori tattili per montaggio su PCB

2 batterie 3v

1 x campanello originale

1 x diodo

1 x transistor pnp

Ho dovuto "nidificare" il cablaggio per assicurarmi che ci fosse abbastanza spazio per spremere tutti i componenti nella scatola - non è il progetto più accurato che abbia mai fatto!

Ho usato batterie 2 x 3v con un diodo per ridurre un po' l'alimentazione.

Il campanello originale è arrivato con una batteria da 12v.

Quando viene premuto il pulsante del campanello della porta, i contatti del relè si chiudono e azionano il campanello della porta originale impostando contemporaneamente il relè autobloccante che fornisce 5 V ad Arduino, Bluetooth shield e QMC5883.

Quando l'Arduino ha terminato il suo lavoro, il pin 12 ha un impulso basso che ripristina il relè di blocco (tramite un transistor) rimuovendo l'alimentazione.

Quando il dispositivo viene collegato per la prima volta alla porta CHIUSA, viene premuto il pulsante collegato al pin 4 di Arduino mentre viene premuto il pulsante del campanello. Questo alimenta l'Arduino e legge l'orientamento del QMC5883 e ne memorizza il valore nella eeprom. Vedi la pagina Software e lo schizzo Arduino per come funziona.

Gli altri 3 pulsanti ora funzioneranno solo quando la porta non è in questa posizione, cioè chiusa.

Per impostare i messaggi e il conto alla rovescia, viene premuto il pulsante collegato al pin 7 mentre viene premuto il campanello principale E la porta è aperta, questo avvia la routine bluetooth. Le impostazioni vengono immesse tramite l'app Mit App Inventor. L'app salva automaticamente i dettagli e li memorizza nella eeprom di Arduino.

Per impostare il messaggio IN / OUT i pulsanti collegati ai pin 5 o 6 di Arduino vengono premuti mentre viene premuto il pulsante del campanello principale E la porta è aperta.

A seconda del pulsante premuto, l'indirizzo 0 della eeprom viene impostato o ripristinato. C'è un limite alla quantità di letture/scritture che Arduino eeprom tollera. Secondo la maggior parte dei riferimenti, il limite è di circa 100.000, il che significa che se la eeprom viene scritta 4 volte al giorno, dovrebbero trascorrere circa 55 anni prima che possano sorgere problemi.

Passaggio 3: il software

Il software per lo sketch Ardiuno è abbastanza ben documentato per i miei standard!

Per garantire che ci siano dati ragionevoli nella eeprom, decommenta quanto segue e compila.

Dopo la compilazione, riapplicare i marcatori di commento e ricompilare ancora una volta.

EEPROM.begin(); /*

outone="0";

outtwo="1";

outthree="2";

outfour="3)";

inone="0";

intwo="1";

intre=10;

*/

Quando il progetto finito è montato sulla porta, con la porta chiusa, tieni premuto il pulsante collegato al pin 4 di Arduino e premi il campanello. Un messaggio confermerà la tua azione.

Memorizza nella eeprom di Arduino i valori letti dalla bussola digitale.

La funzione 'diffy' determina se la porta è aperta o chiusa.

void diffy (int froma, int toa)

{

int diff;

diff=da - aa;

diff=(diff+180)%360;

if(diff <=0)

{

differenza+=180;

}

altro

{

differenza -=180;

}

Quindi carica il. APK bluetooth su un telefono cellulare. Con la porta APERTA, tieni premuto il pulsante collegato al pin 7 di Arduino e premi il campanello. L'unità si accenderà in modalità bluetooth. Associa il modulo BT al tuo telefono, inserisci le informazioni richieste e inviale al campanello.

Il campanello rimarrà acceso finché non avrà ricevuto alcune informazioni dal telefono.

Quando le informazioni sono state inviate al campanello della porta, l'app conserverà le informazioni. Quindi, se si desidera apportare modifiche non è necessario ridigitare tutto il testo.

L'APK è reperibile al seguente indirizzo.

ai2.appinventor.mit.edu/#5902371463495680

Per motivi di sicurezza, il telefono dovrebbe chiederti di verificare che desideri installare questa app. Sul mio telefono c'è un'impostazione chiamata "Installa app sconosciute".

Consigliato: