Arduino 无线传输模块nrf24l01

  • 首先google得到playground,下载library, 安装
  • 连接nrf24l01模块到arduino,

MI-MI 12; MO-MO 11; SCK-SCK 13; CE – 8; SCN – 7; VCC – V 3.3; GND – GND 总共六线。

  • 下载代码client 到arduino,看懂代码,收到信号(来自sever)则会答复ping:32之类的,没收到则会答复not response。下载之后打开monitor,应该是没有答复,因为还没有装好sever的。
  • 同样的方式测试另外一个arduino和nrf24l01模块,同样没有答复,但是可以确认模块是好的。
  • 下载代码sever到其中一个arduino,将这个sever连接电脑USB,打开monitor应该收到 重复的
  • Listening…
    Got packet
    Reply sent.
    Got packet
    Reply sent.

    如果只有 Listening… 则是错的。

    于此同时,若是让sever独立供电不连接电脑,将另外一个client连接电脑,将会收到正常的ping值,大约是32左右。几千或者几万一般都是错的。

    以上方式可以确认client和sever的成功。测试的关键还是在于看懂代码,正常连接应该出来什么,不正常连接回事什么情况。

AVR和arduino阶段性学习总结

最近买了一个AVR的下载线usbtinyisp, 用于AVR和arduino, 有了电脑和控制电路的沟通渠道.

以下分为几个部分

1. 装配usbtinyisp和测试

2. 使用usbtiny烧录avr程序

3. 使用usbtiny烧录arduino bootloader至atmega芯片

4. 使用usbtiny烧录arduino sketch至已装好arduino bootloader的芯片上, 并应用

5. Hex code和arduino sketch的上传和制作

verycd下了一些avr的教程看, 发现国内国外的使用方式完全是两样. 有好有坏, 但是还是喜欢国际通用的.


Continue reading “AVR和arduino阶段性学习总结”

Arduino教程和代码系列收集1

  • 7段数码管和74hc595

https://idehe.com/w/index.php?title=74hc595

  • ADXL330 2方向加速传感器

https://idehe.com/w/index.php?title=ADXL330

  • GPS+GSM 模块, 定位加短信数据传送

https://idehe.com/w/index.php?title=Arduino_GPS_module

  • LDR光敏电阻

https://idehe.com/w/index.php?title=Arduino读取光敏电阻

  • 读取蜂鸣片信号

https://idehe.com/w/index.php?title=Arduino读取蜂鸣片信号

  • 喇叭

https://idehe.com/w/index.php?title=Buzzer

  • GP2D12 红外测距

https://idehe.com/w/index.php?title=GP2D12

  • 游戏开发???

https://idehe.com/w/index.php?title=Game_development

  • Blink LED  闪烁LED

https://idehe.com/w/index.php?title=LED_code

  • 人体红外PIR

https://idehe.com/w/index.php?title=PIR_sensor

  • RF434 数传 / 可发送数据 / 性价比高

https://idehe.com/w/index.php?title=RF434

  • 可变电阻

https://idehe.com/w/index.php?title=Rotary_Potentiometer

  • 声纳测距

https://idehe.com/w/index.php?title=Sonar_Range_Finder

  • 2.4 GHZ 数传 Xbee

https://idehe.com/w/index.php?title=Xbee

Arduino 时代

经过近期的一番研究, 发现arduino完全可以成为主流的平台了, 当之无愧的取代AVR,PIC 等等, 成为80后没有基础的人的最佳选择 😀 也有机会成为大批量制造的嵌入式产品的系统把.

arduino是基于AVR平台开发, 他有简洁易懂的程序编写语言, 无需太多的数据, 即可达到任何AVR能做的事情. 功能等基本是完全一样的.

一块arduino板子, 硬件就等于 AVR的芯片 +电源系统 +外部晶振系统+IO接口+reset等一些最基本的东西, 或者说是最小系统. 而这些硬件随便两下就可以接起来. 而程序则是arduino最基本的sketch. 一切就是这么简单!

那么, 这么简单的东西能够用到真正的产品上么! 答案是能! 在AVR芯片上面写入arduino的bootloader就变成arduino的平台了,然后再写入arduino的sketch就可以了! 虽然多了一步, 但是也不负责, 更重要的是可以让每个入门者都写arduino给真正的产品. 而外部硬件则可以根据需要加加减减.

Arduino 只支持高端的avr mega系列, 28个引脚. 网上有人写了改版的attiny的Arduino, 也可以使用部分功能,现在主要用于互动的服饰之类.

制作自己的Arduino可以参考, 相关链接都在这里.

https://idehe.com/w/index.php?title=Make_arduino

arduino 初试

