Arduino学习日记-使用GY-30光照传感器
2016-06-22 11:19
681 查看
一、元器件清单
Arduino Pro Mini
GY-30
二、接线
采用IIC通讯方式,GY-30VCC接+5V,GND接地。GY-30 SDA 、SCL分别接A4、 A5
三、源代码
#include <Wire.h>
// GY-30
// BH1750FVI
// in ADDR 'L' mode 7bit addr
#define ADDR 0b0100011
// addr 'H' mode
// #define ADDR 0b1011100
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Wire.begin();
Wire.beginTransmission(ADDR);
Wire.write(0b00000001);
Wire.endTransmission();
}
void loop() {
// put your main code here, to run repeatedly:
int val = 0;
// reset
Wire.beginTransmission(ADDR);
Wire.write(0b00000111);
Wire.endTransmission();
Wire.beginTransmission(ADDR);
Wire.write(0b00100000);
Wire.endTransmission();
// typical read delay 120ms
delay(120);
Wire.requestFrom(ADDR, 2); // 2byte every time
for (val = 0; Wire.available() >= 1; ) {
char c = Wire.read();
//Serial.println(c, HEX);
val = (val << 8) + (c & 0xFF);
}
val = val / 1.2;
Serial.print("lx: ");
Serial.println(val);
Serial.println("OK");
delay(100);
}
Arduino Pro Mini
GY-30
二、接线
采用IIC通讯方式,GY-30VCC接+5V,GND接地。GY-30 SDA 、SCL分别接A4、 A5
三、源代码
#include <Wire.h>
// GY-30
// BH1750FVI
// in ADDR 'L' mode 7bit addr
#define ADDR 0b0100011
// addr 'H' mode
// #define ADDR 0b1011100
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Wire.begin();
Wire.beginTransmission(ADDR);
Wire.write(0b00000001);
Wire.endTransmission();
}
void loop() {
// put your main code here, to run repeatedly:
int val = 0;
// reset
Wire.beginTransmission(ADDR);
Wire.write(0b00000111);
Wire.endTransmission();
Wire.beginTransmission(ADDR);
Wire.write(0b00100000);
Wire.endTransmission();
// typical read delay 120ms
delay(120);
Wire.requestFrom(ADDR, 2); // 2byte every time
for (val = 0; Wire.available() >= 1; ) {
char c = Wire.read();
//Serial.println(c, HEX);
val = (val << 8) + (c & 0xFF);
}
val = val / 1.2;
Serial.print("lx: ");
Serial.println(val);
Serial.println("OK");
delay(100);
}
相关文章推荐
- Hbuilder widget集成原生应用
- KeyValue 结构
- 报错:does not contain bitcode. You must rebuild it with bitcode enabled
- easyui页面上字段排序并与后台交互
- 如何准确获取输入框的当前内容
- 修改TextView中部分文字颜色的方法
- iOS8之后,UITableViewRowAction实现滑动多个按钮
- requestDisallowInterceptTouchEvent---2
- requestDisallowInterceptTouchEvent---1
- jui验证表单
- 常用主流移动设备CSS3 Media Queries整理
- 在 Bluemix 使用 Internet of Things Platform Starter 将周边装置之感测值以简讯通知指定使用者
- 如何在 AutoLayout 中使用 UIScrollView (多个ContentView)
- iOS—简单封装UITableView使用2
- Leetcode Binary Tree Longest Consecutive Sequence
- 【代码笔记】iOS-UIView的placeholder的效果
- 【代码笔记】iOS-UIView的placeholder的效果
- Storage Cluster Quick Start【存储集群快速入门】
- [leetcode] 232. Implement Queue using Stacks
- 如何查看华为EMUI系统APK源码?