DIY Smart Augmented Reality Glasses Using Arduino

Introduction: DIY Smart Augmented Reality Glasses Using Arduino

As technology is growing rapidly and integrating itself to all aspects of people’s life, designers and developers tried to provide a more pleasant experience of technology to people. One of the technology trends which aim to make life easier is wearable computing. Wearable’s aim to assist people to be in control of their life by augmenting the real life with extra information constantly and ubiquitously. One of the growing trends of wearable computing is Head Mounted Displays (HMD), as the head is a great gateway to receive audio, visual and hectic information. Also due to the Google Glass project, wearable’s in form of glasses gained much more attention during last year’s. Google Glass is as futuristic a gadget we’ve seen in recent times. A useful technique for all kinds of people including handicapped/disabled.

Inspired by Google glasses, I made a wearable prototype that can function quite similar to Google Glass. In this project, we will make a wearable extension that can work like Google glasses, and it will be used to send notifications of calls and messages received on mobile phones, and also show time and date, all in front of wearer’s eye.

Google Glasses are available in market at price of $1000-$1500. Here we will make this project under, Rs.1000 or $15.

Smart- Glasses are the wearable computing device used as an extension, which can be attached to the spectacles or sunglasses of the wearer, and can be paired with Smart Phones, via Bluetooth. This extension, contains an Arduino Micro-controller having ATmega328p microprocessor, which is programmed to connect with Smart-Phones through a Smart-phone application. A Bluetooth module, named HC-05 is interfaced with ATmega328p, which is used to connect with smart-phones. A battery / Re-chargeable battery of 5V is used as power supply for Smart-Glass. An SSD1306, 0.96” OLED display is interfaced with ATmega328p, which is used to display the data received from Smart-phones. Smart-Phone application is used to transmit data of the phone, i.e; Date, Time, Notifications of Phone call and Text messages.

The following are the main steps that are implemented during the whole process:

  1. Notifications Received.
  2. Encoding.
  3. Transmitting and Receiving.
  4. Decode and Process.
  5. Execution

The basic principle of this project is to create a working prototype and that too within a very less cost.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: COMPONENTS REQUIRED :

  1. Arduino Nano, (ATMega328p)
  2. Battery ( we have used 9V battery)
  3. Bluetooth module (HC-05)
  4. OLED display (SSD1306)
  5. Wires for connection
  6. Push Button
  7. Bluetooth Earphone (LG HBS 760) [This is optional. I had a damaged set, so I used it too.]
  8. Toggle switch
  9. Basic Frame ( we made this frame using Sunmica Sheet, by remolding its shape using Solder iron)

Step 2: PROGRAM :

Upload the given program in Arduino Nano. But first, download the library for the program.

For downloading the library, follow these steps; Sketch > Include Library > Manage Library > Search for " SSD1306" and install the Adafruit_SSD1306

Or if the given Arduino program doesn't work, then copy and upload the program given below;

#include <SPI.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#define OLED_RESET 4

Adafruit_SSD1306 display(OLED_RESET);

void setup() {

Serial.begin(9600);

display.begin(SSD1306_SWITCHCAPVCC, 0x3D);

display.display();

delay(2000);

display.clearDisplay();

}

void loop() {

while(Serial.available() > 0){

String Date = Serial.readStringUntil('|');

Serial.read();

String Time = Serial.readStringUntil('|');

Serial.read();

String Phone = Serial.readStringUntil('|');

Serial.read();

String Text = Serial.readStringUntil('\n');

Serial.read();

}

if(Text == "text" && Phone == "phone")

{ display.println(Date);

display.display();

display.println(Time);

display.display();

display.clearDisplay();

}

if (Text != "text" && Phone == "phone"){

display.println(Text);

display.display();

delay(5000);

display.clearDisplay();

}

if (Text == "text" && Phone != "phone"){

display.println(Phone);

display.display();

delay(5000);

display.clearDisplay();

}

}

Step 3: APPLICATION :

If the given .apk doesn't work, or you want to create your own customized app. Then you can use app inventor website and make the functional blocks as given above.

OR

Download the .apk and install it.

Step 4: CONNECTION :

Connect the circuit as shown in this schematic diagram.

Connect to the battery and turn on the supply.

