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没有接电阻。

1月 30

手工制作51单片机 电子表

  家里小孩老是乱调表,本来打算做个没有外部按键的表,但是后来觉得还是难度太大,还是搞个简单的吧。
  开始准备材料。亚克力板、杜邦线、51单片机配件一套(晶振使用12M的)、STC12C5A60S2一块、s8050三极管5个,电池盒一个、共阴极带时间点数码管一个,5X7cm洞洞板一块,按钮两个,M3铜柱螺丝若干。材料准备完毕。

部件准备

部件准备


  开始手工切割亚克力板并钻孔。由于疏忽把前面的板子也钻上空了。郁闷。
手工制作51单片机电子表,切割亚克力板

手工制作51单片机电子表,切割亚克力板


  首先将51单片机,和面板焊好。
手工制作51单片机电子表,初步组装

手工制作51单片机电子表,初步组装


  接线的工作比较麻烦,线千万不能接错,要不就混乱了,不是直接插拔的比较麻烦。花了一个晚上才搞定。
手工制作51单片机电子表,线路焊接

手工制作51单片机电子表,线路焊接


  开始组装,组装完毕发现一个数码管不亮,回头还是要查查。
手工制作51单片机电子表,组装完成

手工制作51单片机电子表,组装完成


  调整好时间,给大家看看。郁闷了,大部分人都认为我这个是“定时炸弹的引爆装置”。
  源代码比较简单。可下载51单片机电子表源码

1月 10

我的用 raspberry pi 手工制作的小车(一)

  首先切割了一块,20x20cm的2mm厚的亚克力板。也许是手磨速度问题,切割时比较粘刀,所以切得很不整齐。
image

  我用边角料给超声波测距模块做了个架子。
image

  底层方的东西还不是很多。包含TT电机和H桥驱动,步进电机驱动板,红外测距模块和接线板。

raspberry_pi_auto-1.jpg

我的raspberry pi小车下层。包含TT电机和H桥驱动,步进电机驱动板,红外测距模块。

  上层东西也不多,raspberry pi的板子占了一大块。剩下的摄像头,步进电机和超声波测距模块。

我的raspberry pi 小车的上层。包含步进电机,和raspberry pi的主板。

我的raspberry pi 小车的上层。包含步进电机,和raspberry pi的主板。

  来张正面照。摄像头拍的照片可以通过浏览器访问。

我的raspberry pi小车的正面照。

我的raspberry pi小车的正面照。

  当前程序已经测试完成,在桌子上跑问题也不大。但是存在一个问题。使用电池驱动时,程序一启动系统就重启了,应该是电压或电流不稳定。正在改进中。
  当前费用统计。

成本统计
产品名             数量    单价(元)   总价(元)
raspberry pi 2.0      1      341       341
2mm厚200x200mm 亚克力板   1      7        7
HC-SR04超声波测距模块    1      7.3       7.3
1/16 5V 4相 5线步进电机   1      5.8       5.8
五线四相步进电机驱动板    1      3.2       3.2
万向轮 尼龙轮子        1     4         4
TT马达+车轮套装        2     8.1       16.2
usb接口            1     1        1
SYB-170 面包板        1     2.8       2.8
两路H桥IO口电机驱动板     1     8        8
红外壁障模块          2     8        16
摄像头             1    利旧设备   0
总计:412.3

小配件大约数量
螺丝部分均为M3
6mm铜柱   12个
20mm铜柱  4个
15mm铜柱  4个
螺丝1mm   12个
螺丝10mm  2个
螺母    20个

线才大约数量
双母头杜邦线20CM  20根
双公头杜邦线20CM  10根
公母头杜邦线20CM  10根
排插端子      1组

小配件加线材大于25元

12月 29

raspberry pi 上使用 lazarus

  安装lazarus。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y fpc
$ sudo apt-get install -y lazarus

  十几分钟的等待,安装完毕。图形化界面下,programming中已经看到图标。开启lazarus,和delphi 7基本上是一样的。
  先拉了一个lable和button,电机button在lable中显示hello simonzhang.net。然后编译、执行,程序运行成功。
  存在的问题是,编译速度非常慢没发和delphi7 比。编译出的文件也很大,就这一个小测试程序文件就16M多。程序运行速度也不是很快。
  总结:由于之前用的是delphi7,所以用着东西做图形化的界面速度应该很快,直接将python代码前进去执行就比较方便了。也只限于测试。

12月 25

PL2303 烧录 STC12C5A60S2单片机

  买了51最小的单片机和PL2303的烧录线。安装驱动没有问题,我安装在win7上操作。
  烧录程序过程:
  先安装驱动。先连好VCC(红线)、RXD(绿线)、TXD(白线)、GND(黑线),接好usb安装驱动。看到系统中有连接的com口。
image
  将红线拔掉,启动烧录程序。等到显示“仍在连接中, 请给 MCU 上电…”时将红线插上,就开始烧录了。
  如报错如下:

仍在连接中, 请给 MCU 上电…
MCU Type is: STC12C5A60S2
MCU Firmware Version: 6.2I
Chinese:MCU 固件版本号: 6.2I
下次冷启动后使用外部晶体或时钟
RESET pin 仍为 RESET
上电复位增加额外的复位延时振荡器放大增益: High gain
下次下载时 P1.0/P1.1 与下载无关
下次下载用户应用程序时将数据Flash区擦除: NO
P4.6/RESET2 用作 P4.6
启动内部看门狗后禁止改看门狗分频数 NO
下次上电自动用有关参数启动内部看门狗 NO
Idle(空闲)状态时内部看门狗停止计数 YES
冷启动后内部看门狗预分频数(未启动): 256
MCU Clock:11.07831MHz./时钟频率:11.07831M.
Chinese:正在重新连接 …
Connection failed. / 握手失败 (End: 12:03:54)

  解决方案需要将波特率都改为9600即可,如图。

PL2303烧录STC12C5A60S2单片机

PL2303烧录STC12C5A60S2单片机

  还需要注意两个地方。一、STC-ISP烧录软件使用管理员权限启动。二,烧录的时候不要给板子加电。芯片只连PL2303线即可。