最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

BLEWeather:一个便携式蓝牙气象站

时间:2017-06-03 20:42来源:未知 作者:admin 点击:
试想,从你自己的舒适的房子里收集周围环境信息的能力! 在互联网时代,这可能不是那么令人印象深刻,但相信我,当我说这是可怕的。 下面将列出创建一个Arduino供电的蓝牙便携式气象站的过程和一个原生的Android应用程序接收数据。 你需要什么: arduino meg
BLEWeather:一个便携式蓝牙气象站

试想,从你自己的舒适的房子里收集周围环境信息的能力!在互联网时代,这可能不是那么令人印象深刻,但相信我,当我说这是可怕的。

下面将列出创建一个Arduino供电的蓝牙便携式气象站的过程和一个原生的Android应用程序接收数据。

你需要什么:

arduino mega 2560(46美元)

SparkFun晴雨(40美元)

NRF8001蓝牙芯片(20美元)

光伏太阳能组件(90美元)

1个USB B型

17x男性对男性的线

GitHub的来源:

https://github.com/cabajian/bleweather

步骤1:布线Arduino

BLEWeather:一个便携式蓝牙气象站

布线Arduino组件可能会出现困难,但是一旦你了解了它的相对简单的连接。

首先,连接板+5V和GND连接到Arduino的。然后你可以把NRF8001引脚在线路板。

其次,遵循这些指示线连接了NRF8001:

NRF8001 = > Arduino

  • SCK=> dig-52
  • 味噌= > dig-50
  • MoSi = > dig-51
  • dig-10 req = >
  • RDY = > dig-2
  • RST = > dig-9
  • GND = > GND
  • VIN = > vinnow我们将线天气盾:

晴雨= > Arduino

  • ws-7 = > dig-7
  • dig-8 WS-8 = >
  • ws-sda = > SDA
  • ws-scl = > SCL
  • WS - +5 = > +3.3 V
  • ws-vin VIN = >
  • ws-gnd = > GND
  • ws-a1 = > A1
  • ws-a2 = > A2
  • ws-a3 = > A3

步骤2:Arduino代码

/ /使轻

#定义轻量级1

图书馆 #包括/串行外设接口 #包括“adafruit_ble_uart。H / NRF8001蓝牙芯片 #包括/ BLE通信 #包括/ I2C需要传感器 #包括“sparkfunmpl3115a2。H /压力传感器 #包括“sparkfunhtu21d。H /湿度传感器 #包括“低功耗。H /低功耗的Arduino

/ /硬件引脚定义 / = = = = = = = = = = = = = = = = = = = = = = = = = = = = /数字I / O引脚 int复位= 3; #定义adafruitble_req 10 #定义adafruitble_rdy 2 #定义adafruitble_rst 9 /模拟I/O引脚 const字节reference_3v3 = A3; const字节光= A1; const字节棉絮= A2; / / = = = = - = = = = = = = = = = = = = = = = = = = = = =

/ /实例 / = = = = = = = = = = = = = = = = = = = = = = = = = = = = MPL3115A2 mypressure;/ /创造的压力传感器 htu21d myhumidity实例;//创建的湿度传感器 休息休息= arest()实例; adafruit_ble_uart btleserial = adafruit_ble_uart(adafruitble_req,adafruitble_rdy,adafruitble_rst); / / = = = = = = = = = = = = = = = = = = = = = = = = = = =

//全局变量 / = = = = = = = = = = = = = = = = = = = = = = = = = = = = 浮湿度; 浮tempf; 浮压; 浮batt_lvl;/ / [模拟值从0到1023 ] 浮light_lvl;/ / [模拟值从0到1023 ] / / = = = = = = = = = = = = = - = = = = = = = = = = = = = -

