楼主: 驴友花雕

[教程] 一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)

[复制链接]

驴友花雕  中级技匠
 楼主|

发表于 2019-8-7 15:35:13

25-5.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-7 16:31:40

本帖最后由 驴友花雕 于 2019-8-7 17:52 编辑

26 BH1750FVI 数字光强度模块光照传感器(数值类 I2C接口)

[C] 纯文本查看 复制代码
/*
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[2];
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[0]<<8)|buff[1])/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[i] = 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

传感器放在窗口附近的自然光线的波形

26.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-7 16:39:48

26-1.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-7 17:22:39

26-2.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-7 17:24:57

26-3 (1).jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-7 17:37:16

26-4.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 09:14:56

28 LCD1602液晶屏模块(输出显示器类, IIC/I2C接口)

[C] 纯文本查看 复制代码
/*
Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目一:寻找查询设备IIC地址,在串口上即可看到1602的地址
这里查询结果是“0x27”(这个地址不对的话,实测无法烧录程序)
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCL  IIC 时钟线
*/

#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

28.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 09:57:29

[C] 纯文本查看 复制代码
/*
Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目二:分二行显示“Welcome to Eagler8”
Arduino------LCD1602
5V------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCL  IIC 时钟线
*/

#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

28-2-.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 11:27:58

28-3.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 11:32:01

28-4.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 11:34:36

1602液晶屏上第一第二行间滚动显示“Eagler8"

28-5.jpg

回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 12:53:13

1602液晶屏上第一行滚动显示闪烁的光标

28-6.jpg

回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 13:07:25

1602液晶屏上第二行滚动显示”Hello world!“

28-7.jpg

回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 16:11:02

28-8.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 16:13:29

28-9.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 16:16:22

28-9.jpg

Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目二:使用板载D4端口DHT11,显示温度与湿度数值

回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 16:22:13

28-10.jpg
回复

使用道具 举报

驴友花雕  中级技匠
 楼主|

发表于 2019-8-9 16:24:38

28-13.jpg

Eagler8系列实验程序列表
第十类 扩展实验
28 LCD1602液晶屏模块(输出显示器类 IIC/I2C接口)
项目三:使用板载D7数字接口外接DS18B20模块,显示温度值


回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail