Skip to main content

ESP8266 Mini Project: Digital Thermometer with Binary LED Display

In this post, I'll present another ESP8266 chip based IO project which is digital thermometer with binary display. This is again an GPIO project with temperature sensor being an input pin; LEDs being output pins. If you have OLED Display Module, you can use that component to display the temperature.

Figure: Digital Thermometer Circuit and Temperature Sensor


Temperature sensor I used is "DS18B20 Temperature Sensor" having 3 wires. Red wire is for VCC(voltage) line, Black wire is Ground (0) and yellow wire is for data line. Yellow wire should be connected to the input pin of the chip. These devices are called as 1-Wire Devices as only 1 wire carries information (temperature info in our case) [1] .

I've used Temperature reading section of the code from [1] as is and modified according to this project requirements.


Figure: Digital Thermometer vs my circuitry


For complete code, see here => https://github.com/mdemiray/MicroPython-TempSensor





Setting Up Circuitry
  • GPIO 16, GPIO 5, GPIO 4, GPIO 0, GPIO 2, GPIO 14 pins will be configured as Output pins being pin_D0, pin_D1, pin_D2, pin_D3, pin_D4, pin_D5 respectively.
  • GPIO 12 will be configured as Input pin. Additionally, 4.7 K resistor should be connected between data pin (GPIO 12) and VCC line (I've used 5K resistor which will probably change the accuracy slightly) [1]




Test Environment
Chip UsedESP8266 NodeMCU (Flash Size 4 MB)
Firmware Used: esp8266-20171101-v1.9.3.bin
Temperature Sensor: Waterproof Digital Temp Sensor DS18B20
Circuit Components: 1K Resistors, 5K Resistor (for Temp Sensor), LEDs, Button, Jumper Wires



REFERENCES
[1] https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/onewire.html

[2]  https://github.com/mdemiray/MicroPython-TempSensor



Comments

Popular posts from this blog

How to Fill out a Cheque?

In this post, I will demonstrate how to fill out a cheque properly. You can have a cheque book either from your bank or any store. If you find these two suggestions expensive, you could also design and print out your own cheque. In Figure 1, a sample cheque is displayed and in Figure 2, some regions of the sample cheque are highlighted. Figure 1: Sample unfilled cheque. Figure 2: Some regions are highlighted in sample cheque. 1- Name and Address of Payer: Name and  address of the person who is the owner of this cheque and is filling out the cheque should be written in this region. 2- Date: For any official document, date is a mandatory field and hence you should write current date in this region. 3- Payee Name: Payee could be either a person or an organization (Store, Restaurant, Company, School etc.) You should write the name of the payee here explicitly. 4- Amount of Payment (Numeric): Exact amount of the payment should be w

Star Wars ASCIImation with Python - Windows

In this post, we'll watch a Star Wars movie in ASCII format. The only thing we need for this demo is Python-installed PC and internet connection. Figure : Screenshots from Python Command line while Star Wars is being streamed All credits gained in this demo will go to " blinkenlights.nl " [2] website, which broadcasts this ASCII movie using Telnet protocol on Port 23, and Python which makes socket implementation very easy for us. No authentication is needed for this broadcast. Anyone who is able to create a TCP socket and listens  blinkenlights.nl  on port 23 would be able to get this stream and display on their Python command line. CODE My main source for Python source code is [1]. What  code below does is simply importing Python "socket" library, create a socket, use " towel.blinkenlights.nl " address variable to create connection, receive data from socket and display it. While typing (copy/paste) code, be careful about indentatio

Internet of Things (IoT) with MicroPython

VIDEO LIVE DEMO Please check the link for Live DEMOs  SLIDES REFERENCES    [1] http://micropython.org/    [2] WebREPL: http://micropython.org/webrepl/    [3] Programming with MicroPython, Nicholas H. TollerWay    [4] http://dpgeorge.net/    [5] https://github.com/micropython/micropython    [6] https://www.youtube.com/watch?v=EvGhPmPPzko&t=1488s    [7] https://forum.micropython.org/viewtopic.php?t=744    ABBREAVIATIONS   REPL : Read Evaluate Print Loop