- Componenten vereist
- Solenoïde slot
- HC-05 Bluetooth-module
- Schakelschema voor door Bluetooth gestuurd solenoïde slot
- Arduino-programma om Solenoid Lock te besturen op basis van vingerafdrukgegevens
- Android-app voor het lezen van vingerafdrukgegevens en verzending naar Arduino via Bluetooth
- 3D-geprinte behuizing voor op biometrisch gebaseerd slot
- Ons op Arduino gebaseerde vingerafdrukgestuurde slot testen
Nu is de hele wereld in de greep van COVID 19 en neemt iedereen waar mogelijk voorzorgsmaatregelen om te voorkomen dat ze deze ernstige ziekte oplopen door sociale afstandelijkheid te volgen, maskers te dragen, transacties zonder contant geld te gebruiken en niets aan te raken om de verspreiding van ziektekiemen te voorkomen. Met de opkomst van technologie behoren de normale sloten tot het verleden en worden nieuwe op biometrie gebaseerde sloten en op RFID gebaseerde sloten steeds meer mainstream. Op vingerafdrukken gebaseerde sloten en aanwezigheidsregistratieapparaten worden ook in de meeste kantoren en hogescholen gebruikt, maar tegenwoordig is het niet aan te raden om dit te doen vanwege deze pandemie en daarom gaan we een deurslot bouwen met behulp van een solenoïdeslot en bediening het met behulp van een Android-app via Bluetoothzodat we de vingerafdruksensor helemaal niet hoeven aan te raken en gewoon je eigen telefoons gebruiken om het slot te bedienen. Dus laten we beginnen.
Componenten vereist
- 1 × Arduino Nano
- 1 × HC-05 Bluetooth-module
- 1 × Solenoid-slot
- 1 × piëzo-elektrische zoemer
- 1 × Rode LED 5 mm
- 1 × Groene LED 5 mm
- 1 × IRF540N N-kanaal MOSFET
- 1 × BC547 NPN-transistor
- Weerstanden: 1 × 550Ω, 1 × 2k0Ω, 1 × 220Ω
- 1 × 7805 spanningsregelaar
- 1 × DC Jack connector paar
- Perfboard
Solenoïde slot
In een conventioneel deurslot is er een sleutel om aan de grendel te trekken of te duwen, en we moeten deze handmatig bedienen, maar in een solenoïdeslot kan de grendel automatisch worden bediend door een spanning aan te leggen over de solenoïdespoel die de grendel zal regelen aanwezig in het slot.
Het solenoïdeslot heeft een laagspanningssolenoïdespoel die de grendel terug in de deur trekt wanneer er een geschikte spanning op staat en open blijft totdat de spanning is verwijderd. U kunt de werking dus regelen door de spanning die eraan wordt gegeven te regelen met behulp van een drukknop, relais, microcontrollers, enz. Solenoïde deursloten worden voornamelijk in afgelegen gebieden gebruikt om operaties te automatiseren zonder enige menselijke inspanning.
HC-05 Bluetooth-module
HC-05 wordt gebruikt om draadloze connectiviteit met uw projecten te bieden, zodat u kunt communiceren met andere microcontrollers of uw mobiele telefoons en laptops. U kunt de gegevens die worden verzonden en ontvangen gemakkelijk beheren met behulp van eenvoudige Android-applicaties die u gemakkelijk zelf kunt maken. Het heeft twee modi, de eerste datamodus die wordt gebruikt om gegevens van en naar het Bluetooth-apparaat over te dragen en de tweede is de AT-opdrachtmodusdie wordt gebruikt om uw Bluetooth-module te configureren. Het communiceert met behulp van USART-communicatie met een baudrate van 9600, zodat u het kunt aansluiten op elke microcontroller die USART-communicatie ondersteunt en gemakkelijk kan worden aangesloten op de seriële poorten die beschikbaar zijn op het bord. Denk eraan dat u het apparaat moet voeden met een 5V-voeding en de TX-pin moet verbinden met de RX-pin van uw microcontroller en de RX-pin met de TX-pin van de microcontroller. U kunt het gebruiken in automatiseringstoepassingen en draadloze toepassingen in datalogging en robotica.
Schakelschema voor door Bluetooth gestuurd solenoïde slot
Het volledige schakelschema dat laat zien hoe een solenoïdeslot met een Arduino via een MOSFET moet worden gekoppeld en bediend, wordt hieronder weergegeven.
Zoals te zien is in het schakelschema, zijn de verbindingen vrij eenvoudig, u moet de HC-05 Bluetooth-module met de nano verbinden door het apparaat van stroom te voorzien met een 5V-voeding en de TX-pin met de RX-pin van uw microcontroller en de RX-pin met de TX-pin van de microcontroller. U moet een rode LED toevoegen om de stroomstatus van de Arduino nano weer te geven en een groene LED om aan te geven of de deur ontgrendeld is. U moet ook een zoemer aansluiten. Het aansluitschema wordt hieronder weergegeven voor een gemakkelijk begrip.
Om het solenoïdeslot te bedienen, moet u een stuurcircuit gebruiken dat een NPN-transistor en een N-kanaal-MOSFET bevat. We zullen de NPN-transistor besturen door de D9-pin van de Nano aan te sluiten op de basispin van de transistor via een weerstand van 550 Ohm om de stroom die in de transistor stroomt te regelen. Wanneer de D9-pin hoog wordt getrokken, wordt de transistor ingeschakeld en wordt de poortpin van de MOSFET naar de grond getrokken, waardoor de MOSFET UIT wordt geschakeld die de solenoïde vergrendeling uitschakelt en wanneer de D9-pin LAAG is, is de NPN-transistor uitgeschakeld. betekent dat de GATE van de MOSFET naar 12V wordt getrokken via een 2kOhm pull-up-weerstand om de MOSFET in te schakelen en het solenoïdeslot van stroom te voorzien. Op deze manier kunt u het Solenoid-slot bedienen met uw 5V Arduino Nano. Je kunt de IRF540N MOSFET niet rechtstreeks besturen met 5V-pinnen van de Nano, omdat het geen MOSFET op logisch niveau is, dus het won 't volledig in- of uitschakelen met 5V van de nano, daarom zullen we de BC547 NPN-transistor gebruiken om de MOSFET te besturen.
Ik heb de complete schakeling op een perfboard gesoldeerd om het compact te maken. Het idee is om een 3D-geprinte behuizing voor ons slot te ontwerpen, zodat deze gemakkelijk kan worden geïnstalleerd en gebruikt.
Arduino-programma om Solenoid Lock te besturen op basis van vingerafdrukgegevens
We zullen de code op de officiële Arduino IDE schrijven, als je de IDE niet hebt, moet je deze downloaden van de officiële Arduino-website. We starten de code door de variabelen te declareren die we in de code zullen gebruiken om de randapparatuur zoals zoemer en led te besturen, ook om het solenoïde slot te besturen door de transistor te besturen.
int waarde1; #define led 12 #define bjt 9 #define zoemer 7
Nu we bij het setup-gedeelte van de Arduino komen, zullen we eerst de seriële communicatie van de Arduino initialiseren met een baudrate van 9600. Omdat we de hardwarepinnen van de Arduino gebruiken voor seriële communicatie, hoeven we geen seriële software te gebruiken in het project. Nu moeten we de pinnen die we gebruiken als uitgangen of ingangen declareren en ze beginvoorwaarden geven.
Serial.begin (9600); pinMode (bjt, OUTPUT); pinMode (led, OUTPUT); pinMode (zoemer, OUTPUT); digitalWrite (bjt, HIGH); digitalWrite (led, LOW);
Nu in de lusfunctie van de code, zullen we de gegevens lezen die serieel uit de HC-05 Bluetooth-module komen en controleren of ze overeenkomen met het vergrendelings- of ontgrendelingscommando. Als in onze programmagelogica de vingerafdruk correct wordt herkend, verzendt de Bluetooth-module waarde "1" en als de vingerafdruk niet wordt herkend, verzendt de Bluetooth-module waarde "0". Als de waarde die door Nano wordt gelezen “1” is, wordt de deur ontgrendeld en klinkt de zoemer gedurende een seconde en blijft de deur gedurende 7 seconden ontgrendeld. Daarna wordt de deur weer op slot gedaan. Als de gelezen waarde "0" is, wat betekent dat de vingerafdruk niet wordt herkend, zal de zoemer elk drie keer een alarm laten klinken voor een seconde om de beveiliging te waarschuwen.
Serial.println ("Lezen"); while (Serial.available () == 0); waarde1 = Serial.read (); Serial.println (waarde1); if (waarde1 == 1) {Serial.println ("Ontgrendelen"); digitalWrite (bjt, LOW); digitalWrite (zoemer, HIGH); digitalWrite (led, HIGH); vertraging (1000); digitalWrite (zoemer, LOW); vertraging (6000); digitalWrite (bjt, HIGH); digitalWrite (led, LOW); } if (waarde1 == 0) {digitalWrite (bjt, HIGH); digitalWrite (zoemer, HIGH); Serial.println ("Vergrendeling"); vertraging (1000); digitalWrite (zoemer, LOW); vertraging (1000); digitalWrite (zoemer, HIGH); vertraging (1000); digitalWrite (zoemer, LOW); vertraging (1000); digitalWrite (zoemer, HIGH); vertraging (1000); digitalWrite (zoemer, LOW); }
Android-app voor het lezen van vingerafdrukgegevens en verzending naar Arduino via Bluetooth
De app voor dit project is ontworpen met behulp van de Kodular-app-uitvinder. Een app maken met Kodular is heel eenvoudig; je kunt een app maken door de blokken te combineren volgens het stroomschema van je project.
Om een app met Kodular te maken, navigeert u naar Kodular.io en maakt u een account aan als u er nog geen heeft, log in op uw account en klik vervolgens op de optie ' Apps maken' .
Daarna wordt u naar het scherm Projecten geleid. Klik op de knop ' Project maken' om een project aan te maken.
Geef de app een naam en klik op ' Voltooien '. Het project wordt gemaakt en u wordt naar de Designer- pagina van het project geleid. Voeg nu op de Designer-pagina deze vier componenten toe uit het Componentenpalet om een lay-out voor de app te maken: Bluetooth-client, vingerafdruk, lijstkiezer en afbeeldingsknop. Lijstkiezer en knop zijn te vinden in ' Gebruikersinterface', terwijl vingerafdruk en Bluetooth kunnen worden gekozen uit ' Sensoren ' en ' Connectiviteit '.
Schermeigenschappen kunnen worden gewijzigd door de eigenschappen voor elk blok te wijzigen.
Ga daarna naar het scherm ' Blokken ' om de app te bouwen met behulp van de blokken.
Scroll nu naar beneden, klik op de ' List_Picker1' en sleep het eerste codeblok zoals weergegeven in de afbeelding:
Klik in de volgende stap op het blok 'Control' en sleep het eerste codeblok naar het Viewer-scherm.
Ga daarna naar het blok ' Bluetooth_client1' en selecteer het codeblok ' Bluetooth_client.connect' .
Ga dan naar het ' List_Picker'- blok en selecteer het' Selectiecode-blok ' zoals weergegeven in de onderstaande afbeelding.
Ga nu in de volgende stap opnieuw naar het ' List_Picker'- blok en selecteer het' List_Picker. Tekst naar ' codeblok zoals weergegeven in de onderstaande afbeelding.
Ga daarna naar het 'Tekst'- blok en selecteer het eerste codeblok.
Hiermee is het eerste codeblok klaar. We moeten nog drie codeblokken maken om de vingerafdruksensor van de Android-telefoon te bellen en de vingerafdruk te verifiëren. Het volledige codeblok wordt getoond in de onderstaande afbeelding. Gebruik deze afbeelding om de rest van de codeblokken samen te voegen.
Wanneer alle blokken zijn verbonden, exporteert u het .apk-bestand op uw laptop of u kunt de apk rechtstreeks naar uw telefoon exporteren met behulp van de QR-code. Het .aia- en .apk- bestand van deze app kan worden gedownload via de onderstaande link.
- Download de Android-applicatie om de solenoïdevergrendeling via Arduino te bedienen
3D-geprinte behuizing voor op biometrisch gebaseerd slot
Zoals eerder vermeld, hebben we een 3D-model gemaakt om het perf-bord en het solenoïdeslot in een nette kleine behuizing te monteren. Het model dat op de slicingsoftware is geplaatst, wordt hieronder weergegeven.
Als u dezelfde maat perfboard en solenoid lock gebruikt, dan kunt u dezelfde behuizing ook printen met de STL-bestanden hieronder. Je kunt ook andere 3D-printprojecten bekijken die we eerder hebben gebouwd.
STL-bestanden voor Solenoid Lock Casing
Ons op Arduino gebaseerde vingerafdrukgestuurde slot testen
Eerst moet u het .apk-bestand op uw telefoon downloaden en installeren om de vergrendeling te bedienen. Je moet ook de volledige code op je Arduino Nano uploaden, maar zorg ervoor dat je de TX- en RX-pinnen van de nano verwijdert voordat je de code uploadt. Nadat het uploaden is voltooid, installeert u het slot en schakelt u Bluetooth op uw mobiele telefoon in, koppelt u met het Bluetooth-apparaat dat u gebruikt en opent u de app. Tik nu op het Bluetooth-pictogram in de app en maak verbinding met het Bluetooth-apparaat en het Bluetooth-pictogram op de app verandert in het vergrendelingspictogram. Nu moet je op het vingerafdrukpictogram tikken om de vingerafdruk te controleren met de vingerafdrukscanner van je telefoon en de waarde wordt naar de Arduino Nano gestuurd.
Dit project is slechts een eenvoudige demonstratie van de dingen die u zou kunnen doen met de Bluetooth-module die op uw telefoon is aangesloten. Je kunt een hele werkende robot bouwen, een aanwezigheidsregistratie, app-gestuurde domotica-apparaten, enz. En de lijst gaat maar door tot je verbeelding. U kunt ook interface-displays weergeven om de naam te tonen van de persoon die het pand betreedt, of een camera toevoegen om uit veiligheidsoverwegingen op een foto van de persoon te klikken. Probeer dit zelf, breng enkele wijzigingen aan, en als je ooit ergens vastloopt, laat het ons dan weten in het opmerkingengedeelte en we zullen je helpen. Nogmaals bedankt en een fijne dag gewenst.