Inhoudsopgave:

InfoBell: 3 stappen
InfoBell: 3 stappen

Video: InfoBell: 3 stappen

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

Ik breng veel tijd door in mijn kleine werkplaats aan het einde van mijn tuin.

Ik heb een draadloze deurbel met een repeater in mijn werkplaats. Ik begin een beetje op te schieten, dus het kan me ongeveer 30 seconden kosten om bij de voordeur te komen als iemand aanbelt. Tegen de tijd dat ik daar aankom, klopt de bezorger al bij de buren om een pakket af te geven en een handtekening te krijgen.

Mijn InfoBell vertelt bellers dat ik binnen 30 seconden bij hen zal zijn (door gebruiker te configureren) of laat hen weten of ik anderszins verloofd/afwezig ben!

Ik wilde dat de deurbel op batterijen zou werken en volledig onafhankelijk zou zijn. De weergegeven berichten moesten door de gebruiker te configureren zijn en uiterst eenvoudig te wijzigen van het IN- naar OUT-bericht.

Ik gebruik bluetooth met een MIT App uitvinder Android telefoon app om de berichten te programmeren.

De knoppen om de Bluetooth-communicatie te initialiseren en de IN / OUT-berichten in te stellen, bevinden zich aan de onderkant van het apparaat. De gewenste functie wordt geselecteerd door op de betreffende knop te drukken en op de hoofddeurbeldrukknop te drukken.

Deze knoppen zijn alleen actief als de deur open is! Of de deur open of gesloten is, wordt bepaald door het gebruik van een digitaal kompas (QMC5883) en wat trigonometrie. Ik moet bekennen dat ik Google hier voor wat hulp moest gebruiken, want het is een tijdje (ongeveer 46 jaar) geleden dat ik in een klaslokaal zat!

Ik had de metingen van de QMC5883 hard kunnen coderen, maar ik dacht dat als iemand besloot dit project te maken, de kans dat hun deur in dezelfde richting stond als de mijne redelijk klein was!

De enige knop die actief is als de deur gesloten is, is de knop die de informatie 'deur gesloten' instelt.

Stap 1: Te overwinnen problemen

Problemen om te overwinnen
Problemen om te overwinnen
Problemen om te overwinnen
Problemen om te overwinnen
Problemen om te overwinnen
Problemen om te overwinnen

Ik had drie moeilijkheden.

De eerste was het synchroniseren van de daadwerkelijke beldruk en de knop om de Arduino en het display te initialiseren.

Ik heb veel methoden geprobeerd van 2 schakelaars en microschakelaars, maar ze waren onbetrouwbaar, dus uiteindelijk koos ik voor een DP-relais.

Het volgende probleem was met de draadloze deurbel zelf. Het werkte prima zonder achterkant op de 3D-geprinte doos, maar wilde niet meewerken toen het op de voordeur was geïnstalleerd! Mijn oplossing was om een gedeelte van de achteromslag van ongeveer 1 mm dik te hebben - dat werkte!

Het laatste probleem dat moest worden overwonnen, was om alle componenten in een doos van redelijk formaat te persen!

Stap 2: De componenten, de build en hoe het werkt

De componenten, de constructie en hoe het werkt
De componenten, de constructie en hoe het werkt
De componenten, de constructie en hoe het werkt
De componenten, de constructie en hoe het werkt
De componenten, de constructie en hoe het werkt
De componenten, de constructie en hoe het werkt

Voor zo'n eenvoudig apparaat heb ik het volgende gebruikt!!

3D-geprinte doos & knop

1 x SSD1306 OLED-scherm

1 x QMC5883

1 x bluetooth-schild

1 x dubbelpolig relais

1 x zelfvergrendelend relais

5 x tactiele schakelaar voor printmontage

2 x 3v batterijen

1 x originele deurbel

1 x diode

1 x pnp-transistor

Ik moest de bedrading 'met vogels nestelen' om ervoor te zorgen dat er genoeg ruimte was om alle componenten in de doos te persen - het is niet het leukste project dat ik ooit heb gedaan!

Ik gebruikte 2 x 3v-batterijen met een diode om de voeding een beetje te laten vallen.

De originele deurbel werd geleverd met een 12v batterij.

