GithubHelp home page GithubHelp logo

f_lux's Introduction

Original by https://github.com/PhotoChemicals/f_lux

I did some "reverse engineering" so anyone can easily build this. I saw some lightmeters similar to this going from 150USD up. My guess is that its something really similar to this.

Hardware:

  • Arduino UNO ( or nano or any other AtMega328P arduino formfactor)
  • I^2C OLED 128x64px
  • Rotary encoder with switch/button
  • Adafruit TSL2591 light sensor - https://www.adafruit.com/product/1980

[DO NOT BUY TSL2561!! Only the model from link above or from aliexpress. There is a different driver software and it is no longer made]

How to connect:

OLED:

  • VCC to 5V
  • GND to GND
  • SCL to A5
  • SDA to A4

Rotary encoder:

  • VCC to 5V
  • GND to GND
  • SW to Digital pin 3
  • DT to A1
  • CLK to A0

TSL2591 sensor:

  • VCC to 5V
  • GND to GND
  • SCL to A5
  • SDA to A4
  • (do not connect remaining pins)

Software changes:

There is no need to change anything for rotary encoder and the light sensor.

For OLED you may need to change the address on line 530 of the main sketch. Address for 128x64 OLED should be 0x3D, however for me it was 0x3C which is still set in the sketch. display.begin(SSD1306_SWITCHCAPVCC, 0x3C)

Libraries:

All libraries are now included as zip in this repository. No need to download anything off the library manager. [Download Adafruit_GFX from library manager say yes to download other support libraries.]

Rest of the libraries are included as ZIP files in this repository. Install them. There is change in one of them to make it work (for me at least).

SCREEN NOT WORKING RIGHT?

For whatever reason when I connected the screen, it would treat it as 128x32 and would leave every second row blank. That resulted in seeing only half of the screen UI. Change is in library Adafruit_SSD1306.h. On line 28 I enabled #define SSD1306_128_64 and on line 29 I disabled //#define SSD1306_128_32. If you have some sort of problem and cant see images on screen in the correct aspect ratio try to switch it back. Also make sure you really have 128x64px display and you have the correct address set!!

Case

Planing to print one and Ill add the STL when Im done.

Custom shutterspeeds and ISOs

This was made super easy now. For ISOs go to line 400. For Shutterspeeds line 416.

Process for both is similar. First add your desired value to the correct line of array, then edit the defined values (basically how many options are on a given line). That's it. Original program is calculating the F number based on these arrays.

Thats it!

Enjoy your lightmeter.

ƒLUX

Arduino Light Meter

This is my Arduino light meter project. The goal was to build a portable, low-power light meter for photography and cinematography.

I used an Adafruit TSL2591 High Dynamic Range Light Sensor (https://www.adafruit.com/product/1980), an Arduino Pro Mini, a 128x64 I2c OLED Display, a push-button a rotary encoder, and three AAA batteries.

Here's a video: https://www.youtube.com/watch?v=WcZG9v7m2E0

f_lux's People

Contributors

photochemicals avatar pogof avatar

Stargazers

 avatar Erik Garcia avatar  avatar  avatar Juergen Skrotzky avatar Casey Dierking avatar

Watchers

 avatar Juergen Skrotzky avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.