Arduino 中文的资料还不多, 主要是基于软硬件电子的开发平台, 能够使没有软硬件基础的其他行业的人很快的上手, 并进行开发, 制作, 娱乐>.< 等等.

arduino基于AVR的微芯片, 有16个之多的IO接口, 各种其他的外设, 传感器直接往上面插上, 即可使用. 而编程语言也是使用arduino自带的为设计师之类的业余人员开发的很简单的语言, 非常容易上手.

对于一个产品设计开发人员,有以下一些帮助.

1. hack现有产品, 改进现有产品. 比如说一个遥控赛车, 一般的都有一个巨大的遥控器, 那么要怎么改进呢?? 拆开研究,并且研究波形就能发现不过是一个很简单的无线发射装置, 简单的方形波. 于是通过一个hack, 利用arduino就可以很快的改进. 例如用wii的手柄代替, wii的平衡板,甚至iphone

2. 研究产品的原理.很快的掌握电子学和现代系统的一些知识. 包括外设传感器等等. 开拓产品开发的眼界.

3. 动手制作产品的原型, 迅速将概念转化为实际的产品!

———————————-

第一波, 通过两天的调试 取得了以下一些进步, 通过照片, 代码一起展示

Photobucket

1. arduino 328的板子两块

正在使用的板子, 上面有usb方形接口, 电源, digital13个接口, 5个analog接口和电源接口等等

Photobucket Photobucket

连接好的一块arduino板子和rf434的发射器, 电源, 这里灯是不需要的 应该有一个开关, 电阻也是只需要一个就够了

Photobucket  

 

2. IR 红外发射和接收端口

超便宜的红外发送和接收端, 暂时还不知道怎么用

Photobucket

3. LED矩阵版

买来的这个led matrix太高级了, 居然是双色的, 有2*12个引脚, 想了半天 直接接arduino估计io接口不够, 暂时没有办法用了..

下面两个类似灯的是红外接收和发送灯.

中间的芯片是555芯片, 用得很多的. 右边还有一个数码管.

Photobucket

4. RF 434 频率接收发送

连接方式,

image 

代码下载这两个文件,并放到一个目录里面

http://www.glacialwanderer.com/_blog/blog2009/08_August/RFLink.pde

http://www.glacialwanderer.com/_blog/blog2009/08_August/RFDriver.pde

参考网页

http://www.glacialwanderer.com/hobbyrobotics/?p=291

这个是transmitter发射端, 外接一个电阻和开关, 实现按下开关,发送信号.

Photobucket

这是接收端, 外接信号灯, 收到信号, 亮起灯.

Photobucket

工作中,

Photobucket Photobucket

5. PIR人体感应器

代码http://www.arduino.cc/playground/Code/PIRsense

接在digital上面, 需要calibration时间. 1~2秒

Red wire is power (5 to 12V). Brown wire is GND. Black wire is open collector Alarm.

白色的是滤镜, 通过菲涅尔效应, 将红外光波聚集,在通过内部的滤波, 放大,捕捉人体产生的微弱的远红外线.

通过外接信号灯指示移动状态, 数据发送到电脑, 连续的移动则灯不停的闪.

Photobucket 

Photobucket

 

6. DS触摸屏

代码来自于该网站http://kousaku-kousaku.blogspot.com/2008/08/arduino_24.html 

日本语的,要用google translator

触摸屏本身需要用相应的连接器, 但是我直接吧引脚划开然后用线连起来了, 分别接电阻然后连上analog 0 1 2 3 4, 粘贴代码即可.

目前能够成功的读取xy坐标, 但是还不知道怎么用来画图和显示数据….好像不能显示数据…

Photobucket

 

7. IR红外测距

代码来自 rebecca

http://blog.sina.com.cn/s/blog_5e4725590100e02m.html

传感器产生一个Vo 的output电压, 通过analogread可直接读取到该值, 但是需要通过相应的转换变成最后的距离值cm 参考该网站的代码即可.

2个眼睛的是红外测距的, 具体原理大概是通过红外的遮挡原理, 或者反射原理测量距离, 最多可以测到4m的范围. 旁边的是一个其他系统的转接口.

Photobucket

右下角是电位器,改变电阻实现控制变化.

Photobucket

一盒子的电子元器件包括电阻什么东西的~ 忘记买开关了 真是不方便

Photobucket

8. 光敏传感器

这是一个高级光敏传感器, 接analog的io扣, 测量范围我自己试了试 可以从1000+到100多, 用手遮住产生的瞬间变化.

Photobucket

最后是个电源, 我接在了4.5v上面, 真大! 真麻烦 不过真正使用时 5v的电源应该就够了

Photobucket

一包常用电阻, 淘宝买的 很好用

Photobucket

基本就是这么一些东西了!

Photobucket