DS18B20 Pico W — Arduino Uno simulation

Membaca sensor suhu DS18B20 menggunakan Raspberry Pi Pico W dan MicroPython

An interactive Arduino Uno circuit simulation you can run free in your browser on Velxio, by dwisatriya32.

Components

Sketch code

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>


// Data wire is conntec to the Arduino digital pin 4
#define ONE_WIRE_BUS 2
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define DHT_PIN  7
#define DHT_TYPE DHT22

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

DHT dht(DHT_PIN, DHT_TYPE);

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature sensor 
DallasTemperature sensors(&oneWire);

void setup(void)
{
  // Start serial communication for debugging purposes
  Serial.begin(115200);
  // Start up the library
  sensors.begin();
  Serial.println("DS18B20 Sensor 1 & 2 ready!");
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  Serial.println("LCD ready!");
  display.clearDisplay();
  dht.begin();
  Serial.println("DHT22 Sensor ready!");
}

void loop(){ 
  // Call sensors.requestTemperatures() to issue a global temperature and Requests to all devices on the bus
  sensors.requestTemperatures(); 
  int deviceCount = sensors.getDeviceCount();

  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0, 0);

  

  for (int i = 0; i < deviceCount; i++) {
    float tempC = sensors.getTempCByIndex(i);
    
  Serial.print("Sensor ");
  Serial.print(i);
  Serial.print("   : ");
  Serial.print(tempC);
  Serial.println(" C");


  display.print("Sensor");
  display.print(i);
  display.print(": ");
  display.print(tempC);
  display.println(" C");
  }
  {
  float tempC[4];
  }
  float humidity = dht.readHumidity();
  float tempC    = dht.readTemperature();

  if (isnan(humidity) || isnan(tempC)) {
    Serial.println("ERROR: Failed to read from DHT22!");
  }else {

  Serial.print("Humidity   : "); 
  Serial.print(humidity); 
  Serial.println(" %");
  Serial.print("Temperature: "); 
  Serial.print(tempC);  
  Serial.println(" C");
  
  display.print("Temp   : ");
  display.print(tempC);
  display.println(" C");
  display.print("Hum    : ");
  display.print(humidity);
  display.println(" %");
}

display.display();
Serial.println("------------------");

  delay(5000);

}

More projects by dwisatriya32