Project showcase
emrine.com on Arduino

emrine.com on Arduino

Secure your device with emrine.com QR code access control.

  • 146 views
  • 0 comments
  • 1 respect

Components and supplies

Necessary tools and machines

Apps and online services

About this project

Integration of emrine.com QR code-based access control solution on Arduino using an ST7735 1.44" TFT screen and a 4x4 membrane keypad.

emrine.com is a QR code-based access control solution. You can use it to control access to a lock or any electronic devices equipped with a screen and that can receive user input.

User flow

The flow is the following :

  • Access is denied, user press "#"
  • QR code is shown on the screen
  • User scans the QR code and is redirected to emrine.com where a code is displayed
  • User enters the code using the keypad and press "#"
  • Code is checked on the device. Access is granted if the code is verified

Code

Download the sketch from this GitHub repository

Hardware

For this demo project, the following harware is required :

  • Adafruit 1.44" Color TFT LCD Display ST7735 (link) or any ST7735 lcd breakout compatible with Adafruit-ST7735-Library
  • 4x4 or 3x4 membrane keypad (link)
  • Arduino UNO or Arduino mini

If you are using the 1.8" breakout, you need to update the lcd initializing part to tft.initR(INITR_BLACKTAB);, check the st7735 library examples if using different LCD screens

If you are using a 3x4 keypad, update COLUMN_NUM,keys and pin_column accordingly.

Run the sketch

Open sketch.ino in Arduino IDE

Install the dependencies :

  • in "Library Manager", type "keypad" in search and install "Keypad by Mark Stanley, Alexander Brevig"
  • in "Library Manager", type "st7735" in search and install "Adafruit ST7735 and ST7789 library"
  • in "Library Manager", type "QRCode" in search and install "QRCode by Richard Moore"

Update Device ID and keys

On https://emrine.com, login and create a new device

  • update EMRINE_DEVICE_ID according to your own Device_ID
  • update EMRINE_KEYA and EMRINE_KEYB respectively to keyA and keyB values

The beginning of your sketch will look like this :

#define EMRINE_DEVICE_ID "AIsPkdwm1weM9CSvQiDR"
#define EMRINE_KEYA 9746
#define EMRINE_KEYB 17869

You can now upload the sketch to your device

Dependencies

License

This project is released under the Unlicense license

Code

Github
https://github.com/bertrandmartel/emrine-arduino

Schematics

Arduino UNO wiring
wiring for Arduino UNO
82336958 7d7e1280 99eb 11ea 97f3 2e560ec4afc9 tieolnbzwq
Arduino Mini wiring
wiring for Arduino Mini
82336962 7e16a900 99eb 11ea 9f3e 329175b06af3 k9iigojmzo

Comments

Similar projects you might like

IOTca2

Project in progress by 3 developers

  • 1,648 views
  • 0 comments
  • 3 respects

Android App-Based Home Automation System Using IOT

Project tutorial by Team Autoshack

  • 55,942 views
  • 22 comments
  • 151 respects

Arduino Modules - Flame Sensor

Project tutorial by SURYATEJA

  • 16,501 views
  • 1 comment
  • 10 respects

Smart Door with Face Unlock

Project tutorial by Divins Mathew

  • 18,243 views
  • 5 comments
  • 31 respects

Smoke Sensor

Project showcase by Jiss Anto

  • 6,447 views
  • 0 comments
  • 11 respects

Arduino Bluetooth Robot for Android Device

Project showcase by aip06

  • 5,295 views
  • 2 comments
  • 19 respects
Add projectSign up / Login