arduino lcd display serial monitor made in china
i have tested with 2 computers (win10, win7 and linux) with the last arduino ide versions (store and web download for windows), with arduino web ide, i always have the same issue and the same reactions on the board
A lcd display is an effective and economic means to visually present data collected by an Arduino. On the market is a great variety of lcd displays. Most common are monochrome displays capable of presenting two lines with each 16 characters (16×2) and displays that show four lines with each 20 characters (20×4). Here we will discuss the basics of connecting a 16×2 lcd display to an Arduino. After that we will connect a Dallas DS18B20 temperature sensor to the Arduino with the purpose to display sensor data. Simple sketches are provided at successive stages while we will walk through each sketch.
Data collected with a sensor connected to an Arduino can be presented in many ways. They can be displayed on your computer via Serial Monitor, transmitted to another Arduino or even to a server on the internet to have them available for final display on your smartphone, tablet or any other suitable platform. An elegant, maybe the ‘historical’ way that is very useful in standalone situations, is to use a display of some sorts connected directly to the Arduino board. Most common today are displays based on lcd, OLED or TFT technology. I assume that lcd displays were the first made available to the Arduino community. Most are compatible with the de facto Hitachi HD44780 standard. Many manufacturers, mostly Chinese, are flushing the market with affordable lcd displays ready to be connected with an Arduino.
Figure 1: Front view of a classic, China made 16×2 lcd display ready to connect with an Arduino. The pin interface has 16 pins numbered 1 to 16. On some displays (like this one) connectivity code is printed onto the printed circuit board. Note that the 220 Ω resistor between 5V and pin 15 is necessary to reduce the voltage to the backlight led to 3.3V.
Such displays are available in various tastes, colors and numbers of characters that can be displayed. As this is a ‘basic’ paper, I will discuss here the 16×2 monochrome display (two lines of 16 characters each) because I regard this device as the ‘mother of all lcd displays’. They are perfect for the beginner and they may as well perfectly serve needs of more advanced Arduino hobbyists. Many permanent projects can be equipped with a lcd display to provide visual information, for instance digital clocks and timers, water temperature control devices, moisture sensor devices, tachometers, barometers, complete weather stations, etcetera.
Pin 3 of the display must be connected with the middle contact, named in jargon the ‘’wiper’, of a 10 kΩ potentiometer. Only one of the other two pins of the potentiometer must be connected to GND. You can ignore the other pin. This pot meter supplies a voltage to the display that adjusts the contrast of the characters against the (fixed illumination) background. Power for the background illumination is supplied via pins 15 and 16 of the display. Background illumination is achieved with a white led and a diffuser. The diffuser sticks out on the side of the display (figure 1). As leds are typically 3.3V devices, a 220 Ω resistor is needed in series at pin 15 to protect the backlight led from receiving too much power.
As the potentiometer is only needed to fine-tune the contrast one can experiment to connect pin 3 via a resistor with a fixed value with GND of the Arduino. Begin the experiments with a 10 kΩ resistor and replace it stepwise with one with a lower value until a satisfactory contrast is achieved. With the display shown in figures 1 and 2 a 470 Ω resistor sufficed.
Data from the Arduino to be displayed on the lcd display run via pins 11,12,13 and 14 of the display. Display pin 11 is connected with pin 5 of the Arduino, display pin 12 with pin 4 of the Arduino, display pin 13 with pin 3 of the Arduino, and display pin 14 with pin 2 of the Arduino.
Once the proper pins of the lcd display are connected with the proper pins of the Arduino and connectivity has been double checked, the Arduino is connected to a computer and the following sketch can be compiled and uploaded.
The sketch starts with reference to a library. This library is supplied with the Arduino IDE, so don’t worry about starting a search on the internet to download it.
Pins ’11’ and 12′ refer here to the RS and RS-enable functions while 5,4,3 and 2 refer to the pins used to transfer data from the Arduino to the display. Note that you can setup data connectivity of your LCD from other pins on the Arduino, e.g. pins 8, 7, 6 and 5, but in all cases you have to declare these pins explicitly in the ‘LiquidCrystal lcd (…) statement.
This instruction tells the software that the connected lcd display is a 16×2 type. If your lcd is a 20×4 type, then the proper instruction is ‘lcd.begin (20, 4);’
And then the loop is announced. However, since in this basic sketch only one text is displayed once and forever in the ‘setup’ section there is no need to add instructions to the ‘loop’ section:
When the contrast potentiometer is turned to maximum contrast it can easily be seen that the characters are embedded in rectangle like structures. In a 16×2 lcd display there are two lines. Each consists of 16 of these rectangles. Each rectangle is formed by a matrix of 8 pixels high and 5 pixels wide. Each of the 40 individual pixels in a rectangle can be set ‘ON’ or ‘OFF’. Usually they are in ‘OFF ‘ position, that is: they have he same intensity as the background. Any letter, number or special character consists of a special configuration of ‘ON’ and ‘OFF’ pixels in their 8×5 matrix. In the HDM44780 chip 255 pre-programmed characters are available by default. This set of characters is called the lcd’s ‘ASCII character set’.
The following sketch, ‘ascii_lcd_character_set.ino’ displays on the lcd display in a loop the following data. On the first line comes the decimal (ascii) value of the character while on the second line of the display the character itself appears.
One of the funny things with the character set is that there is room for creating your own favorite character, icon or emoji. The Arduino has memory space to hold eight custom characters. Creating your own character works as follows.
Figure 4: Creating your own custom character in the 5×8 lcd pixel matrix of a lcd display ‘character’ rectangle. Here we create a ‘smiley’ and a ‘weepy’. In the byte matrix a ‘1’ means ‘pixel ON’ while a ‘0’ means ‘pixel OFF’.
Each character is built up of five bytes. Each bit corresponds with one pixel of the character, and as a bit can be ‘0’ or ‘1’, whether or not a pixel is displayed, is defined by how the byte has been set.
While we have defined the 8×5 pixel matrix of each custom character an additional instruction named ‘lcd.createChar’, is required before we can print the custom character to the lcd. Up to 8 custom characters are allowed:
Note on the uint8_t: In the official reference section on the Arduino forum (https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar) the instruction says ‘lcd.write(byte(0)’. The Arduino IDE compiler needs to know however that this byte is of the unsigned 8-bit type: an uint8_t.
The loop of the sketch is quite straightforward: we print the ‘smile’ character to the first position of the lcd display, leave it in place for one second and then replace it with the ‘weep’ character. As these instructions are in the loop section the program will run forever.
It is interesting to create a custom character for the superscript ‘degree’ character when we are going to display temperatures in the next section of this paper.
This is a small, cheap and accurate sensor that records temperatures between -55 and 125 oC (-67°F to +257°F). Such a range is perfect for most applications. The accuracy in the working range (-10 to +85 oC) is 0.5 oC. One big advantage is that the DS18B20 is a one-wire device: for communication with an Arduino only one pin on the microcontroller board is necessary. Multiple DS18B20s can be connected with the Arduino via the same communication wire because each DS18B20 has a unique 8-bit identification tag. Calling this tag produces the response only of the sensor with that tag while other, identical sensors wired through the same line do not respond. A so-called pull-up resistor with a value of 4.7 kΩ between the data wire and 5V is necessary to maintain a stable signal (see wiring diagram in figure 6). If this resistor is absent, the sensor may not be recognized by the Arduino or readings may be unreliable.
The sketch, named ‘single_DS18B20_lcd_display.ino’ uses three libraries: the built-in LiquidCrystal.h and the external OneWire.h and DallasTemperature.h. The external libraries are available in the public domain (https://www.arduinolibraries.info/libraries/one-wire).
The OneWire library needs to know with which Arduino pin the sensor is expected to communicate. In our example the sensor’s data pin is connected to Arduino pin 9. In the example we soft define this pin (as a variable). In case we might need another pin we only have to change here the pin number and not worry whether the pin number must be changed elsewhere in the sketch.
The setup part takes care of identifying the sensor to the Arduino, it creates the special character ‘superscipt-degree’, sets up the lcd and instructs the lcd display to display (print) the so-called ‘permanent’ characters that is the characters that will be seen on the display al the time. In the ‘loop’ section only the variable data (temperature readouts) need to be sent to the lcd display. This is efficient, improves the speed and avoids flickering of the display. We also have Serial Monitor at hand in case trouble shooting is necessary.
Subroutines: These are calculations or procedures that are repeatedly necessary in the sketch. These tasks can be placed outside the loop and called from within the loop. Often, subroutines deal with a specific task, here control of the dynamic part of getting and displaying sensor data on the lcd display Apart from preventing chaos and therefore supporting higher efficiency the strategy of using subroutines is particularly helpful for debugging. Once a subroutine works the programmer can focus on the main job of the sketch or on other subroutines.
In this paper we have connected a 16×2 lcd ‘classic’ display to an Arduino, discussed the sketch necessary to bring the display to life, attached a DS18B20 temperature sensor to the Arduino and, finally, display sensor data using a custom character.
This classic way of connecting a lcd display to an Arduino uses 6 pins on the Arduino. With a simple application such as a one-wire temperature sensor this is not a major problem. However when an application uses more pins, or when multiple sensors must be connected with the Arduino a ‘shortage’ of pins may threaten the project. In that case an I2C lcd-display might help because the I2C protocol needs only the analog pins A4 and A5 of the Arduino. 16×2 and 20×4 lcd displays with backpack I2C extenders working with I2C are currently available while these extenders can be bought also separately. However, there is a price, that is extra use of memory. The sketch ‘single_DS18B20_lcd_display’ uses 9,106 bytes of program memory and 487 bytes of dynamic memory to run with a 16×2 lcd display. The same sketch compiled for the same but now I2C expander-supported 16×2 lcd display, gobbles up 10,928 bytes of program memory and 720 bytes of dynamic memory. The advantage of I2C is less wires and less required pins at the expense of a higher memory load.
I2C_LCD is an easy-to-use display module, It can make display easier. Using it can reduce the difficulty of make, so that makers can focus on the core of the work.
We developed the Arduino library for I2C_LCD, user just need a few lines of the code can achieve complex graphics and text display features. It can replace the serial monitor of Arduino in some place, you can get running informations without a computer.
More than that, we also develop the dedicated picture data convert software (bitmap converter)now is available to support PC platform of windows, Linux, Mac OS. Through the bitmap convert software you can get your favorite picture displayed on I2C_LCD, without the need for complex programming.
Select the board: Click Tools > Board > "Arduino Duemilanove or Diecimila"(Seeeduino V3.0 Or early version), "Arduino Uno"(Seeeduino Lotus or Seeeduino V4.0).
These are based on the system used for printing to the Serial monitor with print() and println(). The font included with the library is 5 pixels wide and 7 pixels tall but prints into a 6x8 pixel space.
None of these instructions will produce a change on the screen without a display.display(); method. If your script does not appear to be working check you have included this line at the bottom of your screen changing code.
This post is an introduction to the Nextion display with the Arduino. We’re going to show you how to configure the display for the first time, download the needed resources, and how to integrate it with the Arduino UNO board. We’ll also make a simple graphical user interface to control the Arduino pins.
Nextion is a Human Machine Interface (HMI) solution. Nextion displays are resistive touchscreens that makes it easy to build a Graphical User Interface (GUI). It is a great solution to monitor and control processes, being mainly applied to IoT applications.
The Nextion has a built-in ARM microcontroller that controls the display, for example it takes care of generating the buttons, creating text, store images or change the background. The Nextion communicates with any microcontroller using serial communication at a 9600 baud rate.
To design the GUI, you use the Nextion Editor, in which you can add buttons, gauges, progress bars, text labels, and more to the user interface in an easy way. We have the 2.8” Nextion display basic model, that is shown in the following figure.
Connecting the Nextion display to the Arduino is very straightforward. You just need to make four connections: GND, RX, TX, and +5V. These pins are labeled at the back of your display, as shown in the figure below.
You can power up the Nextion display directly from the Arduino 5V pin, but it is not recommended. Working with insufficient power supply may damage the display. So, you should use an external power source. You should use a 5V/1A power adaptor with a micro USB cable. Along with your Nextion display, you’ll also receive a USB to 2 pin connector, useful to connect the power adaptor to the display.
The best way to get familiar with a new software and a new device is to make a project example. Here we’re going to create a user interface in the Nextion display to control the Arduino pins, and display data.
The user interface has two pages: one controls two LEDs connected to the Arduino pins, and the other shows data gathered from the DHT11 temperature and humidity sensor;
We won’t cover step-by-step how to build the GUI in the Nextion display. But we’ll show you how to build the most important parts, so that you can learn how to actually build the user interface. After following the instructions, you should be able to complete the user interface yourself.
Additionally, we provide all the resources you need to complete this project. Here’s all the resources you need (be aware that you may need to change some settings on the user interface to match your display size):
We’ll start by adding a background image. To use an image as a background, it should have the exact same dimensions as your Nextion display. We’re using the 2.8” display, so the background image needs to be 240×320 pixels. Check your display dimensions and edit your background image accordingly. As an example, we’re using the following image:
At this moment, you can start adding components to the display area. For our project, drag three buttons, two labels and one slider, as shown in the figure below. Edit their looks as you like.
All components have an attribute called objname. This is the name of the component. Give good names to your components because you’ll need them later for the Arduino code. Also note that each component has one id number that is unique to that component in that page. The figure below shows the objname and id for the slider.
You should trigger an event for the touchable components (the buttons and the slider) so that the Arduino knows that a component was touched. You can trigger events when you press or when you release a component.
Our second page will display data from the DHT11 temperature and humidity sensor. We have several labels to hold the temperature in Celsius, the temperature in Fahrenheit, and the humidity. We also added a progress bar to display the humidity and an UPDATE button to refresh the readings. The bBack button redirects to page0.
Notice that we have labels to hold the units like “ºC”, “ºF” and “%”, and empty labels that will be filled with the readings when we have our Arduino code running.
Once the GUI is ready, you need to write the Arduino code so that the Nextion can interact with the Arduino and vice-versa. Writing code to interact with the Nextion display is not straightforward for beginners, but it also isn’t as complicated as it may seem.
A good way to learn how to write code for the Arduino to interact with the Nextion display is to go to the examples folder in the Nextion library folder and explore. You should be able to copy and paste code to make the Arduino do what you want.
The first thing you should do is to take note of your components in the GUI that will interact with the Arduino and take note of their ID, names and page. Here’s a table of all the components the code will interact to (your components may have a different ID depending on the order you’ve added them to the GUI).
Finally, you need a function for the bUpdate (the update button). When you click this button the DHT temperature and humidity sensor reads temperature and humidity and displays them on the corresponding labels, as well as the humidity on the progress bar. That is the bUpdatePopCallback() function.
In this post we’ve introduced you to the Nextion display. We’ve also created a simple application user interface in the Nextion display to control the Arduino pins. The application built is just an example for you to understand how to interface different components with the Arduino – we hope you’ve found the instructions as well as the example provided useful.
In our opinion, Nextion is a great display that makes the process of creating user interfaces simple and easy. Although the Nextion Editor has some issues and limitations it is a great choice for building interfaces for your electronics projects. We have a project on how to create a Node-RED physical interface with the Nextion display and an ESP8266 to control outputs. Feel free to take a look.
Arduino (open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under a CC BY-SA license, while software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL),manufacture of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official website or through authorized distributors.
Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards ("shields") or breadboards (for prototyping) and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on some models, which are also used for loading programs. The microcontrollers can be programmed using the C and C++ programming languages, using a standard API which is also known as the Arduino Programming Language, inspired by the Processing language and used with a modified version of the Processing IDE. In addition to using traditional compiler toolchains, the Arduino project provides an integrated development environment (IDE) and a command line tool developed in Go.
The Arduino project began in 2005 as a tool for students at the Interaction Design Institute Ivrea, Italy,sensors and actuators. Common examples of such devices intended for beginner hobbyists include simple robots, thermostats and motion detectors.
The name Arduino comes from a bar in Ivrea, Italy, where some of the founders of the project used to meet. The bar was named after Arduin of Ivrea, who was the margrave of the March of Ivrea and King of Italy from 1002 to 1014.
The Arduino project was started at the Interaction Design Institute Ivrea (IDII) in Ivrea, Italy.BASIC Stamp microcontroller at a cost of $50. In 2003 Hernando Barragán created the development platform Casey Reas. Casey Reas is known for co-creating, with Ben Fry, the Processing development platform. The project goal was to create simple, low cost tools for creating digital projects by non-engineers. The Wiring platform consisted of a printed circuit board (PCB) with an ATmega128 microcontroller, an IDE based on Processing and library functions to easily program the microcontroller.Arduino.
Following the completion of the platform, lighter and less expensive versions were distributed in the open-source community. It was estimated in mid-2011 that over 300,000 official Arduinos had been commercially produced,
At the end of 2008, Gianluca Martino"s company, Smart Projects, registered the Arduino trademark in Italy and kept this a secret from the other co-founders for about two years. This was revealed when the Arduino company tried to register the trademark in other areas of the world (they originally registered only in the US), and discovered that it was already registered in Italy. Negotiations with Martino and his firm to bring the trademark under control of the original Arduino company failed. In 2014, Smart Projects began refusing to pay royalties. They then appointed a new CEO, Federico Musto, who renamed the company Arduino SRL and created the website arduino.org, copying the graphics and layout of the original arduino.cc. This resulted in a rift in the Arduino development team.
At the World Maker Faire in New York on 1 October 2016, Arduino LLC co-founder and CEO Massimo Banzi and Arduino SRL CEO Federico Musto announced the merger of the two companies.
In April 2017, Wired reported that Musto had "fabricated his academic record... On his company"s website, personal LinkedIn accounts, and even on Italian business documents, Musto was, until recently, listed as holding a PhD from the Massachusetts Institute of Technology. In some cases, his biography also claimed an MBA from New York University." Wired reported that neither university had any record of Musto"s attendance, and Musto later admitted in an interview with Wired that he had never earned those degrees.open source licenses, schematics, and code from the Arduino website, prompting scrutiny and outcry.
By 2017 Arduino AG owned many Arduino trademarks. In July 2017 BCMI, founded by Massimo Banzi, David Cuartielles, David Mellis and Tom Igoe, acquired Arduino AG and all the Arduino trademarks. Fabio Violante is the new CEO replacing Federico Musto, who no longer works for Arduino AG.
In October 2017, Arduino announced its partnership with ARM Holdings (ARM). The announcement said, in part, "ARM recognized independence as a core value of Arduino ... without any lock-in with the ARM architecture". Arduino intends to continue to work with all technology vendors and architectures.
Under Violante"s guidance, the company started growing again and releasing new designs. The Genuino trademark was dismissed and all products were branded again with the Arduino name. As of February 2020, the Arduino community included about 30 million active users based on the IDE downloads.
In August 2018, Arduino announced its new open source command line tool (arduino-cli), which can be used as a replacement of the IDE to program the boards from a shell.
Arduino is open-source hardware. The hardware reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino website. Layout and production files for some versions of the hardware are also available.
Although the hardware and software designs are freely available under copyleft licenses, the developers have requested the name Arduino to be exclusive to the official product and not be used for derived works without permission. The official policy document on use of the Arduino name emphasizes that the project is open to incorporating work by others into the official product.-duino.
An early Arduino boardRS-232 serial interface (upper left) and an Atmel ATmega8 microcontroller chip (black, lower right); the 14 digital I/O pins are at the top, the 6 analog input pins at the lower right, and the power connector at the lower left.
Most Arduino boards consist of an Atmel 8-bit AVR microcontroller (ATmega8,ATmega328, ATmega1280, or ATmega2560) with varying amounts of flash memory, pins, and features.Arduino Due, based on the Atmel SAM3X8E was introduced in 2012.shields. Multiple and possibly stacked shields may be individually addressable via an I2C serial bus. Most boards include a 5 V linear regulator and a 16 MHz crystal oscillator or ceramic resonator. Some designs, such as the LilyPad,
Arduino microcontrollers are pre-programmed with a boot loader that simplifies uploading of programs to the on-chip flash memory. The default bootloader of the Arduino Uno is the Optiboot bootloader.RS-232 logic levels and transistor–transistor logic (TTL) level signals. Current Arduino boards are programmed via Universal Serial Bus (USB), implemented using USB-to-serial adapter chips such as the FTDI FT232. Some boards, such as later-model Uno boards, substitute the FTDI chip with a separate AVR chip containing USB-to-serial firmware, which is reprogrammable via its own ICSP header. Other variants, such as the Arduino Mini and the unofficial Boarduino, use a detachable USB-to-serial adapter board or cable, Bluetooth or other methods. When used with traditional microcontroller tools, instead of the Arduino IDE, standard AVR in-system programming (ISP) programming is used.
The Arduino board exposes most of the microcontroller"s I/O pins for use by other circuits. The Diecimila,Duemilanove,Unopulse-width modulated signals, and six analog inputs, which can also be used as six digital I/O pins. These pins are on the top of the board, via female 0.1-inch (2.54 mm) headers. Several plug-in application shields are also commercially available. The Arduino Nano, and Arduino-compatible Bare Bones Boardbreadboards.
Many Arduino-compatible and Arduino-derived boards exist. Some are functionally equivalent to an Arduino and can be used interchangeably. Many enhance the basic Arduino by adding output drivers, often for use in school-level education,
Arduino and Arduino-compatible boards use printed circuit expansion boards called shields, which plug into the normally supplied Arduino pin headers.3D printing and other applications, GNSS (satellite navigation), Ethernet, liquid crystal display (LCD), or breadboarding (prototyping). Several shields can also be made do it yourself (DIY).
Some shields offer stacking headers which allows multiple shields to be stacked on top of an Arduino board. Here, a prototyping shield is stacked on two Adafruit motor shield V2s.
A program for Arduino hardware may be written in any programming language with compilers that produce binary machine code for the target processor. Atmel provides a development environment for their 8-bit AVR and 32-bit ARM Cortex-M based microcontrollers: AVR Studio (older) and Atmel Studio (newer).
The Arduino integrated development environment (IDE) is a cross-platform application (for Microsoft Windows, macOS, and Linux) that is written in the Java programming language. It originated from the IDE for the languages brace matching, and syntax highlighting, and provides simple one-click mechanisms to compile and upload programs to an Arduino board. It also contains a message area, a text console, a toolbar with buttons for common functions and a hierarchy of operation menus. The source code for the IDE is released under the GNU General Public License, version 2.
The Arduino IDE supports the languages C and C++ using special rules of code structuring. The Arduino IDE supplies a software library from the Wiring project, which provides many common input and output procedures. User-written code only requires two basic functions, for starting the sketch and the main program loop, that are compiled and linked with a program stub main() into an executable cyclic executive program with the GNU toolchain, also included with the IDE distribution. The Arduino IDE employs the program avrdude to convert the executable code into a text file in hexadecimal encoding that is loaded into the Arduino board by a loader program in the board"s firmware.
From version 1.8.12, Arduino IDE windows compiler supports only Windows 7 or newer OS. On Windows Vista or older one gets "Unrecognized Win32 application" error when trying to verify/upload program. To run IDE on older machines, users can either use version 1.8.11, or copy "arduino-builder" executable from version 11 to their current install folder as it"s independent from IDE.
Most Arduino boards contain a light-emitting diode (LED) and a current-limiting resistor connected between pin 13 and ground, which is a convenient feature for many tests and program functions.Hello, World!, is "blink", which repeatedly blinks the on-board LED integrated into the Arduino board. This program uses the functions pinMode(), digitalWrite(), and delay(), which are provided by the internal libraries included in the IDE environment.
The open-source nature of the Arduino project has facilitated the publication of many free software libraries that other developers use to augment their projects.
In this article, I’ll explain how thermistors work, then I’ll show you how to set up a basic thermistor circuit with an Arduino that will output temperature readings to the serial monitor or to an LCD.
Since the thermistor is a variable resistor, we’ll need to measure the resistance before we can calculate the temperature. However, the Arduino can’t measure resistance directly, it can only measure voltage.
The Arduino will measure the voltage at a point between the thermistor and a known resistor. This is known as a voltage divider. The equation for a voltage divider is:
The manufacturer of the thermistor might tell you it’s resistance, but if not, you can use a multimeter to find out. If you don’t have a multimeter, you can make an Ohm meter with your Arduino by following our Arduino Ohm Meter tutorial. You only need to know the magnitude of your thermistor. For example, if your thermistor resistance is 34,000 Ohms, it is a 10K thermistor. If it’s 340,000 Ohms, it’s a 100K thermsitor.
To output the temperature readings to a 16X2 LCD, follow our tutorial, How to Set Up an LCD Display on an Arduino, then upload this code to the board: