zigbee cc2530怎么跟arduino cc2530配合使用

一种基于RFID和ZigBee技术的局域定位系统
一种基于RFID和ZigBee技术的局域定位系统
一种基于RFID和ZigBee技术的局域定位系统
摘要:介绍了一种和的室内的设计。该设计以第二代片上CC2530为核心,配合阅读器和标签、以及一些外围电路构成了硬件。采用接收信号强度值(RSSI)的和最大似然估计的计算方法进行定位。重点阐述了该定位系统的结构和硬件电路设计,分析了定位系统的工作原理、软件流程和定位算法的实现。实验证明该定位系统能够实现室内定位的功能。关键词:;无线射频识别;接收信号强度值;定位 随着物联网的研究和无线传感网络迅速发展,技术作为一种新兴的低成本、低功耗、低速率短距离的无线传感网络技术,它是IEEE802.15.4标准开发的无线协议。IEEE802.15.4负责物理层和MAC层,而ZigBee联盟负责制定网络层和应用层。利用ZigBee技术实现定位具有低成本、低功耗的优点,且信号传输不受视距的影响,被广泛的应用于环境监测、工业现场采集、智能家居和医疗护理等领域。 (Radio Frequency Identification,射频识别)是利用射频信号通过空间融合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息到达自动识别目的的技术。射频识别卡的优点就在于它的非接触性,因此它在完成识别工作时无须人工干预,适于实现自动化、可识别高速运动物体并可同时识别多个射频卡,操作快捷方便。RFID技术是一个崭新的技术应用领域,它小仅涵盖了射频技术,还包含了射频技术、密码学、通信原理和半导体集成电路技术,是一个多学科综合的新兴学科。因此,对RFID技术的认识和研究具有深远的理论意义。 目前实现室内定位主要有基于测距技术和非测距技术,基于测距的定位算法有AOA、TOA、TDOA、RSSI;基于非测距技术的定位算法主要有:DV-Hop定位算法、质心算法、凸规划定位算法等。基于测距的定位机制定位精度相对较高,在低功率无线设备组成的高密度网中,由于各设备之间的同步无法实现,利用AOA、TDOA估计具体难以实现。尽管可以通过测量TOA来估计距离,但是多径和噪声,以及参考时钟的不精确性,都将使距离估计的效果变差;基于非测距的定位算法无需测量节点间的绝地信息和角度信息,是利用网络连通性计算节点的位置,但是定位精度低。而基于RSSI的距离估计,可以由传感器节点自身测量得到,不需要额外的硬什支持。与单纯利用连通信息的算法相比,RSSI增添了额外的有价值的信息。所以基于RSSI的测距是无线传感网络较常用的方法。本人通过基于RSSI的测距技术,采用RFID和ZigBee技术相融合的室内定位系统设计,有效的提高了室内的定位精度,以及实现了房间级的定位。1 定位系统的整体设计本系统的设计有5个部分组成,包括上位机、网关、基站、电子标签、参考节点。上位机的功能是监控和管理整个系统。定位系统的结构框图如图1所示。本文引用地址: 网关的功能是由协调器来充当,它在整个系统中起着至关重要的左右,首先它要响应上位机发出的命令,开启网络,等待其他类型的节点入网,其实还要接收各节点的上传的数据并传送给上位机软件处理。基站是由ZigBee模块和RFIDReader模块组成,它们之间通过RX/TX进行数据的传输,基站的功能是在定位过程中接收上位机发送过来的消息,以调制的方式形成射频信号,通过天线不断的向外发送射频信号;其中的ZigBee模块也可以作为参考节点的作用,能够将自身的坐标信息和RSSI值发送给盲节点。电子标签是由ZigBee模块和RFID Tag模块组成,它们直接是通过SPI接口连接起来的。其功能是接收基站发送过来的射频信号,经过解调和解码后,将数据通过SPI方式传送给ZigBee模块,ZigBee模块冉通过尤线的方式发送到网关。ZigBee模块还有另外一个作用,就是作为盲节点,可在参考节点包围的区域内任意移动。它与参考节点、网关构成一个定位系统。参考节点仅只有一个ZigBee模块组成,它是一类静止的、已知自身位置坐标信息的节点,其功能是将自身的RSSI值和位置坐标信息发送给盲节点。2 定位系统的硬件设计2.1 网关网关的设计包括2个部分,即无线通信模块和辅助功能模块。其中无线通信模块是这个网关的核心部分,负责跟基站、电子标签以及参考节点等之间进行通信。辅助功能模块是完成定位串口通信、状态指示、LCD的显示、供电等辅助功能。网关的结构框图如图2所示。2.2 基站基站的设计包括2个部分,RFID Reader模块和ZigBee模块。其中RFID Reader模块主要是由PIC16F887的微控制器和匹配电路组成。RFID Reader模块和ZigBee模块两者之间通过RX/TX进行数据传输。基站的结构框图如图3所示。 上位机发送命令,网关将激励器ID等信息无线发送给基站中的ZigBee模块,ZigBee模块通过RX/TX将激励器ID等信息发送给微控制芯片PIC16F887处理,微控制芯片通过输出PWM信号,产生频率125 kHz的载波,并将激励器ID等信息以OOK调制方式调制在125 kHz载波上形成激励信号,其中的数据编码是通过曼彻斯特编码,然后经过驱动器TC4422的功率放大作用,通过天线不断的向外发送125 kHz的激励信号。当有RFID Tag模块接近该区域时即被唤醒,微拧制器通过控制片选信号CS,将数据通过曼彻斯特码的形式发送给RFID Tag模块。ZigBee模块既可以与RFID Reader进行数据传输,还可以作为参考节点,将自己的坐标信息和RSSI值发送给电子标签中的盲节点。2.3 电子标签电子标签的设计包括RFID Tag模块和zigBee模块。其中RFID Tag模块主要是由AS3933前端模拟芯片和匹配电路组成,ZigBee模块是由射频芯片CC2530和匹配电路组成。它们之间通过SPI接口进行数据传输。CC2530通过SPI接口配置AS3933,详细的引脚连接如图4所示。 RFID Tag模块接收基站发送过来的125 k的激励信号,再通过AS3933芯片对激励信号解调,并对曼彻斯特码进行解码后,通过配置SPI总线的相关寄存器,当WAKE的电平为&1&时,说明有数据到来,ZigBee模块中的CC2530将数据从AS3933中的DATA中读出,并打包后,通过天线将数据包无线发送给网关,最后送到上位机机进行处理,上位机根据激励器ID和电子标签ID判断,可以知道电子标签在某个激励器所在位置,ZigBee模块既与RFID Tag模块进行数据传输,还可以作为盲节点,不断的向参考节点发送定位请求,从而,获取参考节点的坐标信息和RSSI值,再通过调用定位算法,计算出自己的坐标信息和RSSI值,无线发送给网关,最后将数据发送给上位机,根据坐标信息可以知道电子标签的位置。通过RFID Tag模块与ZigBee模块相互配合,能够实现更精确的区域定位和房间级定位。2.4 参考节点在该设计中,有单独的参考节点模块以及基站上的ZigBee模块也可以作为参考节点。参考节点的设计包括2个部分,分别为无线通信模块和辅助功能模块。参考节点中的尢线通信模块接收网关发送过来的参数配置:收集盲节点通信时的RSSI值,并计算其平均值;能够发送自身的坐标信息和RSSI的平均值。辅助功能模块包含3个部分,分别是指示模块、按键模块、供电模块。指示模块是完成定位状态的指示;按键模块是加入和绑定网络;供电模块是负责对整个参考节点的供电。参考节点的结构框图如图5所示。3 定位系统的定位流程定位系统的基本思想就是系统对网络内的参考节点和盲节点节点进行参数配置之后,盲节点等待网关发送定位请求,当盲节点接收到网关发送来的定位请求后,就开始发送一系列的RSSI Blast信息进行广播,参考节点接收到盲节点发送过来的RSSI Blast数据,并保存其RSSI值。等待盲节点已配置完成规定的时间间隔后,盲节点向参考节点发送XY&RSSI请求广播,每个接收到RSSI Blast信息广播的参考节点将计算接收到的RSSI值,并根据该请求的RSSI值和之前的RSSI Blast的RSSI值计算出平均值,发送XY&RSSI响应给盲节点,盲节点接收XY&RSSI响应后,参考节点将向盲节点发送自己的坐标信息和RSSI值。盲节点收到这些参数后,根据定位算法计算出自己的坐标信息,最后将计算得到的坐标信息发送给网关,网关再通过串口将数据发送到PC机上。定位系统的定位时序如图6所示。4 实验结果分析定位软件设计后,搭建硬件平台,采用810的实验室房间进行定位。红色的圆形点代表固定的参考节点位置,黄色正方形点代表电子标签的实际位置,粉色的长方形代表放置在基站,蓝色色三角形代表使用上位机监控软件监测到的位置。我们在房间内放置四个参考节点,坐标分别为(0,0)、(0,5)、(5,0)和(5,5),围成一个55的区域,并记录电子标签的坐标位置;定位图像如图7(a)所示。保持电子标签点不动,再增加一个参考节点,再次记录坐标;定位图像如图7(b)所示。继续保持电子标签不动,在房间的门口增加一个基站。最后记录其坐标。定位图像如图7(c)所示。 在没有增加基站的条件下,通过观察图7(a)、7(b)的定位图像,可以发现随着参考节点的增加,上位机监测到的测量值越来越接近实际值,所以在一定的范围内,随着参考节点的增加会提高定位的精度。在相同参考节点下,在房间的门口增加一个基站,观察图7(c)的定位图像,发现上位机监测到的测量值要比图7(b)中监测到的测量值更接近于实际值。由于基站上既有RFID Reader,还有参考节点。所以不仅能提高定位精度,而且还能确定电子标签的具体位置。这说明通过RFID与ZigBee两者很好的结合,可以很好的提高房间区域的定位精度,而且实现了房间级的定位。5 结束语文中主要从硬件设计介绍了一种基于RFID和ZigBee技术相融合的室内定位系统的设计方案,对定位系统的硬件各个功能模块进行详细的介绍,并对定位系统软件流程进行了分析。通过合理布设参考节点和基站,在室内环境中进行了实测,在定位模块通信范围内,通过增加参考节点的数量以及增加基站等有效方式,可以有效的提高定位的精度。通过实验证明,通过RFID和ZigBee技术相融合的设计方案,不仅可以达到1m之内的定位精度,还实现了室内房间级的定化。该方案的硬件设备要求低、定位精度高的特点,很好地满足了市场需求。采用基于Zig Bee和RFID的室内定位系统的设计方案可以很好的应用在智能楼字、地下车库、医疗护理等方面。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一> Arduino云
在电子工程世界为您找到如下关于“Arduino云”的新闻
Arduino云资料下载
& Arduino 是一块基于开放原始代码的Simple i/o 平台,并且具有使用类似java,C 语言的开发环境。让您可以快速 使用Arduino 语言与Flash 或Processing&等软件,作出互动作品。Arduino 可以使用开发完成的电子元件例如Switch 或Sensors 或其他控制器、LED、步进电机或其他输出裝置。Arduino 也可以独立运作成为...
& Arduino 是一块基于开放原始代码的Simple i/o 平台,并且具有使用类似java,C 语言的开发环境。让您可以快速 使用Arduino 语言与Flash 或Processing&等软件,作出互动作品。Arduino 可以使用开发完成的电子元件例如Switch 或Sensors 或其他控制器、LED、步进电机或其他输出裝置。Arduino 也可以独立运作...
Arduino云相关帖子
职业院校技能大赛单片机,机器人两项比赛,曾获得省赛第一名,国家三等奖。平时对st,atmel,ti等公司处理器有所研究,使用arduino开源硬件做些基础实验。对树莓派,BeagleBoneBlack等嵌入式开发板有一定了解,申请过机智云硬件。本人深深体会电子行业新技术新领域的重要性,也知道实际开发经验的关键。此次有机会申请开发板并能有项目经验的工程师讲授课程,希望能够从一名学生做起,由浅入深的与...
干了几个月了,但我从头到尾都是
在现成项目上修改代码,我做来做去的,其实都是具体业务逻辑方面的东西。
什么蓝牙,什么OTA(对,TI叫OAD)其实,我都一窍不通。
但是,这个LINK NODE在软件方面,却给了我非常巨大的新体验。
那就是第一次比较全面的接触和使用mbed.
真的很方便,堪比arduino。
但是,虽然我还没有去具体看mbed底层的代码,也许有些部分还是我觉得很恶心的...
有鉴于EEWorld坛主的热情,许诺发个PCBA给我评估。作为回报,我把我的学习体验贴在坛子了。
因为EE的背景,我最熟悉的是8051汇编和C。不过最近在Arduino/mbed上大量用了C++开发。使用Python是从辅助开发工具时开始的,Python可以从物联网各个环节切入,Python可以用于FPGA/CPLD,嵌入式软件,桌面程序,服务器(Web/IoT...
生产或非苹果授权生产的普通 x86 架构 PC 上安装 Mac OS 的行为)。
安装 OS X 的工作量 和 windows 、Ubuntu 等真不是一个数量级的。
总结一下,装黑苹果的感受:
& &1、破解百度云盘的限速功能(有VIP,或者不在乎限速的忽略)
& &2、有一个很好的网络环境(镜像动辄 6G 左右,如果不破解限速,20M带宽,基本...
开发板,名曰:MicroPython,功能比Arduino强,却贵乎,萌发(&&DIY MicroPython),引起一定的网友关注,所以它来了,接下来,就是你挥洒创意的时间& &MicroPython EEworld版开发板,是在pyboard v1.0版基础上,修改而来,基本保持了原版的风格。EEWORLD_test版实物图:原版结构图:目前相关帖子:&gt...
本帖最后由 dcexpert 于
17:54 编辑
这些天在收集整理micropython开发板的资料,预备DIY一个。今天在网上发现了一个正在kickstarter众筹的LoPy开发板,它基于micropyhton,此外还支持LoRa, WiFi 和 Bluetooth 三种无线方式,可以用于微型无线网关、报警器、机器人控制等。支持arduino IDE、Pymakr...
本帖最后由 tyw 于
15:09 编辑
&& Arduino 是一块基与开放原始代码的 Simple i/o 平台,並且具有使用类似 java,C 语言的开发环境。让您可以快速
使用 Arduino 语言与 Flash 或 Processing…等软件,作出互动作品。Arduino 可以使用开发完成的电子元件例如 Switch
或 Sensors...
09:29[/color][/url][/size]
楼主的这块电子墨水屏是在哪弄到的[/quote]
万能的马云家。
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=1967831&ptid=480524][color=#999999]ljj3166 发表于
11:47[/color][/url...
各位大神大家好
我用CC2530搭配Arduino云尝试做个边界路由器(border-router)
然后可以用一个zigduino板子的udp-client将封包经由路由器送至一个ipv6
的server上接收
但我使用cc2530板子的udp-client好像无法将封包传送出去
请问是因为cc2530本来就无法传送,还是有什么问题我没有注意到的
1.我的ipv6位置是...
这个有个小的帖子讨论过 Remix OS 怎么样?&&可以参考下,楼下的回复。
& &&&cube i10 刷入 Remix OS 比较easy ,下载 固件,解压到优盘,power + 音量键 -&&进入刷机 (下载地址,360云盘:http...
Arduino云视频
Arduino云创意
本周热门资源推荐本文转载自博客,小编觉得写的很好,就转载过来了,想看原文的看下列地址:/bjzhanghao/p/3464943.html1、将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00”网上查遇到这个问题的人比较多,有说驱动问题的,有说IDE设置问题的。具体到我遇到的这个情况,原因是板子上插了RF24无线传输模块(也许线还没有插对),拔掉以后再上传程序就正常了。2、nRF24L01+无线透传使用问题Arduino官网上似乎推荐,遇到一个问题,接收端运行几分钟后停止响应;试了另外一个,遇到传输不稳定的问题,一时没有解决,还是回到Mirf了,之前的停止响应问题没有再出现。关于无线透传的讨论不少,虽然用arduino的不多。Mirf的地址问题:Mirf的address是有长度要求的,例如可以用“serv1”、“clie1”作为地址,长度过短会导致无法传输,例如用“cl2”作为地址。试了好多次才发现这个问题。nRF24L01模块(使用Mirf库时)的自动应答问题:项目里使用一个nRF24L01(服务端)接收多个nRF24L01(客户端)的消息,发现客户端之间互相收到本应发到服务端的消息,经过多次试验,发现应该与nRF24L01的自动应答机制有关。在Mirf.cpp的setTADDR方法里可以看到,目标地址被同时写到RX_ADDR_P0和TX_ADDR这两个寄存器里,前者是接收自动应答使用的(一个nRF24L01可以有6个接收地址同时工作),导致peer发到服务端的消息也被当作自动应答了。为避免这种干扰,我实验下来的方法是:每个客户端在发送数据之前先setTADDR到一个无效且唯一的地址,在send之前那一刻再使用setTADDR将地址设置到服务端的地址,发送完成后马上setTADDR到那个无效地址。3、Arduino与Android通过usb通讯利用这个开源项目。注意,两侧的baudrate要设置一致;android端读取到的数据可能是不完整数据,需要多读几次以便补齐。“The nature of hardware device interfaces like these is that there is typically no guarantee your data will arrive in a single read().&If you expect 16 bytes of data, you need to read(), successively, until you have received all 16. &If you want to read until there is a newline, you will need to scan all characters until you find a newline -- and then save anything received after it for later.”&4、关于arduino设备的唯一ID最后决定使用的方案是:写一个专门的小程序(量产程序),对每个arduino运行一次,在EEPROM里写入唯一的id号。正式程序运行时只需读取,不做修改。注意:EEPROM的擦写次数是有限制的,一般标称为10万次,但有人声称实验结果只有100次左右。还好,比较靠谱的实验测试结果是超过100万次,总之写入EEPROM时慎重。5、温湿度传感器DHT113.3v/5v通用,接数字信号口,使用这个库获得数据。DHT11精度不高,若要求高可使用DHT22(也叫AM2302)。6、同一段代码在两块板子上运行效果不同两块板子都是uno+sensor shield+nrf24l01,其中一块运行完全正常,另一块无法接收到消息(可以发送消息)。交换sensor shield(连同上面的nrf)无效,交换usb线无效,接外接12v电源无效。最后发现如果在代码的loop()里加delay(100)则基本能接收到消息,但还有部分丢包。两块板子是从不同卖家处购买的,看来还是有区别啊。7、Arduino nano v3.0接nrf24l01模块不工作问题nano直接连nrf24l01模块无法收发数据;但用nano先接传感器扩展板(sensor shield,像),再把nrf24l01接到扩展板上,则工作正常。仔细检查过连线没有问题,且分别替换过nano和nrf模块usb线等,都没有效果。最后发现nano板子上的3.3v针脚电压不对,几乎是零,联系卖家检查后说是nano上少一根线,要把usb口背后的两个电容(C1和C7)靠近芯片的引脚短接,照此方法问题解决。而扩展板上的3.3v针脚是用asm从5v降压得来,所以没有这个问题。nano的说只有用usb供电时3.3v针脚才有电压,但经实验,我手上的这一版(电容短接后)不论用usb供电还是通过vin供电,3.3v针脚都有3.3v电压。8、无法上传程序到arduino pro mini使用ft232rl连接arduino pro mini,上传程序时提示:stk500_getsync(): not in sync: resp=0x00上传时按reset按钮不起作用,DTR线也已经连接。经过反复实验,发现两个问题导致这个现象:1)arduino上的RX应该接ft232rl的TX,TX接RX,我一开始接反了;2)一开始用的FTDI的驱动是最新的2.0.8.30,在的提示下,降级到后问题解决。PS.最好搜索并下载CDM20824_Setup.exe文件以便强制降级。又测试了一下DTR线的作用,如果连接了DTR线,直接上传程序就可以成功;如果不连接DTR线,在提示Uploading时立刻按一下arduino的reset按钮,也可以上传成功,不按按钮则上传失败。Update : 不知道什么原因,ft232rl又无法上传程序到arduino pro mini了。这个帖子里有人提到在DTR线上加一个100nF的电容是关键的一步,但我手边没有这个电容,而且即使我不连接DTR线采用手动reset的方式仍然不行。后来使用PL2303模块的下载线(只有四个脚,与ft232rl相比少了DTR脚)配合手动reset方式可以正常上传程序到arduino。9、Arduino的数据类型Arduino的长整型是32位的,而Java里是64位,互传数据时别搞错了。关于arduino里的10、电池供电方案我花了不少时间在研究各种供电方案上,要平衡电池容量和带来的体积增加,还要考虑电池成本因素:方案1: 5号/7号干电池供电,为达到至少3.3v的电压以便驱动arduino pro mini+nrf24l01,需要至少三节电池,体积太大放弃;方案2:CR2032纽扣电池供电,同样电压不足(标称3V),实测3.2V但后来会有电压下降,在3V左右arduino能启动但无线模块不正常;方案3:3.7V锂电池供电,这是目前采用的方案,目标是让一块250mAh的锂聚合物电池能维持设备运行2个月以上。为节约成本和体积,锂电池充电模块将采用外置的方式。可以检测当前VCC脚的电压(仅支持328和168),有助于实现提示电池电量不足,我在pro mini 5v上实测可用。11、减小工作电流目前采用arduino pro mini 5v/16MHz版本,这个版本在tb上的售价为13元人民币左右,而3.3v/8MHz的版本要17元左右,实测5v版本用3.3v电源(输入VCC)仍然可用,只是这时核心频率可能会低于16MHz,影响不大。为减小工作电流以获得尽可能长的工作时间,设备绝大多数时间进入睡眠模式(使用库),利用watchdog周期性醒来发送数据,然后立刻回到睡眠模式。nrf24l01模块也需要同时睡眠和醒来,使用Mirf库里的powerDown()命令。实测电流:pro mini 5v版本,3.7v锂电池供电,HT7533稳压,LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF)同时Mirf.powerDown(),电流1.48mA。传感器供电:如果直接将传感器接在5v或3v3上,传感器会一直消耗电流。为了节电,可以将对电流要求不高的传感器接在digital输出上,当arduino需要使用传感器时再对它通电。、12、TP4056充电板的充电电流问题tb上买的TP4056芯片的锂电池充电板,要更改的Rprog是在电路板下方中部(电路板上文字方向为正)的一个小贴片电阻,出厂时阻值是1.2k。我需要90mA的充电电流,按照说明,替换成15k左右的电阻。测试充电电流时遇到一点问题:发现充电电流比预想的要低,77mA左右,而且几乎一开始就缓慢下降,并不是恒流的。查了一些资料后发现,我是把万用表串接到BAT+口上的,而万用表对这个电流造成了影响,因为使用不同的档位测出来的电流值不同,高档位显示的电流比较高。实际应该串接到In+口,或者测量Rprog电阻的电压然后(V/Rprog)*1200得到充电电流。13、analogRead(0)与analogRead(A0)的区别?如果所说属实,在Arduino IDE 0022以上这两个命令没有区别,A0的值为14,而analogRead(0)等价于analogRead(14)。补充:又找到说的比较详细。14、搭建最小系统的问题a) 我在tb上买的usbasp,vcc脚居然与gnd脚短接(!),vcc脚旁边的那个看不清字的脚有5v电压;后来仔细一看,是文字距离对应的针脚太远,以致于串行了。b) 我使用Atmega168pa作为核心搭建最小arduino系统,在arduino ide 1.5.5里选择board -& arduino ng or older,用usbasp烧录bootloader时会提示下面的错误:&avrdude:&Expected signature for ATMEGA168 is 1E 94 06原因是atmel168pa与atmel168这两个芯片的签名不一样,arduino自带的avrdude无法识别。按照的方法可以解决,不过可能是arduino ide版本不同的原因,原帖里的内容需要略作修改,按照ide的错误提示来改即可。,虽然我没实际试验,但也值得一看。c) 顺便提醒一下用“面包板专用电源”的,要注意电源插针的极性——电源插在面包板两端时正负极刚好是反过来的。d) 可能是面包板不太牢靠,在面包板上搭的最小系统很不稳定,后来焊到洞洞板上就没有问题。e) 如果使用programmer(例如usbasp)刷sketches到最小系统,注意每刷一次EEPROM都会被清除,解决的办法是将EESAVE熔丝位设置为1(见)。f) 为了方便调试,以及解决programmer刷sketches导致EEPROM被清除的问题,我决定还是用ttl(pl2303)上传程序。连接好Vcc, Gnd, Tx, Rx后发现upload会失败,reset不起作用,在网上找到提到boards.txt里upload.protocal的设置问题,打开boards.txt将原来的pro.upload.tool=avrdude改为pro.upload.tool=stk500,再刷一遍bootloader,使用ttl就正常了。补充:后来使用ttl上传时又提示missing &upload.params.quiet&错误,将pro.upload.tool改回为avrdude解决,比较奇怪。15、最小系统在5v下工作但在3.3v下不工作还是atmega168pa芯片,配合8MHz外部晶振,搭好的最小系统上传blink程序,在5v输入下led闪烁,但换成3.3v输入led不亮。测量pin13的电压输出为0.5v左右且保持不变,说明blink程序没有正常执行。后来发现原因是3.3v输入只接到vcc而没有接到avcc脚上。进一步测试,如果3.3v只接avcc,led也会闪烁但比较暗,pin13输出电压为2.2v左右。说明vcc与avcc需要都接到3.3v供电才可以。在atmega的datasheet里有这样的说明:“AVCC AVCC is the supply voltage pin for Port A and the A/D converter. It should be externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC through a low-pass filter. ”16、使用Eagle制作电路板为了进一步缩小成品尺寸,我决定设计自己的电路板,然后再tb上找工厂打样生产。一开始考虑使用protel做这件事,后来发现eagle更合适,首先后者是可以免费使用的不需要破解,其次eagle的官网上就有很多元件库可以下载,与arduino有关的库也比较丰富。eagle上手也不难,推荐看一下Sparkfun上的两篇教程(,)基本就可以开始干活儿了。下图我设计的第一个PCB板(已送去打样),尺寸为25mmx42mm,电路板上主要集成了基于atmega328p的arduino最小系统和nrf24l01接口,用来实现传感器数据的无线上传,低功耗设计使用250mAh的锂电池供电2个月左右。完全手工布线,虽然过程磕磕绊绊,但还是挺有成就感的。上图是第一版设计,打样回来发现几个问题:1)丝印有重叠,原因是虽然在eagle里隐藏了一些层,但gerbers文件里这些层仍然可见;解决办法是在pcb设计图里smash元件,然后删除掉与丝印重叠的name和value;2)有三条线没有连通(见上图中的三条细黄线),设计时原本以为地线都靠覆铜连通的就没有管,其实覆铜不是哪里都能覆盖到的,所以打样前要保证所有飞线都route过(点击ratsnest工具提示nothing to do就表示所有飞线都route好了)。第二版的设计里改正了第一版中的问题,并对一些元件进行了重新布局。第三版的改动比较大:里把配对按钮的下拉(pull-down)改为上拉(pull-up)以便与习惯一致,另外修改了电源接口和传感器接口,atmega328芯片采用45度角布局方便走线,led从0603改为0805方便焊接,aref与3v3断开但保留一个跳线,将晶振改为贴片封装,nrf24l01模块设计在电路板背面以便在焊接后仍然能修改(拆)正面的元件。16.1 常用单位换算Eagle里的钻孔尺寸单位是英寸inch,乘以39.4就是毫米,例如0.02inch=0.508mm。打样前要注意厂家对最小钻孔的要求,一般不能低于0.4mm,因为钻孔越小使用的钻头越小,价格也越贵。1mil = 1/1000英寸 = 0.0254毫米1英寸 = 25.4毫米1毫米 = 39.4mil = 0.0394英寸16.2 PCB板覆铜在PCB板上覆铜对走线很有帮助,双面板一般有一面的覆铜用于地线,上面提到的Sparkfun的里有覆铜的使用方法。但是要注意,有些地方由于被其他走线包围,会导致覆铜无法到达,这些地方通常会有遗留的连线(例如上图中两个10uF电容之间)需要手工route,如果不route这些线在成品线路板上就只能飞线补救了。17、从Eagle导出gerbers文件为了打样,需要给工厂提供设计文件,但不是每家工厂都接受eagle的源文件,同时提供源文件也容易被别人复制自己的设计。因此需要将eagle格式的设计文件导出为gerbers文件,这个绝大多数工厂都接受的文件格式。我在网上找到了一个简易教程《Eagle PCB 生成Gerber文件步骤》,作者孙民强,按照教程所说的步骤打样“基本”成功。这次打样比较明显的一个问题是,虽然在eagle里隐藏了tNames层,但导出gerbers以后这个层依然存在,导致元件自带的Name与tPlace层的文字同时出现产生重叠。解决方法是先smash带有Name的元件,然后就可以移动或删除Name,从而只保留tPlace层。也许在导出gerbers过程中也可以做一些设置达到相同目的吧,暂时没有研究。使用免费版可以查看gerbers文件。18、电路板焊接注意焊接atmega芯片前,先确保芯片已经刷好bootloader,用arduino ide刷时要注意选择正确的board类型(例如arduino pro or pro mini);处理器类型最好也选一下(例如atmega328(3.3v 8MHz)).贴片LED极性:有彩色线的一端是负极,“|&”指向的一端是负极。焊接很小的贴片元件时这样比较容易:先在其中一边焊盘上挂上锡,然后用镊子夹住元件贴紧这个焊盘,用烙铁将锡熔化的同时稍微用力将元件推进去,这一边就固定好了,这时可以轻松将另一边焊好。19、最小系统无法工作原因a)万用表检查电源与地线是否短路 b)检查atmega芯片方向是否正确 c)加电检查3v3电压是否正确 d)atmega芯片是否已烧入正确的bootloader觉得有用记得分享朋友圈哦,您的支持就是我们最大的动力。如果喜欢观看类似科技新奇事物,以及了解创客圈最新资讯,或者您对Arduino有所耳闻,可以关注我们微信公众号,一定会带给您最新的资讯,最实用的教程,以及创客最新的玩意。微信公众号:liudaosixway也可以加入我们Arduino技术支持qq群:长按扫描二维码LD工作室(liudaosixway) 
 文章为作者独立观点,不代表微头条立场
