Bibliotheken werden benutzt, damit der Programmierer weniger Quellcode schreiben muss. Es kommt vor, dass für dasselbe verbaute Modul mehrere Bibliotheken notwendig sind.
Interne Aufzeichnung
In meinem Sketch für die interne Aufzeichnung verwende ich folgende Bibliotheken:

Screenshot Librarys interne Aufzeichnung
Die Bibliothek LiquidCrystal_I²C.h ermöglicht die Steuerung von I²C fähigen Anzeigen, wie den hier verwendeten HD44780 1602 LCDs. DallasTemperature.h erlaubt mir, meine DS18B20 Temperatursensoren ohne eine tiefere Programmierung zu verwenden. Die Erlaubnis, auf Sensoren, Speicher und Co per One-Wire zuzugreifen erhält man durch die Bibliothek in Zeile 3.
Des Weiteren benötige ich, um die DS3231 Echtzeituhr verwenden zu können, die gleichnamige Bibliothek DS3231.h. Dadurch habe ich die Funktionen des Lesens und Einstellens der Uhr und auch die Möglichkeit, Alarme zu erstellen.
Damit der Arduino Mega 2560 R3 die Kommunikation mit dem SPI Reader Micro Speicherkartenmodul zulässt, muss die Wire.h-Bibliothek eingebunden werden. Die Kommunikation zwischen dem Mikrocontroller und der SD-Karte erfolgt über die Bibliothek SPI.
Mit der letzten Bibliothek in diesem Programm, der SD.h-Bibliothek, ermögliche ich das Lesen von und Schreiben auf SD-Karten. Die Bibliothek unterstützt FAT16- und FAT32-Dateisysteme auf Standard-SD- und SDHC-Karten.
Externe Ansicht
In meinem Sketch für die externe Ansicht verwende ich folgende Bibliotheken:

Screenshot Librarys externe Aufzeichnung
Da ich für die Netzwerkeinbindung ein zusätzliches Modul verwende, benötigt dieses auch einen eigenen Sketch. In diesem Sketch verwende ich unteranderem auch die Bibliotheken OneWire.h und DallasTemperature.h, auf die ich unter Punkt 7.2.2.1 eingegangen bin.
ESP8266WebServer.h dient zum einfachen Senden von HTTP-GET-, POST- und PUT-Anforderungen an einen Webserver. Bei mir wird diese Bibliothek für das Senden der Temperaturdaten zur im Programm erstellten HTML-Webseite verwendet.
Screenshot HTML-Website