RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Arduino實(shí)現(xiàn)的測(cè)光表設(shè)計(jì)方案

科技觀察員 ? 來源:八色木 ? 作者:八色木 ? 2022-04-12 16:14 ? 次閱讀

隨著科技的發(fā)展,測(cè)光表不再那么神秘,從一些家居裝飾店到網(wǎng)絡(luò)平臺(tái)上基本都可以買到。本文將介紹一個(gè)開源測(cè)光表的制作。如果覺得購買成品價(jià)格不能接受,那我們?yōu)槭裁床蛔约簢L試造一個(gè)呢?下面具體介紹基于Arduino的測(cè)光表,它可以在數(shù)字環(huán)境光傳感器的幫助下測(cè)量光的強(qiáng)度,核心是來自ROHM的BH1750FVI。

光傳感器模塊

在網(wǎng)上有很多不同類型的BH1750FVI模塊,它們最核心部分是都是一樣的。本文采用的是來自taobao的GY-30光強(qiáng)度模塊,它也是基于BH1750FVI數(shù)字環(huán)境光傳感器的,模塊內(nèi)置了16位ADC,因此它不需要復(fù)雜的數(shù)學(xué)運(yùn)算就可以直接輸出數(shù)字信號(hào),模塊采用I2C接口,直接輸出lux數(shù)據(jù)(光強(qiáng)度的單位是流明lx)。除了光傳感器之外,模塊上還集成了低電壓調(diào)節(jié)器和邏輯轉(zhuǎn)換器組件。模塊支持3.3v~5V的直流供電。

pYYBAGJVNKCAd6C3AAHEIgS--yw701.png

如上圖所示,GY-30光強(qiáng)度傳感器模塊是一個(gè)5針模塊,其中兩個(gè)用于電源VCC和GND,兩個(gè)用于I2C接口SCL和SDA,ADD用于設(shè)置傳感器的I2C地址。當(dāng)ADD懸空或?qū)⑵溥B接到GND,此時(shí)I2C地址是0x23(默認(rèn)值),如果將ADD連接到VCC,地址將是0x5C。

控制器和顯示器

其它的硬件包含Arduino Nano 和0.96英寸的OLED顯示器,它的分辨率為128 x 64。這些東西在網(wǎng)上都很常見,而且價(jià)格也比較便宜。

poYBAGJVNKaAIDtHAAPNaMZPjHs111.png

Arduino Nano不占用空間,同時(shí)擁有足夠的輸入輸出,并且它還包含了一個(gè)用于簡(jiǎn)單編程的USB接口!

poYBAGJVNKuAJnaHAAL9gsLkhko849.png

0.96英寸的I2C接口OLED顯示器,黃藍(lán)色字符,分辨率128 x 64.

電路連接圖

poYBAGJVNLCAJjcjAAL4ElKfURg995.png

Arduino光強(qiáng)度測(cè)試代碼

按圖完成硬件連接后,我們將進(jìn)入軟件部分,光強(qiáng)度測(cè)試代碼比較簡(jiǎn)單,這里會(huì)用到著名的“u8glib library”來驅(qū)動(dòng)OLED顯示器。需要注意的是,我手頭的OLED顯示器只能使用默認(rèn)的I2C地址,不能另外設(shè)置,默認(rèn)I2C地址是0x3C。下面是測(cè)試代碼:

/*
Arduino測(cè)光表測(cè)試代碼:
1、BH1750 環(huán)境光傳感器
2、Arduino Nano/Uno+
3、0.96″, 128×64, OLED (SSD1306) 顯示器
*Lux (lx) 是國際光亮度標(biāo)準(zhǔn)單位,它定義是每平方米的流明度(lm/m2)
*/

#include // I2C Library
#include “U8glib.h”

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0);
int BH17_add = 0x23; // I2C address of BH1750
byte buff[2];

void setup() {
Wire.begin();
BH750_Init(BH17_add);
delay(200);
}

void light() {
float valf = 0;
u8g.setFont(u8g_font_unifont);
u8g.setPrintPos(0, 50);
if (BH1750_Read(BH17_add) == 2) {
valf = ((buff[0] << 8) | buff[1]) / 1.2;
if (valf < 0)u8g.print(“> 65535”);
else
u8g.setPrintPos(0, 20);
u8g.print(“www.Basemu.com”);
u8g.setPrintPos(0, 30);
u8g.print(“————–“);
u8g.setPrintPos(0, 40);
u8g.print(“Light Meter”);
u8g.setPrintPos(0, 60);
u8g.print((int)valf, DEC);
u8g.print(” LX/SI”);
}
delay(100);
}

void loop() {
u8g.firstPage();
do {
light();
} while (u8g.nextPage());
}

void BH750_Init(int address) {
Wire.beginTransmission(address);
Wire.write(0x10);
Wire.endTransmission();
}

byte BH1750_Read(int address) {
byte i = 0;
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);

while (Wire.available()) {
buff[i] = Wire.read();
i++;
}