void(* resetfunc)(void)= 0; 虚空(void) { 设置/启动串口 系列。开始(9600); /开始的 btleserial;

/ /暴露变量API 休息。变量(“湿度”,湿度); 休息。变量(“温度”,与tempf); 休息。变量(压力、压力); 休息。变量(“电池”,与batt_lvl); 变量(“休息。光”;

pinmode(reference_3v3,输入); pinmode(光、输入); pinmode(复位、输出); digitalwrite(复位;

/ /配置压力传感器 mypressure。begin();//得到传感器在线 mypressure。setmodebarometer();/ /压力测量在帕斯卡从20到110 kPa mypressure。setoversamplerate(7);//到推荐的128 mypressure设置过。enableeventflags();/使所有三个压力和温度事件标志

/ /配置 myhumidity begin()湿度传感器;

/ /欢迎信息 串行out.println(“气象站开始”);

aci_evt_opcode_t laststatus = aci_evt_disconnected;//如果出口回路,显示断开消息

loop() { void

低功耗,省电(sleep_8s,adc_off,bod_off);

/ /读取和存储 湿度传感器值= myhumidity。readhumidity() + 200; tempf = mypressure。readtempf() + 100; 压力= mypressure。readpressure() / 1000 + 250 + 400 = get_light_level(); light_lvl; batt_lvl = get_battery_level() + 500; /问什么是我们的现状 ;

/ /状态更新 如果(状态!= laststatus){ 如果(状态= = aci_evt_device_started){ 系列。println(F(“*广告开始”));}如果 (状态= = aci_evt_connected){ 系列。println(F(“*连接!”); }如果(状态= = aci_evt_disconnected){ 系列。println(F(“*断开或广告超时”));} laststatus =现状; } /告诉NRF8001做它必须做的。 btleserial。pollaci(); /处理REST调用 如果(状态= = aci_evt_connected){处理 休息。

/ /重置看涨 如果(//读出数字接口的值(复位)= =高){ digitalwrite(复位、低); resetfunc(); }

浮get_light_level() { 浮动电压= analogread(reference_3v3); 浮lightsensor = analogread(光); 电压= 3.3 /电压;/ /参考电压为3.3V lightsensor =电压*光传感器; 返回(lightsensor

浮get_battery_level() { 浮动电压= analogread(reference_3v3); 浮rawvoltage = analogread(胎); 电压= 3.30 /电压;/ /参考电压为3.3V rawvoltage =电压* rawvoltage;//将0到1023的实际电压对电池销 rawvoltage * int = 4.90;//(3.9k + 1K)/ 1K多电瓶电压由分压器获得实际系统的电压 返回(rawvoltage)

步骤3:编写程序

BLEWeather:一个便携式蓝牙气象站

这一步是有点更具挑战性。附将GitHub链接到源代码,不过要考虑的一些因素:

  • 该应用程序是Android
  • 你需要Android Studio编译源
  • 布局设计为一个5英寸的屏幕,屏幕上可能会出现不同的尺寸不同。

也就是说,访问GitHub链接和下载的APK文件包括。如果你想编译的源自己,你需要Android Studio。只要加载文件到您的项目目录。

https://github.com/cabajian/bleweather

步骤4:全部放在一起

BLEWeather:一个便携式蓝牙气象站

用Arduino,蓝牙芯片和天气屏蔽所有连接在一起,安装在您的蓝牙设备的bleweather应用,你准备定型装置。

的容器,你会想要约6x12英寸和至少2.5英寸高。这是使太阳能电池板非常适合在封面和吸收光,显然充电电池也防止内部温度升高太多。2.5英寸的高度给予足够的空间天气盾是靠一侧的容器可以准确读出光的水平,如在照片上面看到的。

步骤5:太阳能

BLEWeather:一个便携式蓝牙气象站

连接太阳能电池板Arduino,你需要一个太阳能设备类似于一个链接的介绍。电池将很好地适应里面的容器,和一个小的切口,将允许连接到太阳能电池板是天气紧。太阳能电池板将盖上因为这提供了最有效的充电,并有防雨毕竟。

步骤6:添加长寿

虽然已经有了降低功耗的方法,其NRF8001具有低功耗的内置方法。如果你住的地方,是不是经常阳光明媚,这可能是考虑。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片