伽利略开发板和BeeMail (二):灯光控制
英特尔伽利略板8针接口连接到外接LED
本文引用地址:http://www.amcfsurvey.com/article/265764.htm这一部分内容包括:
已做好第一草图的英特尔伽利略板
重启保留缩草图
和外部LED的接线
前提我需要精通熟知Arduino项目。目标是向Arduino/MacOS用户指出其潜在功能,此外以便将来记录我的成就。
英特尔伽利略板易受静电干扰影响,因此需要雷达电子干扰仪来防止置乱。不使用时需要放在抗静电袋子里。
Hello World程序:开发板上的LED闪烁
伽利略板通过13引脚接口控制LED闪烁
如果你使用Mac本,开始时建议读一下Stefano Guglielmetti在Arduino博客上的使用指导。内容通俗易懂,且涵盖可能出现的所有问题,以供习惯于以特定方式开发Arduino专业人员参考。从SparkFun着手则更为深入。我多希望我在做项目前通读过它!这些知识会让我时间更充裕。我的项目进行如下:
从因特尔伽利略官网上下载软件,网址也叫做“Arduino”。重命名后移动到应用程序文件夹并尽量(使用少于8个字母)不使用空格给软件命名。(比如用“ArduiG”而非“Arduino Galileo”)。开关程序确保其正常运行。当程序运行时,不用理会菜单栏依旧显示Arduino。
为避免我从Intel官网上下载的程序和现有程序冲突,我将开发环境重命名为“Arduino Galileo”,打开程序就没问题了。然而升级固件时程序弹出失败通知“<< 目标固件版本查询失败 >>”。去伽利略板论坛上我找到了关于文件命名的答案。那里也有很多关于苹果系列文件命名的建议。
Sparkfun上也可以得到许多关于Windows和Linux系统的操作小贴士。即使不使用Mac本,我相信至少你也得安装驱动。
用外部电源给伽利略板供电10秒左右。我相信每个人都会强调这一点。
有几次我忘了这样做,虽然板子没损坏,但这样确实很冒险。为什么说呢?伽利略板需要USB2.0大于500mA的供电才能工作,同时受USB通讯接口影响,在序列启动过程中可能会有能量损失,我相信谁都不想毁了这块开发板吧?虽然这只是个假设。另一个原因也可能来源于硬件,但我还没来得及检查原理图。
外部供电必须是标准整流5V电源。伽利略板本来在3V电压下工作,所以供电电路无法满足12V的Arduino马达或者条带状LED所要求的工作电压。详见相关供电说明:Adafruit, SparkFun和Apogee Kits。
插入USB数据线(紧邻以太网接口),找到第10个引脚。然后打开Intel Galileo Arduino IDE,随你怎样称呼。
从“工具 > 串联接口”中找到伽利略板。在Mac上,伽利略板的正确接口在/dev/cuXXX port,而不是/dev/ttyXXX port。我至少忘了两次,以至于当我正确接好开发板并接通电源后,被提示“开发板不可用” 错误困扰。伽利略板上的USB驱动芯片不同于ol’ Duemilanove,英特尔就希望与众不同。
查看这方面技术的发展进程,你会发现tty和cu之间很早就有了较深的对话和交流。其中我查到的都是行话。不过传统意义上的cu供高级开发工程师之间建立联系,而tty致力于依赖型设备之间建立联系。
如果没看到开发板列表,网站会建议你:首先关闭Arduino软件,接下来从电脑上拔下数据线。重复操作直到端口识别。重启电脑有助于调试。
通过“帮助 > 固件”升级固件,命名的问题解决了,再重启程序,一切就都正常运行了。
观察第13个引脚上LED的闪烁情况(正常)。
在闪烁控制草图里修改延迟时间,再次观察(正常)。
设定SD卡
伽利略板非常智能。整个操作系统以折叠压缩的方式将所有文件封装在一块微型芯片中,每次供电时,代码展开进入内存,电量减弱时进行再处理。很美妙,是吧?然而智能的开发板却让Arduino的草图无处藏身。SD卡有一个能容纳草图和诸如Python和WiFi等功能的多引脚空间。因此,有了伽利略板,加上一个1GB到32GB的存储卡,并实现数据读取。这里我再次提到SparkFun辅助网站,这一步运行很顺利。
从驱动页面为英特尔伽利略板下载LINUX IMAGE FOR SD
解压文件
以系统管理员身份将文件添加入SD卡
把SD卡插在未上电的伽利略板
插上电源,等待USB和SD卡指示灯亮起,然后停止闪烁。
插上USB数据线
重新打开软件
从“工具 > 串联接口”中找到设备(名字需要修改,仍改为/dev/cuXXX port)
加载闪烁草图
退出软件
拔出USB数据线
拔掉电源
插上电源,再等待20~40秒,观察闪烁情况
对我来说,最大的困难在于7-zip版本下解压文件。在Mac本上,软件像Unarchiver一样工作。(多亏了SparkFun!)我第一次准备好SD卡时,花了好久才找到不受这个文档大小限制、并很容易在mac上配置的软件(但Springy设置了收费墙)。可是那天不管我怎么弄都不行。后来我还是用的Windows机实现的。
控制外部LED闪烁
下一步是让外部LED亮起来。通常Arduino101 I与LED通过微控制器的阳极相连,因此设置digitalWrite(我的引脚为高电平)LED就会被点亮。烧坏伽利略板引脚的后果比Uno的严重,而且说明书上注明了伽利略板设计为最高发出10mA电流,接收时为最高25mA。因此我建议用负逻辑代替。负逻辑就意味着LED阴极(接地端)与微控制器相连,因此微控制器可分得更多能量。
光控开关相关文章:光控开关原理 声光控开关相关文章:声光控开关原理
评论