ArduDroid: a Simple 2-Way Bluetooth-based Android Controller for Arduino RGB Led Strip

15K2988

Intro: ArduDroid: a Simple 2-Way Bluetooth-based Android Controller for Arduino RGB Led Strip

INTRODUCTION

GET IT ON google PLAY "ardudroid" app

ARDUDROID (formerly Andruino) is a simple Android app to help you control the pins of your Arduino Uno (or clone) from your Android phone wirelessly. It's both an Android app and an Arduino program. ArduDroid employs a simple Android user interface to 1) control Arduino Uno's digital and PWM pins 2) send text commands to Arduino 3) and receive data from Arduino over Bluetooth serial using the ever popular and really cheap (less than $10 from ebay) HC-05 Bluetooth over serial module.This app has been tested and designed for the HC-05 Serial Bluetooth module. Other Bluetooth modules may or may not work. Also, while I used Arduino Uno in this prototype, feel free to experiment with other models of Arduino. I have published a guide before on building and programming a circuit with the HC-05 Bluetooth module and Arduino but I will briefly describe again in this guide how to wire the circuit using a breadboard and jumper wires.Special thanks to engineer Jafar Quttaineh for testing the app and for his invaluable input.

How to use ArduDroid


You can use ArduDroid to send commands to Arduino to control a relay to turn electric gadgets on/off, control a robot servo, increase/decrease speed of a motor and reverse direction, dim a light, speed up a fan, and so on. Furthermore, you can read Arduino pins and sensors then transmit the data back to your android phone.

I would like to thankful to Techbitar as great instructables.

STEP 1: Arduino Standalone

After I got my Arduino and performed a final programming on my first chip, I wanted to pull it off my Arduino Uno and put it on my own circuit. This would also free up my Arduino for future projects.

The best instruction I found is http://arduino.cc/en/Main/Standalone

  • A breadboard22
  • AWG wire7805
  • Voltage regulator
  • 2 LEDs
  • 2 220 Ohm resistors
  • 1 10k Ohm resistor
  • 2 10 uF capacitors
  • 16 MHz clock crystal
  • 2 22 pF capacitors
  • small momentary normally open ("off") button, i.e. Omron type B3F

STEP 2: Making the Electric Components

"Fritzing is an open-source hardware initiative that makes electronics accessible as a creative material for anyone. We offer a software tool, a community website and services in the spirit of Processing and Arduino, fostering a creative ecosystem that allows users to document their prototypes,share them with others, teach electronics in a classroom, and layout and manufacture professional pcbs."

I am using Fritzing software program to see the images showing you how to hook up the wires and electric components. I rather to making by the hands.

what do you need is

  • 12 volts power plug
  • 12 volts RGB led strip
  • Bluetooth module HC-05
  • voltage regulator 7805 (for bluetooth and Atmega)
  • 3 MOSFET N channel (each for red,blue,green led)
  • 3 150ohm (led strip)
  • 1 1k ohm (bluetooth)

I would like to a special thanks to adafruit It explained very well. That how I learned from them.

STEP 3: Time to Code!

I have share the codes with you. I hope you can download it from your computer. either way you can go to Github. My github account is Github. Please help me to improve the codes if need. I created the custom between the values from 0 to 255. When press the number square 13 on the app smartphone will send the output.

I am put each switch case groups of colors in the order.

if you want full red so its 255,0,0 ,

if you want full green so its 0,255,0 ,

if you want full while so its 255,255, 255,

if you want full purple so its 85, 0, 85,

etc.

RGB color codes chart

STEP 4: Finally Project

I was very happy with an awesome project communicate with Bluetooth to control them by the app smartphone. I really love about press on the square between from 13 to 5. at same time I am a little disappointment with my codes because when I press switch case for 13 and I had to wait for them to be done for while 100 time loops so I decided to make use an External Reset Button with Arduino if i want to change the switch case. its very nice its have An extremely simple reset circuit. no code necessarily. but for now I will fix the code later. the most important is they are working great

check it out the video hope you enjoy it!

Led RGB Frame video!

8 Comments

O used arduino nani which pin i used ;
Thanos i love this project

Hello, really nice instructables. I want to try it, but I little bit confused about the components.

If I'm using Arduino Uno module, did I still need voltage regulator? because you mentioned in the component list "voltage regulator 7805 (for bluetooth and Atmega)"

and other question is, if I want to control only one type of LED strip which is bright white but I made 3 strips, can I still using your source code? did I still need MOSFET N channel?

Hi thanks for nice comment!

When you are using the Arduino Uno and bluetooth module both are required for 5 volts if over voltage it will fried it. I highly recommended use a digital meter before to connect them. I used voltage regulator 7805 output the 5 volts. 12 volts is for led strip only.

I have reviewed on Fritzing image a led of strip is common anode.

You can use my code when you want to turn it off to brightest range. if you want to just only white led strip on each of them , yes you can but it will not work when you use the button on Android app for example button 1, button 2, button 3. it for colorful.

best use MOSFET N channel on each red , green, blue because one of them using the gate pin from the Arduino output signal to tell them to turn on. if not signal to the gate that one MOSFET N channel is turn off.

let me know if you have any question :)

Thank you for your fast reply and clear explanation :)

I'll try it out and let you know when I finished it.

This looks awesome! Nice first Instructable! Do you have a video?

sorry, no video yet, sure good idea to share will do it asap post on this Instructable of the video and thanks for nice comment on my very first Instructable.