的最新文章
自学了一阵python,但一直不精,一直想让python和arduino配合配合 这才发现了python的强本文转载自:/diy/diy-garlic-battery.h每个人都有曾经做过但未曾做完的事,有些事可能过去了就再也没想起,有些事会时不时的从脑子里冒出来,还有些事平时不知道大家是否在学校生活中常常会有忘带钥匙的情况出现,每当忘带钥匙,室友不在寝室的话,站在寝室外等待各种尴尬上班遥控热水器、电饭锅、空调不是遥不可及的苛求。前两期还没有真正实用,但这一期就让我们要教大家DIY智能插座Arduino可以说方便了很多创客,很多不懂硬件的人。其中很重要的一个方面就是其具有数量很多的代码库。由于A这个底座是件实用的艺术品,不仅能确保鸡蛋不会滚来滚去,也让我们的餐盘更加文艺范。如果你的孩子厌食(不爱吃鸡蛋这期我们再DIY《温湿度》,就可以时时查看家中温湿度了。先来看看题目要求吧:看 完题目,经过一番思索和百度之后,有了大概的方案,于是乎开始准备材料,设计机械(我负责随着物联网、3D打印、穿戴设置、Maker、Geek的兴起,越来越多的人后加入到这些智能行业。费话少说了,下原作者:Sandy Noble网名:Murphy 这个机器人,是一种画图机器人,简单来说是一支悬挂着的笔,通最近有很多朋友反应电脑安装不上Arduino的驱动。特地转载一篇关于驱动安装的失败的解决方案的文章,共大家参在本实验中,我们将通过制作一款多功能调光灯来熟悉模拟量输入和PWM输出控制。本实验主要由两部分控制逻辑构成,转载自:http://www./thread-.html本文转载自:http://www./thread-.ht小知识,转载教程,转载发光二极管的工作原理图解分析发光二极管,通常称为LED,是在电子学世界里面的真正无名英雄。它们做了许多不同工这个项目是基于大牛Osin的项目“Wall+Walking=Wallking,会走的墙就是“墙王”——Wallking ”开发的能够步行的5足机器人。我称这机器人为TARS5,因为有5只脚。本文转载自:/thread-.html大家都知道接上次的文章电路知识--认识原理图(二)。在第二篇文章之后,认识元件的部分基本就告一段落了。其实认识元件是一本文转载自博客:.cn/s/blog_4b860b8c0102w9p接上次的文章电路知识--认识原理图(一)。在上文中,我把认识原理图分为三个方面,再来回顾一下。1、认识元件。作为3D打印爱好者来说,从无到有创造的价值,更胜于物件本身的值价。
这是你不动手,便永远无缘的第七次元感受。本文转载自博客,小编觉得写的很好,就转载过来了,想看原文的看下列地址:blogs.开源硬件,一个很重要的的一点就是有开放的原理图,通过原理图,我们可以了解一个模块的输入输出,以及使用的芯片类本文转载自:.cn/community/thread-13948Vcc和Vdd是器件的电源端。Vcc是双极器件(三极管)的正, 下标可以理解为 NPN管的集电极C。Vdd多连发两拨 创客工具/耗材推荐--机械相关 创客工具/耗材推荐--电子相关 之后反响颇好。小编又对创客常用的机前几天发完 创客工具/耗材推荐--机械相关 之后反响颇好。小编又对创客常用的机械类工具进行了总结。希望能对各寒假接触了Arduino,做了个“智能窗帘”,发个帖把整个过程写下来,各位觉得有帮助就最好啦!一、分析目的及很多用户可能会想到去测量一下看电池还剩多少电,但是现在很少有此类的装置。一般使用万用表来测量,但是万用表功能过多,更何况很多用户不知道如何调整档位和插入万用表的表笔。我们打算设计一个设备来测量当前电池电量的多少以防止在无意中将可用电池丢弃。继昨天介绍创客三大工具之后。小编又对创客常用的工具进行了分类。希望能对各个刚入坑的创客有所借鉴,老创客们也可以在下面写下自己推荐的工具哦。什么是创客?“创客”一词来源于英文单词"hacker",它并非指电脑领域的黑客,而是指不以赢利为目标,努力把本文转载自:http://www./thread-.htArduino:可以看我以前的一个回答非常完善,简单的来说就是一个主要由AVR单片机搭建的标准硬件平台。可以最近有朋友被ESP8266模块所困扰, 所以有了此文, 以帮助还不太会用Wifi模块的伙伴们前言
因为串口是在使用Arduino DIY作品的时候最常使用的通信方式。也就是Arduino 的D0和D1引脚。但串熟悉二次元的朋友对于Badapple一定不会陌生,基于它本身的黑白手绘风格,被大量技术宅广泛演绎在各种屏幕上文章转载自网络:为了满足人们对无线通信技术的需求,现对工作于2.4 GHz(ISM)频段常用的短距离无线通信万用电路板是一种按照标准IC间距(2.54mm)布满焊盘、可按自己的意愿插装元器件及连线的印制电路板,俗称“继上次视频之后,再次收集2个视频供大家参考学习!1、燃爆了 基于arduino的微型激光切割 雕刻机2、ar很多人不懂什么叫做SPI通信协议,现在通俗的解释下,以后用起来就方便拉。一、技术性能SPI接口是Motoro本文转自:Arduino中文/thread-.h本文转载自:/ART__29_20027_相信大多数arduino爱好者想做一个自己的无人机,但很多人都被四元数,卡尔曼滤波,PID等需要花功夫才能搞liudaosixway工程师胡思乱想之地,最新创客咨询,尽在LD热门文章最新文章liudaosixway工程师胡思乱想之地,最新创客咨询,尽在LD

我要回帖

更多关于 cc2530 zigbee协议栈 的文章

 

随机推荐