Arduino Attic Environmental Monitor

I have been considering adding additional insulation to the attic and needed a way to track the temperatures. Since I have been teaching myself basic electronics and Arduino programming, this seemed like a good opportunity to test my skills with a practical project. I wanted a remote temperature and humidity logger that would run unattended in the attic for several days at a time on battery power.

I did this as a learning project, using (mainly) parts on-hand; it works great, but don't expect a beautiful finished product, I went for functional not beautiful....I'll try my hand at 3D printing down the road.

Step 1: Parts

Here are the parts I used for this project:

  • Arduino Uno
  • 9V battery connector
  • 9V battery
  • DHT22 digital temperature & humidity sensor
  • SD card breakout board
  • Unused SD card
  • Breadboard
  • Breadboard jumper wires

    Step 2: Connecting It All

    Arduino Attic Environmental Monitor
    Arduino Attic Environmental Monitor

    This part of the instructions may vary depending on which exact parts/models you use, but here was my configuration:

    I connected the Arduino 5V and Ground pins to the breadboard + and - strips, respectively.

    I plugged in the DHT22 into the breadboard, connecting the VCC pin to the breadboard + and the GRD pin to the breadboard - pins; and connecting the DTA pin to the Arduino D2 socket.

    I connected the SD card reader to the Arduino as follows (per the spec sheet):

  • CS to Arduino D10
  • DI to Arduino D11
  • DO to Arduino D12
  • CLK oto Arduino D13
  • G to breadboard -
  • + to breadboard +

    Step 3: Arduino Sketch

    I then wrote a basic Arduino sketch to check the temperature and humidity and record the results.

    The logic was as follows:

  • If the temperature changes by more than 1 degree since it was last logged, log the new values
  • If the humidity changes by more than 1% since it was last logged, log the new values
  • Record the current values every 5 minutes; this is configurable through the MIN_LOG_PERIOD value

    The log filename is created dynamically with sequential numbers, so it will not overwrite previous results if you restart the Arduino.

    I wrote a function logIt(...) to handle the actual logging of the data to the SD card (and the Serial Monitor depending on the USE_SERIAL_MONITOR value); this makes it easy to modify to add/remove parameters if I want to add additional sensors.

    Arduino Attic Environmental Monitor
    Attic Enviornment Monitor Sketch.ino4 KB

    Step 4: Run It & Record Values

    Arduino Attic Environmental Monitor
    Arduino Attic Environmental Monitor

    I set the unit in a small, open cardboard box and placed in the attic and let it run for over 24 hours. Sample output can be seen in the attached image.

    Since I saved the file as a CSV, I was able to quickly open in Microsoft Excel and generate a chart.

    Step 5: Future Enhancements

    While logging the values with a sequential "event ID" is helpful, and actual date & time would be better; I have ordered an inexpensive real time clock (RTC) and will be incorporating that into the next version.


    Tag cloud

    make build easy simple arduino making homemade solar laser printed portable cheap mini building custom cardboard wooden create super lego turn paracord chocolate your paper light intel