Welcome to LED Control Wiki
About this project
This project was developed after I had to find out that controlling my RGB ambient light with the normal infrared remote control was complicated and not reliable. Within a few months I build this solution that enabled controlling my LEDs with a Bluetooth-enabled Android Device running a self programmed app. On the hardware side an Arduino is receiving the commands and controlling three PWM signals.
The app is available at Google Play for free (but closed source), the Arduino sketch is released under Apache License. The used protocol is also documented in this wiki and open for usage by others.
If you like this project I would be pleased with recommendations or a good rating at Google Play. Let me also know when you find some bugs.
Requirements
You need a few things to get started:
- Arduino Uno
- Android powered Phone/Tablet with bluetooth running Android 4.0 or above
- RGB-LED-Stripes with common anode (one common '+' and a seperate '-/GND' for each color) (you can also use stripes with common cathodes, but the showed circuit diagramm will not work (in particular the output stage). A solution therefore is also available.)
- External Power Supply (to power Arduino and LEDs)
- USART capable bluetooth module (for example HC-06, available on ebay for < 10$)
- 3x 220 Ohm resistors (gate current limiter)
- 3x 10 kOhm resistors (gate pull-down)
- 3x N-Channel Power-MOSFETs (enhancement mode) (for example IRF1404)
optional voltage divider
- 1x 4,7 kOhm resistor
- 1x 10 kOhm resistor
Assembly
Connect the Arduino and the others parts as showed below. Be sure that you do not change the RX pin with the TX pin of the bluetooth module. In General: RX of the bluetooth module has to be connected to TX of Arduino and vice versa.
Caution: The HC-06 bluetooth module I bought works with 3,3V. You can power it with 5V because there is a built-in voltage regulator (make sure that yours has also one or power it with 3,3V), but RX and TX are not 5V tolerant. To avoid permanent damage the Arduino output-voltage is reduced to 3,3V by a voltage divider (therefore the 4k7 and 10k resistors). On the other hand a special step-up circuit is not necessary because the Arduino recognizes 3,3V of the bluetooth module as HIGH-Level.
Note: For permanent installations you should consider soldering your circuit on a Arduino Proto Shield (bought or home made). I personally soldered everything on a stripboard and put the whole thing in a small case.
Note: You don't need the connection from TX (pin 3) on Arduino to RX of the bluetooth module, because currently nothing will be send back to the Android device. Just remove the connection from pin 3 (Arduino) to RX (bluetooth module) and the voltage divider. It may be possible that a bidirectional communication will be used in future releases.
Installing the software
You're almost done. Now you need to install the software and select the target device.
- Upload the Arduino Sketch (https://github.com/fennel-labs/LED-control/blob/master/LEDControlArduino.ino)
- Install the Android app on your phone (https://play.google.com/store/apps/details?id=com.fennel.ledcontrol)
- Start a new bluetooth device discovery (Android -> Settings -> Bluetooth -> Add)
- Start the LED Control app and select your receiver (LED Control -> Connection Settings -> your device)

Troubleshooting
There are several reasons why your circuit may not work as intended. Here are some possibilities:
- Check if the LED voltage is high enough and your stripes have the right polarity by connecting them directly to your power source.
- Are RX and TX connected in the right way? Read also the notes above.
- By default, the Arduino sends some debug data to the PC via the hardware serial. If the Software in Arduino behaves abnormal check the console log.
- In case you are not sure whether your bluetooth module works properly or not, connect it directly to your Arduino (still keeping the voltage levels in mind, see note above). Therefore you have to remove the 328P chip temporary from your Uno.
- To check the output stage, you can try pulling the gate of each channel to ground or +5V.
thanks:https://github.com/fennel-labs
Welcome to LED Control Wiki的更多相关文章
- Matlab安装记录 - LED Control Activex控件安装
Matlab安装记录-LED Control Activex控件安装 2013-12-01 22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...
- 针对Windows 64位系统中Matlab没有LED Control Activex控件的解决方法
Win 10 64bits系统中Matlab 64位软件没有LED Control Activex控件,LED ActiveX Control控件位于Gauges Blockset模块中,而Gauge ...
- WPF自定义LED风格数字显示控件
原文:WPF自定义LED风格数字显示控件 版权声明:本文为博主原创文章,转载请注明作者和出处 https://blog.csdn.net/ZZZWWWPPP11199988899/article/de ...
- 【openwrt】再设置
https://wiki.openwrt.org/zh-cn/doc/uci/network https://wiki.openwrt.org/zh-cn/doc/uci/wireless https ...
- 剖析ironic
关键技术 在安装操作系统时需要存储介质来存储系统镜像.需要控制物理机开关机,在网络部署环境中还需要预启动环境. PXE (预启动环境) IPMI(电源管理) iSCSI(存储) 什么是PXE PXE( ...
- DIY PIXHAWK APM等飞控用的PPM转接板
需要的硬件 一块arduino pro mini(推荐这个,比较小,当然如果你没有USB转转口的烧写工具买个ardunio nano板也是不错的,直接用USB线连接电脑就可以,用nano板要注意.它的 ...
- 【网络——Linux】——IPMI详细介绍【转】
一.IPMI含义 智能平台管理接口(IPMI:Intelligent Platform Management Interface)是一项应用于服务器管理系统设计的标准,由Intel.HP.Dell和N ...
- AIX 常用命令和知识
BOOTLIST:#bootlist -m normal -o (查看bootlist)#bootlist -m normal (设置bootlist为空,谁要在我机器上执行我就要哭了)#boot ...
- arduino pro mini不能下载
刚毕业时就知道arduino,但当时崇拜技术极致,喜欢把单片机的性能用到尽,觉得操作寄存器运行效率高,对arduino 这种高效模式贬为投机取巧,不过其中也一直对arduino 有关注. 随着芯片技术 ...
随机推荐
- Oracle_下载地址
1.http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 1.1.现在(20161 ...
- pytessact 出现Error2错误
x pytessact安装后不起作用 一.没有安装tessact-ocr 点击下载,安装 http://jaist.dl.sourceforge.net/project/tesseract-ocr-a ...
- 进程、线程、socket套接字-资源大小 & 切换代价
另,进程 & 线程的很多知识可以看这里:http://www.cnblogs.com/charlesblc/p/6135666.html 今天查了一下进程和线程的资源占用. 比如问:栈和堆的大 ...
- 0040 Linux 系统管理命令
1. 主机名称 hostname hostnamectl 2.开机启动 chkconfig systemctl 3.服务管理 service 服务名 start service 服务名 stop ...
- GUI 测试
图形用户界面( GUI )对软件测试提出了有趣的挑战,因为 GUI 开发环境有可复用的构件,开发用户界面更加省时而且更加精确.同时, GUI 的复杂性也增加了,从而加大了设计和执行测试用例的难度.因为 ...
- 001_kafka起步
一.简介 Kafka is a distributed, partitioned, replicated commit log service. It provides the functionali ...
- 【html5】常见标签使用说明(持续更新)
说明: 所谓常见,是指我在优秀网页源码中见到的. 1.viewport 我见到的时候是这样: <meta name="viewport" content="widt ...
- css知识点积累
关于样式的优先级问题: !important > style > [ id > class > tag ]; z-index 的属性用法: z-index属性是用来设置元素的 ...
- DataTable 导到Excel
/// <summary> /// 将DataTalbe导出到Excel中 /// </summary> /// <param name="dt"&g ...
- Cisco防火墙配置
帮朋友调试一台ASA,做一下记录(很久没动手了) 三个区: vlan10: inside: 192.168.1.1 vlan20: outside: 202.102.1.1 vlan30: dmz: ...
