Friday, March 25, 2016

RoomSense Abacus: Binary Room Temperature Humidity Display Pod



The system is inspired by first of kind calculating tool called Abacus [1][2]. A paper tube structure [3] is designed to hold the display of Charliplexed Light Emitting Diodes (LED’s) [4]. The sensor and microcontroller assembly comprises of microcontroller (Atmel AVR-ATtiny84)[5], temperature sensor (LM35)[6], humidity sensor (SY-HS-220)[7] and liner voltage regulator (LM317)[8]. The documentation provided by MIT High Low Tech is used to program ATtiny84 using Arduino Uno [9]. The observed sensor values are divided into decimal digits and displayed on binary matrix using LED’s. The design provides ease in visualization of sensor values with temporary memory and few calculations such as minimum, maximum and dew point values.

Objective: to utilize capabilities of ATtiny84 for standalone room temperature and humidity measurement and display. Specific objectives are, 
1.      to sample analog temperature and humidity sensor at 10bit resolution 
2.      to record derived parameters such as minimum temperature, maximum temperature, dew point, etc. 
3.      to maintain log of measurements during system switch on period 

Methodology: 
The design aspects of RoomSense Abacus: Binary Room Temperature Relative Humidity Display Pod is described in this section. Following is the list of components used for designing room sensing system. 
List of Components: 
1.      ATtiny84 - 01 
2.      LED’s – 20 
3.      Voltage regulator – LM317 – 01 
4.      Resistance (220 ohm) – 01 
5.      Variable Resistance (5k ohm) – 01 
6.      Capacitors (1 and 0.1 µf) – 01 each 
7.      Temperature Sensor (LM35) – 01 
8.      Humidity sensor (SY-HS-220) – 01 
9.      Jumper wires (as required)
Figure 1. Circuit Diagram
The AVR ATtiny84 has 8kb flash memory and 512 bytes Random Access Memory (RAM). For present system the ATtiny84 microcontroller is configured with 8MHz internal oscillator. The circuit diagram of system consisting of voltage regulator, microcontroller and Charliplxed LED display is shown in Figure 1. As RoomSense Abacus system is thought to be standalone a liner voltage regulator (LM317) is used to regulate input Voltage in range of 6 to 12 VDC. Low power cost effective 14 pin microcontroller ATtiny84 is selected for 10 bit ADC and variable range of operating voltage. ATtiny pins numbered as D0 to D10 are digital Input Output (IO) pins and A0 to A7 are analog pins. The microcontroller has 10 bit Analog to Digital Convertor (ADC). 

Description of binary display
Binary display consists of array of 20 LED’s Charliplxed to five (5) digital pins. Columns of binary display are allotted to display individual decimal number. Display has five columns, from left first four columns are allocated to display decimal number at fixed decimal increment and fifth column for identification of sensor or measurement. For example first left column indicates decimal value of tenth decimal place, subsequently second, third and fourth column for 1, 0.1 and 0.01 decimal value. The last column from left (i.e. first from right) is assigned specific value for each decimal e.g. 1 for ambient temperature at given instance, 2 for relative humidity, etc. The allocation of ID’s for sensor measurements are shown in Table 1.
Table 1 Allocation of decimal values for sensor measurements
Decimal ID
Sensor observed property
Unit of measurement
1
Ambient Temperature
Degree Celsius (oC)
2
Relative Humidity (RH)
Percentage (%)
3
Dew Point temperature
Degree Celsius (oC),
4
Maximum Temperature
Degree Celsius (oC)
5
Minimum Temperature
Degree Celsius (oC)
6
Minimum RH
Percentage (%)
7
Maximum RH
Percentage (%)

To easily read the binary value consider following conditions, a) consider each column separately and read each column from bottom, b) the first, second, third and fourth LED indicates 1, 2, 4 and 8 respectively, c) if from bottom first LED is bright indicated value is 1 else 0, similarly 2, 4 and 8 for second, third and fourth LED, d) decimal value indicated by one column is sum of all digits. As each column has four LED’s hence maximum decimal number which can be successfully visualized is fifteen (i.e. binary 1111). The maximum sensor observation value of 99.99 can be shown by the designed Charliplexed display (Note: Theoretically value more than 99.99 can be shown if each column is allocated with 15 decimal values). Example of temperature display 24.15 oC is shown in Figure 1, where 2, 4, 1, 5, 1 is displayed by respective columns.
 
Figure 2. Snapshots of RoomSense Abacus
Description of source code 
The major functions of Arduino program are, 
1.      Sample sensor observation with ADC 
2.      Convert sampled 10bit digital value into sensor observation 
3.      Divide sensor observation into variable decimal places 
4.      Display each decimal value in binary form on Charliplexed display
Click here to download source code for ATtiny84. After compilation the code size is 2.13 kb. The limits of system operating parameters are shown in Table 2.
Table 2 System operating voltage and current
SN
Parameter
Minimum
Maximum
1
Input Voltage (V in)
6 VDC
12 VDC
2
Input Current (I in)
mA
mA
3
Ambient Temperature (limited by display capabilities)
0.00 oC
99.99 oC
4
Relative Humidity
0.00 (%)
99.99 (%)
5
LED Update Frequency
20 milliseconds

References
[1] Abacus, 2015. Abacus Wikipedia page. URL: https://en.wikipedia.org/wiki/Abacus, accessed on: 10 May 2015.
[2] Fernandes Luis, 2015. The Abacus: A Brief History. URL: http://www.ee.ryerson.ca/~elf/abacus/history.html, accessed on: 05 May 2015.
[3] Sawant Suryakant, 2015. Paper Tube Structures, URL: http://weekend-projects-stuff.blogspot.in/, accessed /blog  published on: 18 March 2016.
[4] Charliplexing, 2015. Charliplexing Wikipedia page, URL: https://en.wikipedia.org/wiki/Charlieplexing, accessed on: 5 October 2015.
[5] ATtiny84, 2015. ATtiny 22/44/84 datasheet, URL: www.atmel.com/Images/doc8006.pdf, accessed on: 12 May 2015.
[6] LM35, 2015. LM35 – Texas Instruments, URL: www.ti.com/lit/ds/symlink/lm35.pdf, accessed on: 12 May 2015.
[7] SY-HS-220, 2015. SY-HS-220 Datasheet, URL: http://web.sensor-ic.com:8000/ZLXIAZAI/apollounion/SY-HS-220.pdf, accessed on: 12 May 2015.
[8] LM317, 2015. LM315 3 Terminal Adjustable Regulator, URL: http://www.ti.com/lit/ds/symlink/lm317.pdf, accessed on: 12 May 2015.
[9] High low Tech, 2015. MIT High Low Tech, URL: http://highlowtech.org/, accessed on: 12 December, 2014.

No comments:

Post a Comment