驴友花雕
发表于 2019-8-7 15:35:13
驴友花雕
发表于 2019-8-7 16:31:40
本帖最后由 驴友花雕 于 2019-8-7 17:52 编辑
26 BH1750FVI 数字光强度模块光照传感器(数值类 I2C接口)
/*
Eagler8系列实验程序列表
第十类 扩展实验
26 BH1750FVI 数字光强度模块光照传感器(数值类 I2C接口)
项目:测试I2C接口,串口读取环境光照波形
Module UNO
VCC —— 5V
GND——GND
SCL —— A5
SDA—— A4
ADD —— NC
*/
#include <Wire.h>
#include <math.h>
int BH1750address = 0x23;
byte buff;
void setup()
{
Wire.begin();
Serial.begin(57600);
}
void loop()
{
int i;
uint16_t val=0;
BH1750_Init(BH1750address);
delay(200);
if(2==BH1750_Read(BH1750address))
{
val=((buff<<8)|buff)/1.2;
Serial.println(val,DEC);
}
delay(150);
}
int BH1750_Read(int address)
{
int i=0;
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);
while(Wire.available())
{
buff = Wire.read();
i++;
}
Wire.endTransmission();
return i;
}
void BH1750_Init(int address)
{
Wire.beginTransmission(address);
Wire.write(0x10);
Wire.endTransmission();
}
驴友花雕
发表于 2019-8-7 16:35:54
传感器放在窗口附近的自然光线的波形
驴友花雕
发表于 2019-8-7 16:39:48
驴友花雕
发表于 2019-8-7 17:22:39
驴友花雕
发表于 2019-8-7 17:24:57
驴友花雕
发表于 2019-8-7 17:37:16
驴友花雕
发表于 2019-8-9 09:14:56
28 LCD1602液晶屏模块(输出显示器类, IIC/I2C接口)
/*
Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目一:寻找查询设备IIC地址,在串口上即可看到1602的地址
这里查询结果是“0x27”(这个地址不对的话,实测无法烧录程序)
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCLIIC 时钟线
*/
#include <Wire.h>
void setup(){
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop(){
byte error, address;
int nDevices;
Serial.println("Eagler8 Scanning...");
nDevices = 0;
for (address = 1; address < 127; address++ ){
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0){
Serial.print("I2C device found at address 0x");
if (address < 16)
Serial.print("0");
Serial.print(address, HEX);
Serial.println(" !");
nDevices++;
}else if (error == 4){
Serial.print("Unknow error at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000);
}
驴友花雕
发表于 2019-8-9 09:18:57
驴友花雕
发表于 2019-8-9 09:57:29
/*
Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目二:分二行显示“Welcome to Eagler8”
Arduino------LCD1602
5V------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCLIIC 时钟线
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void MyPrintLCD(String MyString)
{
for (int i=0;i<MyString.length();i++)
lcd.write(MyString.charAt(i));
}
void setup()
{
lcd.init();
lcd.backlight();
MyPrintLCD("Welcome to ");
lcd.setCursor(0,1);
MyPrintLCD(" Eagler8");
}
void loop()
{
}
驴友花雕
发表于 2019-8-9 10:00:39
驴友花雕
发表于 2019-8-9 11:27:58
驴友花雕
发表于 2019-8-9 11:32:01
驴友花雕
发表于 2019-8-9 11:34:36
1602液晶屏上第一第二行间滚动显示“Eagler8"
驴友花雕
发表于 2019-8-9 12:53:13
1602液晶屏上第一行滚动显示闪烁的光标
驴友花雕
发表于 2019-8-9 13:07:25
1602液晶屏上第二行滚动显示”Hello world!“
驴友花雕
发表于 2019-8-9 16:11:02
驴友花雕
发表于 2019-8-9 16:13:29
驴友花雕
发表于 2019-8-9 16:16:22
Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目二:使用板载D4端口DHT11,显示温度与湿度数值
驴友花雕
发表于 2019-8-9 16:22:13
驴友花雕
发表于 2019-8-9 16:24:38
Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目三:使用板载D7数字接口外接DS18B20模块,显示温度值
页:
1
2
3
4
5
6
[7]
8
9
10