Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
SCI_SENSOR/SCI_SENSOR.cpp@16:54c15eaadf88, 2020-12-10 (annotated)
- Committer:
- jrschaedler
- Date:
- Thu Dec 10 14:09:58 2020 +0000
- Revision:
- 16:54c15eaadf88
- Parent:
- 0:852fb667f2d6
final test?
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
markschwarzer | 0:852fb667f2d6 | 1 | #include "SCI_SENSOR.h" |
markschwarzer | 0:852fb667f2d6 | 2 | |
markschwarzer | 0:852fb667f2d6 | 3 | LM19::LM19(PinName in1): _in1(in1) |
markschwarzer | 0:852fb667f2d6 | 4 | { |
markschwarzer | 0:852fb667f2d6 | 5 | c1 = -1481.96; |
markschwarzer | 0:852fb667f2d6 | 6 | c2 = 2.1962*1000000.000; |
markschwarzer | 0:852fb667f2d6 | 7 | c3 = 1.8636; |
markschwarzer | 0:852fb667f2d6 | 8 | c4 = 3.88/1000000.000; |
markschwarzer | 0:852fb667f2d6 | 9 | } |
markschwarzer | 0:852fb667f2d6 | 10 | |
markschwarzer | 0:852fb667f2d6 | 11 | float LM19::temp() |
markschwarzer | 0:852fb667f2d6 | 12 | { |
markschwarzer | 0:852fb667f2d6 | 13 | float volt=_in1.read()*3.3; |
markschwarzer | 0:852fb667f2d6 | 14 | float T=c1+sqrt(c2 + (c3-volt)/c4); |
markschwarzer | 0:852fb667f2d6 | 15 | return T; |
markschwarzer | 0:852fb667f2d6 | 16 | } |
markschwarzer | 0:852fb667f2d6 | 17 | |
markschwarzer | 0:852fb667f2d6 | 18 | PhotoCell::PhotoCell(PinName in1): _in1(in1) |
markschwarzer | 0:852fb667f2d6 | 19 | { |
markschwarzer | 0:852fb667f2d6 | 20 | Rs = 10000.00; |
markschwarzer | 0:852fb667f2d6 | 21 | } |
markschwarzer | 0:852fb667f2d6 | 22 | |
markschwarzer | 0:852fb667f2d6 | 23 | float PhotoCell::light() |
markschwarzer | 0:852fb667f2d6 | 24 | { |
markschwarzer | 0:852fb667f2d6 | 25 | float vlight=_in1.read()*3.3; |
markschwarzer | 0:852fb667f2d6 | 26 | //convert voltage into resistance |
markschwarzer | 0:852fb667f2d6 | 27 | //convert resistance into light |
markschwarzer | 0:852fb667f2d6 | 28 | float A =-2; |
markschwarzer | 0:852fb667f2d6 | 29 | float B = 3.8; |
markschwarzer | 0:852fb667f2d6 | 30 | float R = (3.3*Rs/vlight - Rs)/1000.00; |
markschwarzer | 0:852fb667f2d6 | 31 | float lux = pow(10, A*log10(R)+B); |
markschwarzer | 0:852fb667f2d6 | 32 | return lux; |
markschwarzer | 0:852fb667f2d6 | 33 | } |