Wire.endTransmission();
return i;
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Rohm
    +關(guān)注

    關(guān)注

    8

    文章

    370

    瀏覽量

    66029
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6468

    瀏覽量

    186951
  • BH1750FVI
    +關(guān)注

    關(guān)注

    1

    文章

    2

    瀏覽量

    3163
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    2.4 設(shè)計(jì)方案評(píng)審 #硬聲創(chuàng)作季 #Arduino

    Arduino
    jf_06209345
    發(fā)布于 :2022年08月20日 21:49:03

    笨人的創(chuàng)意,創(chuàng)意智能插座設(shè)計(jì)方案,絕對(duì)可實(shí)現(xiàn)

    發(fā)點(diǎn)不太高大上的東東,以下是我精心整理的智能插座設(shè)計(jì)方案,單片機(jī)領(lǐng)域競(jìng)爭(zhēng)是在太厲害,擼主這樣的小蝦米只能從別的找找突破口,比如這個(gè)智能插座吧,別看它小,實(shí)用性可不小,這些方案都是我親自試驗(yàn)過可以實(shí)現(xiàn)
    發(fā)表于 09-07 17:47

    WIFI無線技術(shù)各種熱門設(shè)計(jì)方案~

    基于WiFi的無線測(cè)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)一種基于WIFI的室內(nèi)定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)簡(jiǎn)述基于WIFI停車場(chǎng)方案闡述藍(lán)牙與WIFI網(wǎng)絡(luò)互聯(lián)設(shè)計(jì)方案詳述銀行營業(yè)點(diǎn)WIFI認(rèn)證管理技術(shù)
    發(fā)表于 12-13 15:26

    STM32設(shè)計(jì)方案與示例分享

    都是經(jīng)典項(xiàng)目,建議下載學(xué)習(xí)STM32設(shè)計(jì)方案與示例分享 第一波stm32設(shè)計(jì)方案與示例分享第二波STM32計(jì)方案與示例分享 第三波STM32計(jì)方案與示例分享 第四波
    發(fā)表于 09-03 18:52

    基于STM32的設(shè)計(jì)方案(中)

    基于STM32的便攜體檢裝置的設(shè)計(jì)與實(shí)現(xiàn)基于STM32的電能質(zhì)量檢測(cè)技術(shù)研究基于STM32的EMS液晶顯示觸摸屏設(shè)計(jì)方案STM32的曼徹斯特編譯碼系統(tǒng)設(shè)計(jì)STM32微控制器中采用DMA實(shí)現(xiàn)方波的產(chǎn)生和捕獲
    發(fā)表于 09-05 16:41

    基于CH365和MCX314As實(shí)現(xiàn)的運(yùn)動(dòng)控制卡設(shè)計(jì)方案

    基于CH365和MCX314As運(yùn)動(dòng)控制器實(shí)現(xiàn)運(yùn)動(dòng)控制卡的設(shè)計(jì)方案
    發(fā)表于 01-07 07:28

    如何用FPGA實(shí)現(xiàn)DVB碼流分析功能的嵌入式設(shè)計(jì)方案?

    如何用FPGA實(shí)現(xiàn)DVB碼流分析功能的嵌入式設(shè)計(jì)方案
    發(fā)表于 04-28 06:19

    微分曝光表電路

    微分曝光表電路
    發(fā)表于 02-13 12:21 ?934次閱讀
    微分曝<b class='flag-5'>光表</b>電路

    并網(wǎng)逆變器的設(shè)計(jì)方案

    并網(wǎng)逆變器的設(shè)計(jì)方案并網(wǎng)逆變器的設(shè)計(jì)方案并網(wǎng)逆變器的設(shè)計(jì)方案
    發(fā)表于 01-11 14:04 ?22次下載

    基于Arduino單片機(jī)的跌倒報(bào)警系統(tǒng)設(shè)計(jì)方案

    本文接介紹了基于Arduino單片機(jī)的跌倒報(bào)警系統(tǒng)設(shè)計(jì)方案。
    發(fā)表于 06-05 09:00 ?11次下載

    GOSSEN高森 測(cè)光表DIGISIX和DIGIFLASH 2

    裝備。測(cè)光表延伸了手動(dòng)調(diào)整攝像頭對(duì)入射光測(cè)量的功能,對(duì)明暗對(duì)比鮮明的物體拍攝實(shí)現(xiàn)比較好的曝光。 集成的對(duì)比度測(cè)量表明,不受對(duì)比度影響,傳感器和膠片能處理物體最暗和最亮部門之間的差異。DIGIFLASH 2具有
    發(fā)表于 04-15 15:04 ?1831次閱讀

    GOSSEN測(cè)光表、曝光表的原理及測(cè)量方法介紹:測(cè)光表DIGISIX

    GOSSEN測(cè)光表、曝光表的原理及測(cè)量方法介紹:測(cè)光表DIGISIX 成功的攝影師用光創(chuàng)作攝影作品 光的相互作用會(huì)給攝影師帶來靈感,也可能是失望,取決于攝影的現(xiàn)場(chǎng)狀況。從本質(zhì)上來說,攝影是在拍攝技術(shù)
    發(fā)表于 04-15 11:28 ?2767次閱讀

    基于ROHM BH1750環(huán)境光傳感器制作測(cè)光表過程

    在本教程中,我們將學(xué)習(xí)如何使用BH1750光傳感器和Arduino制作一個(gè)簡(jiǎn)單的測(cè)光表
    的頭像 發(fā)表于 04-27 15:55 ?3284次閱讀
    基于ROHM BH1750環(huán)境光傳感器制作測(cè)<b class='flag-5'>光表</b>過程

    GPIO模擬UART的算法實(shí)現(xiàn)設(shè)計(jì)方案

    GPIO模擬UART的算法實(shí)現(xiàn)設(shè)計(jì)方案
    發(fā)表于 07-07 09:49 ?9次下載

    使用Arduino的測(cè)光表

    電子發(fā)燒友網(wǎng)站提供《使用Arduino的測(cè)光表.zip》資料免費(fèi)下載
    發(fā)表于 11-07 15:03 ?1次下載
    使用<b class='flag-5'>Arduino</b>的測(cè)<b class='flag-5'>光表</b>
    RM新时代网站-首页