Wanneer de deurbelknop wordt ingedrukt, sluiten de relaiscontacten en bedienen ze de originele deurbel terwijl tegelijkertijd het zelfvergrendelende relais wordt ingesteld dat 5v levert aan de Arduino, het Bluetooth-schild en de QMC5883.

Wanneer de Arduino zijn werk heeft gedaan, wordt pin 12 laag gepulseerd, waardoor het vergrendelingsrelais (via een transistor) wordt gereset en de voeding wordt verwijderd.

Wanneer het apparaat voor het eerst wordt bevestigd aan de GESLOTEN deur, wordt de knop die is aangesloten op Arduino-pin 4 ingedrukt terwijl de deurbelknop wordt ingedrukt. Deze levert stroom aan de Arduino en leest de oriëntatie van de QMC5883 en slaat de waarde op in de eeprom. Zie de Software-pagina en Arduino-schets voor hoe dit werkt.

De andere 3 knoppen werken nu alleen als de deur niet in deze stand staat, d.w.z. gesloten.

Om de berichten en de afteltimer in te stellen, wordt de knop die op pin 7 is aangesloten ingedrukt terwijl de hoofdbeldruk wordt ingedrukt EN de deur open is, dit initieert de bluetooth-routine. Instellingen worden ingevoerd via de Mit App Inventer App. De app slaat de gegevens automatisch op en slaat de gegevens op in de Arduino eeprom.

Om het IN / OUT-bericht in te stellen, worden de knoppen die zijn aangesloten op Arduino-pinnen 5 of 6 ingedrukt terwijl de hoofddeurbelknop wordt ingedrukt EN de deur open is.

Afhankelijk van welke knop wordt ingedrukt, wordt eeprom-adres 0 ingesteld of gereset. Er is een limiet aan de hoeveelheid lees-/schrijfbewerkingen die de Arduino eeprom tolereert. Volgens de meeste referenties ligt de limiet rond de 100.000, wat betekent dat als de eeprom 4 keer per dag wordt geschreven, het ongeveer 55 jaar of zo moet duren voordat er problemen kunnen optreden.

Stap 3: De software

De software voor de Ardiuno-schets is naar mijn maatstaven redelijk goed gedocumenteerd!

Om er zeker van te zijn dat er redelijke gegevens in de eeprom zitten, verwijdert u de volgende opmerkingen en compileert u.

Pas na het compileren de commentaarmarkeringen opnieuw toe en compileer opnieuw.

EEPROM.begin(); /*

outone="0";

outtwo = "1";

outthree = "2";

outfour="3)";

inone = "0";

intwee = "1";

in drie = 10;

*/

Wanneer het voltooide project op de deur is gemonteerd, met de deur gesloten, houdt u de knop ingedrukt die is aangesloten op Arduino-pin 4 en drukt u op de bel. Een bericht bevestigt uw actie.

Deze slaat de waarden op die zijn uitgelezen van het digitale kompas in de Arduino eeprom.

De functie 'diffy' bepaalt of de deur open of dicht is.

void diffy(int froma, int toa)

{

int verschil;

diff=froma - toa;

diff=(diff+180)%360;

if(diff <=0)

{

verschil+=180;

}

anders

{

verschil -=180;

}

Laad vervolgens de bluetooth. APK op een mobiele telefoon. Houd met de deur OPEN de knop ingedrukt die is aangesloten op Arduino-pin 7 en druk op de beldrukker. Het apparaat wordt ingeschakeld in de Bluetooth-modus. Koppel de BT-module met je telefoon, vul de benodigde gegevens in en stuur deze naar de deurbel.

De deurbel blijft ingeschakeld totdat deze informatie van de telefoon heeft ontvangen.

Wanneer de informatie naar de deurbel is gestuurd, bewaart de app de informatie. Dus als u wijzigingen wilt aanbrengen, hoeft u niet de hele tekst opnieuw in te toetsen.

De APK is te vinden op het volgende adres.

ai2.appinventor.mit.edu/#5902371463495680

Om veiligheidsredenen moet je telefoon je vragen om te bevestigen dat je deze app wilt installeren. Op mijn telefoon staat een instelling genaamd 'Install Unknown Apps'.

Aanbevolen: