Inhoudsopgave:

Slimme Lockbox: 7 stappen
Slimme Lockbox: 7 stappen

Video: Slimme Lockbox: 7 stappen

Video: Slimme Lockbox: 7 stappen
Video: Super slimme leestechnieken 2024, Juli-
Anonim
Slimme Lockbox
Slimme Lockbox

In deze instructable laat ik je zien hoe je een slimme lockbox maakt.

De lockbox wordt aangedreven door een Arduino (UNO) en maakt gebruik van RFID en een servomotor om de toegang te regelen terwijl de binnenkomende gegevens van verschillende sensoren worden bijgehouden. De gegevensgeschiedenis wordt bewaard in een MYSQL-database. De gegevens worden getoond op een website die wordt gehost door de framboos Pi.

Stap 1: Onderdelen- en materiaallijst voor project

Computer/microcontroller:

  • Arduino UNO
  • RaspBerry Pi 4 Model B

Onderdelen

  • LM35 temperatuursensor
  • GL5537 LDR-sensor
  • VMA405 of RC522 RFID-sensorlezer met tag
  • MG 996R Servomotor
  • DuPont mannelijke-vrouwelijke jumperdraden
  • Breadboard draden
  • Rode LED
  • Groene LED
  • Actieve zoemer 5V
  • 1k Ω(ohm) weerstand
  • 2 x 330 Ω(ohm) weerstanden

huisvesting

Doos kan van elk materiaal worden gemaakt. De mijne is van karton

Extra

Ik heb een houten opzetstuk gemaakt voor de servomotor (optioneel)

Software

Arduino IDE, Visual studio-code - Raspberry Pi met SSH, MYSQL-werkbank

Voor een schatting van de prijs kunt u het BOM-bestand raadplegen.

Stap 2: Breadboard-circuit

Breadboard-circuit
Breadboard-circuit
Breadboard-circuit
Breadboard-circuit
Breadboard-circuit
Breadboard-circuit

RFID

  • Vcc 3.3. V van Arduino
  • RST Digitale 9-pins
  • Gnd Gnd van Arduino
  • MISO Digitale 12-pins
  • MOSI Digitale 11-pins
  • SCK Digitaal 13-polig
  • NSS/SDA Digitale 10-pins

servomotor

  • 5V (Rood) (+) op breadboard
  • Gnd (Bruin) Gnd op breadboard
  • PWM (Oranje) Digitaal 3-pins

LM35

  • Vin(+) (+) op breadboard
  • Gnd Gnd op breadboard
  • Vout Analoog 1 pin

LDR

  • Vin(+) (+) op breadboard
  • Gnd Gnd op breadboard met weerstand van 1K ohm
  • Vout Analoog 0 pin

Led (Groen)

  • Vin(+) Digitale 4-pins met 330 ohm weerstand
  • Gnd Gnd op breadboard

Led (Rood)

  • Vin(+) Digitaal 5 pins met 330 ohm weerstand
  • Gnd Gnd op breadboard

Actieve zoemer

  • Vin(+) (+) op breadboard
  • Gnd Gnd op breadboard

Arduino naar breadboard

  • Arduino 5V(+) (+) op breadboard
  • Arduino Gnd Gnd op breadboard

Raspberry Pi naar Arduino

Wordt aangesloten met een USB

Stap 3: Arduino

Arduino
Arduino

De bedrading van de elektronica moet er ongeveer zo uitzien als op de afbeelding hierboven.

Verbind eerst de Arduino met de computer om de hardware te programmeren. De hoofdcode is hieronder te downloaden maar gebruik deze nog niet, volg eerst onderstaande stappen.

Bibliotheken

We zullen gebruik maken van de SPI- en MFRC 522-bibliotheek om met de RFID-sensor te werken. Werken met de RFID

Download hier de RFID-bibliotheek van de Github van miguelbalboa

Pak het zipbestand uit.

Ga in de Arduino IDE naar schets> bibliotheek opnemen en kies het zipbestand dat je zojuist hebt gedownload

Nadat je het zip-bestand hebt geüpload, ga je naar schets>bibliotheek opnemen> bibliotheken beheren. Zoek in bibliotheekbeheer naar "MFRC522". Het zou moeten zeggen dat de bibliotheek is geïnstalleerd.

De RFID-gegevens scannen

Ga naar bestand>voorbeelden>MFR522>dumpinfo en upload/start de code in uw IDE. U zult zien dat de code een MFR522.h- en SPI.h-bibliotheek bevat. Beide zijn nodig voor de RFID.

Open nu de seriële monitor (tools>serialmonitor) en scan uw badge en kaart totdat alle gegevens worden weergegeven.

Zorg ervoor dat u de UID schrijft, want u heeft deze nodig.

Nu kunt u de hoofdcode downloaden (Arduino_code_lockbox) Vervang in de hoofdcode uw eigen UID-tagcode door die uit de code.

Na het uitvoeren/uploaden van de code in de Arduino IDE, test u de rfid-scan. Als het werkt, kun je de Arduino USB loskoppelen van de computer en verbinden met de Raspberry Pi.

Stap 4: Raspberry Pi

Raspberry Pi
Raspberry Pi

Gegevens lezen van Arduino in Python

Zorg ervoor dat de Arduino is verbonden met de Raspberry Pi. Open app.py en voer het bestand uit. U ziet de gegevens die uw sensoren van de Arduino hebben ontvangen.

Om de gegevens te kunnen lezen heeft u het seriële deel van de code nodig (zie afbeelding).

MYSQL DatabaseMaak een database aan om de meetwaarden van uw sensoren te bewaren. Voor dit project ga ik tabellen maken voor temperatuur, LDR en RFID.

Backend Python

Voeg python-routes toe en pas dienovereenkomstig aan in uw MYSQL-database. Stuur de waarden van uw sensorgegevens naar uw eigen database.

Stap 5: Website

Lay-out

U kunt de bestanden van webrar.rar gebruiken of u kunt uw eigen website maken met html, css.

Gegevens uit database weergeven

Gebruik javascript om de gegevens uit de database op te halen en op uw website te tonen

De Chart.js-bibliotheek wordt gebruikt om de gegevens in een grafiek uit te zetten.

Stap 6: Huisvesting

huisvesting
huisvesting

Buitenkant

Voor de buitenkant van de behuizing heb ik verschillende delen aan elkaar geplakt. Het bovenste deel is in een L-vorm gesneden zodat de basis van de L (rechterkant op de foto) steviger wordt.

Voor de RFID-sensor is het optioneel maken van een gat in de doos. Het moet mogelijk zijn om door het karton te scannen als het niet te dik is.

De servomotor wordt aan de buitenkant afgeplakt. Afhankelijk van hoe je de framboos in de doos plaatst, moet je kleine gaatjes maken voor kabelverbindingen zoals de USB- of ethernetkabel.

Interieur

Voor het interieur heb ik een laag gemaakt zodat ik beide apparaten van elkaar kan scheiden en het overzichtelijker is. De Raspberry Pi bevindt zich op de bodem van de doos en de Arduino met het breadboard bevindt zich op de bovenste laag.

Aanbevolen: