How to Send Data by Light: Fiber Optics [Updated]

71,963

89

30

Introduction: How to Send Data by Light: Fiber Optics [Updated]

About: I love SCIENCE. The world of knowledge. If you are reading this, You TOO will love SCIENCE
We've using copper wires for sending signals on 20st Century. Now we are in 21st century!
In this tutorial, Im going to show you how to send information by LIGHT using Fiber Optics. Friends, Welcome to the 21st Century!

Some of you will be thinking, Why not use our good old friend Copper Wire? Friends, We all know light can travel
299,792,458 meters per second. Thats really, really fast. This can be very useful for High-Speed Internet (Man! I love that one!).

Enough of explaining, Lets get right on it!

Step 1: Getting Started! Materials & Other Stuff

For our project here, We will need only few items:

Materials:
1. 2 Arduinos - We will need 1 for transmitting Data, other one for receiving data.
2. Fiber Optic Cable - Search the internet! Dont get the 200$ one. Get one thats about under 50$
3. A LED - The brighter LED is, the better.
4. Photoresistor - We need to recieve the light right?
5. Two 22 Ohm Resistor - You'll need it to simplify data
6. Some wires - We will need a copper wire. Its ok. Its only few inches long :P
7. 2 Breadboards - Make thing simple!
8. Electrical Tape
9. Any Sensor of your choice! - You can use any sensor(Servos, Potentiometers, Ultrasonic Sensor, etc)!

Other Stuff:
1. Computer - We need to program our Microcontroller!
2. Arduino IDE - Download Right Here !
3. Some Time

Got all that? Lets start!

Step 2: Building the Reciever Circuit!!

Lets jump into building our circuits shall we?

You need to attach Resistor, LED, and Photoresistor like in the Circuit Diagram above.
Make sure to connect the right pin of the Arduino.

WARNING: MAKE SURE NO LIGHT IS LEAKING/EXPOSED TO THE PHOTORESISTOR

Step 3: Building the Transmitter Circuit!!

Now lets build the transmitter circuit!!!

Transmitter:
OK now, Make a exact duplicated circuit like the Reciever!! Thats why i put the detailed instructions & pictures
'Building the Reciever' in front of this step! The only difference is, instead of photoresistor, insert any sensor you want!
Once you made the exactly same circuit. Attach a LED to the Arduino like the picture above!

Note: The LED's Ground lead goes into Arduino's GND pin, The other wire goes into Arduino's Digital Pin 11

That is it for the Transmitter!! :D Check the picture for the finished circuit!! Sorry for the blurry picture :(

Step 4: Programming the Arduinos!

Connect your Arduino with your USB Cable, and download the Zip file below!

Once you downloaded it (Its only 6.34KB for Slow-Internet Users), Extract the files, Then you will
have a folder named "FiberOptics". Click it! Once your in the folder, follow these steps correctly!

1. Open the "FiberOpticTransmitter", Click on the "FiberOpticTransmitter.pde" file. This will open up the Arduino IDE.
Then upload the code to your Arduino Transmitter that we made in Step 3!!

2. Once you uploaded the Transmitter Code, do the same with the other one. Goto "FiberOpticReciever" folder and so on.
Make sure that you upload the code to the Reciver Arduino that we made in Step 2!!

3. You will notice the "FiberOpticGrapher" folder, We will get into that in the next step!
::We will assume you have experiance on uploading code to your Arduino, If not, go HERE

Step 5: Preparing the Grapher

OK Guys! Lets prepare our Grapher!!

The Grapher !m mentioning is showing Sensor value on the transmitter into Graph! Simple right? So lets setup this!
First, Make sure you have the program called "Processing". The download link is in the 'Getting Started!!' Section(Step 1).

Since the Arduino and Processing Code Extension are same,
What you wanna do is open up Processing, Click on the icon that has a Arrow pointing up!
Then navigate to the 'FiberOptics' folder, Click on the "FiberOpticGrapher" folder,
and then finally click on the "FiberOpticGrapher.pde" File. Check picture!


This will open up the Code! Now lets test our code!!

Step 6: Preventing Errors & Bugs or Other Nasties :P

Here is some Tips & Warnings to prevent errors & bugs:
Make sure the Fiber Optic Cable's one end is connected to the LED Transmitter
and the other end is connected to the Reciever. Also make sure all programs are uploaded to arduino correctly!

Only connect the Reciever Arduino to your computer with the USB Cable. Never attempt to connect the
Transmitter Arduino to your computer! (Instead, Use Batteries!)


This is what you will have:
- 2 Arduinos connected to 2 individual breadboards and 2 breadboards connected to each other
with Fiber Optic Cable
- A Transmitter Arduino Connected to your computer

This is what you will have on your computer screen:
- 'Processing' Application with the "FiberOpticGrapher.pde" Opened




Once you are sure that every thing is 99.99% good, Lets rumble along!

Step 7: Testing It Out!!

Now lets finally send some data with light shall we?

First, Power on your Transmitter Arduino (With batteries)! The Arduino will start flickering.
Once you are done with that(Which will be about a microsecond), Click on the 'Play' icon on the
Processing Icon bar. And............................... Booya!! It will start to draw Graph!!

The higher the value gets, the higher the graph will draw!

Step 8: How It Works.... :O

If you are NOT a Electrical Engineer, and a Electronic Noobie, You might think:

Q: The Reciver has a Photoresistor, and a handy-dandy resistor. Why?
A: The Photoresistor is a Light sensor.So if it recieves Light, the resistance gets higher.
But if it recieves low light, the resistance gets lower!
What about the resistor? The resistor is just to make data incoming from the Photoresistor easier!

Q: What about the Transmitter?
A: The Transmitter is just the same, but with the LED connected to the arduino!

Step 9: Now Applying to Your OWN Project!

We just sended some basic sensor signals using light! But you can send other data like Sounds, Text, Numbers or whatever!
You can use my Reciever circuit, but you can design your own to make it better!

Tips: The main difficulties on sending data with light is that you have to convert your data into flickering, Fading light,
and then back to your original data. Thats pretty time-consuming but the results are GREAT!!



If you have any questions, Comment!! Thanks for reading my instructable! God bless!!!

Make It Glow Challenge

Participated in the
Make It Glow Challenge

Be the First to Share

    Recommendations

    • The 1000th Contest

      The 1000th Contest
    • Battery Powered Contest

      Battery Powered Contest
    • Hand Tools Only Challenge

      Hand Tools Only Challenge

    30 Discussions

    Don't get me wrong, I like the ible, but you're not exactly sending data, you're just monitoring a photo transistor for changes in light levels.

    Now if you had one arduino blinking the light like a TV remote and the other one acting like a receiver and actually decoding data, then that'd be a step in the right direction.

    0
    csselement
    csselement

    Reply 8 months ago

    "you're not exactly sending data, you're just monitoring a photo transistor for changes in light levels." - I think you need to reconsider your understanding of 'data'. Monitoring changes in light levels IS data and only requires encoding/decoding. For example, define high resistance = 0 and low resistance = 1. Now you have binary data!

    0
    Phil BoogerS
    Phil BoogerS

    Reply 5 years ago

    What if the light levels were dat

    0
    iScience
    iScience

    Reply 8 years ago on Introduction

    This is just a basic example of sending data with light
    In this case, sending 1 or 0

    I was gonna edit this instructable anyways! Thanks for helping! :)

    0
    iScience
    iScience

    Reply 8 years ago on Introduction

    This instructable is fully updated with new pictures! Now you can send data with light!

    0
    Yokhan12345
    Yokhan12345

    Question 1 year ago

    I am trying to send 2 Dc signals and 1 analog signal over a single fiber optic cable. Any ideas on how to do it? The dc signal is 5v and the other one is 15v, also the analog is max of 2MHZ. I have started on this but sending 3 signals over a single strand of fiber seems crazy. Any ideas? Its for a senior design project

    0
    iScience
    iScience

    8 years ago on Introduction

    Need any help? COMMENT! I will love to help you guys out!

    0
    allwins
    allwins

    Reply 1 year ago

    I am doing project on optical signal transmitter and receiver giving input via labview software to move the servo motor. I am from other department so kindly give me some information about this and i already bought the material what you mentioned in this blog

    0
    farjad mehmood
    farjad mehmood

    Reply 3 years ago

    can u tell me how can i change graph pattern......like..if light is too high graph is to high yes or no????

    and next question is where i can join batteries transmitter side or receiver side???

    0
    WaleedM17
    WaleedM17

    Question 2 years ago on Step 8

    which optical fiber you have used. i make the same circuit but my LDR is not activation due to very low light traveling from optical fiber. how much big core optical fiber do i required?

    0
    احمدا78
    احمدا78

    2 years ago

    Please help add a microphone to the transmitter and a speaker for the receiver

    0
    NaimK4
    NaimK4

    Question 2 years ago on Step 2

    hey, how do I connect that optical fiber? just with tapes or something???

    0
    pahval
    pahval

    4 years ago

    hey, what do you think about us EL wire instead optic cable (so transmission creates some nice illumination)? is it possible, reading light from other end? anybody tried? <3

    0
    techno guy
    techno guy

    Reply 4 years ago

    This wouldn't really be practical. EL wire is essentially 2 wires with luminescent stuff in between. You can't send light though it (at least not more than a few cm), but you might be able to use it to send some type of data on 2 wires. It would look sci-fi, but it won't work like optic fiber.

    0
    NanaK6
    NanaK6

    4 years ago

    please how do i send voice signal from wled through the optical fibre using the concept of wdm

    0
    webmasterpdx
    webmasterpdx

    4 years ago

    Also, for binary comms, I think you need to convert to biphasic signals when using optics....

    0
    webmasterpdx
    webmasterpdx

    4 years ago

    I don't see any instructions on hooking up the optic fiber????

    0
    alaoutid
    alaoutid

    6 years ago on Introduction

    Hi,

    How can i send a text using binary code? please help

    0
    Phil BoogerS
    Phil BoogerS

    Reply 5 years ago

    ¿Just translate text to binary and send?