arduino灯光装置_iphone arduino 控制LED灯光-制作过程

正当Iphone成为街机的时候,不妨用Iphone和Arduino来做个好玩的东东,用它们来控制LED灯光。Iphone4s之前的机型都可以(只要是扁平30针接口),至于Iphone5接口不一样没有研究!

硬件准备:Iphone一台、32针Iphone扁平接口、Arduino板子、LED灯、导线若干

软件准备:IOS开发平台、Arduino开发平台

制作过程:

一、 Iphone的串口制作

因为Iphone的扁平30针接口中包含了串口,所以我们只需要对其进行引出!我在网上找到了接口定义的资料具体如下:

98c69c4584334757ffd81b8a083c24af.png

2013-2-19 09:13 上传

(13.34 KB)

图1

图1 为iphone接口排列方式为:1,2,3,4,5,6,7…..29,30

数据线接口内部焊接点排列为:(图2、3)

2468101214 16 18……30

135791113 15 17…..29

5f8c3629b84749b55da9a87ea75e8379.png

2013-2-19 09:14 上传

(23.06 KB)

图2

26969c974f0acf0ab40b369bc2be477c.png

2013-2-19 09:14 上传

(32.31 KB)

图3

接口引脚数据定义:(只列出与串口相关)

1 :GND接地

12:TX 串行数据发送, 输出电压在3.3v

13:RX 串行数据接收, 输入电压在3.3v,Arduino串口输出电压为5v,可以用电阻进行分压输入,以保证Iphone安全。

18:3.3V 电源(可以不焊)

21:附件识别接口(可以不焊)

接口焊接图:

265dd32570d7b53e085e475723558798.png

2013-2-19 09:14 上传

(80.03 KB)

图4 焊接1

af1fe58be828e908f18e72d3e48e39e9.png

2013-2-19 09:14 上传

(55.76 KB)

图5 焊接2

7ece4913728bd057eb8c6763a3f2efff.png

2013-2-19 09:14 上传

(53.58 KB)

图6 焊接牢固

80253a19e3acdc4823f9e2689f6bfda5.png

2013-2-19 09:14 上传

(59.69 KB)

图7 接口散件到完成图

二、 组建Arduino与LED电路

368ad204c35ce04d5ae50661bece8d86.png

2013-2-19 09:14 上传

(100.33 KB)

图8

也可以使用分立的LED灯!

三、 编写Arduino程序

#define SerialSpeed 9600

#define BufferLength 16

#define LineEnd '#'

char inputBuffer[BufferLength];

void setup(){

pinMode(3, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

analogWrite(3, 255); //LED为三色共阳,初始输出最大, 则熄灭

analogWrite(5, 255); //LED为三色共阳,初始输出最大, 则熄灭

analogWrite(6, 255); //LED为三色共阳,初始输出最大, 则熄灭

Serial.begin(SerialSpeed);

}

void loop(){

int inputLength = 0;

do{

while(!Serial.available()); //wait for input

inputBuffer[inputLength] = Serial.read(); //read it in

}while(inputBuffer[inputLength] != LineEnd && ++inputLength < BufferLength);

inputBuffer[inputLength]=0; //add null terminator

HandleCommand(inputBuffer, inputLength);

}

// process a command string

void HandleCommand(char* input, int length)

{

// Serial.println(input);

if (length < 2) {

return;

}

int value = 0;

if (length > 2) {

value = atoi(&input[2]);

Serial.print(value);

}

int* command = (int*)input;

switch(*command) {

case 'rd':

analogWrite(3, value); //输出值越大则越暗,越小则越亮

break;

case 'gd':

analogWrite(5, value); //输出值越大则越暗,越小则越亮

break;

case 'bd':

analogWrite(6, value); //输出值越大则越暗,越小则越亮

break;

}

}

四、 编写IOS端程序

Xcode4.6+IOS6.1开发。看附件!

IOS程序界面:

4ab512696692a26c4d5bdb307ca1a6de.png

2013-2-19 09:14 上传

(22.85 KB)

图 9

五、 Arduino接上串口

35a56154739ffd9d410708a0c27b12d3.png

2013-2-19 09:33 上传

(76.62 KB)

图10

六、 联调

接上Iphone串口,打开ios程序就可以控制LED了! 下图是以前录制的截屏比较简洁没有用限流电阻。大家可以用图8 连接Arduino与LED,限流电阻为200欧。

9f4698a5874c5ffc361a9e5809234251.png

网盘下载http://pan.baidu.com/s/1dExdYV3

SerialControl.rar

图11

via - 极客工坊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值