不要和没有理想的人谈和争论,他们只会觉得遇到了一个不值得理喻的人。
Monthly Archives: 二月 2013
2月
11
2月
09
手工制作双向微动开关
想要一个微动开关,但是因为过年,淘宝已经都不发货了,所以决定自己手工制作一个。
找了一个易拉罐,做为主要制作材料。剪好后用两把钳子夹住两边,拉平后在火上来回的烤烤就变平了。不能离火太近,就烧化了。大约20cm,来回烤个七八次即可。
将表面的漆打磨掉,并画好尺寸。宽度都是1cm,两短2.5cm,一长5cm。
剪好后并将最长的卷一下以防有锯齿。
用纸做绝缘,焊上杜邦线。中间的接5V,两边的接IO口。缝隙自己调好。
测试一下。接在51单片机上,代码如下,只为测试,随便写的。
#include#include typedef unsigned char uint8; sbit D22 = P2^2; sbit D23 = P2^3; sbit L24 = P2^4; sbit L25 = P2^5; delay(uint8 loop) { while(loop--) { _nop_(); _nop_(); _nop_(); _nop_(); } } main() { P0 = 0x00; P2 = 0x00; while(1) { if (D22 == 1) { L24 = 1; L25 = 0; } if (D23 == 1) { L24 = 0; L25 = 1; } if (D22 == 0 && D23 ==0) { L24 =0; L25 =0; } delay(500); } }
效果不错。但是还有两个问题,一固定不方便,二5V没有接电阻。
2月
05
raspberry pi 串口控制51单片机
制作小车都用raspberry pi上的口有些麻烦,所以把一些基础控制给51单片机解决,raspberry pi控制高层应用。所以测试一下raspberry pi串口连接调试51单片机。
第一步:
sudo apt-get install python-serial
sudo easy_install pyserial
第二部接线部分图
raspberry pi板子串口接线图
杜邦线连接

代码部分
raspberry pi python串口控制代码
#!/bin/env python # -*- coding:utf-8 -*- # ------------------------------- # Filename: # Revision: # Date: 2013-02-5 # Author: simonzhang # Email: simon-zzm@163.com # WWW: www.simonzhang.net # ------------------------------- import serial import time #### 定义小灯亮灭初始值 i = 0 #### 实例化串口 ser = serial.Serial('/dev/ttyAMA0', 9600, timeout = 0.5) for j in range(10): if ser.isOpen() == False: ser.open() #### 每次循环对上值次取反 if i == 0: i = 1 else: i = 0 #### 向串口发送字符 ser.write(chr(i)) #### 获取串口返回值 #### linux为福阻塞模式,在阻塞模式下 #### 会报错,所以抱起来就好了。 try: re = ser.readlines() except: pass print re time.sleep(2)
51单片机代码
#include#include typedef unsigned char uint8; typedef unsigned int uint16; uint8 num; sbit D0 = P0^0; void init() { SCON = 0x50; TMOD = 0x20; TH1 = 0xFD; TL1 = 0xFD; TR1 = 1; //打开定时器 ES = 1; EA = 1; //打开总开关 } void interrupt_uart() interrupt 4 { if(TI) { TI = 0; REN = 1; } if(RI) { RI = 0; num = SBUF; if (num == 1) { D0 = 0; SBUF = 0; } else { D0 = 1; SBUF =1; } REN = 0; } } main() { init(); while(1); }
源码下载
raspberrypito51
2月
04
raspberry pi 开机wifi自动启动并发邮件通知(二)
比之前脚本添加了,测试公网IP的函数。
def get_global_ip():
get_html = urllib2.urlopen(‘http://iframe.ip138.com/ic.asp’).read()
_re_ip = re.compile(r’\d{2,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}’, re.DOTALL)
_global_ip = _re_ip.findall(get_html)[0]
return _global_ip