iphone arduino 控制LED灯光-----制作过程
本帖最后由 conjee 于 2013-2-19 09:42 编辑正当Iphone成为街机的时候,不妨用Iphone和Arduino来做个好玩的东东,用它们来控制LED灯光。Iphone4s之前的机型都可以(只要是扁平30针接口),至于Iphone5接口不一样没有研究!
硬件准备:Iphone一台、32针Iphone扁平接口、Arduino板子、LED灯、导线若干
软件准备:IOS开发平台、Arduino开发平台
制作过程:
一、 Iphone的串口制作
因为Iphone的扁平30针接口中包含了串口,所以我们只需要对其进行引出!我在网上找到了接口定义的资料具体如下:
图1
图1 为iphone接口排列方式为:1,2,3,4,5,6,7…..29,30
数据线接口内部焊接点排列为:(图2、3)
2468101214 16 18……30
135791113 15 17…..29
图2
图3
接口引脚数据定义:(只列出与串口相关)
1 :GND接地
12:TX 串行数据发送, 输出电压在3.3v
13:RX 串行数据接收, 输入电压在3.3v,Arduino串口输出电压为5v,可以用电阻进行分压输入,以保证Iphone安全。
18:3.3V 电源(可以不焊)
21:附件识别接口(可以不焊)
接口焊接图:
图4 焊接1
图5 焊接2
图6 焊接牢固
图7 接口散件到完成图
二、 组建Arduino与LED电路
图8
也可以使用分立的LED灯!
三、 编写Arduino程序
#define SerialSpeed 9600
#define BufferLength 16
#define LineEnd '#'
char inputBuffer;
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 = Serial.read(); //read it in
}while(inputBuffer != LineEnd && ++inputLength < BufferLength);
inputBuffer=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);
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程序界面:
图 9
五、 Arduino接上串口
图10
六、 联调
接上Iphone串口,打开ios程序就可以控制LED了! 下图是以前录制的截屏比较简洁没有用限流电阻。大家可以用图8 连接Arduino与LED,限流电阻为200欧。
图11
iphone串口能不能接收到arduino发回来的信息? smfox10 发表于 2013-2-19 11:22 static/image/common/back.gif
iphone串口能不能接收到arduino发回来的信息?
可以的,iphone串口接收时注意使用分压电阻,将arduino的5V输出转成3.3V左右的输入!
如图: 好牛X啊~~~~~~~不过貌似必须要越狱后的IP才能装那个自开发的程序吧 darkorigin 发表于 2013-2-19 14:30 static/image/common/back.gif
好牛X啊~~~~~~~不过貌似必须要越狱后的IP才能装那个自开发的程序吧
恩对的,要越狱
ios6.1前一阵就可以越狱了,那个时候我写了一下:Xcode4.6+IOS6.1开发免证书真机调试
http://blog.sina.com.cn/s/blog_af07c85c0101fu2r.html 没越狱。。。 这个厉害,Mark~:$ 悲催,我也没越狱,目前只有一个IP5,TOUCH4给老婆霸占了,关键是怕越狱后不稳定了。
TOUCH是长期摸不到了。
打算构建一个XCODE环境玩玩看,哈哈, 不过当年的C基础不知道还剩下多少了 darkorigin 发表于 2013-2-26 17:23 static/image/common/back.gif
悲催,我也没越狱,目前只有一个IP5,TOUCH4给老婆霸占了,关键是怕越狱后不稳定了。
TOUCH是长期摸不到了 ...
TOUCH4可以呵,欢迎交流! 楼主强呀,试下先,:) 有没有安卓系统的程序
调试用:) LZ 很强悍啊,不过一般的安卓手机也可以实现吧 新生代电子科技F 发表于 2013-4-11 19:38 static/image/common/back.gif
有没有安卓系统的程序
调试用
安卓的手机接口没有串口的吧, usb通信的没有写过哦。 要么先让usb转 串口, 应该有这样的设备。 这个太棒了!楼主真会琢磨! 这个厉害,Mark~
页:
[1]