Arduino 使用I2C的1602 LCD

很多时候我们需要显示简单的字符,1602LCD就是很好的选择。通常Arduino 使用1602 LCD需要连接很多线路,需要占用很多个IO口,而是用I2C版本的1602即可省去这样的繁杂。I2C版本只需要VCC(3.3和5都可以,亮度上有些差别),GND,还有SDA(连接A4)和 SCL(连接A5)。

下面就是一个使用I2C在1602上显示的例子:

20131206613

对应的程序和库在这里

Hw

在使用的时候,你可以遇到如下问题:

1.编译不通过。请检查编译器的版本,建议使用 1.0 以上的,因为这是未来的方向。如果还有问题,请检测引用库的方式。如果你将 LiquidCrys[......]

阅读全文

Arduino 扫描I2C设备的程序

Arduino IO端口有限,使用I2C来进行扩展是一个很好的选择(A4-SDA, A5-SCL)。可以通过下面的程序来完成对I2C,以便确定设备地址。

程序来自 http://www.geek-workshop.com/thread-287-1-1.html ,修正了其中的编译Bug和程序输出结果上的bug,实测工作正常。

Capture

//Below program comes from http://www.geek-workshop.com/thread-287-1-1.html
//According to that page I have fiexed some bugs :
// 1.[......]

阅读全文

PuttyTel的辅助工具

工作需要通过串口来进行Debug。之前工作环境是Windows XP,一直使用一款软件(我也不清楚具体应该叫做什么名字,因为我下载时它的名字是“好用的串口工具.exe”),如同他的名字一样,确实很好用。但是令人郁闷的是自从切换到了Windows7 64位系统下,这个工具工作不再正常。于是又开始寻找起来新的工具。要求是:不能是盗版,必须支持 Windows 7 64Bit,灵活最好不需要安装,能够将Log记录到文本文件中,使用上必须简单...........

后来用了一段时间的 Putty 发现功能非常强大。美中不足是每次打开操作复杂,首先,运行之后会弹出询问权限的窗口,其次需要手[......]

阅读全文

做了一个太阳罐

使用了一块太阳能电池(黑色部分),一块普通充电电池(自己做的电池盒,手艺生疏了),配合QX5252芯片。选用的是焊接好的QX5252电路板,在淘宝上搜索 “太阳能串灯 圣诞灯 灯具用充电升压电路板 太阳能LED驱动器 独家” 可以找到这个卖家。美中不足的是这家卖的太阳能电池都是苏联风格的----功能不差,外观粗糙。太阳能电池比较小,就这样平放,晒一天估计能让我这个LED工作4小时左右。

俯视:
x1

阳光下充电中:
2

环境暗下来之后LED会自动点亮:
3

QX5252典型应用的电路图(来自 QX5252 SPEC):

sche

多说两句QX5252是专门设计为LED[......]

阅读全文

如果你用Delphi处理文件发现有乱码,不妨考虑一下编码的问题

最近编写了一个间的的程序,主要的代码是

begin
  AssignFile(rFile,'xyz.csv');
  AssignFile(wFile,'111.txt');
  reset(rFile);
  rewrite(wFile);
  s:='';
  i:=0;
  while NOT eof(rFile) do
    begin
      readln(rFile,s);
      writeln(wFile,s);
    end;
  closefile(rFile);
  closefi[......]

阅读全文

区分本地磁盘与移动硬盘

这一系列文章是根据cutebunny 的BLOG “windows的磁盘操作” 写成的,主要是部分修改原作中的代码,使之兼容Unicode和Windows 7 64bit. 原文可以在下面的网址找到

http://cutebunny.blog.51cto.com 。 本文是参考 “windows的磁盘操作之九——区分本地磁盘与移动硬盘”写成。

程序实现了区分当前存储设备是硬盘还是移动硬盘的功能。

// gettype.cpp : Defines the entry point for the console application.
//

#include &quot[......]

阅读全文

根据分区确定硬盘

这一系列文章是根据cutebunny 的BLOG “windows的磁盘操作” 写成的,主要是部分修改原作中的代码,使之兼容Unicode和Windows 7 64bit. 原文可以在下面的网址找到

http://cutebunny.blog.51cto.com 。 本文是参考 “windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号”写成。实现的功能简单的说就是输入 c: ,程序返回这个

盘符是处于 \\physicalDriveX 上的。

// GetPD.cpp : Defines the entry point for the console applicat[......]

阅读全文

哲理小故事:Attitude很重要吗?

有一个经典的小故事,用一种方法来证明“attitude很重要”:

如果令 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 分别等于百分之 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
那么Hard work (努力工作)

H+A+R+D+W+O+R+K 8+1+18+4+23+15+18+11 = 98%

Knowledge(知识)

K+N+O+W+L+E+D+G+E 11+14+15+23+12+5+4+7+5[......]

阅读全文

使用Indy10实现的简单的 Console下发送邮件

使用Indy10实现的简单的 Console下发送邮件

这个例子使用了 Indy10 通过 SMTP来发送邮件。通过命令行参数来指定文件的内容(Body),并且能够添加附件。

使用方法例如:

scmail /server[smtp.sina.com] /to[405623608@qq.com] /from[zoologist@sina.com] /subject[Hi, buddy] /body[c:\body.txt] /atta[c:\1.bin] /user[zoologist@sina.com] /password[xxxx][......]

阅读全文