This circuit integrates an Arduino UNO microcontroller with multiple peripherals, including a 0.96" OLED display, an SD card module, and several DS18B20 temperature sensors. The Arduino UNO serves as the central processing unit, managing data communication between the sensors, the display, and the SD card module. The temperature sensors are connected in a parallel configuration, sharing a common data line with a pull-up resistor. The OLED display and SD card module are interfaced with the Arduino using SPI communication. The circuit is designed to monitor temperatures, display data on the OLED, and log data to an SD card.
3.3V
supplies power to the 0.96" OLED display5V
supplies power to the DS18B20 sensors and the SD card moduleGND
is the common ground for all componentsSCL
(A5) connects to the SCK
of the OLED for I2C communicationSDA
(A4) connects to the SDA
of the OLED for I2C communicationD13
connects to the SCK
of the SD card module for SPI communicationD12
connects to the MISO
of the SD card module for SPI communicationD11
connects to the MOSI
of the SD card module for SPI communicationD10
connects to the CS
of the SD card module for SPI communicationD2
connects to the data line (DQ
) of all DS18B20 sensors through a 4.7k Ohm pull-up resistorVCC
pins connected to the Arduino's 5V
GND
pins connected to the Arduino's GND
DQ
) connected to Arduino's D2
through a 4.7k Ohm pull-up resistorDQ
) of the DS18B20 sensors5V
to serve as a pull-upVDD
connected to the Arduino's 3.3V
GND
connected to the Arduino's GND
SCK
connected to the Arduino's SCL
(A5) for I2C communicationSDA
connected to the Arduino's SDA
(A4) for I2C communicationVCC
connected to the Arduino's 5V
GND
connected to the Arduino's GND
SCK
connected to the Arduino's D13
for SPI communicationMISO
connected to the Arduino's D12
for SPI communicationMOSI
connected to the Arduino's D11
for SPI communicationCS
connected to the Arduino's D10
for SPI communicationvoid setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
The provided code is a template with empty setup()
and loop()
functions. The setup()
function is intended for initialization code that runs once at startup, such as configuring pin modes or initializing communication protocols. The loop()
function contains the main logic that will run continuously, such as reading sensor data, updating the display, and writing to the SD card. Specific implementation details need to be added to fulfill the circuit's intended functionality.