坚信科学,分享技术

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Tag Archives: arduino

BLUNO试用手记

准备工作 rmbp BLUNO ×1 Android 4.3+ Devices with BLE or IOS 7.0+ Devices Accessory Shield with Arduino ×1 Micro USB cable x1 http://freeware.the-meiers.org 下载安装简化串口调节工具CoolTerm。 通过AT指令配置BLUNO的蓝牙属性 1.把BLUNO上的AT开关,从NORMAL拔到AT 2.连接BLUNO到电脑,打开CoolTerm 3.CoolTerm -> Options -> baud rate -> 115200 -> ok 4. Connect 5. …

Continue reading

Posted in linux | Tagged | Leave a comment

arduino-蓝牙各种版本类型及费用对比

厂商 做单芯片系统和蓝牙模块的厂商主要有:Bluegiga(蓝兆),Texas Instruments(德州仪器),Nordic Semiconductor(北欧半导体),Cambridge Silicon Radio(CSR公司),Broadcom Corporation(博通公司),这几家公司,基本掌控了全球所有的蓝牙、无线、voip、音视频解码等核心技术。(技术门槛岗岗的!) 常见类型 2.1+EDR 2004年推出,2006年大量使用。 http://blog.sina.com.cn/s/blog_8a49cc8f0101b03j.html *此款为目前最好用的一款了。 3.0 2009年推出。升级的秘密在于,在需要的时候,其会调用wifi协议,传输速度提升8倍。 4.0(BLE) 2010年推出。低功耗、提升传输距离为60米。android4.3才宣布完整支持。 http://www.cnblogs.com/zdz8207/archive/2012/10/17/bluetooth_ble_android.html http://redbearlab.com/bleshield/ 北欧半导体生产,只支持从模式。 *此款为最烧包的款了。 费用 所有使用蓝牙技术的产品都应该通过BQB专利认证,才能拥有蓝牙技术的使用权,当然,国内是比较少人去做的,但使用了蓝牙技术的产品出口到欧盟、美国等一些发达国家,在通关时不能提供这个蓝牙BQB认证,货会被当地海关扣压,因为你的货侵犯了蓝牙的专利权。 蓝牙认证是没有期限的,只要您认证过的产品没有更改它的认证模块及软件版本,就会一直有效,

Continue reading

Posted in linux | Tagged | Leave a comment

arduino-各种无线方案的对比

初中物理 振荡的电场和磁场在空间中以波的形式传播就形成了电磁波,gamma射线、X光、紫外光、可见光、红外光、微波、无线电波和长波无线电,这些都是电磁波。电磁波具有波粒二象性,光子就是量子化的电磁波,是电磁波能量的最小单位。光子的能量和电磁波的波长成反比,比如说,波长最短的gamma射线光子能量高达百万甚至数亿电子伏,医疗和安检用的x光光子能量一般在数百到上万电子伏,紫外光的能量一般在数个到数十电子伏,可见光的能量在1.8(700纳米的红色光)到3.1电子伏(400纳米的蓝色光)之间,红外、微波和无线电波的光子能量就小的多。在电磁波和物质相互作用时,物质只能吸收或者放出整个的光子。 蓝牙 有效距离:10-50米。 波段:低频微波。(2.4GHz) 协议:Bluetooth4.0可达50米。 特点:需要设置master还是slave,需要配对后1V1传送。 WIFI 有效距离:10-100米。 波段:低频微波。(2.4GHz) 协议:IEEE802.11b可达100米。 特点:就是家里常见的无线路由器啦。 红外 有效距离:1米。 波段:红外线。 协议:一般的遥控器有sony的协议,IR收发是标准化组件,在IRremote中全部有实现。 特点:不能穿,要对准,离得近。 zigbee 有效距离:500米。 波段:有多波段,主要低频微波。(2.4GHz) 协议:802.15.4协议。 特点:具备了强大的设备联网功能,具有很强的网络健壮性和系统可靠性。 XBee OEM RF模块是与ZigBee/IEEE 802.15.4 兼容的解决方案,可以满足低成本低功耗无线传感网络的特殊需求。

Continue reading

Posted in 架构研究 | Tagged , | Leave a comment

arduino学习手记四:串行编程

