Skip to content

Arduino Thermometer Display

Advertising
Advertising
?
Creation quality: 5.0/5 (1 vote)
Evaluation of members on the printability, utility, level of detail, etc.

  • 4.8k views
  • 4 likes
  • 65 downloads

License
3D design format
STL and ZIP Folder details Close
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Front_-_Rotated.stl
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Front_-_Standard.stl
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT11_-_Rotated.stl
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT11_-_Standard.stl
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT22_-_Rotated.stl
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT22_-_Standard.stl
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Stand-offs.stl
  • codeandmake.com_Arduino_Thermometer_Display_v1.0.ino.zip

Learn more about the formats

Last update 2021-02-20 at 17:49
Publication date 2021-01-25 at 08:52
?
Published to Thingiverse on: 2021-01-24 at 17:33
Design number 271578

3D printer file info

3D model description

For this project we are building an Arduino-based thermometer and humidity display. It shows the current temperature, temperature index (feel), humidity level and dew point. It also displays a graph of the readings from the past 12 hours.

Parts

If you plan to 3D print the case included with this project, you will need the exact components listed below. If you use alternative components they may not fit inside the case.

You will need:

For the 3D printed case, you will need the following bolts/screws:

  • 2-4x M3x5mm - To mount the Arduino
  • 4x M3x12mm - To join the front and rear of the case
  • 2x M3x20mm - To mount the DHT22/DHT11 via the 14mm stand-offs
  • 2x M3 nuts - For the DHT22/DHT11 stand-off bolts/screws

A note on accuracy

The DHT22 sensor is said to be accurate to within 0.5C and 5% humidity (the DHT11 is slightly less accurate). However, the electronic components used in this project generate heat, which can affect the sensor's measurements.

In particular, the Arduino's on-board voltage regulator generates a significant amount of heat, so we bypass the voltage regulator in this project by wiring a 5V power supply directly to the 5V pin and we mount the DHT22/DHT11 to the exterior of the case with an air-gap between the sensor and the case.

By doing this we've achieved temperature readings that are within 0.5-1.0C of independent thermometers.

A note on viewing angle

The 2.8" display module has a optimum viewing angle that means it is best viewed from straight-on and below, or straight-on and above, but not both. Therefore, you should consider where it will reside once built.

We've created two versions of the case, meaning you can pick the one that will be best suited to your needs, depending on whether it will mostly be viewed from above or below. You should choose:

  • the 'standard' version if it will mostly be viewed from below - e.g. if it will be on a high shelf
  • the 'rotated' version if it will mostly be viewed from above - e.g. if it will be on a table or desk - note: a small code change will be required to rotate the display

Code

Before constructing this project, you should upload the code (.ino) to your Arduino.

If you haven't already, install Arduino IDE and configure it ready to program your Arduino.

Please see our tutorial for installing the Arduino IDE in Ubuntu and configuring it for an Arduino Uno. The steps will be similar for other operating systems.

Dependencies

The code for this project has several dependencies on other libraries. We recommend installing the dependencies through the Arduino IDE's Library Manager, which can be accessed via: 'Tools > Manage Libraries...'. Simply search for the following libraries and install them:

Code changes

Please take a note of the following changes which may be necessary, depending on your needs:

DHT11 sensor

If you will be using a DHT11 sensor instead of a DHT22 sensor, you should change the following line:

Before:


#define DHTTYPE DHT22

After:


#define DHTTYPE DHT11

Rotated version

If you will be using the 'rotated' version of the case (for viewing from above), you should change the following line:

Before:


const boolean rotateScreen = false;

After:


const boolean rotateScreen = true;

Light mode

If you would like to use 'light mode' (white background), you should change the following line:

Before:


const boolean darkMode = true;

After:


const boolean darkMode = false;

Wiring

We recommend wiring up the project and testing it before printing a case for it. This will allow you to test the components and the code (including any changes you make) and it will help you to decide which version of the case to use ('standard' or 'rotated').

As we will be wiring the power directly to the 5V pin, we strongly recommend checking the voltage at the 2.1mm power jack using a multimeter. Only use it if it reads close to 5V!

The jack's center pin is usually positive (+ve), but it depends on the USB to 2.1mm jack cable, so be sure to also check the polarity using a multimeter. Once you've checked the polarity, solder the two lengths of ~26 AWG wire to your 2.1mm jack socket accordingly.

Your Adafruit Proto-Screwshield (Wingshield) may arrive as a kit which will require soldering. If so, we recommend checking out this excellent guide.

Once everything is soldered, it's time to test it works. Please use this diagram as a reference:

1) If you haven't already, upload the code to the Arduino (detailed in the 'Code' section above).
2) Insert the Adafruit Proto-Screwshield (Wingshield) into the Arduino Uno.
3) Remove the female pin header connector from the cable that came with the DHT22/DHT11 sensor and strip the wires. If you'd prefer not to do this, you will require a cable with a JST-PH connector, but be aware that the colors and/or order of the wires may be different to the original cable!
4) Join the DHT22/DHT11's positive (+ve) wire (red) with the positive (+ve) power wire by twisting them together and insert them into the '5V' terminal of the Adafruit Proto-Screwshield (Wingshield).
5) Join the DHT22/DHT11's negative (GND) wire (black) with the negative (GND) power wire by twisting them together and insert them into a 'GND' terminal of the Adafruit Proto-Screwshield (Wingshield).
6) Insert the DHT22/DHT11's signal wire (green) into the digital pin '12' terminal of the Adafruit Proto-Screwshield (Wingshield).
7) Insert the 2.8" Display Module into the Adafruit Proto-Screwshield (Wingshield), being careful not to press directly on the screen, as you could damage it.
8) Finally, connect 5V power to the 2.1mm jack and, after a few seconds, you should see some measurements being displayed.

Case

With testing complete, it's time to decide which case to print. Remember, you should choose:

  • the 'standard' version if it will mostly be viewed from below - e.g. if it will be on a high shelf
  • the 'rotated' version if it will mostly be viewed from above - e.g. if it will be on a table or desk

Printing

If you will be printing the 'rotated' version, refer to the 'Code changes' section (above) to make the necessary code change and upload it to the Arduino.

You will need to print 3 parts; a front, a rear and the stand-offs:

Front

  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Front_-_Standard.stl - use this if it will mostly be viewed from below
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Front_-_Rotated.stl - use this if it will mostly be viewed from above - Note: a code change is required for the rotated version - refer to the 'Code changes' section (above)

Rear

  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT22_-_Standard.stl - use this if it will mostly be viewed from below and you are using a DHT22 sensor
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT22_-_Rotated.stl - use this if it will mostly be viewed from above and you are using a DHT22 sensor - Note: a code change is required for the 'rotated' version - refer to the 'Code changes' section (above)
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT11_-_Standard.stl - use this if it will mostly be viewed from below and you are using a DHT11 sensor - Note: a code change is required to use a DHT11 sensor - refer to the 'Code changes' section (above)
  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Rear_-_DHT11_-_Rotated.stl - use this if it will mostly be viewed from above and you are using a DHT11 sensor - Note: a code change is required to use a DHT11 sensor and a code change is required for the 'rotated' version - refer to the 'Code changes' section (above)

Stand-offs

  • codeandmake.com_Arduino_Thermometer_Display_Case_v1.0_-_Stand-offs.stl - use this no matter which sensor you are using

Assembly

If the electronics are still assembled from testing, remove power, separate the boards and remove the wires from the Adafruit Proto-Screwshield (Wingshield) terminals.

You can now assemble the case in the following order:

1) Insert 2x M3x20mm bolts/screws into the mounting holes of the DHT22/DHT11 PCB
2) Thread the stand-offs onto the M3x20mm bolts/screws
3) Insert the ends of the M3x20mm bolts/screws into the rear of the case, such that the sensor is positioned on the outside of the case
4) Secure the bolts/screws with 2x M3 nuts
5) Thread the DHT22/DHT11's cable through the cable slot
6) Insert the 2.1mm barrel jack into the rear of the case and secure with the nut
7) Mount the Arduino Uno to the rear of the case using 2-4x M3x5mm bolts/screws - we ended up using 3, as we found that the screw head was too large to fit into one of the Arduino Uno's mounting holes
8) Insert the Adafruit Proto-Screwshield (Wingshield) into the Arduino Uno.
9) Wire the power and sensor wires to the Adafruit Proto-Screwshield (Wingshield) using the 'Wiring' section (above) as a reference
10) Connect 5V power to the 2.1mm jack to be sure everything works as expected
11) Attach the front to the rear of the case using 4x M3x12mm bolts/screws

Versions

  • 1.0 (24 Jan 2021) - Initial version

Printing

Recommended slicer settings:

  • Resolution: 0.1mm - 0.2mm
  • Infill: 20%
  • Supports: Doesn't Matter
  • Rafts: Doesn't Matter

License

The "Arduino Thermometer Display" models (.stl) are licensed under the CC BY license by Code and Make.

The "Arduino Thermometer Display" code (.ino) is licensed under The MIT License by Code and Make.

We are proud to offer content to you absolutely free.

We love to create free content for you. As you might imagine, it takes a lot of time. Supporters help us fund materials and equipment to create future projects and tutorials. To show your appreciation, please use the link below:

https://codeandmake.com/support

We thank you so much for your support!

Advertising


Issue with this design? Report a problem.

Would you like to support Cults?

You like Cults and you want to help us continue the adventure independently? Please note that we are a small team of 3 people, therefore it is very simple to support us to maintain the activity and create future developments. Here are 4 solutions accessible to all:

  • ADVERTISING: Disable your banner blocker (AdBlock, …) and click on our banner ads.

  • AFFILIATION: Make your purchases online by clicking on our affiliate links here Amazon.

  • DONATE: If you want, you can make a donation via Ko-Fi πŸ’œ.

  • WORD OF MOUTH: Invite your friends to come, discover the platform and the magnificent 3D files shared by the community!


Sharing and downloading on Cults3D guarantees that designs remain in makers community hands! And not in the hands of the 3D printing or software giants who own the competing platforms and exploit the designs for their own commercial interests.

Cults3D is an independent, self-financed site that is not accountable to any investor or brand. Almost all of the site's revenues are paid back to the platform's makers. The content published on the site serves only the interests of its authors and not those of 3D printer brands who also wish to control the 3D modeling market.

100% secure payment by credit card, PayPal, Apple Pay, Google Pay, etc.
View all payment options.