基于STM32口袋开发板实现的摄影测光表
玩胶片摄影的同学都应该需要一个测光表,以正确设定快门光圈值,从而拍出曝光正确的照片。本项目将用硬禾提供的STM32口袋开发板实现一个建议测光表。
标签
嵌入式系统
Robobachelor
更新2021-03-01
1344

1. 曝光值的计算&快门光圈的确定

曝光值(Exposure Value,EV)代表能够给出同样曝光的所有相机光圈快门组合。曝光值是传感器测量到的亮度(单位:Lux)的对数函数。下表给出常见环境的曝光值:

FuDgzVGa5V8nMboyIaZFtd9h0zlZ

计算得到曝光值后,可以通过下表得到应该使用的快门和光圈:

Fpk8N0WSxuV7nn43ErD3R3JJskjk

2. 测光传感器的驱动

开发板上连接了一颗BH-1750芯片,可以得到环境的光线强度,单位为lux。经查阅数据手册,它有多种测试模式包含不同的测试分辨率,使用I2C通信。

Datasheet:https://www.mouser.com/datasheet/2/348/bh1750fvi-e-186247.pdf

3.代码 & 测试视频

项目代码:https://github.com/RoboBachelor/Exposure-Meter/

代码中包含了LCD驱动,BH1750的I2C驱动,以及按键驱动。在主函数中,程序进入100Hz的主循环等待用户按下对应的按键改变测光表状态。按下“测光”按键后进入连续测光模式,每150ms测量一次得到Lux值,计算得到EV值。程序包含了EV值转换为推荐的快门和光圈的查找表,根据计算的EV值显示对应的预先设定好的文本。

测试视频:见“视频”一栏。

视频中,用户按下测光按键(Key2)后,显示本次测光的Lux值,EV值,和推荐的快门和光圈值。长按则连续测量并显示数值。

后期计划

由于最近时间较紧,暂时仅完成了测光表的基本功能,后期有如下计划:

增加快门优先,光圈优先模式,实现用户按键调整ISO感光度功能;

增加单次测光,连续测光,用户校准等功能;

优化用户界面,直观曝光值显示,参数显示。

参考代码:

中景园电子LCD显示屏驱动:https://shop73023976.taobao.com/

BH1750FVI驱动:https://github.com/vostrenkov/stm32f103_bh1750/

 

团队介绍
团队成员
王景祎
西交利物浦大学 大二 数字媒体技术
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号