前面几节介绍了一些常见的传感器使用办法,许多人一定会有一种困惑,如果要做一个arduino发微博的例子得怎么做? 本节不是教发微博的。 通过在pc上运行的程序去访问互联网,然后把数据通过usb返给arduino的做法,就是利用了串口的编程办法。 在第一节里(http://www.54chen.com/_linux_/arduino-starter-1.html),我们说到了arduino使用的主要语言是processing。 以下例子均在mac下试验通过,ubuntu应该差不多,windows不知道应该怎么搞。 Processing 这是一门目标群体类似设计师的编程语言,非常的极简,语法类似java,java开发者基本不用学习。其IDE:PDE也是极简到了极致。 PDE(processing IDE)的极简程度令人发指,用习惯了eclipse的同学上来就找的第一个功能就是自动完成,遗憾的是,人家的定义是给设计师们用的,看来工程师们还是回到eclipse的世界去吧。PDE is admirably simple。 十分想用代码自动完成功能的同学,可以试试在eclipse里完成代码: http://t.cn/zH3b2KP 其下载和安装都非常简单:http://processing.org/download/下载之后直接使用即可。以mac为例,长得和arduino的IDE基本上一样(应该是说arduino的和它长得基本上一样)。 开始互动之旅 打开PDE,代码如下: import processing.serial.*; String cs; String buffer = ""

Continue reading

Posted in linux | Tagged | Leave a comment

arduino学习手记三:八位数码管

上图是八位数码管里各二极管和引脚的关系。 一共两个正极(接+5v),剩下的8个脚,哪个是低电平时管就亮,于是就可以凑出来数字。这个小数点可以用来区分正反。 数字0数字1引脚对程序upload的影响 如果你将数码管接到了数字0和数字1上,那很遗憾,每次upload的时候,你都要拔下来才行。因为数据交互借用了这两个脚做事情。 如果你的IDE出现avrdude: stk500_recv(): programmer is not responding的提示的时候,注意看看你的数字0和数字1是不是插着东西。 八位数码管的连线 数字: a-12 b-13 c-2 d-3 e-4 f-5 g-6 DP-7 剩下的两个正极同时接到+5v上。 这里a和b故意让开0和1,方便开发过程,不需要拔来拔去的。 显示的代码 void num9() { digitalWrite(pin0,LOW); //显示9 digitalWrite(pin1,LOW); digitalWrite(pin2,LOW); digitalWrite(pin3,LOW); digitalWrite(pin4,HIGH); digitalWrite(pin5,LOW); digitalWrite(pin6,LOW); digitalWrite(pin7,HIGH); } 以上是一个数字9的显示。 完整的代码 以下是在第二节里的代码和连线基础上的加强版本 http://www.54chen.com/_linux_/arduino-starter-2-led.html。 …

Continue reading

Posted in linux | Tagged | Leave a comment

arduino学习手记二:写程序控制灯控制蜂鸣器红外

在上一节中,初步领会了基础精神,对电路板和ide有了一点感觉。 这里的目标是完成一个电路,通过红外传感头,用摇控器控制LED灯和蜂鸣器。 Arduino Libraries arduino库函数,是一堆c/c++写的代码库,一般用来做一些固定的事情,对arduino的能力进行扩展,有点像php里的各种扩展,当然你也可以实现自己的库。 在arduino代码中要使用库的时候,依次选sketch->import Library->xxx,它会自动在代码头上加上#include的代码。 同时,也可以下载一个library.zip包,依次选择sketch->import Library->add Library,然后就加入了新的库。 要在arduino IDE环境中删除一个已经引入的库,1.0.5及以上版本的IDE需要去~/documents/arduino/libraries下删除对应的目录(相传windows在C:/.../我的文档/arduino/libraries)。 IRremote库简介 官方网站:http://www.pjrc.com/teensy/td_libs_IRremote.html 作者:Ken Shirriff 作用:接收和发送红外控制的代码库 接线 GND接线略去不提,220欧电阻+LED灯之后,将LED接数字11。 蜂鸣器接数字10。 红外OUT接数字8。 这里要提一下,红外接收头的圆鼓包的一面面向自己,最左一脚为OUT,中间为GND,最右为5V。 如图所示: 程序 #include #define LED 11 #define BIZZER 10 #

Continue reading

Posted in linux | Tagged | Leave a comment

arduino学习手记一:基础知识

历史 arduino是一个商标。 2005年诞生于意大利一个设计学校。然后学生和老师们一起把它开源了。 教科书上一般说,arduino是一个开源电子原型制作平台,包括一个简单易用的电路板和一个软件开发环境。 它与android除了长得像之外,没有半毛钱关系。 开发环境 http://arduino.cc 这个算是官方网站吧,可以下载到开发环境。 http://arduino.cc/en/Main/Software 有各种环境下的,我下了一个mac下的。 版本号有1.0.×与1.5.×的,看上去1.0的就够用了,1.5系列的还是beta,怕遇到麻烦。看release note,1.5的似乎在有意兼容更多的东西。 下载就可以用了,一个小小的窗口。 认电路板 某宝上有各种品牌的版子,不过大家的基准是一样的: 14个数字引脚,这些数字引脚可以在程序中设置是输入还是输出。 GND 地线。 AREF 输入参考电压。 6个模拟输入引脚,这些引脚可以用来读取各种模拟信号的值,比如说读某感应器的值,在程序中转化为0到1023的值。 6个模拟输出引脚。 电路板可以接usb,也可以接外接的电源。 长得像这样,每个引脚下板上写了字,多余的引脚暂时还不知道做什么用的。 arduino IDE arduino的编程语言是一种叫做processing的语言改编而来的。他的作为是当你上传到arduino的时候,自动变成c语言。 代码 #define LED 13 void setup() { pinMode(LED,OUTPUT); } void loop() { digitalWrite(LE

Continue reading

Posted in linux | Tagged | Leave a comment