Arduino Bootloader 程序下载协议

单片机通常通过编程器来下载程序。而 Arduino 中有一小段 bootloader 程序,在复位的时候运行,可以通过串口接收程序并写入单片机,因此可以不使用额外的编程器,直接通过串口下载程序。

前段时间,在为 AirTerminal 增加 XMODEM 协议的支持后,打算在下一个版本增加 Arduino 程序下载功能。所以先提前了解一下 Arduino Bootloader 使用的程序下载协议,并通过本文整理相关知识。

文章仅提供了解这些协议所需要的链接,对于协议的具体内容不再过多描述。文章内容将会根据自己的进一步了解不断更新。

Arduino 程序编译生成的 HEX 文件,能被 Vim 正确识别并进行语法高亮
继续阅读“Arduino Bootloader 程序下载协议”

2015 电赛风力摆题:我的方案

2015 年全国大学生电子设计竞赛刚刚结束。我们组选择了 B 题:风力摆控制系统。题目要求如下:

一长约 60cm~70cm 的细管上端用万向节固定在支架上,下方悬挂一组 (2~4 只) 直流风机,构成一风力摆,如图 1 所示。风力摆上安装一向下的激光笔,静止时,激光笔的下端距地面不超过 20cm。设计一测控系统,控制驱动各风机使风力摆按照一定规律运动,激光笔在地面画出要求的轨迹。

趁这段时间,整理一下我们组的方案。

继续阅读“2015 电赛风力摆题:我的方案”

[Arduino 库] 适用于 Arduino Uno 的多任务调度程序

一般情况下,处理 Arduino 的多个任务,是把所有任务放在 void loop() 里,然后用 delay() 控制时间。不过,任务一多,这种方法就不太方便了。

最近刚刚看了一本书:《时间触发嵌入式系统设计模式》,里面介绍的调度器,可以以特定的周期执行特定的任务,值得在 Arduinio 项目中借鉴。我也刚刚把这个调度器移植到 Arduino 中:https://github.com/blanboom/Arduino-Task-Scheduler

继续阅读“[Arduino 库] 适用于 Arduino Uno 的多任务调度程序”

初试乐联网

物联网,听起来似乎很高深。但我在前一段时间发现了乐联网(http://www.lewei50.com/),它能让每个爱好者都能轻松地搭建自己的物联网系统。

我也刚刚用最简单的方式体验了一下乐联网:将温度传感器的数值以一定的时间间隔发送到电脑,而电脑把这些数值通过互联网发送到乐联网服务器。这样,一个简单的温度监测系统就完成了。(http://www.lewei50.com/home/gatewaystatus/1415

继续阅读“初试乐联网”

自制 MakeyMakey:更简单的方法

MakeyMakey 是一个在 Arduino 的基础上设计的电路板,通过物体的导电性,可将各种能导电的物体变成键盘。它的原理十分简单,但能玩出很多花样。

对于有 Arduino 的人来说,完全可以自制 MakeyMakey。但是,网上的许多方法都需要把 Arduino 模拟成 USB 键盘。这样的话就增加了复杂程度。而直接使用串口向电脑发送数据,同时用串口转键盘的软件,制作难度会小很多(几只电阻,若干根屏蔽线即可),另外还可以实现 MIDI 输出等更多功能。


继续阅读“自制 MakeyMakey:更简单的方法”

Cool DIYs

这几天翻看收藏夹,发现近几个月,在上网闲逛的过程中,自己又搜集到了许多有趣的 DIY 创意,以及相关产品。下面将这些东西整理出来,同时与大家分享。

备注:本文已不再更新,关于科技类 DIY 的资源,后续我会在 GitHub 上整理和更新:

DIY 项目

这些都是由其他爱好者完成,比较有趣,且容易实现的 DIY 项目。

1. 机械数字钟

机械钟和数字钟,两者似乎很难结合起来。不过,Hans Andersson 的 Time Twister,使用 LEGO 套件制作,没有 LED 或显示屏,却能通过数字直观地显示时间。

详细信息及视频请看作者的网站: http://tiltedtwister.com/timetwister.html

继续阅读“Cool DIYs”

退出移动版