认识Arduino与C语言的指针和指针数组

读者询问如何在Arduino中建立数个自定义函式,并且透过“函式指针数组”,在不使用if…else或switch…case等条件判断式的情况下,让程序依据变数的值,执行不同的自定义函式。

下文将先介绍Arduino与C程序语言的函式指针语法。

建立函式指针程序

就像变数一样,函式(function)同样被暂存在某个内存内存块,可以透过指针(pointer)取用;指向函式的指针称为“函式指针(function pointer)”

底下的Arduino程序宣告了一个hello()自定义函式,并透过一个叫做‘f’的指针指向并执行它:

若在Arduino执行此程序,将能在序列端口监控视窗看见“hello world.”信息。

阅读全文

Arduino 4×4薄膜键盘按键扫描程序原理

下图左是一款常见的薄膜按键模块(hex keypad),有4×4或3×4(少了最右边一行的A,B,C,D键),它的内部如同下图右边的电路所示,是由16个按键(开关)交织而成。有些按键模块直接使用按键(微触)开关组装,连接电路与程序都和本文相同。

4×4按键模块有8个接脚,分成列、行两组,可以接在Arduino的任意8个接脚,笔者将它接在数位6~13脚:
阅读全文

认识与实验Arduino的睡眠模式

根据Nick Gammon这位澳大利亚老兄,在Power saving techniques for microprocessors(微处理器省电技术)文章,于Arduino UNO Rev 3控制板执行底下的代码:

voidsetup(){}
voidloop(){}

所测量到的消耗电流量:

  • 采用9V电池,接电源插孔供电,约消耗55 mA
  • 用5V电源供电,约消耗46.6 mA

若用最精简的准系统(barebone)形式,例如,在面包板上直接用ATmega828处理器和石英震荡器等少数零件组装的Arduino,仅消耗15.15 mA电流

阅读全文

生物电极:用 Arduino 遥控“捕蝇草”


我们将在这个简单又有趣的项目里创造一棵遥控捕蝇草,并将捕蝇草的叶片接上Arduino控制器,再发送微小的电子信号来触发生物反应。材料费只需要250人民币(不包括重复利用的Arduino),组装所需要的时间还不到90分钟(但必须外加24小时让捕蝇草休息),非常适合当做课堂范例。还可以加装WiFi模组和第二组电路来侦测叶子闭合的状况,这样你就有一颗可连上网络的捕蝇机械植物了!

阅读全文