Step 5: SETUP :

Pair Bluetooth module with phone’s Bluetooth. The App will show the above image.

Step 6: BODY / FRAME WORK :

Make the frame as shown in the figure, or as per your choice. I made this frame using plywood Sunmica, by using the soldering iron to make the curve. You can make it as per your design.

For Display, you can use the above template as a reference.

Step 7: RESULT :

As a result, something similar to the above image will appear on the Display.

If you have any suggestions to make it better, you can comment down.

Be the First to Share

    Recommendations

    • LED Strip Speed Challenge

      LED Strip Speed Challenge
    • Sculpting Challenge

      Sculpting Challenge
    • Clocks Contest

      Clocks Contest

    68 Discussions

    2
    Saifisilk
    Saifisilk

    1 year ago

    Hey Ankit I need your help i am following your project But my bluetooth is paired with my android phone but not sending any data to my Oled display and my oled display just showing 00:00 time like this.... Contact me i need your help are you on whatsapp
    i have
    1 Oled display i2c(4pins)
    Arduino Nano
    Bluetooth HC05
    retrowatch(arduino Code) (https://github.com/godstale/retrowatch)
    contact me ASAP

    Thank You
    Regards
    Saifi

    0
    Fa_ramps36
    Fa_ramps36

    Reply 6 weeks ago

    what can i do
    pls fasted answer

    dasdsadasdasda.png
    0
    haimansu
    haimansu

    Reply 1 year ago

    Hey Saifi!
    I've been trying to run the same code on my nano. But the code doesn't upload on the device and shows some error.Could you help me out with this?

    Untitled.png
    0
    pankaj5232
    pankaj5232

    Reply 10 months ago

    its arduino nano hardware error try using another nano.

    0
    Wavpro
    Wavpro

    Reply 8 months ago

    Do you mean another Arduino?

    0
    thanga8vip
    thanga8vip

    Reply 6 months ago

    Remove the rx,tx pins from ardiuno and try uploading the code.

    0
    Anipriyo
    Anipriyo

    Reply 10 months ago

    You try using old bootloader for atmega328

    0
    RahulT106
    RahulT106

    2 months ago

    i have uploaded the program given above but in last IF loop its showing Text is not declared in scope .Can someone help me in code.plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

    0
    Ammini mahesh
    Ammini mahesh

    Question 2 months ago on Step 6

    I didnt understand 6th step .
    Also .. where do we keep the cir uit in the glass

    0
    powerofknowledge45
    powerofknowledge45

    Question 2 months ago

    Hy I am making this project ...but after uploading the code ..it nothing show on screen the oled working properly but date and time is not showing on the screen ...plz help me in code ..which libraries I have to include and how to show date and time of mobile to the oled screen..

    0
    Б.Б.Г
    Б.Б.Г

    4 months ago

    95 old screen what code to write arduino? tell me

    2
    pankaj5232
    pankaj5232

    Question 10 months ago

    Hey Ankit, i uploaded arduino program successfuly. The app was not working in my phone , so i made the app with same block in app inventor. the problem is that , its sending date and time on serial monitor but not sending phone no. or text detail on arduino. Please help

    0
    rsdeva84
    rsdeva84

    Answer 5 months ago

    Hello sir

    I am facing the same problem you have mentioned in this comment but sir i am unable to make my own app, sir i request you to please share the app you made yourself for this project. Please help sir ASAP

    Thank you

    0
    2000soumik
    2000soumik

    Answer 7 months ago

    I am facing the exact same problem . pls reply if you have solved the problem..

    0
    gmaster2212
    gmaster2212

    Question 5 months ago

    Mine its showing :
    STATUS : connected..
    what to do next ???
    pls reply!!!

    0
    komarabharu01
    komarabharu01

    Question 7 months ago on Step 7

    Where the battery should be connected for giving charging

    0
    Ankit_Kunti
    Ankit_Kunti

    Answer 6 months ago

    Vin and Gnd of arduino

    1
    thanga8vip
    thanga8vip

    6 months ago

    i uploaded the code(tried both codes).But the display does'nt show anything.It,s just showing "adafruit".I tried your app and tried making my own app with the above picture.


    IMG_20190913_214511.jpg